On 4/17/20 5:41 PM, Boris Brezillon wrote: > 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/. I agree with that.