On Thu, Oct 27, 2022 at 08:35:17AM +0200, Camel Guo wrote: > On 10/25/22 16:56, Andrew Lunn wrote: > > > > +EXPORT_SYMBOL(gsw1xx_shutdown); > > > > > > 1. EXPORT_SYMBOL_GPL > > > 2. Why do you do it in the first place? It's one driver, no need for > > > building two modules. Same applies to other places. > > > > At some point, there is likely to be SPI and UART support. The > > communication with the chip and the core driver will then be in > > separate modules. But i agree this is not needed at the moment when it > > is all linked into one. > > Do you suggest that currently we put the content of gsw1xx_core.c and > gsw1xx_mdio.c into one file and split them later at the time when another > management mode (e,g: spi) is added? No, keep them separate. But you can remove the module exports, and just link them together at compile time into one module. For forward compatibility, call that module gsw1xx_mdio.ko. In the future, somebody can then split it apart again, add gsw1xx_spi.ko, and module dependencies should cause the gsw1xx_core.ko to be loaded first. Andrew