Bug 10848

Summary: asus_laptop misses support for P30/P35, asus_acpi should not be marked deprecated
Product: Drivers Reporter: Torsten Krah (krah.tm)
Component: PlatformAssignee: Corentin Chary (corentin.chary)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.25.3 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: P30/P35 Support Patch
01-Add-support-for-P30-P35.patch

Description Torsten Krah 2008-06-03 00:53:47 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
Software Environment:
Problem Description:

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).
Comment 1 Corentin Chary 2008-06-04 01:21:01 UTC
Someone with a P30 should try to make a patch.
If nobody can, I'll try, but I'll need someone to test it.
Comment 2 Torsten Krah 2008-06-04 01:47:45 UTC
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).
Comment 3 Zhang Rui 2008-07-14 20:25:37 UTC
any updates?
Comment 4 Corentin Chary 2008-07-15 00:34:34 UTC
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.
Comment 5 Torsten Krah 2008-07-15 02:03:53 UTC
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.
Comment 6 Corentin Chary 2008-07-15 10:57:39 UTC
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.
Comment 7 Torsten Krah 2008-07-15 11:11:13 UTC
Created attachment 16824 [details]
P30/P35 Support Patch
Comment 8 Corentin Chary 2008-07-19 10:01:30 UTC
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.
Comment 9 Len Brown 2008-10-16 22:16:26 UTC
i take it from comment #8 that the patch in comment #7 is nacked,
thus re-opening this report.
Comment 10 Corentin Chary 2008-10-17 00:53:34 UTC
Created attachment 18347 [details]
01-Add-support-for-P30-P35.patch

Here is the final patch.
Comment 11 Len Brown 2008-10-17 11:11:02 UTC
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.
Comment 12 Len Brown 2008-10-24 23:03:04 UTC
shipped in linux-2.6.28-rc1
closed

commit 4d0b856ef7eea5c03f4c1fa57793286ac068f4cd
Author: Torsten Krah <tkrah@fachschaft.imn.htwk-leipzig.de>
Date:   Fri Oct 17 09:47:57 2008 +0200

    asus-laptop: Add support for P30/P35