Prev: hamachi: Use the instance of net_device_stats from net_device.
Next: isdn: avoid calling tty_ldisc_flush() in atomic context
From: Axel Lin on 5 Jul 2010 22:20 2010/7/5 Jonathan Woithe <jwoithe(a)physics.adelaide.edu.au>: > Is there no possibility of some other matching function existing after ours > in the tree which might need to also be called? �If so, this change would > prevent that. hi Jonathan, I checked the implementation of dmi_check_system() and the useage cases in compal-laptop/fujitsu-laptop/msi-laptop, it should be no problem with this change. In compal-laptop and msi-laptop, we call dmi_check_system() to identify the laptop model. (The callback simply print the identified laptop model) It should have zero or exactly one successful match. In fujitsu-laptop, we call dmi_check_system() to identify the laptop model and set parameters accordingly. The callback print the identified laptop model and set parameters (use_alt_lcd_levels / fujitsu->keycode[1|2|3|4|5] ). It should have zero or exactly one successful match. If it has some other matching function with successful match, then current implementation is buggy anyway because new successful matches will override the fujitsu->keycode[1|2|3|4|5] parameters. Regards, Axel > > Regards > �jonathan > >> 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(a)gmail.com> >> --- >> �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 --git a/drivers/platform/x86/compal-laptop.c b/drivers/platform/x86/compal-laptop.c >> index 71ff154..dc31a08 100644 >> --- a/drivers/platform/x86/compal-laptop.c >> +++ b/drivers/platform/x86/compal-laptop.c >> @@ -190,7 +190,7 @@ static int dmi_check_cb(const struct dmi_system_id *id) >> � � � printk(KERN_INFO "compal-laptop: Identified laptop model '%s'.\n", >> � � � � � � � id->ident); >> >> - � � return 0; >> + � � return 1; >> �} >> >> �static struct dmi_system_id __initdata compal_dmi_table[] = { >> diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c >> index dab1a0e..1859d7f 100644 >> --- a/drivers/platform/x86/fujitsu-laptop.c >> +++ b/drivers/platform/x86/fujitsu-laptop.c >> @@ -603,7 +603,7 @@ static int dmi_check_cb_s6410(const struct dmi_system_id *id) >> � � � 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 struct dmi_system_id *id) >> � � � 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 struct dmi_system_id *id) >> � � � 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 --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c >> index afd762b..c67a74c 100644 >> --- a/drivers/platform/x86/msi-laptop.c >> +++ b/drivers/platform/x86/msi-laptop.c >> @@ -434,7 +434,7 @@ static int dmi_check_cb(const struct dmi_system_id *id) >> �{ >> � � � 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[] = { >> -- >> 1.5.4.3 >> >> >> > > > -- > * Jonathan Woithe � �jwoithe(a)physics.adelaide.edu.au � � � � � � � � � � � �* > * � � � � � � � � � �http://www.physics.adelaide.edu.au/~jwoithe � � � � � �* > ***-----------------------------------------------------------------------*** > ** "Time is an illusion; lunchtime doubly so" � � � � � � � � � � � � � � �** > * �"...you wouldn't recognize a subtle plan if it painted itself purple and * > * � danced naked on a harpsichord singing 'subtle plans are here again'" � �* > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |