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 <jav...@osg.samsung.com>
---

 drivers/auxdisplay/img-ascii-lcd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/auxdisplay/img-ascii-lcd.c 
b/drivers/auxdisplay/img-ascii-lcd.c
index 73bc826144d4..55b792e9275d 100644
--- a/drivers/auxdisplay/img-ascii-lcd.c
+++ b/drivers/auxdisplay/img-ascii-lcd.c
@@ -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
-- 
2.7.4

Reply via email to