If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module. Export the module alias information using the MODULE_DEVICE_TABLE() macro. Before this patch: $ modinfo drivers/mmc/host/mtk-sd.ko | grep alias $ After this patch: $ modinfo drivers/mmc/host/mtk-sd.ko | grep alias alias: of:N*T*Cmediatek,mt8135-mmcC* alias: of:N*T*Cmediatek,mt8135-mmc
Unified · Split
| @@ -1713,6 +1713,7 @@ static const struct of_device_id msdc_of_ids[] = { · 1712 unmodified lines | |||
| 1713 | { .compatible = "mediatek,mt8135-mmc", }, | 1713 | { .compatible = "mediatek,mt8135-mmc", }, |
| 1714 | {} | 1714 | {} |
| 1715 | }; | 1715 | }; |
| 1716 | MODULE_DEVICE_TABLE(of, msdc_of_ids); | ||
| 1716 | 1717 | ||
| 1717 | static struct platform_driver mt_msdc_driver = { | 1718 | static struct platform_driver mt_msdc_driver = { |
| 1718 | .probe = msdc_drv_probe, | 1719 | .probe = msdc_drv_probe, |