mbox series

[-next,0/9] drivers: fix some module autoloading

Message ID 20240819113855.787149-1-liuyuntao12@huawei.com (mailing list archive)
Headers show
Series drivers: fix some module autoloading | expand

Message

liuyuntao (F) Aug. 19, 2024, 11:38 a.m. UTC
Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded
based on the alias from platform_device_id table.

Yuntao Liu (9):
  usb: ehci-mv: fix module autoloading
  soc: pxa: ssp: fix module autoloading
  misc: atmel-ssc: fix module autoloading
  i2c: at91: fix module autoloading
  mpc85xx_edac: fix module autoloading
  dmaengine: pxa: fix module autoloading
  dmaengine: mmp_pdma: fix module autoloading
  dmaengine: at_hdmac: fix module autoloading
  ipmi: ipmi_ssif: fix module autoloading

 drivers/char/ipmi/ipmi_ssif.c      | 1 +
 drivers/dma/at_hdmac.c             | 1 +
 drivers/dma/mmp_pdma.c             | 1 +
 drivers/dma/pxa_dma.c              | 1 +
 drivers/edac/mpc85xx_edac.c        | 1 +
 drivers/i2c/busses/i2c-at91-core.c | 1 +
 drivers/misc/atmel-ssc.c           | 1 +
 drivers/soc/pxa/ssp.c              | 1 +
 drivers/usb/host/ehci-mv.c         | 1 +
 9 files changed, 9 insertions(+)

Comments

Arnd Bergmann Aug. 19, 2024, 12:09 p.m. UTC | #1
On Mon, Aug 19, 2024, at 13:38, Yuntao Liu wrote:
> Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded
> based on the alias from platform_device_id table.
>
> Yuntao Liu (9):
>   usb: ehci-mv: fix module autoloading
>   soc: pxa: ssp: fix module autoloading
>   misc: atmel-ssc: fix module autoloading
>   i2c: at91: fix module autoloading
>   mpc85xx_edac: fix module autoloading
>   dmaengine: pxa: fix module autoloading
>   dmaengine: mmp_pdma: fix module autoloading
>   dmaengine: at_hdmac: fix module autoloading
>   ipmi: ipmi_ssif: fix module autoloading

I looked at all the patches and found that most of them do not
use the table any more, or will stop using it in the near future.

I think your work to validate the correctness of the entries
is useful, but it may be more helpful to focus on removing
all the unused tables, including those that have a
MODULE_DEVICE_TABLE() tag.

If you are planning to do more such cleanups, maybe you can
go through them one subsystem at a time and look for drivers
that have both of_device_id and i2c_device_id/platform_device_id/
spi_device_id tables. If nothing in the kernel creates a device
with the legacy string, you can then send a patch that removes
the old device ID list and at the same time makes the DT support
unconditional in case there is an #ifdef CONFIG_OF check.

If the probe() function accesses platform_data, this would also
be unused, allowing an even nicer cleanup of removing the
platofrm_data path in favor of OF properties.

      Arnd
liuyuntao (F) Aug. 19, 2024, 12:23 p.m. UTC | #2
yes sir^^.

Regards!
Yuntao

On 2024/8/19 20:09, Arnd Bergmann wrote:
> On Mon, Aug 19, 2024, at 13:38, Yuntao Liu wrote:
>> Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded
>> based on the alias from platform_device_id table.
>>
>> Yuntao Liu (9):
>>    usb: ehci-mv: fix module autoloading
>>    soc: pxa: ssp: fix module autoloading
>>    misc: atmel-ssc: fix module autoloading
>>    i2c: at91: fix module autoloading
>>    mpc85xx_edac: fix module autoloading
>>    dmaengine: pxa: fix module autoloading
>>    dmaengine: mmp_pdma: fix module autoloading
>>    dmaengine: at_hdmac: fix module autoloading
>>    ipmi: ipmi_ssif: fix module autoloading
> 
> I looked at all the patches and found that most of them do not
> use the table any more, or will stop using it in the near future.
> 
> I think your work to validate the correctness of the entries
> is useful, but it may be more helpful to focus on removing
> all the unused tables, including those that have a
> MODULE_DEVICE_TABLE() tag.
> 
> If you are planning to do more such cleanups, maybe you can
> go through them one subsystem at a time and look for drivers
> that have both of_device_id and i2c_device_id/platform_device_id/
> spi_device_id tables. If nothing in the kernel creates a device
> with the legacy string, you can then send a patch that removes
> the old device ID list and at the same time makes the DT support
> unconditional in case there is an #ifdef CONFIG_OF check.
> 
> If the probe() function accesses platform_data, this would also
> be unused, allowing an even nicer cleanup of removing the
> platofrm_data path in favor of OF properties.
> 
>        Arnd