From: Axel Lin <axel.lin@xxxxxxxxx> dmi_check_system() walks the table running matching functions until someone returns non zero or we hit the end. This patch makes dmi_check_cb to return 1 so dmi_check_system() return immediately when a match is found. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Acked-by: Jonathan Woithe <jwoithe@xxxxxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg@xxxxxxxxxx>a Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/platform/x86/compal-laptop.c | 2 +- drivers/platform/x86/fujitsu-laptop.c | 6 +++--- drivers/platform/x86/msi-laptop.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff -puN drivers/platform/x86/compal-laptop.c~compal-laptop-fujitsu-laptop-msi-laptop-make-dmi_check_cb-to-return-1-instead-of-0 drivers/platform/x86/compal-laptop.c --- a/drivers/platform/x86/compal-laptop.c~compal-laptop-fujitsu-laptop-msi-laptop-make-dmi_check_cb-to-return-1-instead-of-0 +++ a/drivers/platform/x86/compal-laptop.c @@ -275,7 +275,7 @@ static int set_backlight_level(int level ec_write(BACKLIGHT_LEVEL_ADDR, level); - return 0; + return 1; } static int get_backlight_level(void) diff -puN drivers/platform/x86/fujitsu-laptop.c~compal-laptop-fujitsu-laptop-msi-laptop-make-dmi_check_cb-to-return-1-instead-of-0 drivers/platform/x86/fujitsu-laptop.c --- a/drivers/platform/x86/fujitsu-laptop.c~compal-laptop-fujitsu-laptop-msi-laptop-make-dmi_check_cb-to-return-1-instead-of-0 +++ a/drivers/platform/x86/fujitsu-laptop.c @@ -603,7 +603,7 @@ static int dmi_check_cb_s6410(const stru dmi_check_cb_common(id); fujitsu->keycode1 = KEY_SCREENLOCK; /* "Lock" */ fujitsu->keycode2 = KEY_HELP; /* "Mobility Center" */ - return 0; + return 1; } static int dmi_check_cb_s6420(const struct dmi_system_id *id) @@ -611,7 +611,7 @@ static int dmi_check_cb_s6420(const stru dmi_check_cb_common(id); fujitsu->keycode1 = KEY_SCREENLOCK; /* "Lock" */ fujitsu->keycode2 = KEY_HELP; /* "Mobility Center" */ - return 0; + return 1; } static int dmi_check_cb_p8010(const struct dmi_system_id *id) @@ -620,7 +620,7 @@ static int dmi_check_cb_p8010(const stru fujitsu->keycode1 = KEY_HELP; /* "Support" */ fujitsu->keycode3 = KEY_SWITCHVIDEOMODE; /* "Presentation" */ fujitsu->keycode4 = KEY_WWW; /* "Internet" */ - return 0; + return 1; } static struct dmi_system_id fujitsu_dmi_table[] = { diff -puN drivers/platform/x86/msi-laptop.c~compal-laptop-fujitsu-laptop-msi-laptop-make-dmi_check_cb-to-return-1-instead-of-0 drivers/platform/x86/msi-laptop.c --- a/drivers/platform/x86/msi-laptop.c~compal-laptop-fujitsu-laptop-msi-laptop-make-dmi_check_cb-to-return-1-instead-of-0 +++ a/drivers/platform/x86/msi-laptop.c @@ -434,7 +434,7 @@ static int dmi_check_cb(const struct dmi { printk(KERN_INFO "msi-laptop: Identified laptop model '%s'.\n", id->ident); - return 0; + return 1; } static struct dmi_system_id __initdata msi_dmi_table[] = { _ -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html