On 31/03/2023 10:33:35+0800, Jeremy Kerr wrote: > Hi Zenghu, > > > Thanks for the change, especially IBI features in other threads. > > From my understanding, ASPEED AST2600 is a SoC which uses Synopsys' > > I3C IP core, and several different registers, especially the pull-up > > resistor. > > If so, I am wondering if this is the right place to add > > ast2600-i3c-master.c, given that all current three xxx-i3c-master.c > > drivers in this directory are from IP providers directly. > > What about moving it under ~/driver/soc/? > > It's my understanding that drivers/soc/ is for smaller parts of > SoC-specific functions, rather than implementing SoC driver instances > for existing subsystems. > > I'd prefer to keep it with the i3c controller drivers; this means we can > keep the dw platform API as contained as possible (ie., within > drivers/i3c/master/). I expect that we will need some coordination of > changes until we have the platform-specific behaviour mostly described > (see the IBI series for another hook), and so coordinating changes > between drivers/soc/ and drivers/i3c/ may make things more complicated > than necessary. > > There's certainly precedence for this pattern: > > * the aspeed ethernet mac is provided by the ftgmac100 driver plus some > SoC-specific behaviour; that's entirely within drivers/net/ > > * the aspeed VUART device is essentially a 16550 plus extra registers; > that's entirely within drivers/tty/ > I confirm this has to be in drivers/i3c -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com