Re: [PATCH v2 03/12] bus: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver

From: Boris Brezillon
Date: Fri Apr 17 2020 - 11:41:46 EST


On Fri, 17 Apr 2020 17:31:49 +0200
Marek Vasut <marex@xxxxxxx> wrote:

> On 4/17/20 5:29 PM, Christophe Kerello wrote:
> >
> >
> > On 4/16/20 9:53 PM, Boris Brezillon wrote:
> >> On Wed, 15 Apr 2020 17:57:27 +0200
> >> Christophe Kerello <christophe.kerello@xxxxxx> wrote:
> >>
> >>> The driver adds the support for the STMicroelectronics FMC2 EBI
> >>> controller
> >>> found on STM32MP SOCs.
> >>>
> >>> Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx>
> >>> Tested-by: Marek Vasut <marex@xxxxxxx>
> >>> ---
> >>> Changes in v2:
> >>> Â - call 2 APIs to manage FMC2 enable/disable instead of ops
> >>> Â - call 2 APIs to manage FMC2 NWAIT shared signal instead of ops
> >>>
> >>> Â drivers/bus/KconfigÂÂÂÂÂÂÂÂÂ |ÂÂ 11 +
> >>> Â drivers/bus/MakefileÂÂÂÂÂÂÂÂ |ÂÂÂ 1 +
> >>> Â drivers/bus/stm32-fmc2-ebi.c | 1091
> >>> ++++++++++++++++++++++++++++++++++++++++++
> >>
> >> Hm, I see that other memory bus controller drivers are placed under
> >> drivers/memory/, any reason for choosing drivers/bus/? If that's where
> >> we want to have all generic memory bus controllers to live it might be
> >> worth moving existing drivers to the drivers/bus/ directory at some
> >> point.
> >>
> >
> > Hi Boris,
> >
> > I see this controller as an external bus interface as we are able to
> > attach different devices on it, like a PSRAM, an ethernet controller, a
> > FPGA, a LCD display, ...
> >
> > When I had a look at bus/Kconfig file, I have found similar drivers
> > (like IMX_WEIM or QCOM_EBI2 drivers). These drivers are able to connect
> > devices like NAND Flash, SRAM, ethernet adapters, FPGAs and LCD displays
> > as it is written in the Kconfig file.
> >
> > But, after checking memory/Kconfig file, it is also possible to find
> > similar drivers (like ATMEL_EBI driver that is inspired by the WEIM bus
> > driver).
> >
> > So, I will follow the recommendation and I will move it to
> > drivers/memory folder if it is the place where this driver should be.
>
> The EBI isn't a memory bus, you can very well have a non-memory device,
> like an external parallel bus memory controller on it. So why should it
> be in drivers/memory ?

Just like most of those so-called memory bus controllers we have under
drivers/memory/ => they are most of the time used to interact with
memories but can also be used for other things (Christophe listed a few
uses cases). And I'm not pushing one way or the other, all I said was
that we should makes things consistent instead of having half of
those controller drivers in drivers/memory/ and the other half in
drivers/bus/.