[PATCH] Repost: asus strict model checking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These are some minor patches I already posted...
All are patched against 2.6.18-rc2.

Do only load asus acpi module when model is listed

Description: There are machines that have a device with HID: ATK0100
(Asus) and a device with HID SNY5001 (Sony). Bad things happen if sony
and asus driver are loaded there.

Reference: https://bugzilla.novell.org/show_bug.cgi?id=166920

Signed-off-by: Timo Hoenig <thoenig@xxxxxxx>
Signed-off-by: Thomas Renninger<mail@xxxxxxxxxxxx>


 drivers/acpi/asus_acpi.c |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

Index: linux-2.6.18-rc2/drivers/acpi/asus_acpi.c
===================================================================
--- linux-2.6.18-rc2.orig/drivers/acpi/asus_acpi.c
+++ linux-2.6.18-rc2/drivers/acpi/asus_acpi.c
@@ -77,10 +77,14 @@ MODULE_LICENSE("GPL");
 
 static uid_t asus_uid;
 static gid_t asus_gid;
+static int force;
 module_param(asus_uid, uint, 0);
 MODULE_PARM_DESC(asus_uid, "UID for entries in /proc/acpi/asus.\n");
 module_param(asus_gid, uint, 0);
 MODULE_PARM_DESC(asus_gid, "GID for entries in /proc/acpi/asus.\n");
+module_param(force, int, 0);
+MODULE_PARM_DESC(force, "Force loading of the module even if the laptop"
+		 "model is not listed.\n");
 
 /* For each model, all features implemented, 
  * those marked with R are relative to HOTK, A for absolute */
@@ -1171,11 +1175,22 @@ static int asus_hotk_get_info(void)
 			printk(KERN_NOTICE
 			       "  Samsung P30 detected, supported\n");
 		} else {
-			hotk->model = M2E;
-			printk(KERN_NOTICE "  unsupported model %s, trying "
-			       "default values\n", string);
-			printk(KERN_NOTICE
-			       "  send /proc/acpi/dsdt to the developers\n");
+			if (force){
+				hotk->model = M2E;
+				printk(KERN_NOTICE "  unsupported model"
+				       "%s, trying default values\n",
+				       string);
+				printk(KERN_NOTICE
+				       "  send /proc/acpi/dsdt"
+				       " to the developers\n");
+			}
+			else{
+				printk(KERN_NOTICE "  %s unsupported model %s,"
+				       " aborting.\nForce loading with force=1"
+				       " parameter\n",
+				       ACPI_HOTK_NAME, string);
+				return -ENODEV;
+			}
 		}
 		hotk->methods = &model_conf[hotk->model];
 		return AE_OK;

Do only load asus acpi module when model is listed

Reference: https://bugzilla.novell.org/show_bug.cgi?id=166920

Signed-off-by: Timo Hoenig <thoenig@xxxxxxx>
Signed-off-by: Thomas Renninger<mail@xxxxxxxxxxxx>


 drivers/acpi/asus_acpi.c |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

Index: linux-2.6.18-rc2/drivers/acpi/asus_acpi.c
===================================================================
--- linux-2.6.18-rc2.orig/drivers/acpi/asus_acpi.c
+++ linux-2.6.18-rc2/drivers/acpi/asus_acpi.c
@@ -77,10 +77,14 @@ MODULE_LICENSE("GPL");
 
 static uid_t asus_uid;
 static gid_t asus_gid;
+static int force;
 module_param(asus_uid, uint, 0);
 MODULE_PARM_DESC(asus_uid, "UID for entries in /proc/acpi/asus.\n");
 module_param(asus_gid, uint, 0);
 MODULE_PARM_DESC(asus_gid, "GID for entries in /proc/acpi/asus.\n");
+module_param(force, int, 0);
+MODULE_PARM_DESC(force, "Force loading of the module even if the laptop"
+		 "model is not listed.\n");
 
 /* For each model, all features implemented, 
  * those marked with R are relative to HOTK, A for absolute */
@@ -1171,11 +1175,22 @@ static int asus_hotk_get_info(void)
 			printk(KERN_NOTICE
 			       "  Samsung P30 detected, supported\n");
 		} else {
-			hotk->model = M2E;
-			printk(KERN_NOTICE "  unsupported model %s, trying "
-			       "default values\n", string);
-			printk(KERN_NOTICE
-			       "  send /proc/acpi/dsdt to the developers\n");
+			if (force){
+				hotk->model = M2E;
+				printk(KERN_NOTICE "  unsupported model"
+				       "%s, trying default values\n",
+				       string);
+				printk(KERN_NOTICE
+				       "  send /proc/acpi/dsdt"
+				       " to the developers\n");
+			}
+			else{
+				printk(KERN_NOTICE "  %s unsupported model %s,"
+				       " aborting.\nForce loading with force=1"
+				       " parameter\n",
+				       ACPI_HOTK_NAME, string);
+				return -ENODEV;
+			}
 		}
 		hotk->methods = &model_conf[hotk->model];
 		return AE_OK;

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux