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

Reply via email to