Skip to content

Commit 1f6d803

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: arch/mips/net/bpf_jit.c drivers/net/can/flexcan.c Both the flexcan and MIPS bpf_jit conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents a2aeb02 + 98f75b8 commit 1f6d803

File tree

467 files changed

+4648
-2442
lines changed

Some content is hidden

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

467 files changed

+4648
-2442
lines changed

Documentation/devicetree/bindings/dma/rcar-audmapp.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ Example:
1616
* DMA client
1717

1818
Required properties:
19-
- dmas: a list of <[DMA multiplexer phandle] [SRS/DRS value]> pairs,
20-
where SRS/DRS values are fixed handles, specified in the SoC
21-
manual as the value that would be written into the PDMACHCR.
19+
- dmas: a list of <[DMA multiplexer phandle] [SRS << 8 | DRS]> pairs.
20+
where SRS/DRS are specified in the SoC manual.
21+
It will be written into PDMACHCR as high 16-bit parts.
2222
- dma-names: a list of DMA channel names, one per "dmas" entry
2323

2424
Example:

Documentation/devicetree/bindings/input/atmel,maxtouch.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ Required properties:
1111

1212
Optional properties for main touchpad device:
1313

14-
- linux,gpio-keymap: An array of up to 4 entries indicating the Linux
15-
keycode generated by each GPIO. Linux keycodes are defined in
16-
<dt-bindings/input/input.h>.
17-
1814
- linux,gpio-keymap: When enabled, the SPT_GPIOPWN_T19 object sends messages
1915
on GPIO bit changes. An array of up to 8 entries can be provided
2016
indicating the Linux keycode mapped to each bit of the status byte,

Documentation/devicetree/bindings/sound/rockchip-i2s.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ i2s@ff890000 {
3131
#address-cells = <1>;
3232
#size-cells = <0>;
3333
dmas = <&pdma1 0>, <&pdma1 1>;
34-
dma-names = "rx", "tx";
34+
dma-names = "tx", "rx";
3535
clock-names = "i2s_hclk", "i2s_clk";
3636
clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
3737
};

Documentation/devicetree/bindings/spi/spi-rockchip.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,15 @@ Required Properties:
1616
- clocks: Must contain an entry for each entry in clock-names.
1717
- clock-names: Shall be "spiclk" for the transfer-clock, and "apb_pclk" for
1818
the peripheral clock.
19+
- #address-cells: should be 1.
20+
- #size-cells: should be 0.
21+
22+
Optional Properties:
23+
1924
- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,
2025
Documentation/devicetree/bindings/dma/dma.txt
2126
- dma-names: DMA request names should include "tx" and "rx" if present.
22-
- #address-cells: should be 1.
23-
- #size-cells: should be 0.
27+
2428

2529
Example:
2630

Documentation/devicetree/bindings/usb/mxs-phy.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Required properties:
55
* "fsl,imx23-usbphy" for imx23 and imx28
66
* "fsl,imx6q-usbphy" for imx6dq and imx6dl
77
* "fsl,imx6sl-usbphy" for imx6sl
8+
* "fsl,imx6sx-usbphy" for imx6sx
89
"fsl,imx23-usbphy" is still a fallback for other strings
910
- reg: Should contain registers location and length
1011
- interrupts: Should contain phy interrupt

Documentation/devicetree/bindings/video/analog-tv-connector.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Analog TV Connector
22
===================
33

44
Required properties:
5-
- compatible: "composite-connector" or "svideo-connector"
5+
- compatible: "composite-video-connector" or "svideo-connector"
66

77
Optional properties:
88
- label: a symbolic name for the connector
@@ -14,7 +14,7 @@ Example
1414
-------
1515

1616
tv: connector {
17-
compatible = "composite-connector";
17+
compatible = "composite-video-connector";
1818
label = "tv";
1919

2020
port {

Documentation/kernel-parameters.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3541,6 +3541,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
35413541
bogus residue values);
35423542
s = SINGLE_LUN (the device has only one
35433543
Logical Unit);
3544+
u = IGNORE_UAS (don't bind to the uas driver);
35443545
w = NO_WP_DETECT (don't test whether the
35453546
medium is write-protected).
35463547
Example: quirks=0419:aaf5:rl,0421:0433:rc

Documentation/networking/filter.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -462,9 +462,9 @@ JIT compiler
462462
------------
463463

464464
The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC,
465-
ARM and s390 and can be enabled through CONFIG_BPF_JIT. The JIT compiler is
466-
transparently invoked for each attached filter from user space or for internal
467-
kernel users if it has been previously enabled by root:
465+
ARM, MIPS and s390 and can be enabled through CONFIG_BPF_JIT. The JIT compiler
466+
is transparently invoked for each attached filter from user space or for
467+
internal kernel users if it has been previously enabled by root:
468468

469469
echo 1 > /proc/sys/net/core/bpf_jit_enable
470470

MAINTAINERS

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6425,7 +6425,8 @@ F: Documentation/scsi/NinjaSCSI.txt
64256425
F: drivers/scsi/nsp32*
64266426

64276427
NTB DRIVER
6428-
M: Jon Mason <jon.mason@intel.com>
6428+
M: Jon Mason <jdmason@kudzu.us>
6429+
M: Dave Jiang <dave.jiang@intel.com>
64296430
S: Supported
64306431
W: https://github.com/jonmason/ntb/wiki
64316432
T: git git://github.com/jonmason/ntb.git
@@ -6876,7 +6877,7 @@ F: arch/x86/kernel/quirks.c
68766877

68776878
PCI DRIVER FOR IMX6
68786879
M: Richard Zhu <r65037@freescale.com>
6879-
M: Shawn Guo <shawn.guo@freescale.com>
6880+
M: Lucas Stach <l.stach@pengutronix.de>
68806881
L: linux-pci@vger.kernel.org
68816882
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
68826883
S: Maintained
@@ -7054,7 +7055,7 @@ S: Maintained
70547055
F: drivers/pinctrl/sh-pfc/
70557056

70567057
PIN CONTROLLER - SAMSUNG
7057-
M: Tomasz Figa <t.figa@samsung.com>
7058+
M: Tomasz Figa <tomasz.figa@gmail.com>
70587059
M: Thomas Abraham <thomas.abraham@linaro.org>
70597060
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
70607061
L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
@@ -7900,7 +7901,8 @@ S: Supported
79007901
F: drivers/media/i2c/s5k5baf.c
79017902

79027903
SAMSUNG SOC CLOCK DRIVERS
7903-
M: Tomasz Figa <t.figa@samsung.com>
7904+
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
7905+
M: Tomasz Figa <tomasz.figa@gmail.com>
79047906
S: Supported
79057907
L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
79067908
F: drivers/clk/samsung/
@@ -7913,6 +7915,19 @@ S: Supported
79137915
L: netdev@vger.kernel.org
79147916
F: drivers/net/ethernet/samsung/sxgbe/
79157917

7918+
SAMSUNG USB2 PHY DRIVER
7919+
M: Kamil Debski <k.debski@samsung.com>
7920+
L: linux-kernel@vger.kernel.org
7921+
S: Supported
7922+
F: Documentation/devicetree/bindings/phy/samsung-phy.txt
7923+
F: Documentation/phy/samsung-usb2.txt
7924+
F: drivers/phy/phy-exynos4210-usb2.c
7925+
F: drivers/phy/phy-exynos4x12-usb2.c
7926+
F: drivers/phy/phy-exynos5250-usb2.c
7927+
F: drivers/phy/phy-s5pv210-usb2.c
7928+
F: drivers/phy/phy-samsung-usb2.c
7929+
F: drivers/phy/phy-samsung-usb2.h
7930+
79167931
SERIAL DRIVERS
79177932
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
79187933
L: linux-serial@vger.kernel.org

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VERSION = 3
22
PATCHLEVEL = 17
33
SUBLEVEL = 0
4-
EXTRAVERSION = -rc4
4+
EXTRAVERSION = -rc6
55
NAME = Shuffling Zombie Juror
66

77
# *DOCUMENTATION*

arch/arm/boot/dts/omap3-n900.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
};
9494

9595
tv: connector {
96-
compatible = "composite-connector";
96+
compatible = "composite-video-connector";
9797
label = "tv";
9898

9999
port {

arch/arm/include/asm/tls.h

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#ifndef __ASMARM_TLS_H
22
#define __ASMARM_TLS_H
33

4+
#include <linux/compiler.h>
5+
#include <asm/thread_info.h>
6+
47
#ifdef __ASSEMBLY__
58
#include <asm/asm-offsets.h>
69
.macro switch_tls_none, base, tp, tpuser, tmp1, tmp2
@@ -50,6 +53,47 @@
5053
#endif
5154

5255
#ifndef __ASSEMBLY__
56+
57+
static inline void set_tls(unsigned long val)
58+
{
59+
struct thread_info *thread;
60+
61+
thread = current_thread_info();
62+
63+
thread->tp_value[0] = val;
64+
65+
/*
66+
* This code runs with preemption enabled and therefore must
67+
* be reentrant with respect to switch_tls.
68+
*
69+
* We need to ensure ordering between the shadow state and the
70+
* hardware state, so that we don't corrupt the hardware state
71+
* with a stale shadow state during context switch.
72+
*
73+
* If we're preempted here, switch_tls will load TPIDRURO from
74+
* thread_info upon resuming execution and the following mcr
75+
* is merely redundant.
76+
*/
77+
barrier();
78+
79+
if (!tls_emu) {
80+
if (has_tls_reg) {
81+
asm("mcr p15, 0, %0, c13, c0, 3"
82+
: : "r" (val));
83+
} else {
84+
/*
85+
* User space must never try to access this
86+
* directly. Expect your app to break
87+
* eventually if you do so. The user helper
88+
* at 0xffff0fe0 must be used instead. (see
89+
* entry-armv.S for details)
90+
*/
91+
*((unsigned int *)0xffff0ff0) = val;
92+
}
93+
94+
}
95+
}
96+
5397
static inline unsigned long get_tpuser(void)
5498
{
5599
unsigned long reg = 0;
@@ -59,5 +103,23 @@ static inline unsigned long get_tpuser(void)
59103

60104
return reg;
61105
}
106+
107+
static inline void set_tpuser(unsigned long val)
108+
{
109+
/* Since TPIDRURW is fully context-switched (unlike TPIDRURO),
110+
* we need not update thread_info.
111+
*/
112+
if (has_tls_reg && !tls_emu) {
113+
asm("mcr p15, 0, %0, c13, c0, 2"
114+
: : "r" (val));
115+
}
116+
}
117+
118+
static inline void flush_tls(void)
119+
{
120+
set_tls(0);
121+
set_tpuser(0);
122+
}
123+
62124
#endif
63125
#endif /* __ASMARM_TLS_H */

arch/arm/include/asm/uaccess.h

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,11 @@ static inline void set_fs(mm_segment_t fs)
107107
extern int __get_user_1(void *);
108108
extern int __get_user_2(void *);
109109
extern int __get_user_4(void *);
110-
extern int __get_user_lo8(void *);
110+
extern int __get_user_32t_8(void *);
111111
extern int __get_user_8(void *);
112+
extern int __get_user_64t_1(void *);
113+
extern int __get_user_64t_2(void *);
114+
extern int __get_user_64t_4(void *);
112115

113116
#define __GUP_CLOBBER_1 "lr", "cc"
114117
#ifdef CONFIG_CPU_USE_DOMAINS
@@ -117,7 +120,7 @@ extern int __get_user_8(void *);
117120
#define __GUP_CLOBBER_2 "lr", "cc"
118121
#endif
119122
#define __GUP_CLOBBER_4 "lr", "cc"
120-
#define __GUP_CLOBBER_lo8 "lr", "cc"
123+
#define __GUP_CLOBBER_32t_8 "lr", "cc"
121124
#define __GUP_CLOBBER_8 "lr", "cc"
122125

123126
#define __get_user_x(__r2,__p,__e,__l,__s) \
@@ -131,12 +134,30 @@ extern int __get_user_8(void *);
131134

132135
/* narrowing a double-word get into a single 32bit word register: */
133136
#ifdef __ARMEB__
134-
#define __get_user_xb(__r2, __p, __e, __l, __s) \
135-
__get_user_x(__r2, __p, __e, __l, lo8)
137+
#define __get_user_x_32t(__r2, __p, __e, __l, __s) \
138+
__get_user_x(__r2, __p, __e, __l, 32t_8)
136139
#else
137-
#define __get_user_xb __get_user_x
140+
#define __get_user_x_32t __get_user_x
138141
#endif
139142

143+
/*
144+
* storing result into proper least significant word of 64bit target var,
145+
* different only for big endian case where 64 bit __r2 lsw is r3:
146+
*/
147+
#ifdef __ARMEB__
148+
#define __get_user_x_64t(__r2, __p, __e, __l, __s) \
149+
__asm__ __volatile__ ( \
150+
__asmeq("%0", "r0") __asmeq("%1", "r2") \
151+
__asmeq("%3", "r1") \
152+
"bl __get_user_64t_" #__s \
153+
: "=&r" (__e), "=r" (__r2) \
154+
: "0" (__p), "r" (__l) \
155+
: __GUP_CLOBBER_##__s)
156+
#else
157+
#define __get_user_x_64t __get_user_x
158+
#endif
159+
160+
140161
#define __get_user_check(x,p) \
141162
({ \
142163
unsigned long __limit = current_thread_info()->addr_limit - 1; \
@@ -146,17 +167,26 @@ extern int __get_user_8(void *);
146167
register int __e asm("r0"); \
147168
switch (sizeof(*(__p))) { \
148169
case 1: \
149-
__get_user_x(__r2, __p, __e, __l, 1); \
170+
if (sizeof((x)) >= 8) \
171+
__get_user_x_64t(__r2, __p, __e, __l, 1); \
172+
else \
173+
__get_user_x(__r2, __p, __e, __l, 1); \
150174
break; \
151175
case 2: \
152-
__get_user_x(__r2, __p, __e, __l, 2); \
176+
if (sizeof((x)) >= 8) \
177+
__get_user_x_64t(__r2, __p, __e, __l, 2); \
178+
else \
179+
__get_user_x(__r2, __p, __e, __l, 2); \
153180
break; \
154181
case 4: \
155-
__get_user_x(__r2, __p, __e, __l, 4); \
182+
if (sizeof((x)) >= 8) \
183+
__get_user_x_64t(__r2, __p, __e, __l, 4); \
184+
else \
185+
__get_user_x(__r2, __p, __e, __l, 4); \
156186
break; \
157187
case 8: \
158188
if (sizeof((x)) < 8) \
159-
__get_user_xb(__r2, __p, __e, __l, 4); \
189+
__get_user_x_32t(__r2, __p, __e, __l, 4); \
160190
else \
161191
__get_user_x(__r2, __p, __e, __l, 8); \
162192
break; \

arch/arm/include/asm/xen/page-coherent.h

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,14 @@ static inline void xen_dma_map_page(struct device *hwdev, struct page *page,
2626
__generic_dma_ops(hwdev)->map_page(hwdev, page, offset, size, dir, attrs);
2727
}
2828

29-
static inline void xen_dma_unmap_page(struct device *hwdev, dma_addr_t handle,
29+
void xen_dma_unmap_page(struct device *hwdev, dma_addr_t handle,
3030
size_t size, enum dma_data_direction dir,
31-
struct dma_attrs *attrs)
32-
{
33-
if (__generic_dma_ops(hwdev)->unmap_page)
34-
__generic_dma_ops(hwdev)->unmap_page(hwdev, handle, size, dir, attrs);
35-
}
31+
struct dma_attrs *attrs);
3632

37-
static inline void xen_dma_sync_single_for_cpu(struct device *hwdev,
38-
dma_addr_t handle, size_t size, enum dma_data_direction dir)
39-
{
40-
if (__generic_dma_ops(hwdev)->sync_single_for_cpu)
41-
__generic_dma_ops(hwdev)->sync_single_for_cpu(hwdev, handle, size, dir);
42-
}
33+
void xen_dma_sync_single_for_cpu(struct device *hwdev,
34+
dma_addr_t handle, size_t size, enum dma_data_direction dir);
35+
36+
void xen_dma_sync_single_for_device(struct device *hwdev,
37+
dma_addr_t handle, size_t size, enum dma_data_direction dir);
4338

44-
static inline void xen_dma_sync_single_for_device(struct device *hwdev,
45-
dma_addr_t handle, size_t size, enum dma_data_direction dir)
46-
{
47-
if (__generic_dma_ops(hwdev)->sync_single_for_device)
48-
__generic_dma_ops(hwdev)->sync_single_for_device(hwdev, handle, size, dir);
49-
}
5039
#endif /* _ASM_ARM_XEN_PAGE_COHERENT_H */

arch/arm/include/asm/xen/page.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ typedef struct xpaddr {
3333
#define INVALID_P2M_ENTRY (~0UL)
3434

3535
unsigned long __pfn_to_mfn(unsigned long pfn);
36-
unsigned long __mfn_to_pfn(unsigned long mfn);
3736
extern struct rb_root phys_to_mach;
3837

3938
static inline unsigned long pfn_to_mfn(unsigned long pfn)
@@ -51,14 +50,6 @@ static inline unsigned long pfn_to_mfn(unsigned long pfn)
5150

5251
static inline unsigned long mfn_to_pfn(unsigned long mfn)
5352
{
54-
unsigned long pfn;
55-
56-
if (phys_to_mach.rb_node != NULL) {
57-
pfn = __mfn_to_pfn(mfn);
58-
if (pfn != INVALID_P2M_ENTRY)
59-
return pfn;
60-
}
61-
6253
return mfn;
6354
}
6455

0 commit comments

Comments
 (0)