diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-firmware-acpi | 127 | ||||
-rw-r--r-- | Documentation/filesystems/configfs/configfs.txt | 10 | ||||
-rw-r--r-- | Documentation/filesystems/configfs/configfs_example.c | 14 | ||||
-rw-r--r-- | Documentation/filesystems/ubifs.txt | 164 | ||||
-rw-r--r-- | Documentation/i2c/chips/max6875 | 2 | ||||
-rw-r--r-- | Documentation/i2c/chips/pca9539 | 10 | ||||
-rw-r--r-- | Documentation/i2c/chips/pcf8574 | 12 | ||||
-rw-r--r-- | Documentation/i2c/chips/pcf8575 | 9 | ||||
-rw-r--r-- | Documentation/ioctl/hdio.txt | 7 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 14 | ||||
-rw-r--r-- | Documentation/laptops/acer-wmi.txt | 2 |
11 files changed, 299 insertions, 72 deletions
diff --git a/Documentation/ABI/testing/sysfs-firmware-acpi b/Documentation/ABI/testing/sysfs-firmware-acpi index 9470ed9afcc0..f27be7d1a49f 100644 --- a/Documentation/ABI/testing/sysfs-firmware-acpi +++ b/Documentation/ABI/testing/sysfs-firmware-acpi | |||
@@ -29,46 +29,46 @@ Description: | |||
29 | 29 | ||
30 | $ cd /sys/firmware/acpi/interrupts | 30 | $ cd /sys/firmware/acpi/interrupts |
31 | $ grep . * | 31 | $ grep . * |
32 | error:0 | 32 | error: 0 |
33 | ff_gbl_lock:0 | 33 | ff_gbl_lock: 0 enable |
34 | ff_pmtimer:0 | 34 | ff_pmtimer: 0 invalid |
35 | ff_pwr_btn:0 | 35 | ff_pwr_btn: 0 enable |
36 | ff_rt_clk:0 | 36 | ff_rt_clk: 2 disable |
37 | ff_slp_btn:0 | 37 | ff_slp_btn: 0 invalid |
38 | gpe00:0 | 38 | gpe00: 0 invalid |
39 | gpe01:0 | 39 | gpe01: 0 enable |
40 | gpe02:0 | 40 | gpe02: 108 enable |
41 | gpe03:0 | 41 | gpe03: 0 invalid |
42 | gpe04:0 | 42 | gpe04: 0 invalid |
43 | gpe05:0 | 43 | gpe05: 0 invalid |
44 | gpe06:0 | 44 | gpe06: 0 enable |
45 | gpe07:0 | 45 | gpe07: 0 enable |
46 | gpe08:0 | 46 | gpe08: 0 invalid |
47 | gpe09:174 | 47 | gpe09: 0 invalid |
48 | gpe0A:0 | 48 | gpe0A: 0 invalid |
49 | gpe0B:0 | 49 | gpe0B: 0 invalid |
50 | gpe0C:0 | 50 | gpe0C: 0 invalid |
51 | gpe0D:0 | 51 | gpe0D: 0 invalid |
52 | gpe0E:0 | 52 | gpe0E: 0 invalid |
53 | gpe0F:0 | 53 | gpe0F: 0 invalid |
54 | gpe10:0 | 54 | gpe10: 0 invalid |
55 | gpe11:60 | 55 | gpe11: 0 invalid |
56 | gpe12:0 | 56 | gpe12: 0 invalid |
57 | gpe13:0 | 57 | gpe13: 0 invalid |
58 | gpe14:0 | 58 | gpe14: 0 invalid |
59 | gpe15:0 | 59 | gpe15: 0 invalid |
60 | gpe16:0 | 60 | gpe16: 0 invalid |
61 | gpe17:0 | 61 | gpe17: 1084 enable |
62 | gpe18:0 | 62 | gpe18: 0 enable |
63 | gpe19:7 | 63 | gpe19: 0 invalid |
64 | gpe1A:0 | 64 | gpe1A: 0 invalid |
65 | gpe1B:0 | 65 | gpe1B: 0 invalid |
66 | gpe1C:0 | 66 | gpe1C: 0 invalid |
67 | gpe1D:0 | 67 | gpe1D: 0 invalid |
68 | gpe1E:0 | 68 | gpe1E: 0 invalid |
69 | gpe1F:0 | 69 | gpe1F: 0 invalid |
70 | gpe_all:241 | 70 | gpe_all: 1192 |
71 | sci:241 | 71 | sci: 1194 |
72 | 72 | ||
73 | sci - The total number of times the ACPI SCI | 73 | sci - The total number of times the ACPI SCI |
74 | has claimed an interrupt. | 74 | has claimed an interrupt. |
@@ -89,6 +89,13 @@ Description: | |||
89 | 89 | ||
90 | error - an interrupt that can't be accounted for above. | 90 | error - an interrupt that can't be accounted for above. |
91 | 91 | ||
92 | invalid: it's either a wakeup GPE or a GPE/Fixed Event that | ||
93 | doesn't have an event handler. | ||
94 | |||
95 | disable: the GPE/Fixed Event is valid but disabled. | ||
96 | |||
97 | enable: the GPE/Fixed Event is valid and enabled. | ||
98 | |||
92 | Root has permission to clear any of these counters. Eg. | 99 | Root has permission to clear any of these counters. Eg. |
93 | # echo 0 > gpe11 | 100 | # echo 0 > gpe11 |
94 | 101 | ||
@@ -97,3 +104,43 @@ Description: | |||
97 | 104 | ||
98 | None of these counters has an effect on the function | 105 | None of these counters has an effect on the function |
99 | of the system, they are simply statistics. | 106 | of the system, they are simply statistics. |
107 | |||
108 | Besides this, user can also write specific strings to these files | ||
109 | to enable/disable/clear ACPI interrupts in user space, which can be | ||
110 | used to debug some ACPI interrupt storm issues. | ||
111 | |||
112 | Note that only writting to VALID GPE/Fixed Event is allowed, | ||
113 | i.e. user can only change the status of runtime GPE and | ||
114 | Fixed Event with event handler installed. | ||
115 | |||
116 | Let's take power button fixed event for example, please kill acpid | ||
117 | and other user space applications so that the machine won't shutdown | ||
118 | when pressing the power button. | ||
119 | # cat ff_pwr_btn | ||
120 | 0 | ||
121 | # press the power button for 3 times; | ||
122 | # cat ff_pwr_btn | ||
123 | 3 | ||
124 | # echo disable > ff_pwr_btn | ||
125 | # cat ff_pwr_btn | ||
126 | disable | ||
127 | # press the power button for 3 times; | ||
128 | # cat ff_pwr_btn | ||
129 | disable | ||
130 | # echo enable > ff_pwr_btn | ||
131 | # cat ff_pwr_btn | ||
132 | 4 | ||
133 | /* | ||
134 | * this is because the status bit is set even if the enable bit is cleared, | ||
135 | * and it triggers an ACPI fixed event when the enable bit is set again | ||
136 | */ | ||
137 | # press the power button for 3 times; | ||
138 | # cat ff_pwr_btn | ||
139 | 7 | ||
140 | # echo disable > ff_pwr_btn | ||
141 | # press the power button for 3 times; | ||
142 | # echo clear > ff_pwr_btn /* clear the status bit */ | ||
143 | # echo disable > ff_pwr_btn | ||
144 | # cat ff_pwr_btn | ||
145 | 7 | ||
146 | |||
diff --git a/Documentation/filesystems/configfs/configfs.txt b/Documentation/filesystems/configfs/configfs.txt index 44c97e6accb2..15838d706ea2 100644 --- a/Documentation/filesystems/configfs/configfs.txt +++ b/Documentation/filesystems/configfs/configfs.txt | |||
@@ -233,10 +233,12 @@ accomplished via the group operations specified on the group's | |||
233 | config_item_type. | 233 | config_item_type. |
234 | 234 | ||
235 | struct configfs_group_operations { | 235 | struct configfs_group_operations { |
236 | struct config_item *(*make_item)(struct config_group *group, | 236 | int (*make_item)(struct config_group *group, |
237 | const char *name); | 237 | const char *name, |
238 | struct config_group *(*make_group)(struct config_group *group, | 238 | struct config_item **new_item); |
239 | const char *name); | 239 | int (*make_group)(struct config_group *group, |
240 | const char *name, | ||
241 | struct config_group **new_group); | ||
240 | int (*commit_item)(struct config_item *item); | 242 | int (*commit_item)(struct config_item *item); |
241 | void (*disconnect_notify)(struct config_group *group, | 243 | void (*disconnect_notify)(struct config_group *group, |
242 | struct config_item *item); | 244 | struct config_item *item); |
diff --git a/Documentation/filesystems/configfs/configfs_example.c b/Documentation/filesystems/configfs/configfs_example.c index 25151fd5c2c6..0b422acd470c 100644 --- a/Documentation/filesystems/configfs/configfs_example.c +++ b/Documentation/filesystems/configfs/configfs_example.c | |||
@@ -273,13 +273,13 @@ static inline struct simple_children *to_simple_children(struct config_item *ite | |||
273 | return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; | 273 | return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; |
274 | } | 274 | } |
275 | 275 | ||
276 | static struct config_item *simple_children_make_item(struct config_group *group, const char *name) | 276 | static int simple_children_make_item(struct config_group *group, const char *name, struct config_item **new_item) |
277 | { | 277 | { |
278 | struct simple_child *simple_child; | 278 | struct simple_child *simple_child; |
279 | 279 | ||
280 | simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); | 280 | simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); |
281 | if (!simple_child) | 281 | if (!simple_child) |
282 | return NULL; | 282 | return -ENOMEM; |
283 | 283 | ||
284 | 284 | ||
285 | config_item_init_type_name(&simple_child->item, name, | 285 | config_item_init_type_name(&simple_child->item, name, |
@@ -287,7 +287,8 @@ static struct config_item *simple_children_make_item(struct config_group *group, | |||
287 | 287 | ||
288 | simple_child->storeme = 0; | 288 | simple_child->storeme = 0; |
289 | 289 | ||
290 | return &simple_child->item; | 290 | *new_item = &simple_child->item; |
291 | return 0; | ||
291 | } | 292 | } |
292 | 293 | ||
293 | static struct configfs_attribute simple_children_attr_description = { | 294 | static struct configfs_attribute simple_children_attr_description = { |
@@ -359,20 +360,21 @@ static struct configfs_subsystem simple_children_subsys = { | |||
359 | * children of its own. | 360 | * children of its own. |
360 | */ | 361 | */ |
361 | 362 | ||
362 | static struct config_group *group_children_make_group(struct config_group *group, const char *name) | 363 | static int group_children_make_group(struct config_group *group, const char *name, struct config_group **new_group) |
363 | { | 364 | { |
364 | struct simple_children *simple_children; | 365 | struct simple_children *simple_children; |
365 | 366 | ||
366 | simple_children = kzalloc(sizeof(struct simple_children), | 367 | simple_children = kzalloc(sizeof(struct simple_children), |
367 | GFP_KERNEL); | 368 | GFP_KERNEL); |
368 | if (!simple_children) | 369 | if (!simple_children) |
369 | return NULL; | 370 | return -ENOMEM; |
370 | 371 | ||
371 | 372 | ||
372 | config_group_init_type_name(&simple_children->group, name, | 373 | config_group_init_type_name(&simple_children->group, name, |
373 | &simple_children_type); | 374 | &simple_children_type); |
374 | 375 | ||
375 | return &simple_children->group; | 376 | *new_group = &simple_children->group; |
377 | return 0; | ||
376 | } | 378 | } |
377 | 379 | ||
378 | static struct configfs_attribute group_children_attr_description = { | 380 | static struct configfs_attribute group_children_attr_description = { |
diff --git a/Documentation/filesystems/ubifs.txt b/Documentation/filesystems/ubifs.txt new file mode 100644 index 000000000000..540e9e7f59c5 --- /dev/null +++ b/Documentation/filesystems/ubifs.txt | |||
@@ -0,0 +1,164 @@ | |||
1 | Introduction | ||
2 | ============= | ||
3 | |||
4 | UBIFS file-system stands for UBI File System. UBI stands for "Unsorted | ||
5 | Block Images". UBIFS is a flash file system, which means it is designed | ||
6 | to work with flash devices. It is important to understand, that UBIFS | ||
7 | is completely different to any traditional file-system in Linux, like | ||
8 | Ext2, XFS, JFS, etc. UBIFS represents a separate class of file-systems | ||
9 | which work with MTD devices, not block devices. The other Linux | ||
10 | file-system of this class is JFFS2. | ||
11 | |||
12 | To make it more clear, here is a small comparison of MTD devices and | ||
13 | block devices. | ||
14 | |||
15 | 1 MTD devices represent flash devices and they consist of eraseblocks of | ||
16 | rather large size, typically about 128KiB. Block devices consist of | ||
17 | small blocks, typically 512 bytes. | ||
18 | 2 MTD devices support 3 main operations - read from some offset within an | ||
19 | eraseblock, write to some offset within an eraseblock, and erase a whole | ||
20 | eraseblock. Block devices support 2 main operations - read a whole | ||
21 | block and write a whole block. | ||
22 | 3 The whole eraseblock has to be erased before it becomes possible to | ||
23 | re-write its contents. Blocks may be just re-written. | ||
24 | 4 Eraseblocks become worn out after some number of erase cycles - | ||
25 | typically 100K-1G for SLC NAND and NOR flashes, and 1K-10K for MLC | ||
26 | NAND flashes. Blocks do not have the wear-out property. | ||
27 | 5 Eraseblocks may become bad (only on NAND flashes) and software should | ||
28 | deal with this. Blocks on hard drives typically do not become bad, | ||
29 | because hardware has mechanisms to substitute bad blocks, at least in | ||
30 | modern LBA disks. | ||
31 | |||
32 | It should be quite obvious why UBIFS is very different to traditional | ||
33 | file-systems. | ||
34 | |||
35 | UBIFS works on top of UBI. UBI is a separate software layer which may be | ||
36 | found in drivers/mtd/ubi. UBI is basically a volume management and | ||
37 | wear-leveling layer. It provides so called UBI volumes which is a higher | ||
38 | level abstraction than a MTD device. The programming model of UBI devices | ||
39 | is very similar to MTD devices - they still consist of large eraseblocks, | ||
40 | they have read/write/erase operations, but UBI devices are devoid of | ||
41 | limitations like wear and bad blocks (items 4 and 5 in the above list). | ||
42 | |||
43 | In a sense, UBIFS is a next generation of JFFS2 file-system, but it is | ||
44 | very different and incompatible to JFFS2. The following are the main | ||
45 | differences. | ||
46 | |||
47 | * JFFS2 works on top of MTD devices, UBIFS depends on UBI and works on | ||
48 | top of UBI volumes. | ||
49 | * JFFS2 does not have on-media index and has to build it while mounting, | ||
50 | which requires full media scan. UBIFS maintains the FS indexing | ||
51 | information on the flash media and does not require full media scan, | ||
52 | so it mounts many times faster than JFFS2. | ||
53 | * JFFS2 is a write-through file-system, while UBIFS supports write-back, | ||
54 | which makes UBIFS much faster on writes. | ||
55 | |||
56 | Similarly to JFFS2, UBIFS supports on-the-flight compression which makes | ||
57 | it possible to fit quite a lot of data to the flash. | ||
58 | |||
59 | Similarly to JFFS2, UBIFS is tolerant of unclean reboots and power-cuts. | ||
60 | It does not need stuff like ckfs.ext2. UBIFS automatically replays its | ||
61 | journal and recovers from crashes, ensuring that the on-flash data | ||
62 | structures are consistent. | ||
63 | |||
64 | UBIFS scales logarithmically (most of the data structures it uses are | ||
65 | trees), so the mount time and memory consumption do not linearly depend | ||
66 | on the flash size, like in case of JFFS2. This is because UBIFS | ||
67 | maintains the FS index on the flash media. However, UBIFS depends on | ||
68 | UBI, which scales linearly. So overall UBI/UBIFS stack scales linearly. | ||
69 | Nevertheless, UBI/UBIFS scales considerably better than JFFS2. | ||
70 | |||
71 | The authors of UBIFS believe, that it is possible to develop UBI2 which | ||
72 | would scale logarithmically as well. UBI2 would support the same API as UBI, | ||
73 | but it would be binary incompatible to UBI. So UBIFS would not need to be | ||
74 | changed to use UBI2 | ||
75 | |||
76 | |||
77 | Mount options | ||
78 | ============= | ||
79 | |||
80 | (*) == default. | ||
81 | |||
82 | norm_unmount (*) commit on unmount; the journal is committed | ||
83 | when the file-system is unmounted so that the | ||
84 | next mount does not have to replay the journal | ||
85 | and it becomes very fast; | ||
86 | fast_unmount do not commit on unmount; this option makes | ||
87 | unmount faster, but the next mount slower | ||
88 | because of the need to replay the journal. | ||
89 | |||
90 | |||
91 | Quick usage instructions | ||
92 | ======================== | ||
93 | |||
94 | The UBI volume to mount is specified using "ubiX_Y" or "ubiX:NAME" syntax, | ||
95 | where "X" is UBI device number, "Y" is UBI volume number, and "NAME" is | ||
96 | UBI volume name. | ||
97 | |||
98 | Mount volume 0 on UBI device 0 to /mnt/ubifs: | ||
99 | $ mount -t ubifs ubi0_0 /mnt/ubifs | ||
100 | |||
101 | Mount "rootfs" volume of UBI device 0 to /mnt/ubifs ("rootfs" is volume | ||
102 | name): | ||
103 | $ mount -t ubifs ubi0:rootfs /mnt/ubifs | ||
104 | |||
105 | The following is an example of the kernel boot arguments to attach mtd0 | ||
106 | to UBI and mount volume "rootfs": | ||
107 | ubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs | ||
108 | |||
109 | |||
110 | Module Parameters for Debugging | ||
111 | =============================== | ||
112 | |||
113 | When UBIFS has been compiled with debugging enabled, there are 3 module | ||
114 | parameters that are available to control aspects of testing and debugging. | ||
115 | The parameters are unsigned integers where each bit controls an option. | ||
116 | The parameters are: | ||
117 | |||
118 | debug_msgs Selects which debug messages to display, as follows: | ||
119 | |||
120 | Message Type Flag value | ||
121 | |||
122 | General messages 1 | ||
123 | Journal messages 2 | ||
124 | Mount messages 4 | ||
125 | Commit messages 8 | ||
126 | LEB search messages 16 | ||
127 | Budgeting messages 32 | ||
128 | Garbage collection messages 64 | ||
129 | Tree Node Cache (TNC) messages 128 | ||
130 | LEB properties (lprops) messages 256 | ||
131 | Input/output messages 512 | ||
132 | Log messages 1024 | ||
133 | Scan messages 2048 | ||
134 | Recovery messages 4096 | ||
135 | |||
136 | debug_chks Selects extra checks that UBIFS can do while running: | ||
137 | |||
138 | Check Flag value | ||
139 | |||
140 | General checks 1 | ||
141 | Check Tree Node Cache (TNC) 2 | ||
142 | Check indexing tree size 4 | ||
143 | Check orphan area 8 | ||
144 | Check old indexing tree 16 | ||
145 | Check LEB properties (lprops) 32 | ||
146 | Check leaf nodes and inodes 64 | ||
147 | |||
148 | debug_tsts Selects a mode of testing, as follows: | ||
149 | |||
150 | Test mode Flag value | ||
151 | |||
152 | Force in-the-gaps method 2 | ||
153 | Failure mode for recovery testing 4 | ||
154 | |||
155 | For example, set debug_msgs to 5 to display General messages and Mount | ||
156 | messages. | ||
157 | |||
158 | |||
159 | References | ||
160 | ========== | ||
161 | |||
162 | UBIFS documentation and FAQ/HOWTO at the MTD web site: | ||
163 | http://www.linux-mtd.infradead.org/doc/ubifs.html | ||
164 | http://www.linux-mtd.infradead.org/faq/ubifs.html | ||
diff --git a/Documentation/i2c/chips/max6875 b/Documentation/i2c/chips/max6875 index a0cd8af2f408..10ca43cd1a72 100644 --- a/Documentation/i2c/chips/max6875 +++ b/Documentation/i2c/chips/max6875 | |||
@@ -49,7 +49,7 @@ $ modprobe max6875 force=0,0x50 | |||
49 | 49 | ||
50 | The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple | 50 | The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple |
51 | addresses. For example, for address 0x50, it also reserves 0x51. | 51 | addresses. For example, for address 0x50, it also reserves 0x51. |
52 | The even-address instance is called 'max6875', the odd one is 'max6875 subclient'. | 52 | The even-address instance is called 'max6875', the odd one is 'dummy'. |
53 | 53 | ||
54 | 54 | ||
55 | Programming the chip using i2c-dev | 55 | Programming the chip using i2c-dev |
diff --git a/Documentation/i2c/chips/pca9539 b/Documentation/i2c/chips/pca9539 index 1d81c530c4a5..6aff890088b1 100644 --- a/Documentation/i2c/chips/pca9539 +++ b/Documentation/i2c/chips/pca9539 | |||
@@ -7,7 +7,7 @@ drivers/gpio/pca9539.c instead. | |||
7 | Supported chips: | 7 | Supported chips: |
8 | * Philips PCA9539 | 8 | * Philips PCA9539 |
9 | Prefix: 'pca9539' | 9 | Prefix: 'pca9539' |
10 | Addresses scanned: 0x74 - 0x77 | 10 | Addresses scanned: none |
11 | Datasheet: | 11 | Datasheet: |
12 | http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf | 12 | http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf |
13 | 13 | ||
@@ -23,6 +23,14 @@ The input sense can also be inverted. | |||
23 | The 16 lines are split between two bytes. | 23 | The 16 lines are split between two bytes. |
24 | 24 | ||
25 | 25 | ||
26 | Detection | ||
27 | --------- | ||
28 | |||
29 | The PCA9539 is difficult to detect and not commonly found in PC machines, | ||
30 | so you have to pass the I2C bus and address of the installed PCA9539 | ||
31 | devices explicitly to the driver at load time via the force=... parameter. | ||
32 | |||
33 | |||
26 | Sysfs entries | 34 | Sysfs entries |
27 | ------------- | 35 | ------------- |
28 | 36 | ||
diff --git a/Documentation/i2c/chips/pcf8574 b/Documentation/i2c/chips/pcf8574 index 5c1ad1376b62..235815c075ff 100644 --- a/Documentation/i2c/chips/pcf8574 +++ b/Documentation/i2c/chips/pcf8574 | |||
@@ -4,13 +4,13 @@ Kernel driver pcf8574 | |||
4 | Supported chips: | 4 | Supported chips: |
5 | * Philips PCF8574 | 5 | * Philips PCF8574 |
6 | Prefix: 'pcf8574' | 6 | Prefix: 'pcf8574' |
7 | Addresses scanned: I2C 0x20 - 0x27 | 7 | Addresses scanned: none |
8 | Datasheet: Publicly available at the Philips Semiconductors website | 8 | Datasheet: Publicly available at the Philips Semiconductors website |
9 | http://www.semiconductors.philips.com/pip/PCF8574P.html | 9 | http://www.semiconductors.philips.com/pip/PCF8574P.html |
10 | 10 | ||
11 | * Philips PCF8574A | 11 | * Philips PCF8574A |
12 | Prefix: 'pcf8574a' | 12 | Prefix: 'pcf8574a' |
13 | Addresses scanned: I2C 0x38 - 0x3f | 13 | Addresses scanned: none |
14 | Datasheet: Publicly available at the Philips Semiconductors website | 14 | Datasheet: Publicly available at the Philips Semiconductors website |
15 | http://www.semiconductors.philips.com/pip/PCF8574P.html | 15 | http://www.semiconductors.philips.com/pip/PCF8574P.html |
16 | 16 | ||
@@ -38,12 +38,10 @@ For more informations see the datasheet. | |||
38 | Accessing PCF8574(A) via /sys interface | 38 | Accessing PCF8574(A) via /sys interface |
39 | ------------------------------------- | 39 | ------------------------------------- |
40 | 40 | ||
41 | ! Be careful ! | ||
42 | The PCF8574(A) is plainly impossible to detect ! Stupid chip. | 41 | The PCF8574(A) is plainly impossible to detect ! Stupid chip. |
43 | So every chip with address in the interval [20..27] and [38..3f] are | 42 | So, you have to pass the I2C bus and address of the installed PCF857A |
44 | detected as PCF8574(A). If you have other chips in this address | 43 | and PCF8574A devices explicitly to the driver at load time via the |
45 | range, the workaround is to load this module after the one | 44 | force=... parameter. |
46 | for your others chips. | ||
47 | 45 | ||
48 | On detection (i.e. insmod, modprobe et al.), directories are being | 46 | On detection (i.e. insmod, modprobe et al.), directories are being |
49 | created for each detected PCF8574(A): | 47 | created for each detected PCF8574(A): |
diff --git a/Documentation/i2c/chips/pcf8575 b/Documentation/i2c/chips/pcf8575 index 25f5698a61cf..40b268eb276f 100644 --- a/Documentation/i2c/chips/pcf8575 +++ b/Documentation/i2c/chips/pcf8575 | |||
@@ -40,12 +40,9 @@ Detection | |||
40 | --------- | 40 | --------- |
41 | 41 | ||
42 | There is no method known to detect whether a chip on a given I2C address is | 42 | There is no method known to detect whether a chip on a given I2C address is |
43 | a PCF8575 or whether it is any other I2C device. So there are two alternatives | 43 | a PCF8575 or whether it is any other I2C device, so you have to pass the I2C |
44 | to let the driver find the installed PCF8575 devices: | 44 | bus and address of the installed PCF8575 devices explicitly to the driver at |
45 | - Load this driver after any other I2C driver for I2C devices with addresses | 45 | load time via the force=... parameter. |
46 | in the range 0x20 .. 0x27. | ||
47 | - Pass the I2C bus and address of the installed PCF8575 devices explicitly to | ||
48 | the driver at load time via the probe=... or force=... parameters. | ||
49 | 46 | ||
50 | /sys interface | 47 | /sys interface |
51 | -------------- | 48 | -------------- |
diff --git a/Documentation/ioctl/hdio.txt b/Documentation/ioctl/hdio.txt index c19efdeace2c..91a6ecbae0bb 100644 --- a/Documentation/ioctl/hdio.txt +++ b/Documentation/ioctl/hdio.txt | |||
@@ -508,12 +508,13 @@ HDIO_DRIVE_RESET execute a device reset | |||
508 | 508 | ||
509 | error returns: | 509 | error returns: |
510 | EACCES Access denied: requires CAP_SYS_ADMIN | 510 | EACCES Access denied: requires CAP_SYS_ADMIN |
511 | ENXIO No such device: phy dead or ctl_addr == 0 | ||
512 | EIO I/O error: reset timed out or hardware error | ||
511 | 513 | ||
512 | notes: | 514 | notes: |
513 | 515 | ||
514 | Abort any current command, prevent anything else from being | 516 | Execute a reset on the device as soon as the current IO |
515 | queued, execute a reset on the device, and issue BLKRRPART | 517 | operation has completed. |
516 | ioctl on the block device. | ||
517 | 518 | ||
518 | Executes an ATAPI soft reset if applicable, otherwise | 519 | Executes an ATAPI soft reset if applicable, otherwise |
519 | executes an ATA soft reset on the controller. | 520 | executes an ATA soft reset on the controller. |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 312fe77764a4..09ad7450647b 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -147,10 +147,14 @@ and is between 256 and 4096 characters. It is defined in the file | |||
147 | default: 0 | 147 | default: 0 |
148 | 148 | ||
149 | acpi_sleep= [HW,ACPI] Sleep options | 149 | acpi_sleep= [HW,ACPI] Sleep options |
150 | Format: { s3_bios, s3_mode, s3_beep } | 150 | Format: { s3_bios, s3_mode, s3_beep, old_ordering } |
151 | See Documentation/power/video.txt for s3_bios and s3_mode. | 151 | See Documentation/power/video.txt for s3_bios and s3_mode. |
152 | s3_beep is for debugging; it makes the PC's speaker beep | 152 | s3_beep is for debugging; it makes the PC's speaker beep |
153 | as soon as the kernel's real-mode entry point is called. | 153 | as soon as the kernel's real-mode entry point is called. |
154 | old_ordering causes the ACPI 1.0 ordering of the _PTS | ||
155 | control method, wrt putting devices into low power | ||
156 | states, to be enforced (the ACPI 2.0 ordering of _PTS is | ||
157 | used by default). | ||
154 | 158 | ||
155 | acpi_sci= [HW,ACPI] ACPI System Control Interrupt trigger mode | 159 | acpi_sci= [HW,ACPI] ACPI System Control Interrupt trigger mode |
156 | Format: { level | edge | high | low } | 160 | Format: { level | edge | high | low } |
@@ -818,7 +822,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
818 | See Documentation/ide/ide.txt. | 822 | See Documentation/ide/ide.txt. |
819 | 823 | ||
820 | idle= [X86] | 824 | idle= [X86] |
821 | Format: idle=poll or idle=mwait | 825 | Format: idle=poll or idle=mwait, idle=halt, idle=nomwait |
822 | Poll forces a polling idle loop that can slightly improves the performance | 826 | Poll forces a polling idle loop that can slightly improves the performance |
823 | of waking up a idle CPU, but will use a lot of power and make the system | 827 | of waking up a idle CPU, but will use a lot of power and make the system |
824 | run hot. Not recommended. | 828 | run hot. Not recommended. |
@@ -826,6 +830,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
826 | to not use it because it doesn't save as much power as a normal idle | 830 | to not use it because it doesn't save as much power as a normal idle |
827 | loop use the MONITOR/MWAIT idle loop anyways. Performance should be the same | 831 | loop use the MONITOR/MWAIT idle loop anyways. Performance should be the same |
828 | as idle=poll. | 832 | as idle=poll. |
833 | idle=halt. Halt is forced to be used for CPU idle. | ||
834 | In such case C2/C3 won't be used again. | ||
835 | idle=nomwait. Disable mwait for CPU C-states | ||
829 | 836 | ||
830 | ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem | 837 | ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem |
831 | Claim all unknown PCI IDE storage controllers. | 838 | Claim all unknown PCI IDE storage controllers. |
@@ -1534,6 +1541,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1534 | Use with caution as certain devices share | 1541 | Use with caution as certain devices share |
1535 | address decoders between ROMs and other | 1542 | address decoders between ROMs and other |
1536 | resources. | 1543 | resources. |
1544 | norom [X86-32,X86_64] Do not assign address space to | ||
1545 | expansion ROMs that do not already have | ||
1546 | BIOS assigned address ranges. | ||
1537 | irqmask=0xMMMM [X86-32] Set a bit mask of IRQs allowed to be | 1547 | irqmask=0xMMMM [X86-32] Set a bit mask of IRQs allowed to be |
1538 | assigned automatically to PCI devices. You can | 1548 | assigned automatically to PCI devices. You can |
1539 | make the kernel exclude IRQs of your ISA cards | 1549 | make the kernel exclude IRQs of your ISA cards |
diff --git a/Documentation/laptops/acer-wmi.txt b/Documentation/laptops/acer-wmi.txt index 79b7dbd22141..69b5dd4e5a59 100644 --- a/Documentation/laptops/acer-wmi.txt +++ b/Documentation/laptops/acer-wmi.txt | |||
@@ -174,8 +174,6 @@ The LED is exposed through the LED subsystem, and can be found in: | |||
174 | The mail LED is autodetected, so if you don't have one, the LED device won't | 174 | The mail LED is autodetected, so if you don't have one, the LED device won't |
175 | be registered. | 175 | be registered. |
176 | 176 | ||
177 | If you have a mail LED that is not green, please report this to me. | ||
178 | |||
179 | Backlight | 177 | Backlight |
180 | ********* | 178 | ********* |
181 | 179 | ||