Bug 13513

Summary: panasonic-laptop: Buttons on Front Edge Not Working
Product: Drivers Reporter: john
Component: PlatformAssignee: Harald Welte (laforge)
Severity: blocking CC: acpi-bugzilla, daniel.higham, rui.zhang, yakui.zhao
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: Output from request commands

Description john 2009-06-12 00:03:04 UTC
The panasonic-laptop module correctly handles the function keys on my CF-18.  Also, it handles the bright/dim buttons that appear on the front edge of the laptop.  However, it does not generate events in syslog when the other front edge buttons are pressed (onscreen keyboard, symbol with the circle in it, rotate image on display, and the button with the key symbol).

dmidecode doesn't appear to list anything of interest but I can provide that output or other info needed.


Comment 1 Zhang Rui 2009-06-12 01:50:51 UTC
re-assign to the panasonic-laptop driver maintainer.
Comment 2 Zhang Rui 2009-06-17 05:21:25 UTC
hi, Harald,
can you have a look at this issue please?
Comment 3 Harald Welte 2009-06-18 16:25:31 UTC
Sorry for not responding earlier.

As I don't have access to that particular hardware, it's hard for me to actually support it.

I would propose to add some debugging code to the function "acpi_pcc_retrieve_biosdata()" of panasonic_laptop.c.  Maybe you can dump some information about the SQTY (num_sifr) field, as well as the actual values that we write into the sinf[] array.

As you can see, we only know certain SINF values yet.  Maybe they have just defined some more of those values.

You could also put some code in acpi_pcc_generate_keyinput() printing the 'result' variable every time the function is called.  this is the actual internal
key number before we do keymap translation and report it to the input device.
Comment 4 ykzhao 2009-06-26 09:46:14 UTC
Will you please also attach the output of acpidump, lspci -vxxx?
It will be great if you can do the following test.
   a. kill the process using /proc/acpi/event (use the command of "lsof /proc/acpi/event"
   b. grep -R . /sys/firmware/acpi/interrupts/* > interrupts_before
   c. press the front power button several times
   d. grep -R . /sys/firmware/acpi/interrupts/* > interrupts_after

   After the test, please also attach the above output.
Comment 5 john 2009-06-27 00:05:02 UTC
Created attachment 22112 [details]
Output from request commands
Comment 6 john 2009-06-27 00:07:22 UTC
This weekend I will work through syntax needed to generate debugging output per the request above.  I have attached command output for now.


Comment 7 john 2009-06-29 02:25:30 UTC
From the debug code in panasonic-laptop.c:

num_sifr: 12
sinf[0] =  1
sinf[1] =  0
sinf[2] =  21
sinf[3] =  1
sinf[4] =  17
sinf[5] =  21
sinf[6] =  1
sinf[7] =  12
sinf[8] =  0
sinf[9] =  0
sinf[10] =  1
sinf[11] =  0

I added code to print result in acpi_pcc_generate_keyinput(). However, when the buttons on the front edge of the case are pressed they do not generate any outout.  Other keys (the ones that work currently) do generate output so I know the debug code works.
Comment 8 Zhang Rui 2009-07-15 05:57:13 UTC
ping Harald... :)
Comment 9 Zhang Rui 2009-08-12 06:07:29 UTC
ping Harald again...
Comment 10 Zhang Rui 2009-09-03 06:44:28 UTC
Well, we can not get any feedback from Harald, the maintainer of the panasonic-laptop driver.
ping Len...
Comment 11 daniel.higham 2009-10-30 22:24:25 UTC
ping . . .

(I am also looking for this :)
Comment 12 Zhang Rui 2009-12-04 03:22:06 UTC
ping both Len and Harald, :)
Comment 13 Len Brown 2009-12-22 07:22:54 UTC
Looks like this report is about missing functionality
rather than broken functionality, so I'm closing this bug.

(please work the development of these missing bits
 on the mailing list where more people will see it and
 hopefully participate.)