tty: serial: msm: Fix module autoload
authorJavier Martinez Canillas <javier@osg.samsung.com>
Mon, 2 Jan 2017 14:57:20 +0000 (11:57 -0300)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 5 Jun 2017 20:13:41 +0000 (21:13 +0100)
commit abe81f3b8ed2996e1712d26d38ff6b73f582c616 upstream.

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/tty/serial/msm_serial.ko | grep alias
$

After this patch:

$ modinfo drivers/tty/serial/msm_serial.ko | grep alias
alias:          of:N*T*Cqcom,msm-uartdmC*
alias:          of:N*T*Cqcom,msm-uartdm
alias:          of:N*T*Cqcom,msm-uartC*
alias:          of:N*T*Cqcom,msm-uart

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/tty/serial/msm_serial.c

index 8131e2c..b09e068 100644 (file)
@@ -930,6 +930,7 @@ static struct of_device_id msm_match_table[] = {
        { .compatible = "qcom,msm-uart" },
        {}
 };
        { .compatible = "qcom,msm-uart" },
        {}
 };
+MODULE_DEVICE_TABLE(of, msm_match_table);
 
 static struct platform_driver msm_platform_driver = {
        .remove = msm_serial_remove,
 
 static struct platform_driver msm_platform_driver = {
        .remove = msm_serial_remove,