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/sdhci-of-at91.ko | grep alias $ After this patch: $ modinfo drivers/mmc/host/sdhci-of-at91.ko | grep alias alias: of:N*T*Catmel,sama5d2-sdhciC* alias: of:N*T*Catmel,sama5d2-sdhci
Unified · Split
| @@ -100,6 +100,7 @@ static const struct of_device_id sdhci_at91_dt_match[] = { · 99 unmodified lines | |||
| 100 | { .compatible = "atmel,sama5d2-sdhci", .data = &soc_data_sama5d2 }, | 100 | { .compatible = "atmel,sama5d2-sdhci", .data = &soc_data_sama5d2 }, |
| 101 | {} | 101 | {} |
| 102 | }; | 102 | }; |
| 103 | MODULE_DEVICE_TABLE(of, sdhci_at91_dt_match); | ||
| 103 | 104 | ||
| 104 | #ifdef CONFIG_PM | 105 | #ifdef CONFIG_PM |
| 105 | static int sdhci_at91_runtime_suspend(struct device *dev) | 106 | static int sdhci_at91_runtime_suspend(struct device *dev) |