On 07/08/2012 07:56 PM, Ben Hutchings wrote: > On Tue, 2012-07-03 at 16:02 -0400, Joseph Salisbury wrote: >> On 07/03/2012 03:35 PM, Jonathan Nieder wrote: >>> Hi, >>> >>> [email protected] wrote: >>> >>>> From: Corentin Chary <[email protected]> >>>> >>>> BugLink: http://bugs.launchpad.net/bugs/1012284 >>>> >>>> This enable the driver for everything that look like a laptop >>>> and is from vendor "SAMSUNG ELECTRONICS CO., LTD.". Note that >>>> laptop supported by samsung-q10 seem to have a different >>>> vendor strict. >>>> >>>> Also remove every log output until we know that we have a >>>> SABI interface (except if the driver is forced to load, or >>>> debug is enabled). >>> >>> This backported patch doesn't actually do the "Also" part, does >>> it? A description in the commit message of what changes were >>> made in the backport and why would be useful to allow people >>> reading the 3.2.y changelog to see what's going on. >>> >>> Thanks and hope that helps, Jonathan >> >> Thanks for the feedback, Jonathan. That is correct, I only >> backported the minimum amount of changes to fix the specific bug >> in the cover letter(Basically removing the whitelist of laptop >> with a model numbers). >> >> I can fix up the commit message to be more detailed. I'll wait >> to see if there is additional feedback on the patch, so I can >> submit the fewest number of versions to the mailing list. > > The backport should include the logging changes (except for the > backlight-related message, which doesn't exist in 3.2.y). How > about this? > > Ben. > > From: Corentin Chary <[email protected]> Date: Sat, 26 Nov 2011 > 11:00:10 +0100 Subject: samsung-laptop: make the dmi check less > strict > > commit 3be324a94df0c3f032178d04549dbfbf6cccb09a upstream. > > This enable the driver for everything that look like a laptop and > is from vendor "SAMSUNG ELECTRONICS CO., LTD.". Note that laptop > supported by samsung-q10 seem to have a different vendor strict. > > Also remove every log output until we know that we have a SABI > interface (except if the driver is forced to load, or debug is > enabled). > > Keeping a whitelist of laptop with a model granularity is something > that can't work without close vendor cooperation (and we don't have > that). > > Signed-off-by: Corentin Chary <[email protected]> Acked-by: > Greg Kroah-Hartman <[email protected]> Signed-off-by: Matthew Garrett > <[email protected]> [bwh: Backported to 3.2: - Adjust context - Drop > changes relating to ACPI video] Signed-off-by: Ben Hutchings > <[email protected]> --- drivers/platform/x86/samsung-laptop.c | > 235 +++------------------------------ 1 file changed, 15 > insertions(+), 220 deletions(-) > > --- a/drivers/platform/x86/samsung-laptop.c +++ > b/drivers/platform/x86/samsung-laptop.c @@ -540,245 +540,34 @@ > get_performance_level, set_performance_level); > > > -static int __init dmi_check_cb(const struct dmi_system_id *id) -{ > - pr_info("found laptop model '%s'\n", - id->ident); - return > 1; > -} - static struct dmi_system_id __initdata samsung_dmi_table[] = > { { - .ident = "N128", - .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - "SAMSUNG > ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "N128"), - > DMI_MATCH(DMI_BOARD_NAME, > "N128"), - }, - .callback = dmi_check_cb, - }, - > { - .ident = > "N130", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS > CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, "N130"), - > DMI_MATCH(DMI_BOARD_NAME, "N130"), + > DMI_MATCH(DMI_CHASSIS_TYPE, > "8"), /* Portable */ }, - .callback = dmi_check_cb, }, { - > .ident > = "N510", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG > ELECTRONICS CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, > "N510"), - > DMI_MATCH(DMI_BOARD_NAME, "N510"), + > DMI_MATCH(DMI_CHASSIS_TYPE, > "9"), /* Laptop */ }, - .callback = dmi_check_cb, }, { - > .ident = > "X125", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS > CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, "X125"), - > DMI_MATCH(DMI_BOARD_NAME, "X125"), + > DMI_MATCH(DMI_CHASSIS_TYPE, > "10"), /* Notebook */ }, - .callback = dmi_check_cb, }, { - > .ident = "X120/X170", .matches = { DMI_MATCH(DMI_SYS_VENDOR, > "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, > "X120/X170"), - DMI_MATCH(DMI_BOARD_NAME, "X120/X170"), > - }, - > .callback = dmi_check_cb, - }, - { - .ident = "NC10", - > .matches > = { - DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG ELECTRONICS CO., > LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, "NC10"), - > DMI_MATCH(DMI_BOARD_NAME, "NC10"), - }, - .callback = > dmi_check_cb, - }, - { - .ident = "NP-Q45", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - "SAMSUNG > ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "SQ45S70S"), - > DMI_MATCH(DMI_BOARD_NAME, "SQ45S70S"), - }, - > .callback = > dmi_check_cb, - }, - { - .ident = "X360", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - "SAMSUNG > ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "X360"), - > DMI_MATCH(DMI_BOARD_NAME, > "X360"), - }, - .callback = dmi_check_cb, - }, - > { - .ident = > "R410 Plus", - .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, > "R410P"), - DMI_MATCH(DMI_BOARD_NAME, "R460"), - > }, - .callback > = dmi_check_cb, - }, - { - .ident = "R518", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - "SAMSUNG > ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "R518"), - > DMI_MATCH(DMI_BOARD_NAME, > "R518"), - }, - .callback = dmi_check_cb, - }, - > { - .ident = > "R519/R719", - .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, > "R519/R719"), - DMI_MATCH(DMI_BOARD_NAME, "R519/R719"), > - }, - > .callback = dmi_check_cb, - }, - { - .ident = > "N150/N210/N220", - > .matches = { - DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG > ELECTRONICS CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, > "N150/N210/N220"), - DMI_MATCH(DMI_BOARD_NAME, > "N150/N210/N220"), - }, - .callback = dmi_check_cb, - > }, - { - > .ident = "N220", - .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, > "N220"), - DMI_MATCH(DMI_BOARD_NAME, "N220"), - > }, - .callback > = dmi_check_cb, - }, - { - .ident = "N150/N210/N220/N230", > - > .matches = { - DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG > ELECTRONICS CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, > "N150/N210/N220/N230"), - DMI_MATCH(DMI_BOARD_NAME, > "N150/N210/N220/N230"), - }, - .callback = > dmi_check_cb, - }, - > { - .ident = "N150P/N210P/N220P", - .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, - "SAMSUNG > ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "N150P/N210P/N220P"), - > DMI_MATCH(DMI_BOARD_NAME, "N150P/N210P/N220P"), - }, - > .callback > = dmi_check_cb, - }, - { - .ident = "R700", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "SR700"), - > DMI_MATCH(DMI_BOARD_NAME, "SR700"), - }, - .callback = > dmi_check_cb, - }, - { - .ident = "R530/R730", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "R530/R730"), - > DMI_MATCH(DMI_BOARD_NAME, "R530/R730"), - }, - > .callback = > dmi_check_cb, - }, - { - .ident = "NF110/NF210/NF310", - > .matches > = { - DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., > LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, > "NF110/NF210/NF310"), - > DMI_MATCH(DMI_BOARD_NAME, "NF110/NF210/NF310"), - }, - > .callback > = dmi_check_cb, - }, - { - .ident = "N145P/N250P/N260P", - > .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG > ELECTRONICS > CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, > "N145P/N250P/N260P"), > - DMI_MATCH(DMI_BOARD_NAME, "N145P/N250P/N260P"), - > }, - > .callback = dmi_check_cb, - }, - { - .ident = "R70/R71", - > .matches = { - DMI_MATCH(DMI_SYS_VENDOR, - > "SAMSUNG > ELECTRONICS CO., LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, > "R70/R71"), - DMI_MATCH(DMI_BOARD_NAME, "R70/R71"), - > }, - > .callback = dmi_check_cb, - }, - { - .ident = "P460", - > .matches > = { - DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., > LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, "P460"), - > DMI_MATCH(DMI_BOARD_NAME, "P460"), - }, - .callback = > dmi_check_cb, - }, - { - .ident = "R528/R728", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "R528/R728"), - > DMI_MATCH(DMI_BOARD_NAME, "R528/R728"), - }, - > .callback = > dmi_check_cb, - }, - { - .ident = "NC210/NC110", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "NC210/NC110"), - > DMI_MATCH(DMI_BOARD_NAME, "NC210/NC110"), - }, - > .callback = > dmi_check_cb, - }, - { - .ident = "X520", - > .matches = { - > DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), - > DMI_MATCH(DMI_PRODUCT_NAME, "X520"), - > DMI_MATCH(DMI_BOARD_NAME, > "X520"), + DMI_MATCH(DMI_CHASSIS_TYPE, "14"), /* > Sub-Notebook */ > }, - .callback = dmi_check_cb, }, { }, }; @@ -819,7 +608,8 @@ > > f0000_segment = ioremap_nocache(0xf0000, 0xffff); if > (!f0000_segment) { - pr_err("Can't map the segment at > 0xf0000\n"); + if (debug || force) + > pr_err("Can't map the > segment at 0xf0000\n"); return -EINVAL; } > > @@ -832,7 +622,8 @@ } > > if (loca == 0xffff) { - pr_err("This computer does not support > SABI\n"); + if (debug || force) + pr_err("This > computer does not > support SABI\n"); goto error_no_signature; } > > >
Sounds great to me, Ben. Would you like me to request testing of this patch? -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
