ACPI: EC: Block queries until EC is fully initialized
[pandora-kernel.git] / Documentation / sony-laptop.txt
1 Sony Notebook Control Driver (SNC) Readme
2 -----------------------------------------
3         Copyright (C) 2004- 2005 Stelian Pop <stelian@popies.net>
4         Copyright (C) 2007 Mattia Dongili <malattia@linux.it>
5
6 This mini-driver drives the SNC device present in the ACPI BIOS of
7 the Sony Vaio laptops.
8
9 It gives access to some extra laptop functionalities. In its current
10 form, this driver let the user set or query the screen brightness
11 through the backlight subsystem and remove/apply power to some devices.
12
13 Backlight control:
14 ------------------
15 If your laptop model supports it, you will find sysfs files in the
16 /sys/class/backlight/sony/
17 directory. You will be able to query and set the current screen
18 brightness:
19         brightness              get/set screen brightness (an iteger
20                                 between 0 and 7)
21         actual_brightness       reading from this file will query the HW
22                                 to get real brightness value
23         max_brightness          the maximum brightness value
24
25
26 Platform specific:
27 ------------------
28 Loading the sony-laptop module will create a
29 /sys/devices/platform/sony-laptop/
30 directory populated with some files.
31
32 You then read/write integer values from/to those files by using
33 standard UNIX tools.
34
35 The files are:
36         brightness_default      screen brightness which will be set
37                                 when the laptop will be rebooted
38         cdpower                 power on/off the internal CD drive
39         audiopower              power on/off the internal sound card
40         lanpower                power on/off the internal ethernet card
41                                 (only in debug mode)
42
43 Note that some files may be missing if they are not supported
44 by your particular laptop model.
45
46 Example usage:
47         # echo "1" > /sys/devices/platform/sony-laptop/brightness_default
48 sets the lowest screen brightness for the next and later reboots,
49         # echo "8" > /sys/devices/platform/sony-laptop/brightness_default
50 sets the highest screen brightness for the next and later reboots,
51         # cat /sys/devices/platform/sony-laptop/brightness_default
52 retrieves the value.
53
54         # echo "0" > /sys/devices/platform/sony-laptop/audiopower
55 powers off the sound card,
56         # echo "1" > /sys/devices/platform/sony-laptop/audiopower
57 powers on the sound card.
58
59 Development:
60 ------------
61
62 If you want to help with the development of this driver (and
63 you are not afraid of any side effects doing strange things with
64 your ACPI BIOS could have on your laptop), load the driver and
65 pass the option 'debug=1'.
66
67 REPEAT: DON'T DO THIS IF YOU DON'T LIKE RISKY BUSINESS.
68
69 In your kernel logs you will find the list of all ACPI methods
70 the SNC device has on your laptop. You can see the GCDP/GCDP methods
71 used to pwer on/off the CD drive, but there are others.
72
73 I HAVE NO IDEA WHAT THOSE METHODS DO.
74
75 The sony-laptop driver creates, for some of those methods (the most
76 current ones found on several Vaio models), an entry under
77 /sys/devices/platform/sony-laptop, just like the 'cdpower' one.
78 You can create other entries corresponding to your own laptop methods by
79 further editing the source (see the 'sony_acpi_values' table, and add a new
80 entry to this table with your get/set method names using the
81 HANDLE_NAMES macro).
82
83 Your mission, should you accept it, is to try finding out what
84 those entries are for, by reading/writing random values from/to those
85 files and find out what is the impact on your laptop.
86
87 Should you find anything interesting, please report it back to me,
88 I will not disavow all knowledge of your actions :)
89
90 Bugs/Limitations:
91 -----------------
92
93 * This driver is not based on official documentation from Sony
94   (because there is none), so there is no guarantee this driver
95   will work at all, or do the right thing. Although this hasn't
96   happened to me, this driver could do very bad things to your
97   laptop, including permanent damage.
98
99 * The sony-laptop and sonypi drivers do not interact at all. In the
100   future, sonypi could use sony-laptop to do (part of) its business.
101
102 * spicctrl, which is the userspace tool used to communicate with the
103   sonypi driver (through /dev/sonypi) does not try to use the
104   sony-laptop driver. In the future, spicctrl could try sonypi first,
105   and if it isn't present, try sony-laptop instead.
106