public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Repost: asus strict model checking
@ 2006-08-01 13:15 Thomas Renninger
  2006-08-01 13:58 ` Alexey Starikovskiy
  2006-08-02 16:00 ` Bjorn Helgaas
  0 siblings, 2 replies; 11+ messages in thread
From: Thomas Renninger @ 2006-08-01 13:15 UTC (permalink / raw)
  To: linux-acpi; +Cc: Brown, Len, acpi4asus-user

[-- Attachment #1: Type: text/plain, Size: 2244 bytes --]

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@suse.de>
Signed-off-by: Thomas Renninger<mail@renninger.de>


 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;


[-- Attachment #2: acpi_asus_strict_model_check.patch --]
[-- Type: text/x-patch, Size: 1982 bytes --]

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@suse.de>
Signed-off-by: Thomas Renninger<mail@renninger.de>


 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;

^ permalink raw reply	[flat|nested] 11+ messages in thread
* RE: [PATCH] Repost: asus strict model checking
@ 2006-08-02 20:12 Brown, Len
  0 siblings, 0 replies; 11+ messages in thread
From: Brown, Len @ 2006-08-02 20:12 UTC (permalink / raw)
  To: Alexey Starikovskiy, trenn; +Cc: linux-acpi, acpi4asus-user

> As long as this is not officially specified (by ACPI consortium and/or
vendors)
> and such special Devices exist, it is the best we can do.

Platform specific methods will never be in the APCI spec --
by the virtue that they are non-standard and platform specific by
definition.

The vendors should be using vendor-specific PNP ID's. eg, IBM0068
when they put vendor specific devices in the DSDT.

When that is not available, Linux is going very far out on a limb
when it mines the name space to match specific internal variables,
as there is no reason they could not match some totally different
machine.
Certainly the platform specific drivers that the vendors ship
on Windows does not do this.  I don't know what they do -- maybe DMI?

-Len

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-08-03  8:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-01 13:15 [PATCH] Repost: asus strict model checking Thomas Renninger
2006-08-01 13:58 ` Alexey Starikovskiy
2006-08-01 15:29   ` Thomas Renninger
2006-08-01 16:11     ` Alexey Starikovskiy
2006-08-01 17:22       ` Thomas Renninger
2006-08-01 17:44         ` Alexey Starikovskiy
2006-08-02 10:00           ` Thomas Renninger
2006-08-02 18:49             ` Alexey Starikovskiy
2006-08-03  8:40               ` Thomas Renninger
2006-08-02 16:00 ` Bjorn Helgaas
  -- strict thread matches above, loose matches on Subject: below --
2006-08-02 20:12 Brown, Len

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox