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/bus/arm-ccn.ko | grep alias $ After this patch: $ modinfo drivers/bus/arm-ccn.ko | grep alias alias: of:N*T*Carm,ccn-504C* alias: of:N*T*Carm,ccn-504 Signed-off-by: Javier Martinez Canillas <jav...@osg.samsung.com> --- drivers/bus/arm-ccn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c index 4d6a2b7e4d3f..80758f6fdaa5 100644 --- a/drivers/bus/arm-ccn.c +++ b/drivers/bus/arm-ccn.c @@ -1547,6 +1547,7 @@ static const struct of_device_id arm_ccn_match[] = { { .compatible = "arm,ccn-504", }, {}, }; +MODULE_DEVICE_TABLE(of, arm_ccn_match); static struct platform_driver arm_ccn_driver = { .driver = { -- 2.7.4