From: Michael Tokarev Fix two issues discovered in eisa-modalias-1.patch: o unsigned long should really be kernel_ulong_t in mod_devicetable.h, so that cross-compiling will work (correct sizeof in file2alias.c) o don't emit eisa aliases for empty (trailing/terminating) eisa_device_id entries. Signed-off-by: Michael Tokarev Cc: Sam Ravnborg Signed-off-by: Andrew Morton --- include/linux/mod_devicetable.h | 2 +- scripts/mod/file2alias.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff -puN include/linux/mod_devicetable.h~eisa-bus-modalias-attributes-support-1-fix include/linux/mod_devicetable.h --- a/include/linux/mod_devicetable.h~eisa-bus-modalias-attributes-support-1-fix +++ a/include/linux/mod_devicetable.h @@ -314,7 +314,7 @@ struct input_device_id { /* The EISA signature, in ASCII form, null terminated */ struct eisa_device_id { char sig[EISA_SIG_LEN]; - unsigned long driver_data; + kernel_ulong_t driver_data; }; #define EISA_DEVICE_MODALIAS_FMT "eisa:s%s" diff -puN scripts/mod/file2alias.c~eisa-bus-modalias-attributes-support-1-fix scripts/mod/file2alias.c --- a/scripts/mod/file2alias.c~eisa-bus-modalias-attributes-support-1-fix +++ a/scripts/mod/file2alias.c @@ -447,7 +447,8 @@ static int do_input_entry(const char *fi static int do_eisa_entry(const char *filename, struct eisa_device_id *eisa, char *alias) { - sprintf(alias, EISA_DEVICE_MODALIAS_FMT "*", eisa->sig); + if (eisa->sig[0]) + sprintf(alias, EISA_DEVICE_MODALIAS_FMT "*", eisa->sig); return 1; } _