* [PATCH 1/2] Input: atkbd - make dmi callback functions return 1 @ 2011-07-11 14:07 Axel Lin 2011-07-11 14:10 ` Axel Lin 0 siblings, 1 reply; 3+ messages in thread From: Axel Lin @ 2011-07-11 14:07 UTC (permalink / raw) To: linux-kernel; +Cc: Vojtech Pavlik, Dmitry Torokhov, linux-input We only care about if there is a successful match from the table (or no match at all), we can make dmi_check_system return immediately if we have a successful match instead of iterate thorough the whole table. Make the dmi callback function return 1 then dmi_check_system will return immediately if we have a successful match. Signed-off-by: Axel Lin <axel.lin@gmail.com> --- drivers/input/keyboard/atkbd.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 11478eb..19cfc0c 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c @@ -1578,14 +1578,14 @@ static int __init atkbd_setup_forced_release(const struct dmi_system_id *id) atkbd_platform_fixup = atkbd_apply_forced_release_keylist; atkbd_platform_fixup_data = id->driver_data; - return 0; + return 1; } static int __init atkbd_setup_scancode_fixup(const struct dmi_system_id *id) { atkbd_platform_scancode_fixup = id->driver_data; - return 0; + return 1; } static const struct dmi_system_id atkbd_dmi_quirk_table[] __initconst = { -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] Input: lifebook - make dmi callback functions return 1 2011-07-11 14:07 [PATCH 1/2] Input: atkbd - make dmi callback functions return 1 Axel Lin @ 2011-07-11 14:10 ` Axel Lin 0 siblings, 0 replies; 3+ messages in thread From: Axel Lin @ 2011-07-11 14:10 UTC (permalink / raw) To: linux-kernel Cc: Vojtech Pavlik, Alessandro Rubini, Dmitry Torokhov, linux-input We only care about if there is any successful match from the table (or no match at all), we can make dmi_check_system return immediately if we have a successful match instead of iterate thorough the whole table. Make the dmi callback function return 1 then dmi_check_system will return immediately if we have a successful match. I think current implementation already assumes there is exactly one match or no match at all. If there are multiple successful matches then it is a bug, because new matches will override some variables such as lifebook_use_6byte_proto and desired_serio_phys. Signed-off-by: Axel Lin <axel.lin@gmail.com> --- drivers/input/mouse/lifebook.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c index c31ad11..d21becb 100644 --- a/drivers/input/mouse/lifebook.c +++ b/drivers/input/mouse/lifebook.c @@ -30,10 +30,15 @@ static bool lifebook_present; static const char *desired_serio_phys; +static int lifebook_found(const struct dmi_system_id *d) +{ + return 1; +} + static int lifebook_limit_serio3(const struct dmi_system_id *d) { desired_serio_phys = "isa0060/serio3"; - return 0; + return 1; } static bool lifebook_use_6byte_proto; @@ -41,7 +46,7 @@ static bool lifebook_use_6byte_proto; static int lifebook_set_6byte_proto(const struct dmi_system_id *d) { lifebook_use_6byte_proto = true; - return 0; + return 1; } static const struct dmi_system_id __initconst lifebook_dmi_table[] = { @@ -50,42 +55,49 @@ static const struct dmi_system_id __initconst lifebook_dmi_table[] = { .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "FLORA-ie 55mi"), }, + .callback = lifebook_found, }, { /* LifeBook B */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "Lifebook B Series"), }, + .callback = lifebook_found, }, { /* LifeBook B */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B Series"), }, + .callback = lifebook_found, }, { /* Lifebook B */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK B Series"), }, + .callback = lifebook_found, }, { /* Lifebook B-2130 */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "ZEPHYR"), }, + .callback = lifebook_found, }, { /* Lifebook B213x/B2150 */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B2131/B2133/B2150"), }, + .callback = lifebook_found, }, { /* Zephyr */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "ZEPHYR"), }, + .callback = lifebook_found, }, { /* Panasonic CF-18 */ @@ -122,6 +134,7 @@ static const struct dmi_system_id __initconst lifebook_dmi_table[] = { .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B142"), }, + .callback = lifebook_found, }, { } }; -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] Input: lifebook - make dmi callback functions return 1 @ 2011-07-11 14:10 ` Axel Lin 0 siblings, 0 replies; 3+ messages in thread From: Axel Lin @ 2011-07-11 14:10 UTC (permalink / raw) To: linux-kernel Cc: Vojtech Pavlik, Alessandro Rubini, Dmitry Torokhov, linux-input We only care about if there is any successful match from the table (or no match at all), we can make dmi_check_system return immediately if we have a successful match instead of iterate thorough the whole table. Make the dmi callback function return 1 then dmi_check_system will return immediately if we have a successful match. I think current implementation already assumes there is exactly one match or no match at all. If there are multiple successful matches then it is a bug, because new matches will override some variables such as lifebook_use_6byte_proto and desired_serio_phys. Signed-off-by: Axel Lin <axel.lin@gmail.com> --- drivers/input/mouse/lifebook.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c index c31ad11..d21becb 100644 --- a/drivers/input/mouse/lifebook.c +++ b/drivers/input/mouse/lifebook.c @@ -30,10 +30,15 @@ static bool lifebook_present; static const char *desired_serio_phys; +static int lifebook_found(const struct dmi_system_id *d) +{ + return 1; +} + static int lifebook_limit_serio3(const struct dmi_system_id *d) { desired_serio_phys = "isa0060/serio3"; - return 0; + return 1; } static bool lifebook_use_6byte_proto; @@ -41,7 +46,7 @@ static bool lifebook_use_6byte_proto; static int lifebook_set_6byte_proto(const struct dmi_system_id *d) { lifebook_use_6byte_proto = true; - return 0; + return 1; } static const struct dmi_system_id __initconst lifebook_dmi_table[] = { @@ -50,42 +55,49 @@ static const struct dmi_system_id __initconst lifebook_dmi_table[] = { .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "FLORA-ie 55mi"), }, + .callback = lifebook_found, }, { /* LifeBook B */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "Lifebook B Series"), }, + .callback = lifebook_found, }, { /* LifeBook B */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B Series"), }, + .callback = lifebook_found, }, { /* Lifebook B */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK B Series"), }, + .callback = lifebook_found, }, { /* Lifebook B-2130 */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "ZEPHYR"), }, + .callback = lifebook_found, }, { /* Lifebook B213x/B2150 */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B2131/B2133/B2150"), }, + .callback = lifebook_found, }, { /* Zephyr */ .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "ZEPHYR"), }, + .callback = lifebook_found, }, { /* Panasonic CF-18 */ @@ -122,6 +134,7 @@ static const struct dmi_system_id __initconst lifebook_dmi_table[] = { .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B142"), }, + .callback = lifebook_found, }, { } }; -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-07-11 14:10 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-11 14:07 [PATCH 1/2] Input: atkbd - make dmi callback functions return 1 Axel Lin 2011-07-11 14:10 ` [PATCH 2/2] Input: lifebook " Axel Lin 2011-07-11 14:10 ` Axel Lin
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.