Kernel Bug Tracker – Bug 10848
asus_laptop misses support for P30/P35, asus_acpi should not be marked deprecated
Last modified: 2013-04-09 06:23:26 UTC
Latest working kernel version: 2.6.25 (asus_acpi)
Earliest failing kernel version: 2.6.25 (asus_laptop)
Distribution: Gentoo 2007.1
Hardware Environment: Samsung P35 XVM 1600 III
asus_acpi gets marked deprecated.
Look at: http://bugzilla.kernel.org/show_bug.cgi?id=10657
However, asus_laptop cant replace asus_acpi for all models which are supported throught that module.
Looking at the sourcecode P30 is still metioned in the new module, but there are critical things missing or changed:
\\_SB.PCI0.LPCB.EC0._Q10 should be \\_SB.PCI0.LPCB.EC0._Q0E for P30 Model, there is no _Q10 method at my dsdt.
The P30 Fix is missing too, that the DSDT does not return a name in its init method, but looking at the oem_table_id it can be guessed that its a P30.
So asus_laptop does not even detect the P30 anymore.
The model_data model_conf struct in asus_acpi.c does provide the handles needed to get stuff working, although i dont know it things are so easy to port that to asus_laptop.
The BIOS is broken yes, i know - but i cant fix this (i guess it is possible to edit my DSDT and make it working but the vendor should do that but Samsung wont do anything here :-|).
As all P30 need this fix, i don't know why its even mentioned in the new driver as they wont work with the code as it is yet.
I would like to see asus_acpi not marked deprecated until asus_laptop does provide the functions the "old" one does - if that is not possible, the "best" way imho is to let both of them coexist, marking none of them deprecated (i would not call it deprecated if the "new" one does not work with hardware the "old" one supports).
Someone with a P30 should try to make a patch.
If nobody can, I'll try, but I'll need someone to test it.
I'll did a patch to the init method to get the P30 found (like the old driver).
But backlight support still is not there. I dont know either how to get brightness support in there (the original source knows different methods for up and down) - still need to test display switching.
I would test the patches, got a P35 (=P30).
Torsten Krah where is your patch for the init method ?
Please send me a link and I'll try to add backlight support this afternoon or tomorow.
Oh, i'll add it this evening. This patch isnt really "magical" because you find the same code in the "old" asus driver. You only need to take the code from there if you dont want to wait.
I just check, asus_laptop should work without modification. If it don't, send me the dmesg, and tell me if the files are into /sys.
It won't output "P30 model detected", but it'll work.
Anyway I can add "\\_SB.PCI0.LPCB.EC0._Q0E" to control the lcd_switch
For backlight control, there is no SPLV method, so I won't add ugly hacks to support a useless feature. But you can try to send a patch to fix that, but it need to be clean.
Created attachment 16824 [details]
P30/P35 Support Patch
I don't fix the fix for the name is realy needed (don't want to add a hack for each model).
But I'll make a patch for \\_SB.PCI0.LPCB.EC0._Q0E support.
i take it from comment #8 that the patch in comment #7 is nacked,
thus re-opening this report.
Created attachment 18347 [details]
Here is the final patch.
patch in comment #10 applied to acpi tree
As there is a patch to test that is a candidate for upstream,
marking this report RESOLVED.
shipped in linux-2.6.28-rc1
Author: Torsten Krah <firstname.lastname@example.org>
Date: Fri Oct 17 09:47:57 2008 +0200
asus-laptop: Add support for P30/P35