Skip to content

Commit 3f37b26

Browse files
committed
Merge tag 'asoc-fix-v4.4-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Last minute fixes for v4.4 A few final fixes for v4.4, the main one being the two patches to the new Sky Lake drivers which fix a previous incorrect fix that went in during an earlier -rc.
2 parents c7b60a8 + bc42f36 commit 3f37b26

File tree

152 files changed

+1608
-857
lines changed

Some content is hidden

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

152 files changed

+1608
-857
lines changed

Documentation/devicetree/bindings/net/cpsw.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ Optional properties:
4040

4141
Slave Properties:
4242
Required properties:
43-
- phy_id : Specifies slave phy id
4443
- phy-mode : See ethernet.txt file in the same directory
4544

4645
Optional properties:
4746
- dual_emac_res_vlan : Specifies VID to be used to segregate the ports
4847
- mac-address : See ethernet.txt file in the same directory
48+
- phy_id : Specifies slave phy id
4949
- phy-handle : See ethernet.txt file in the same directory
5050

5151
Slave sub-nodes:
5252
- fixed-link : See fixed-link.txt file in the same directory
53-
Either the properties phy_id and phy-mode,
54-
or the sub-node fixed-link can be specified
53+
Either the property phy_id, or the sub-node
54+
fixed-link can be specified
5555

5656
Note: "ti,hwmods" field is used to fetch the base address and irq
5757
resources from TI, omap hwmod data base during device registration.

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VERSION = 4
22
PATCHLEVEL = 4
33
SUBLEVEL = 0
4-
EXTRAVERSION = -rc6
4+
EXTRAVERSION = -rc8
55
NAME = Blurry Fish Butt
66

77
# *DOCUMENTATION*

arch/arc/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ endif
8181
LIBGCC := $(shell $(CC) $(cflags-y) --print-libgcc-file-name)
8282

8383
# Modules with short calls might break for calls into builtin-kernel
84-
KBUILD_CFLAGS_MODULE += -mlong-calls
84+
KBUILD_CFLAGS_MODULE += -mlong-calls -mno-millicode
8585

8686
# Finally dump eveything into kernel build system
8787
KBUILD_CFLAGS += $(cflags-y)

arch/arc/include/asm/cache.h

-2
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@ extern int ioc_exists;
6262
#define ARC_REG_IC_IVIC 0x10
6363
#define ARC_REG_IC_CTRL 0x11
6464
#define ARC_REG_IC_IVIL 0x19
65-
#if defined(CONFIG_ARC_MMU_V3) || defined(CONFIG_ARC_MMU_V4)
6665
#define ARC_REG_IC_PTAG 0x1E
67-
#endif
6866
#define ARC_REG_IC_PTAG_HI 0x1F
6967

7068
/* Bit val in IC_CTRL */

arch/arc/kernel/unwind.c

+11-17
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,13 @@ static void init_unwind_hdr(struct unwind_table *table,
293293
const u32 *cie = cie_for_fde(fde, table);
294294
signed ptrType;
295295

296-
if (cie == &not_fde) /* only process FDE here */
296+
if (cie == &not_fde)
297297
continue;
298298
if (cie == NULL || cie == &bad_cie)
299-
continue; /* say FDE->CIE.version != 1 */
299+
goto ret_err;
300300
ptrType = fde_pointer_type(cie);
301301
if (ptrType < 0)
302-
continue;
302+
goto ret_err;
303303

304304
ptr = (const u8 *)(fde + 2);
305305
if (!read_pointer(&ptr, (const u8 *)(fde + 1) + *fde,
@@ -315,14 +315,14 @@ static void init_unwind_hdr(struct unwind_table *table,
315315
}
316316

317317
if (tableSize || !n)
318-
return;
318+
goto ret_err;
319319

320320
hdrSize = 4 + sizeof(unsigned long) + sizeof(unsigned int)
321321
+ 2 * n * sizeof(unsigned long);
322322

323323
header = alloc(hdrSize);
324324
if (!header)
325-
return;
325+
goto ret_err;
326326

327327
header->version = 1;
328328
header->eh_frame_ptr_enc = DW_EH_PE_abs | DW_EH_PE_native;
@@ -343,10 +343,6 @@ static void init_unwind_hdr(struct unwind_table *table,
343343

344344
if (fde[1] == 0xffffffff)
345345
continue; /* this is a CIE */
346-
347-
if (*(u8 *)(cie + 2) != 1)
348-
continue; /* FDE->CIE.version not supported */
349-
350346
ptr = (const u8 *)(fde + 2);
351347
header->table[n].start = read_pointer(&ptr,
352348
(const u8 *)(fde + 1) +
@@ -365,6 +361,10 @@ static void init_unwind_hdr(struct unwind_table *table,
365361
table->hdrsz = hdrSize;
366362
smp_wmb();
367363
table->header = (const void *)header;
364+
return;
365+
366+
ret_err:
367+
panic("Attention !!! Dwarf FDE parsing errors\n");;
368368
}
369369

370370
#ifdef CONFIG_MODULES
@@ -523,8 +523,7 @@ static const u32 *cie_for_fde(const u32 *fde, const struct unwind_table *table)
523523

524524
if (*cie <= sizeof(*cie) + 4 || *cie >= fde[1] - sizeof(*fde)
525525
|| (*cie & (sizeof(*cie) - 1))
526-
|| (cie[1] != 0xffffffff)
527-
|| ( *(u8 *)(cie + 2) != 1)) /* version 1 supported */
526+
|| (cie[1] != 0xffffffff))
528527
return NULL; /* this is not a (valid) CIE */
529528
return cie;
530529
}
@@ -605,9 +604,6 @@ static signed fde_pointer_type(const u32 *cie)
605604
const u8 *ptr = (const u8 *)(cie + 2);
606605
unsigned version = *ptr;
607606

608-
if (version != 1)
609-
return -1; /* unsupported */
610-
611607
if (*++ptr) {
612608
const char *aug;
613609
const u8 *end = (const u8 *)(cie + 1) + *cie;
@@ -1019,9 +1015,7 @@ int arc_unwind(struct unwind_frame_info *frame)
10191015
ptr = (const u8 *)(cie + 2);
10201016
end = (const u8 *)(cie + 1) + *cie;
10211017
frame->call_frame = 1;
1022-
if ((state.version = *ptr) != 1)
1023-
cie = NULL; /* unsupported version */
1024-
else if (*++ptr) {
1018+
if (*++ptr) {
10251019
/* check if augmentation size is first (thus present) */
10261020
if (*ptr == 'z') {
10271021
while (++ptr < end && *ptr) {

arch/arc/mm/highmem.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ void __kunmap_atomic(void *kv)
111111
}
112112
EXPORT_SYMBOL(__kunmap_atomic);
113113

114-
noinline pte_t *alloc_kmap_pgtable(unsigned long kvaddr)
114+
static noinline pte_t * __init alloc_kmap_pgtable(unsigned long kvaddr)
115115
{
116116
pgd_t *pgd_k;
117117
pud_t *pud_k;
@@ -127,7 +127,7 @@ noinline pte_t *alloc_kmap_pgtable(unsigned long kvaddr)
127127
return pte_k;
128128
}
129129

130-
void kmap_init(void)
130+
void __init kmap_init(void)
131131
{
132132
/* Due to recursive include hell, we can't do this in processor.h */
133133
BUILD_BUG_ON(PAGE_OFFSET < (VMALLOC_END + FIXMAP_SIZE + PKMAP_SIZE));

arch/arm/boot/dts/imx6q-gw5400-a.dts

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
&fec {
155155
pinctrl-names = "default";
156156
pinctrl-0 = <&pinctrl_enet>;
157-
phy-mode = "rgmii";
157+
phy-mode = "rgmii-id";
158158
phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
159159
status = "okay";
160160
};

arch/arm/boot/dts/imx6qdl-gw51xx.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
&fec {
9595
pinctrl-names = "default";
9696
pinctrl-0 = <&pinctrl_enet>;
97-
phy-mode = "rgmii";
97+
phy-mode = "rgmii-id";
9898
phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
9999
status = "okay";
100100
};

arch/arm/boot/dts/imx6qdl-gw52xx.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
&fec {
155155
pinctrl-names = "default";
156156
pinctrl-0 = <&pinctrl_enet>;
157-
phy-mode = "rgmii";
157+
phy-mode = "rgmii-id";
158158
phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
159159
status = "okay";
160160
};

arch/arm/boot/dts/imx6qdl-gw53xx.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
&fec {
156156
pinctrl-names = "default";
157157
pinctrl-0 = <&pinctrl_enet>;
158-
phy-mode = "rgmii";
158+
phy-mode = "rgmii-id";
159159
phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
160160
status = "okay";
161161
};

arch/arm/boot/dts/imx6qdl-gw54xx.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@
145145
&fec {
146146
pinctrl-names = "default";
147147
pinctrl-0 = <&pinctrl_enet>;
148-
phy-mode = "rgmii";
148+
phy-mode = "rgmii-id";
149149
phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
150150
status = "okay";
151151
};

arch/arm/boot/dts/imx6qdl-sabreauto.dtsi

+3-3
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,14 @@
113113
&clks {
114114
assigned-clocks = <&clks IMX6QDL_PLL4_BYPASS_SRC>,
115115
<&clks IMX6QDL_PLL4_BYPASS>,
116-
<&clks IMX6QDL_CLK_PLL4_POST_DIV>,
117116
<&clks IMX6QDL_CLK_LDB_DI0_SEL>,
118-
<&clks IMX6QDL_CLK_LDB_DI1_SEL>;
117+
<&clks IMX6QDL_CLK_LDB_DI1_SEL>,
118+
<&clks IMX6QDL_CLK_PLL4_POST_DIV>;
119119
assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS2_IN>,
120120
<&clks IMX6QDL_PLL4_BYPASS_SRC>,
121121
<&clks IMX6QDL_CLK_PLL3_USB_OTG>,
122122
<&clks IMX6QDL_CLK_PLL3_USB_OTG>;
123-
assigned-clock-rates = <0>, <0>, <24576000>;
123+
assigned-clock-rates = <0>, <0>, <0>, <0>, <24576000>;
124124
};
125125

126126
&ecspi1 {

arch/arm/boot/dts/omap4-duovero-parlor.dts

+4
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,7 @@
189189
};
190190
};
191191

192+
&uart3 {
193+
interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
194+
&omap4_pmx_core OMAP4_UART3_RX>;
195+
};

arch/arm/boot/dts/sun6i-a31s-primo81.dts

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
reg = <0x5d>;
8484
interrupt-parent = <&pio>;
8585
interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>; /* PA3 */
86+
touchscreen-swapped-x-y;
8687
};
8788
};
8889

arch/arm/boot/dts/tegra124-nyan.dtsi

+1-1
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@
399399

400400
/* CPU DFLL clock */
401401
clock@0,70110000 {
402-
status = "okay";
402+
status = "disabled";
403403
vdd-cpu-supply = <&vdd_cpu>;
404404
nvidia,i2c-fs-rate = <400000>;
405405
};

arch/arm/kernel/sys_oabi-compat.c

+37-36
Original file line numberDiff line numberDiff line change
@@ -193,55 +193,56 @@ struct oabi_flock64 {
193193
pid_t l_pid;
194194
} __attribute__ ((packed,aligned(4)));
195195

196-
asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
196+
static long do_locks(unsigned int fd, unsigned int cmd,
197197
unsigned long arg)
198198
{
199-
struct oabi_flock64 user;
200199
struct flock64 kernel;
201-
mm_segment_t fs = USER_DS; /* initialized to kill a warning */
202-
unsigned long local_arg = arg;
203-
int ret;
200+
struct oabi_flock64 user;
201+
mm_segment_t fs;
202+
long ret;
203+
204+
if (copy_from_user(&user, (struct oabi_flock64 __user *)arg,
205+
sizeof(user)))
206+
return -EFAULT;
207+
kernel.l_type = user.l_type;
208+
kernel.l_whence = user.l_whence;
209+
kernel.l_start = user.l_start;
210+
kernel.l_len = user.l_len;
211+
kernel.l_pid = user.l_pid;
212+
213+
fs = get_fs();
214+
set_fs(KERNEL_DS);
215+
ret = sys_fcntl64(fd, cmd, (unsigned long)&kernel);
216+
set_fs(fs);
217+
218+
if (!ret && (cmd == F_GETLK64 || cmd == F_OFD_GETLK)) {
219+
user.l_type = kernel.l_type;
220+
user.l_whence = kernel.l_whence;
221+
user.l_start = kernel.l_start;
222+
user.l_len = kernel.l_len;
223+
user.l_pid = kernel.l_pid;
224+
if (copy_to_user((struct oabi_flock64 __user *)arg,
225+
&user, sizeof(user)))
226+
ret = -EFAULT;
227+
}
228+
return ret;
229+
}
204230

231+
asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
232+
unsigned long arg)
233+
{
205234
switch (cmd) {
206235
case F_OFD_GETLK:
207236
case F_OFD_SETLK:
208237
case F_OFD_SETLKW:
209238
case F_GETLK64:
210239
case F_SETLK64:
211240
case F_SETLKW64:
212-
if (copy_from_user(&user, (struct oabi_flock64 __user *)arg,
213-
sizeof(user)))
214-
return -EFAULT;
215-
kernel.l_type = user.l_type;
216-
kernel.l_whence = user.l_whence;
217-
kernel.l_start = user.l_start;
218-
kernel.l_len = user.l_len;
219-
kernel.l_pid = user.l_pid;
220-
local_arg = (unsigned long)&kernel;
221-
fs = get_fs();
222-
set_fs(KERNEL_DS);
223-
}
224-
225-
ret = sys_fcntl64(fd, cmd, local_arg);
241+
return do_locks(fd, cmd, arg);
226242

227-
switch (cmd) {
228-
case F_GETLK64:
229-
if (!ret) {
230-
user.l_type = kernel.l_type;
231-
user.l_whence = kernel.l_whence;
232-
user.l_start = kernel.l_start;
233-
user.l_len = kernel.l_len;
234-
user.l_pid = kernel.l_pid;
235-
if (copy_to_user((struct oabi_flock64 __user *)arg,
236-
&user, sizeof(user)))
237-
ret = -EFAULT;
238-
}
239-
case F_SETLK64:
240-
case F_SETLKW64:
241-
set_fs(fs);
243+
default:
244+
return sys_fcntl64(fd, cmd, arg);
242245
}
243-
244-
return ret;
245246
}
246247

247248
struct oabi_epoll_event {

arch/arm/mach-omap2/Kconfig

+2
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ config SOC_AM43XX
6565
select MACH_OMAP_GENERIC
6666
select MIGHT_HAVE_CACHE_L2X0
6767
select HAVE_ARM_SCU
68+
select GENERIC_CLOCKEVENTS_BROADCAST
69+
select HAVE_ARM_TWD
6870

6971
config SOC_DRA7XX
7072
bool "TI DRA7XX"

arch/arm/mach-omap2/timer.c

+6
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,12 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
320320
return r;
321321
}
322322

323+
#if !defined(CONFIG_SMP) && defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)
324+
void tick_broadcast(const struct cpumask *mask)
325+
{
326+
}
327+
#endif
328+
323329
static void __init omap2_gp_clockevent_init(int gptimer_id,
324330
const char *fck_source,
325331
const char *property)

arch/m32r/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ generic-y += clkdev.h
33
generic-y += cputime.h
44
generic-y += exec.h
55
generic-y += irq_work.h
6+
generic-y += kvm_para.h
67
generic-y += mcs_spinlock.h
78
generic-y += mm-arch-hooks.h
89
generic-y += module.h

arch/m32r/include/asm/io.h

+9-1
Original file line numberDiff line numberDiff line change
@@ -168,13 +168,21 @@ static inline void _writel(unsigned long l, unsigned long addr)
168168
#define writew_relaxed writew
169169
#define writel_relaxed writel
170170

171-
#define ioread8 read
171+
#define ioread8 readb
172172
#define ioread16 readw
173173
#define ioread32 readl
174174
#define iowrite8 writeb
175175
#define iowrite16 writew
176176
#define iowrite32 writel
177177

178+
#define ioread8_rep(p, dst, count) insb((unsigned long)(p), (dst), (count))
179+
#define ioread16_rep(p, dst, count) insw((unsigned long)(p), (dst), (count))
180+
#define ioread32_rep(p, dst, count) insl((unsigned long)(p), (dst), (count))
181+
182+
#define iowrite8_rep(p, src, count) outsb((unsigned long)(p), (src), (count))
183+
#define iowrite16_rep(p, src, count) outsw((unsigned long)(p), (src), (count))
184+
#define iowrite32_rep(p, src, count) outsl((unsigned long)(p), (src), (count))
185+
178186
#define ioread16be(addr) be16_to_cpu(readw(addr))
179187
#define ioread32be(addr) be32_to_cpu(readl(addr))
180188
#define iowrite16be(v, addr) writew(cpu_to_be16(v), (addr))

0 commit comments

Comments
 (0)