I don't know what was the initial intention about `drivers/`, only Greg can answer this question. But what I see now is that `drivers/` implement `upper-half` drivers, and arch specific drivers implement "lower-half" drivers (there are probably a few exceptions to this rule). For this reason, polluting `drivers/` with "lower-half" implementations seems bad for me and I think arch specific 'lower-half' drivers should be somewhere in `arch/` (`arch/common/<chip_name>`, `arch/drivers/<chip_name>` ?)
Currently in the code base we have a similar case where arch-specific drivers were needed and they were NOT placed in `drivers/`. I'm talking about `boards/arm/cxd56xx/drivers` which holds Spresense specific drivers. I don't remember the discussions and arguments about it, but they ended up in `boards/` not `drivers/cxd56xx`. śr., 28 sie 2024 o 16:34 Lwazi Dube <lwa...@gmail.com> napisał(a): > On Wed, 28 Aug 2024 at 09:21, raiden00pl <raiden0...@gmail.com> wrote: > > > As Alan said `drivers/` should remain independent from `arch`. > > The clean separation of arch from the rest of the code is one of the > nicest > > things about NuttX and it should stay that way. > > > > I won't argue against clean separation, but why does it come at the expense > of taking over the entire drivers "namespace". Why not create a new > directory then, like dedup/rp23xx ? >