auxdisplay: img-ascii-lcd: Fix module autoload
authorJavier Martinez Canillas <javier@osg.samsung.com>
Wed, 29 Mar 2017 13:37:59 +0000 (09:37 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Apr 2017 15:48:20 +0000 (17:48 +0200)
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/auxdisplay/img-ascii-lcd.ko | grep alias
$

After this patch:

$ modinfo drivers/auxdisplay/img-ascii-lcd.ko | grep alias
alias:          of:N*T*Cmti,sead3-lcdC*
alias:          of:N*T*Cmti,sead3-lcd
alias:          of:N*T*Cmti,malta-lcdC*
alias:          of:N*T*Cmti,malta-lcd
alias:          of:N*T*Cimg,boston-lcdC*
alias:          of:N*T*Cimg,boston-lcd

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/auxdisplay/img-ascii-lcd.c

index 83f1439..25306fa 100644 (file)
@@ -220,6 +220,7 @@ static const struct of_device_id img_ascii_lcd_matches[] = {
        { .compatible = "mti,sead3-lcd", .data = &sead3_config },
        { /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(of, img_ascii_lcd_matches);
 
 /**
  * img_ascii_lcd_scroll() - scroll the display by a character