Skip to content

Commit 55df811

Browse files
committed
Merge branch 'next' into for-linus
First round of input updates for 3.14.
2 parents 8e2f232 + 497ab1f commit 55df811

File tree

738 files changed

+6191
-3460
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

738 files changed

+6191
-3460
lines changed

CREDITS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,11 @@ S: Stanford University
655655
S: Stanford, California 94305
656656
S: USA
657657

658+
N: Carlos Chinea
659+
660+
661+
D: Author of HSI Subsystem
662+
658663
N: Randolph Chung
659664
660665
D: Linux/PA-RISC hacker

Documentation/DocBook/media/v4l/vidioc-expbuf.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ range from zero to the maximal number of valid planes for the currently active
7373
format. For the single-planar API, applications must set <structfield> plane
7474
</structfield> to zero. Additional flags may be posted in the <structfield>
7575
flags </structfield> field. Refer to a manual for open() for details.
76-
Currently only O_CLOEXEC is supported. All other fields must be set to zero.
76+
Currently only O_CLOEXEC, O_RDONLY, O_WRONLY, and O_RDWR are supported. All
77+
other fields must be set to zero.
7778
In the case of multi-planar API, every plane is exported separately using
7879
multiple <constant> VIDIOC_EXPBUF </constant> calls. </para>
7980

@@ -170,8 +171,9 @@ multi-planar API. Otherwise this value must be set to zero. </entry>
170171
<entry>__u32</entry>
171172
<entry><structfield>flags</structfield></entry>
172173
<entry>Flags for the newly created file, currently only <constant>
173-
O_CLOEXEC </constant> is supported, refer to the manual of open() for more
174-
details.</entry>
174+
O_CLOEXEC </constant>, <constant>O_RDONLY</constant>, <constant>O_WRONLY
175+
</constant>, and <constant>O_RDWR</constant> are supported, refer to the manual
176+
of open() for more details.</entry>
175177
</row>
176178
<row>
177179
<entry>__s32</entry>

Documentation/assoc_array.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ This points to a number of methods, all of which need to be provided:
164164

165165
(4) Diff the index keys of two objects.
166166

167-
int (*diff_objects)(const void *a, const void *b);
167+
int (*diff_objects)(const void *object, const void *index_key);
168168

169-
Return the bit position at which the index keys of two objects differ or
170-
-1 if they are the same.
169+
Return the bit position at which the index key of the specified object
170+
differs from the given index key or -1 if they are the same.
171171

172172

173173
(5) Free an object.

Documentation/device-mapper/cache.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,12 @@ E.g.
266266
Invalidation is removing an entry from the cache without writing it
267267
back. Cache blocks can be invalidated via the invalidate_cblocks
268268
message, which takes an arbitrary number of cblock ranges. Each cblock
269-
must be expressed as a decimal value, in the future a variant message
270-
that takes cblock ranges expressed in hexidecimal may be needed to
271-
better support efficient invalidation of larger caches. The cache must
272-
be in passthrough mode when invalidate_cblocks is used.
269+
range's end value is "one past the end", meaning 5-10 expresses a range
270+
of values from 5 to 9. Each cblock must be expressed as a decimal
271+
value, in the future a variant message that takes cblock ranges
272+
expressed in hexidecimal may be needed to better support efficient
273+
invalidation of larger caches. The cache must be in passthrough mode
274+
when invalidate_cblocks is used.
273275

274276
invalidate_cblocks [<cblock>|<cblock begin>-<cblock end>]*
275277

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
* GPIO beeper device tree bindings
2+
3+
Register a beeper connected to GPIO pin.
4+
5+
Required properties:
6+
- compatible: Should be "gpio-beeper".
7+
- gpios: From common gpio binding; gpio connection to beeper enable pin.
8+
9+
Example:
10+
beeper: beeper {
11+
compatible = "gpio-beeper";
12+
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
13+
};
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
* Texas Instruments tsc2007 touchscreen controller
2+
3+
Required properties:
4+
- compatible: must be "ti,tsc2007".
5+
- reg: I2C address of the chip.
6+
- ti,x-plate-ohms: X-plate resistance in ohms.
7+
8+
Optional properties:
9+
- gpios: the interrupt gpio the chip is connected to (trough the penirq pin).
10+
The penirq pin goes to low when the panel is touched.
11+
(see GPIO binding[1] for more details).
12+
- interrupt-parent: the phandle for the gpio controller
13+
(see interrupt binding[0]).
14+
- interrupts: (gpio) interrupt to which the chip is connected
15+
(see interrupt binding[0]).
16+
- ti,max-rt: maximum pressure.
17+
- ti,fuzzx: specifies the absolute input fuzz x value.
18+
If set, it will permit noise in the data up to +- the value given to the fuzz
19+
parameter, that is used to filter noise from the event stream.
20+
- ti,fuzzy: specifies the absolute input fuzz y value.
21+
- ti,fuzzz: specifies the absolute input fuzz z value.
22+
- ti,poll-period: how much time to wait (in milliseconds) before reading again the
23+
values from the tsc2007.
24+
25+
[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
26+
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
27+
28+
Example:
29+
&i2c1 {
30+
/* ... */
31+
tsc2007@49 {
32+
compatible = "ti,tsc2007";
33+
reg = <0x49>;
34+
interrupt-parent = <&gpio4>;
35+
interrupts = <0x0 0x8>;
36+
gpios = <&gpio4 0 0>;
37+
ti,x-plate-ohms = <180>;
38+
};
39+
40+
/* ... */
41+
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
* TWL4030's Keypad Controller device tree bindings
2+
3+
TWL4030's Keypad controller is used to interface a SoC with a matrix-type
4+
keypad device. The keypad controller supports multiple row and column lines.
5+
A key can be placed at each intersection of a unique row and a unique column.
6+
The keypad controller can sense a key-press and key-release and report the
7+
event using a interrupt to the cpu.
8+
9+
This binding is based on the matrix-keymap binding with the following
10+
changes:
11+
12+
* keypad,num-rows and keypad,num-columns are required.
13+
14+
Required SoC Specific Properties:
15+
- compatible: should be one of the following
16+
- "ti,twl4030-keypad": For controllers compatible with twl4030 keypad
17+
controller.
18+
- interrupt: should be one of the following
19+
- <1>: For controllers compatible with twl4030 keypad controller.
20+
21+
Example:
22+
twl_keypad: keypad {
23+
compatible = "ti,twl4030-keypad";
24+
interrupts = <1>;
25+
keypad,num-rows = <8>;
26+
keypad,num-columns = <8>;
27+
};
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Texas Instruments TWL family (twl4030) pwrbutton module
2+
3+
This module is part of the TWL4030. For more details about the whole
4+
chip see Documentation/devicetree/bindings/mfd/twl-familly.txt.
5+
6+
This module provides a simple power button event via an Interrupt.
7+
8+
Required properties:
9+
- compatible: should be one of the following
10+
- "ti,twl4030-pwrbutton": For controllers compatible with twl4030
11+
- interrupts: should be one of the following
12+
- <8>: For controllers compatible with twl4030
13+
14+
Example:
15+
16+
&twl {
17+
twl_pwrbutton: pwrbutton {
18+
compatible = "ti,twl4030-pwrbutton";
19+
interrupts = <8>;
20+
};
21+
};

Documentation/devicetree/bindings/net/davinci_emac.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This file provides information, what the device node
44
for the davinci_emac interface contains.
55

66
Required properties:
7-
- compatible: "ti,davinci-dm6467-emac";
7+
- compatible: "ti,davinci-dm6467-emac" or "ti,am3517-emac"
88
- reg: Offset and length of the register set for the device
99
- ti,davinci-ctrl-reg-offset: offset to control register
1010
- ti,davinci-ctrl-mod-reg-offset: offset to control module register

Documentation/devicetree/bindings/net/smsc-lan91c111.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ Required properties:
88
Optional properties:
99
- phy-device : phandle to Ethernet phy
1010
- local-mac-address : Ethernet mac address to use
11+
- reg-io-width : Mask of sizes (in bytes) of the IO accesses that
12+
are supported on the device. Valid value for SMSC LAN91c111 are
13+
1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning
14+
16-bit access only.

Documentation/input/gamepad.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ features that you need, first. How each feature is mapped is described below.
6868
Legacy drivers often don't comply to these rules. As we cannot change them
6969
for backwards-compatibility reasons, you need to provide fixup mappings in
7070
user-space yourself. Some of them might also provide module-options that
71-
change the mappings so you can adivce users to set these.
71+
change the mappings so you can advise users to set these.
7272

7373
All new gamepads are supposed to comply with this mapping. Please report any
7474
bugs, if they don't.
@@ -150,10 +150,10 @@ Menu-Pad:
150150
BTN_START
151151
Many pads also have a third button which is branded or has a special symbol
152152
and meaning. Such buttons are mapped as BTN_MODE. Examples are the Nintendo
153-
"HOME" button, the XBox "X"-button or Sony "P" button.
153+
"HOME" button, the XBox "X"-button or Sony "PS" button.
154154

155155
Rumble:
156-
Rumble is adverticed as FF_RUMBLE.
156+
Rumble is advertised as FF_RUMBLE.
157157

158158
----------------------------------------------------------------------------
159159
Written 2013 by David Herrmann <[email protected]>

Documentation/input/joystick-api.txt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ joystick.
1616

1717
By default, the device is opened in blocking mode.
1818

19-
int fd = open ("/dev/js0", O_RDONLY);
19+
int fd = open ("/dev/input/js0", O_RDONLY);
2020

2121

2222
2. Event Reading
2323
~~~~~~~~~~~~~~~~
2424

2525
struct js_event e;
26-
read (fd, &e, sizeof(struct js_event));
26+
read (fd, &e, sizeof(e));
2727

2828
where js_event is defined as
2929

@@ -34,8 +34,8 @@ where js_event is defined as
3434
__u8 number; /* axis/button number */
3535
};
3636

37-
If the read is successful, it will return sizeof(struct js_event), unless
38-
you wanted to read more than one event per read as described in section 3.1.
37+
If the read is successful, it will return sizeof(e), unless you wanted to read
38+
more than one event per read as described in section 3.1.
3939

4040

4141
2.1 js_event.type
@@ -99,9 +99,9 @@ may work well if you handle JS_EVENT_INIT events separately,
9999

100100
if ((js_event.type & ~JS_EVENT_INIT) == JS_EVENT_BUTTON) {
101101
if (js_event.value)
102-
buttons_state |= (1 << js_event.number);
103-
else
104-
buttons_state &= ~(1 << js_event.number);
102+
buttons_state |= (1 << js_event.number);
103+
else
104+
buttons_state &= ~(1 << js_event.number);
105105
}
106106

107107
is much safer since it can't lose sync with the driver. As you would
@@ -144,14 +144,14 @@ all events on the queue (that is, until you get a -1).
144144
For example,
145145

146146
while (1) {
147-
while (read (fd, &e, sizeof(struct js_event)) > 0) {
148-
process_event (e);
149-
}
150-
/* EAGAIN is returned when the queue is empty */
151-
if (errno != EAGAIN) {
152-
/* error */
153-
}
154-
/* do something interesting with processed events */
147+
while (read (fd, &e, sizeof(e)) > 0) {
148+
process_event (e);
149+
}
150+
/* EAGAIN is returned when the queue is empty */
151+
if (errno != EAGAIN) {
152+
/* error */
153+
}
154+
/* do something interesting with processed events */
155155
}
156156

157157
One reason for emptying the queue is that if it gets full you'll start
@@ -181,7 +181,7 @@ at a time using the typical read(2) functionality. For that, you would
181181
replace the read above with something like
182182

183183
struct js_event mybuffer[0xff];
184-
int i = read (fd, mybuffer, sizeof(struct mybuffer));
184+
int i = read (fd, mybuffer, sizeof(mybuffer));
185185

186186
In this case, read would return -1 if the queue was empty, or some
187187
other value in which the number of events read would be i /
@@ -269,9 +269,9 @@ The driver offers backward compatibility, though. Here's a quick summary:
269269
struct JS_DATA_TYPE js;
270270
while (1) {
271271
if (read (fd, &js, JS_RETURN) != JS_RETURN) {
272-
/* error */
273-
}
274-
usleep (1000);
272+
/* error */
273+
}
274+
usleep (1000);
275275
}
276276

277277
As you can figure out from the example, the read returns immediately,

Documentation/input/joystick.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ your needs:
116116
For testing the joystick driver functionality, there is the jstest
117117
program in the utilities package. You run it by typing:
118118

119-
jstest /dev/js0
119+
jstest /dev/input/js0
120120

121121
And it should show a line with the joystick values, which update as you
122122
move the stick, and press its buttons. The axes should all be zero when the
@@ -136,7 +136,7 @@ joystick should be autocalibrated by the driver automagically. However, with
136136
some analog joysticks, that either do not use linear resistors, or if you
137137
want better precision, you can use the jscal program
138138

139-
jscal -c /dev/js0
139+
jscal -c /dev/input/js0
140140

141141
included in the joystick package to set better correction coefficients than
142142
what the driver would choose itself.
@@ -145,7 +145,7 @@ what the driver would choose itself.
145145
calibration using the jstest command, and if you do, you then can save the
146146
correction coefficients into a file
147147

148-
jscal -p /dev/js0 > /etc/joystick.cal
148+
jscal -p /dev/input/js0 > /etc/joystick.cal
149149

150150
And add a line to your rc script executing that file
151151

@@ -556,7 +556,7 @@ interface, and "old" for the "0.x" interface. You run it by typing:
556556

557557
5. FAQ
558558
~~~~~~
559-
Q: Running 'jstest /dev/js0' results in "File not found" error. What's the
559+
Q: Running 'jstest /dev/input/js0' results in "File not found" error. What's the
560560
cause?
561561
A: The device files don't exist. Create them (see section 2.2).
562562

Documentation/mic/mpssd/mpssd.c

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ static struct mic_device_desc *get_device_desc(struct mic_info *mic, int type)
313313
int i;
314314
void *dp = get_dp(mic, type);
315315

316-
for (i = mic_aligned_size(struct mic_bootparam); i < PAGE_SIZE;
316+
for (i = sizeof(struct mic_bootparam); i < PAGE_SIZE;
317317
i += mic_total_desc_size(d)) {
318318
d = dp + i;
319319

@@ -445,8 +445,8 @@ init_vr(struct mic_info *mic, int fd, int type,
445445
__func__, mic->name, vr0->va, vr0->info, vr_size,
446446
vring_size(MIC_VRING_ENTRIES, MIC_VIRTIO_RING_ALIGN));
447447
mpsslog("magic 0x%x expected 0x%x\n",
448-
vr0->info->magic, MIC_MAGIC + type);
449-
assert(vr0->info->magic == MIC_MAGIC + type);
448+
le32toh(vr0->info->magic), MIC_MAGIC + type);
449+
assert(le32toh(vr0->info->magic) == MIC_MAGIC + type);
450450
if (vr1) {
451451
vr1->va = (struct mic_vring *)
452452
&va[MIC_DEVICE_PAGE_END + vr_size];
@@ -458,8 +458,8 @@ init_vr(struct mic_info *mic, int fd, int type,
458458
__func__, mic->name, vr1->va, vr1->info, vr_size,
459459
vring_size(MIC_VRING_ENTRIES, MIC_VIRTIO_RING_ALIGN));
460460
mpsslog("magic 0x%x expected 0x%x\n",
461-
vr1->info->magic, MIC_MAGIC + type + 1);
462-
assert(vr1->info->magic == MIC_MAGIC + type + 1);
461+
le32toh(vr1->info->magic), MIC_MAGIC + type + 1);
462+
assert(le32toh(vr1->info->magic) == MIC_MAGIC + type + 1);
463463
}
464464
done:
465465
return va;
@@ -520,7 +520,7 @@ static void *
520520
virtio_net(void *arg)
521521
{
522522
static __u8 vnet_hdr[2][sizeof(struct virtio_net_hdr)];
523-
static __u8 vnet_buf[2][MAX_NET_PKT_SIZE] __aligned(64);
523+
static __u8 vnet_buf[2][MAX_NET_PKT_SIZE] __attribute__ ((aligned(64)));
524524
struct iovec vnet_iov[2][2] = {
525525
{ { .iov_base = vnet_hdr[0], .iov_len = sizeof(vnet_hdr[0]) },
526526
{ .iov_base = vnet_buf[0], .iov_len = sizeof(vnet_buf[0]) } },
@@ -1412,6 +1412,12 @@ mic_config(void *arg)
14121412
}
14131413

14141414
do {
1415+
ret = lseek(fd, 0, SEEK_SET);
1416+
if (ret < 0) {
1417+
mpsslog("%s: Failed to seek to file start '%s': %s\n",
1418+
mic->name, pathname, strerror(errno));
1419+
goto close_error1;
1420+
}
14151421
ret = read(fd, value, sizeof(value));
14161422
if (ret < 0) {
14171423
mpsslog("%s: Failed to read sysfs entry '%s': %s\n",

0 commit comments

Comments
 (0)