Patchwork [Precise,1/1] Revert "samsung-laptop: make the dmi check less strict"

login
register
mail settings
Submitter Joseph Salisbury
Date Aug. 28, 2012, 7:34 p.m.
Message ID <ae79e027eb8f5f476e32d0cf30a04b726f6749e4.1345055783.git.joseph.salisbury@canonical.com>
Download mbox | patch
Permalink /patch/180536/
State New
Headers show

Comments

Joseph Salisbury - Aug. 28, 2012, 7:34 p.m.
From: Joseph Salisbury <joseph.salisbury@canonical.com>

Please revert this commit since it causes a regression reported in bug 1028151

BugLink: http://bugs.launchpad.net/bugs/1028151

This reverts commit 9a2e71ce177a1602a0502fbcbb3f11e4bae584e4.
---
 drivers/platform/x86/samsung-laptop.c |  235 +++++++++++++++++++++++++++++++--
 1 file changed, 227 insertions(+), 8 deletions(-)
Brad Figg - Aug. 28, 2012, 7:53 p.m.
On 08/28/2012 12:34 PM, joseph.salisbury@canonical.com wrote:
> From: Joseph Salisbury <joseph.salisbury@canonical.com>
> 
> Please revert this commit since it causes a regression reported in bug 1028151
> 
> BugLink: http://bugs.launchpad.net/bugs/1028151
> 
> This reverts commit 9a2e71ce177a1602a0502fbcbb3f11e4bae584e4.
> ---
>  drivers/platform/x86/samsung-laptop.c |  235 +++++++++++++++++++++++++++++++--
>  1 file changed, 227 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
> index af1e296..8c021cf 100644
> --- a/drivers/platform/x86/samsung-laptop.c
> +++ b/drivers/platform/x86/samsung-laptop.c
> @@ -540,34 +540,255 @@ static DEVICE_ATTR(performance_level, S_IWUSR | S_IRUGO,
>  		   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"),
> +		},
> +		.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"),
> +		},
> +		.callback = dmi_check_cb,
> +	},
> +	{
> +		.ident = "N150P",
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR,
> +					"SAMSUNG ELECTRONICS CO., LTD."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "N150P"),
> +			DMI_MATCH(DMI_BOARD_NAME, "N150P"),
> +		},
> +		.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"),
> +		},
> +		.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_CHASSIS_TYPE, "8"), /* Portable */
> +			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_CHASSIS_TYPE, "9"), /* Laptop */
> +			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_CHASSIS_TYPE, "10"), /* Notebook */
> +			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_CHASSIS_TYPE, "14"), /* Sub-Notebook */
> +			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"),
>  		},
> +		.callback = dmi_check_cb,
>  	},
>  	{ },
>  };
> @@ -608,8 +829,7 @@ static int __init samsung_init(void)
>  
>  	f0000_segment = ioremap_nocache(0xf0000, 0xffff);
>  	if (!f0000_segment) {
> -		if (debug || force)
> -			pr_err("Can't map the segment at 0xf0000\n");
> +		pr_err("Can't map the segment at 0xf0000\n");
>  		return -EINVAL;
>  	}
>  
> @@ -622,8 +842,7 @@ static int __init samsung_init(void)
>  	}
>  
>  	if (loca == 0xffff) {
> -		if (debug || force)
> -			pr_err("This computer does not support SABI\n");
> +		pr_err("This computer does not support SABI\n");
>  		goto error_no_signature;
>  	}
>  
>
Tim Gardner - Aug. 28, 2012, 8:07 p.m.
Given that this issue appears to be solved upstream in a different way...

Patch

diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
index af1e296..8c021cf 100644
--- a/drivers/platform/x86/samsung-laptop.c
+++ b/drivers/platform/x86/samsung-laptop.c
@@ -540,34 +540,255 @@  static DEVICE_ATTR(performance_level, S_IWUSR | S_IRUGO,
 		   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"),
+		},
+		.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"),
+		},
+		.callback = dmi_check_cb,
+	},
+	{
+		.ident = "N150P",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR,
+					"SAMSUNG ELECTRONICS CO., LTD."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "N150P"),
+			DMI_MATCH(DMI_BOARD_NAME, "N150P"),
+		},
+		.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"),
+		},
+		.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_CHASSIS_TYPE, "8"), /* Portable */
+			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_CHASSIS_TYPE, "9"), /* Laptop */
+			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_CHASSIS_TYPE, "10"), /* Notebook */
+			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_CHASSIS_TYPE, "14"), /* Sub-Notebook */
+			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"),
 		},
+		.callback = dmi_check_cb,
 	},
 	{ },
 };
@@ -608,8 +829,7 @@  static int __init samsung_init(void)
 
 	f0000_segment = ioremap_nocache(0xf0000, 0xffff);
 	if (!f0000_segment) {
-		if (debug || force)
-			pr_err("Can't map the segment at 0xf0000\n");
+		pr_err("Can't map the segment at 0xf0000\n");
 		return -EINVAL;
 	}
 
@@ -622,8 +842,7 @@  static int __init samsung_init(void)
 	}
 
 	if (loca == 0xffff) {
-		if (debug || force)
-			pr_err("This computer does not support SABI\n");
+		pr_err("This computer does not support SABI\n");
 		goto error_no_signature;
 	}