* [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-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-02 16:00 ` Bjorn Helgaas
1 sibling, 1 reply; 11+ messages in thread
From: Alexey Starikovskiy @ 2006-08-01 13:58 UTC (permalink / raw)
To: trenn; +Cc: linux-acpi, Brown, Len, acpi4asus-user
Thomas,
Is it possible to use DMI interface for this kind of system identification?
Regards,
Alex.
Thomas Renninger wrote:
> 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;
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-01 13:58 ` Alexey Starikovskiy
@ 2006-08-01 15:29 ` Thomas Renninger
2006-08-01 16:11 ` Alexey Starikovskiy
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Renninger @ 2006-08-01 15:29 UTC (permalink / raw)
To: Alexey Starikovskiy; +Cc: linux-acpi, Brown, Len, acpi4asus-user
On Tue, 2006-08-01 at 17:58 +0400, Alexey Starikovskiy wrote:
> Thomas,
> Is it possible to use DMI interface for this kind of system identification?
IMO it should be sufficient to use the already provided Asus hotkey
model identification.
Using dmidecode to check for Asus and then fallback to the default model
if the model is unknown (which does not work for a lot new Asus anyway?)
sounds like the wrong way for me.
Better to have a not supported system (it's easy to white list an
additional model) than to fall back to default and have a broken system
(reading/writing to wrong EC registers,..).
Thomas
> Regards,
> Alex.
>
> Thomas Renninger wrote:
> > 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;
> >
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-01 15:29 ` Thomas Renninger
@ 2006-08-01 16:11 ` Alexey Starikovskiy
2006-08-01 17:22 ` Thomas Renninger
0 siblings, 1 reply; 11+ messages in thread
From: Alexey Starikovskiy @ 2006-08-01 16:11 UTC (permalink / raw)
To: trenn; +Cc: linux-acpi, Brown, Len, acpi4asus-user
Checks for Samsung P30/P35 are real hacks IMHO.
Thomas Renninger wrote:
> On Tue, 2006-08-01 at 17:58 +0400, Alexey Starikovskiy wrote:
>> Thomas,
>> Is it possible to use DMI interface for this kind of system identification?
>
> IMO it should be sufficient to use the already provided Asus hotkey
> model identification.
> Using dmidecode to check for Asus and then fallback to the default model
> if the model is unknown (which does not work for a lot new Asus anyway?)
> sounds like the wrong way for me.
> Better to have a not supported system (it's easy to white list an
> additional model) than to fall back to default and have a broken system
> (reading/writing to wrong EC registers,..).
>
> Thomas
>
>> Regards,
>> Alex.
>>
>> Thomas Renninger wrote:
>>> 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;
>>>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-01 16:11 ` Alexey Starikovskiy
@ 2006-08-01 17:22 ` Thomas Renninger
2006-08-01 17:44 ` Alexey Starikovskiy
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Renninger @ 2006-08-01 17:22 UTC (permalink / raw)
To: Alexey Starikovskiy; +Cc: linux-acpi, Brown, Len, acpi4asus-user
On Tue, 2006-08-01 at 20:11 +0400, Alexey Starikovskiy wrote:
> Checks for Samsung P30/P35 are real hacks IMHO.
Why?
Thomas
>
> Thomas Renninger wrote:
> > On Tue, 2006-08-01 at 17:58 +0400, Alexey Starikovskiy wrote:
> >> Thomas,
> >> Is it possible to use DMI interface for this kind of system identification?
> >
> > IMO it should be sufficient to use the already provided Asus hotkey
> > model identification.
> > Using dmidecode to check for Asus and then fallback to the default model
> > if the model is unknown (which does not work for a lot new Asus anyway?)
> > sounds like the wrong way for me.
> > Better to have a not supported system (it's easy to white list an
> > additional model) than to fall back to default and have a broken system
> > (reading/writing to wrong EC registers,..).
> >
> > Thomas
> >
> >> Regards,
> >> Alex.
> >>
> >> Thomas Renninger wrote:
> >>> 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;
> >>>
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-01 17:22 ` Thomas Renninger
@ 2006-08-01 17:44 ` Alexey Starikovskiy
2006-08-02 10:00 ` Thomas Renninger
0 siblings, 1 reply; 11+ messages in thread
From: Alexey Starikovskiy @ 2006-08-01 17:44 UTC (permalink / raw)
To: trenn; +Cc: linux-acpi, Brown, Len, acpi4asus-user
Thomas Renninger wrote:
> On Tue, 2006-08-01 at 20:11 +0400, Alexey Starikovskiy wrote:
>> Checks for Samsung P30/P35 are real hacks IMHO.
> Why?
Because this DSDT signature could appear on any machine, and has nothing to do
with ASUS or Samsung.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-01 17:44 ` Alexey Starikovskiy
@ 2006-08-02 10:00 ` Thomas Renninger
2006-08-02 18:49 ` Alexey Starikovskiy
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Renninger @ 2006-08-02 10:00 UTC (permalink / raw)
To: Alexey Starikovskiy; +Cc: linux-acpi, Brown, Len, acpi4asus-user
On Tue, 2006-08-01 at 21:44 +0400, Alexey Starikovskiy wrote:
> Thomas Renninger wrote:
> > On Tue, 2006-08-01 at 20:11 +0400, Alexey Starikovskiy wrote:
> >> Checks for Samsung P30/P35 are real hacks IMHO.
> > Why?
> Because this DSDT signature could appear on any machine, and has nothing to do
> with ASUS or Samsung.
The string seems to define how the ATKD ACPI device has to be used.
If this Device pops up on other machines than Asus it's fine.
AFAIK the mappings from the string returned by ATKD.INIT and how the
device has to be used then works fine.
It's probably much better than the way done on Thinkpads:
If we have ACPI func xy we assume to have an A21 or similar and use this
set of function/variables.
I consider this an ugly hack:
IBM_HANDLE(ec, root, "\\_SB.PCI0.ISA.EC0", /* 240, 240x */
"\\_SB.PCI.ISA.EC", /* 570 */
"\\_SB.PCI0.ISA0.EC0", /* 600e/x, 770e, 770x */
"\\_SB.PCI0.ISA.EC", /* A21e, A2xm/p, T20-22, X20-21 */
"\\_SB.PCI0.AD4S.EC0", /* i1400, R30 */
"\\_SB.PCI0.ICH3.EC0", /* R31 */
"\\_SB.PCI0.LPC.EC", /* all others */
On Asus we should be happy ATKD.INIT is returning something useful and
one can guess (be sure?) which ACPI functions to use for what.
Checking for that string and making use of different ACPI
variable/method names seems to be intended and looks like the defined
way this should be used. 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.
Thomas
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-01 13:15 [PATCH] Repost: asus strict model checking Thomas Renninger
2006-08-01 13:58 ` Alexey Starikovskiy
@ 2006-08-02 16:00 ` Bjorn Helgaas
1 sibling, 0 replies; 11+ messages in thread
From: Bjorn Helgaas @ 2006-08-02 16:00 UTC (permalink / raw)
To: trenn; +Cc: linux-acpi, Brown, Len, acpi4asus-user
On Tuesday 01 August 2006 07:15, Thomas Renninger wrote:
> 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
Nit: should be novell.com, not norvell.org.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Repost: asus strict model checking
2006-08-02 10:00 ` Thomas Renninger
@ 2006-08-02 18:49 ` Alexey Starikovskiy
2006-08-03 8:40 ` Thomas Renninger
0 siblings, 1 reply; 11+ messages in thread
From: Alexey Starikovskiy @ 2006-08-02 18:49 UTC (permalink / raw)
To: trenn; +Cc: linux-acpi, Brown, Len, acpi4asus-user
I was referring to this peace of artwork(asus_info is pointer to DSDT header):
------------------------------------------------------------------------------
if (hotk->model == END_MODEL) { /* match failed */
if (asus_info &&
strncmp(asus_info->oem_table_id, "ODEM", 4) == 0) {
hotk->model = P30;
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");
}
hotk->methods = &model_conf[hotk->model];
return AE_OK;
}
------------------------------------------------------------------------------
Thomas Renninger wrote:
> On Tue, 2006-08-01 at 21:44 +0400, Alexey Starikovskiy wrote:
>> Thomas Renninger wrote:
>>> On Tue, 2006-08-01 at 20:11 +0400, Alexey Starikovskiy wrote:
>>>> Checks for Samsung P30/P35 are real hacks IMHO.
>>> Why?
>> Because this DSDT signature could appear on any machine, and has nothing to do
>> with ASUS or Samsung.
>
> The string seems to define how the ATKD ACPI device has to be used.
> If this Device pops up on other machines than Asus it's fine.
> AFAIK the mappings from the string returned by ATKD.INIT and how the
> device has to be used then works fine.
>
> It's probably much better than the way done on Thinkpads:
> If we have ACPI func xy we assume to have an A21 or similar and use this
> set of function/variables.
>
> I consider this an ugly hack:
> IBM_HANDLE(ec, root, "\\_SB.PCI0.ISA.EC0", /* 240, 240x */
> "\\_SB.PCI.ISA.EC", /* 570 */
> "\\_SB.PCI0.ISA0.EC0", /* 600e/x, 770e, 770x */
> "\\_SB.PCI0.ISA.EC", /* A21e, A2xm/p, T20-22, X20-21 */
> "\\_SB.PCI0.AD4S.EC0", /* i1400, R30 */
> "\\_SB.PCI0.ICH3.EC0", /* R31 */
> "\\_SB.PCI0.LPC.EC", /* all others */
>
> On Asus we should be happy ATKD.INIT is returning something useful and
> one can guess (be sure?) which ACPI functions to use for what.
> Checking for that string and making use of different ACPI
> variable/method names seems to be intended and looks like the defined
> way this should be used. 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.
>
> Thomas
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ 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
* Re: [PATCH] Repost: asus strict model checking
2006-08-02 18:49 ` Alexey Starikovskiy
@ 2006-08-03 8:40 ` Thomas Renninger
0 siblings, 0 replies; 11+ messages in thread
From: Thomas Renninger @ 2006-08-03 8:40 UTC (permalink / raw)
To: Alexey Starikovskiy; +Cc: linux-acpi, Brown, Len, acpi4asus-user
On Wed, 2006-08-02 at 22:49 +0400, Alexey Starikovskiy wrote:
> I was referring to this peace of artwork(asus_info is pointer to DSDT header):
> ------------------------------------------------------------------------------
> if (hotk->model == END_MODEL) { /* match failed */
> if (asus_info &&
> strncmp(asus_info->oem_table_id, "ODEM", 4) == 0) {
> hotk->model = P30;
Oh yes, you are right this is awful.
Thomas
^ 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