kernel: update to version 4.4.14

Changelog: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.14

Some manual changes to target/linux/generic/patches-4.4/610-
netfilter_match_bypass_default_checks.patch were needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
v19.07.3_mercusys_ac12_duma
Hauke Mehrtens 8 years ago
parent 3bf3512673
commit 84d489f64f

@ -4,11 +4,11 @@ LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .29 LINUX_VERSION-3.18 = .29
LINUX_VERSION-4.1 = .20 LINUX_VERSION-4.1 = .20
LINUX_VERSION-4.4 = .13 LINUX_VERSION-4.4 = .14
LINUX_KERNEL_MD5SUM-3.18.29 = b25737a0bc98e80d12200de93f239c28 LINUX_KERNEL_MD5SUM-3.18.29 = b25737a0bc98e80d12200de93f239c28
LINUX_KERNEL_MD5SUM-4.1.20 = 075c38a3a23ca5bc80437b13606df00a LINUX_KERNEL_MD5SUM-4.1.20 = 075c38a3a23ca5bc80437b13606df00a
LINUX_KERNEL_MD5SUM-4.4.13 = d70b6959d8db61bcea7070c089aace9b LINUX_KERNEL_MD5SUM-4.4.14 = 59e99c3bf5d495f1f95d26257962ca3e
ifdef KERNEL_PATCHVER ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

@ -2,7 +2,7 @@
+++ b/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig
@@ -68,12 +68,16 @@ config ATH79_MACH_PB44 @@ -68,12 +68,16 @@ config ATH79_MACH_PB44
Atheros PB44 reference board. Atheros PB44 reference board.
config ATH79_MACH_UBNT_XM config ATH79_MACH_UBNT_XM
- bool "Ubiquiti Networks XM (rev 1.0) board" - bool "Ubiquiti Networks XM (rev 1.0) board"
+ bool "Ubiquiti Networks XM/UniFi boards" + bool "Ubiquiti Networks XM/UniFi boards"

@ -75,7 +75,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -317,6 +317,52 @@ choice @@ -318,6 +318,52 @@ choice
default ARCH_VERSATILE if !MMU default ARCH_VERSATILE if !MMU
default ARCH_MULTIPLATFORM if MMU default ARCH_MULTIPLATFORM if MMU
@ -128,7 +128,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
config ARCH_MULTIPLATFORM config ARCH_MULTIPLATFORM
bool "Allow multiple platforms to be selected" bool "Allow multiple platforms to be selected"
depends on MMU depends on MMU
@@ -808,6 +854,9 @@ config ARCH_VIRT @@ -809,6 +855,9 @@ config ARCH_VIRT
# Kconfigs may be included either alphabetically (according to the # Kconfigs may be included either alphabetically (according to the
# plat- suffix) or along side the corresponding mach-* source. # plat- suffix) or along side the corresponding mach-* source.
# #

@ -276,9 +276,9 @@
+int bcm4710 = 0; +int bcm4710 = 0;
+ +
/* /*
* Special Variant of smp_call_function for use by cache functions: * Bits describing what cache ops an IPI callback function may perform.
* *
@@ -157,6 +160,9 @@ static void r4k_blast_dcache_user_page_s @@ -202,6 +205,9 @@ static void r4k_blast_dcache_user_page_s
{ {
unsigned long dc_lsize = cpu_dcache_line_size(); unsigned long dc_lsize = cpu_dcache_line_size();
@ -288,7 +288,7 @@
if (dc_lsize == 0) if (dc_lsize == 0)
r4k_blast_dcache_user_page = (void *)cache_noop; r4k_blast_dcache_user_page = (void *)cache_noop;
else if (dc_lsize == 16) else if (dc_lsize == 16)
@@ -175,6 +181,9 @@ static void r4k_blast_dcache_page_indexe @@ -220,6 +226,9 @@ static void r4k_blast_dcache_page_indexe
{ {
unsigned long dc_lsize = cpu_dcache_line_size(); unsigned long dc_lsize = cpu_dcache_line_size();
@ -298,7 +298,7 @@
if (dc_lsize == 0) if (dc_lsize == 0)
r4k_blast_dcache_page_indexed = (void *)cache_noop; r4k_blast_dcache_page_indexed = (void *)cache_noop;
else if (dc_lsize == 16) else if (dc_lsize == 16)
@@ -194,6 +203,9 @@ static void r4k_blast_dcache_setup(void) @@ -239,6 +248,9 @@ static void r4k_blast_dcache_setup(void)
{ {
unsigned long dc_lsize = cpu_dcache_line_size(); unsigned long dc_lsize = cpu_dcache_line_size();
@ -308,7 +308,7 @@
if (dc_lsize == 0) if (dc_lsize == 0)
r4k_blast_dcache = (void *)cache_noop; r4k_blast_dcache = (void *)cache_noop;
else if (dc_lsize == 16) else if (dc_lsize == 16)
@@ -793,6 +805,8 @@ static void local_r4k_flush_cache_sigtra @@ -880,6 +892,8 @@ static void local_r4k_flush_cache_sigtra
unsigned long addr = (unsigned long) arg; unsigned long addr = (unsigned long) arg;
R4600_HIT_CACHEOP_WAR_IMPL; R4600_HIT_CACHEOP_WAR_IMPL;
@ -317,7 +317,7 @@
if (dc_lsize) if (dc_lsize)
protected_writeback_dcache_line(addr & ~(dc_lsize - 1)); protected_writeback_dcache_line(addr & ~(dc_lsize - 1));
if (!cpu_icache_snoops_remote_store && scache_size) if (!cpu_icache_snoops_remote_store && scache_size)
@@ -1602,6 +1616,17 @@ static void coherency_setup(void) @@ -1704,6 +1718,17 @@ static void coherency_setup(void)
* silly idea of putting something else there ... * silly idea of putting something else there ...
*/ */
switch (current_cpu_type()) { switch (current_cpu_type()) {
@ -335,7 +335,7 @@
case CPU_R4000PC: case CPU_R4000PC:
case CPU_R4000SC: case CPU_R4000SC:
case CPU_R4000MC: case CPU_R4000MC:
@@ -1648,6 +1673,15 @@ void r4k_cache_init(void) @@ -1750,6 +1775,15 @@ void r4k_cache_init(void)
extern void build_copy_page(void); extern void build_copy_page(void);
struct cpuinfo_mips *c = &current_cpu_data; struct cpuinfo_mips *c = &current_cpu_data;
@ -351,7 +351,7 @@
probe_pcache(); probe_pcache();
setup_scache(); setup_scache();
@@ -1717,7 +1751,15 @@ void r4k_cache_init(void) @@ -1819,7 +1853,15 @@ void r4k_cache_init(void)
*/ */
local_r4k___flush_cache_all(NULL); local_r4k___flush_cache_all(NULL);

@ -29,7 +29,7 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485
#endif /* __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H */ #endif /* __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H */
--- a/arch/mips/mm/c-r4k.c --- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c
@@ -600,7 +600,7 @@ static inline void local_r4k_flush_cache @@ -645,7 +645,7 @@ static inline void local_r4k_flush_cache
*/ */
map_coherent = (cpu_has_dc_aliases && map_coherent = (cpu_has_dc_aliases &&
page_mapped(page) && !Page_dcache_dirty(page)); page_mapped(page) && !Page_dcache_dirty(page));
@ -38,7 +38,7 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485
vaddr = kmap_coherent(page, addr); vaddr = kmap_coherent(page, addr);
else else
vaddr = kmap_atomic(page); vaddr = kmap_atomic(page);
@@ -625,7 +625,7 @@ static inline void local_r4k_flush_cache @@ -670,7 +670,7 @@ static inline void local_r4k_flush_cache
} }
if (vaddr) { if (vaddr) {

@ -21,11 +21,9 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
fs/ubifs/super.c | 5 +++-- fs/ubifs/super.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-) 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 7034995..736dd58 100644
--- a/fs/ubifs/super.c --- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c +++ b/fs/ubifs/super.c
@@ -2108,8 +2108,9 @@ static struct dentry *ubifs_mount(struct file_system_type *fs_type, int flags, @@ -2107,8 +2107,9 @@ static struct dentry *ubifs_mount(struct
*/ */
ubi = open_ubi(name, UBI_READONLY); ubi = open_ubi(name, UBI_READONLY);
if (IS_ERR(ubi)) { if (IS_ERR(ubi)) {
@ -37,6 +35,3 @@ index 7034995..736dd58 100644
return ERR_CAST(ubi); return ERR_CAST(ubi);
} }
--
2.8.3

@ -28,7 +28,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
-/* Coordinate with glibc net/if.h header. */ -/* Coordinate with glibc net/if.h header. */
+/* Coordinate with libc net/if.h header. */ +/* Coordinate with libc net/if.h header. */
#if defined(_NET_IF_H) #if defined(_NET_IF_H) && defined(__USE_MISC)
-/* GLIBC headers included first so don't define anything -/* GLIBC headers included first so don't define anything
+/* LIBC headers included first so don't define anything +/* LIBC headers included first so don't define anything

@ -284,15 +284,15 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
+ EXPORT(kexec_argv_buf) + EXPORT(kexec_argv_buf)
+ .skip KEXEC_COMMAND_LINE_SIZE + .skip KEXEC_COMMAND_LINE_SIZE
+ .size kexec_argv_buf, KEXEC_COMMAND_LINE_SIZE + .size kexec_argv_buf, KEXEC_COMMAND_LINE_SIZE
+
+kexec_argv:
+ EXPORT(kexec_argv)
+ .skip KEXEC_ARGV_SIZE
+ .size kexec_argv, KEXEC_ARGV_SIZE
-relocate_new_kernel_size: -relocate_new_kernel_size:
- EXPORT(relocate_new_kernel_size) - EXPORT(relocate_new_kernel_size)
- PTR relocate_new_kernel_end - relocate_new_kernel - PTR relocate_new_kernel_end - relocate_new_kernel
- .size relocate_new_kernel_size, PTRSIZE - .size relocate_new_kernel_size, PTRSIZE
+kexec_argv:
+ EXPORT(kexec_argv)
+ .skip KEXEC_ARGV_SIZE
+ .size kexec_argv, KEXEC_ARGV_SIZE
+
+kexec_relocate_new_kernel_end: +kexec_relocate_new_kernel_end:
+ EXPORT(kexec_relocate_new_kernel_end) + EXPORT(kexec_relocate_new_kernel_end)

@ -219,26 +219,26 @@
{ {
UInt32 dicSize; UInt32 dicSize;
Byte d; Byte d;
@@ -935,33 +883,11 @@ static SRes LzmaDec_AllocateProbs2(CLzma @@ -935,7 +883,7 @@ static SRes LzmaDec_AllocateProbs2(CLzma
return SZ_OK; return SZ_OK;
} }
-SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) -SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-{
- CLzmaProps propNew;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- p->prop = propNew;
- return SZ_OK;
-}
-
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
+static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) +static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
{ {
CLzmaProps propNew; CLzmaProps propNew;
- SizeT dicBufSize;
RINOK(LzmaProps_Decode(&propNew, props, propsSize)); RINOK(LzmaProps_Decode(&propNew, props, propsSize));
RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc)); @@ -943,28 +891,6 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p,
p->prop = propNew;
return SZ_OK;
}
-
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-{
- CLzmaProps propNew;
- SizeT dicBufSize;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- dicBufSize = propNew.dicSize; - dicBufSize = propNew.dicSize;
- if (p->dic == 0 || dicBufSize != p->dicBufSize) - if (p->dic == 0 || dicBufSize != p->dicBufSize)
- { - {
@ -251,9 +251,12 @@
- } - }
- } - }
- p->dicBufSize = dicBufSize; - p->dicBufSize = dicBufSize;
p->prop = propNew; - p->prop = propNew;
return SZ_OK; - return SZ_OK;
} -}
SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
--- a/include/linux/lzma/LzmaEnc.h --- a/include/linux/lzma/LzmaEnc.h
+++ b/include/linux/lzma/LzmaEnc.h +++ b/include/linux/lzma/LzmaEnc.h
@@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps @@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps

@ -50,25 +50,16 @@
static bool static bool
ip_checkentry(const struct ipt_ip *ip) ip_checkentry(const struct ipt_ip *ip)
{ {
@@ -569,7 +595,7 @@ static void cleanup_match(struct xt_entr @@ -664,6 +690,8 @@ find_check_entry(struct ipt_entry *e, st
} struct xt_mtchk_param mtpar;
struct xt_entry_match *ematch;
static int
-check_entry(const struct ipt_entry *e, const char *name)
+check_entry(struct ipt_entry *e, const char *name)
{
const struct xt_entry_target *t;
@@ -578,6 +604,8 @@ check_entry(const struct ipt_entry *e, c
return -EINVAL;
}
+ ip_checkdefault(&e->ip); + ip_checkdefault(&e->ip);
+ +
if (e->target_offset + sizeof(struct xt_entry_target) > e->counters.pcnt = xt_percpu_counter_alloc();
e->next_offset) if (IS_ERR_VALUE(e->counters.pcnt))
return -EINVAL; return -ENOMEM;
@@ -944,6 +972,7 @@ copy_entries_to_user(unsigned int total_ @@ -948,6 +976,7 @@ copy_entries_to_user(unsigned int total_
const struct xt_table_info *private = table->private; const struct xt_table_info *private = table->private;
int ret = 0; int ret = 0;
const void *loc_cpu_entry; const void *loc_cpu_entry;
@ -76,7 +67,7 @@
counters = alloc_counters(table); counters = alloc_counters(table);
if (IS_ERR(counters)) if (IS_ERR(counters))
@@ -970,6 +999,14 @@ copy_entries_to_user(unsigned int total_ @@ -974,6 +1003,14 @@ copy_entries_to_user(unsigned int total_
ret = -EFAULT; ret = -EFAULT;
goto free_counters; goto free_counters;
} }

@ -382,6 +382,8 @@ Implement optinal multicast->unicast conversion for igmp snooping
- port = (unsigned long)lport > (unsigned long)rport ? - port = (unsigned long)lport > (unsigned long)rport ?
- lport : rport; - lport : rport;
-
- prev = maybe_deliver(prev, port, skb, __packet_hook);
+ if ((unsigned long)lport > (unsigned long)rport) { + if ((unsigned long)lport > (unsigned long)rport) {
+ port = lport; + port = lport;
+ addr = p->unicast ? p->eth_addr : NULL; + addr = p->unicast ? p->eth_addr : NULL;
@ -389,8 +391,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
+ port = rport; + port = rport;
+ addr = NULL; + addr = NULL;
+ } + }
+
- prev = maybe_deliver(prev, port, skb, __packet_hook);
+ if (addr) + if (addr)
+ prev = maybe_deliver_addr(prev, port, skb, addr, + prev = maybe_deliver_addr(prev, port, skb, addr,
+ __packet_hook); + __packet_hook);

@ -110,11 +110,11 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+ for (i = 0; i < host->n_ports; i++) { + for (i = 0; i < host->n_ports; i++) {
+ if (unlikely(!host->ports[i]->ledtrig)) + if (unlikely(!host->ports[i]->ledtrig))
+ continue; + continue;
+
+ snprintf(host->ports[i]->ledtrig_name, + snprintf(host->ports[i]->ledtrig_name,
+ sizeof(host->ports[i]->ledtrig_name), "ata%u", + sizeof(host->ports[i]->ledtrig_name), "ata%u",
+ host->ports[i]->print_id); + host->ports[i]->print_id);
+
+ host->ports[i]->ledtrig->name = host->ports[i]->ledtrig_name; + host->ports[i]->ledtrig->name = host->ports[i]->ledtrig_name;
+ +
+ if (led_trigger_register(host->ports[i]->ledtrig)) { + if (led_trigger_register(host->ports[i]->ledtrig)) {

@ -15,7 +15,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
--- a/arch/arm/boot/dts/Makefile --- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile
@@ -506,6 +506,7 @@ @@ -506,6 +506,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8084-ifc6540.dtb \ qcom-apq8084-ifc6540.dtb \
qcom-apq8084-mtp.dtb \ qcom-apq8084-mtp.dtb \
qcom-ipq8064-ap148.dtb \ qcom-ipq8064-ap148.dtb \

@ -23,7 +23,7 @@
gsbi5: gsbi@1a200000 { gsbi5: gsbi@1a200000 {
--- a/drivers/clk/qcom/gcc-ipq806x.c --- a/drivers/clk/qcom/gcc-ipq806x.c
+++ b/drivers/clk/qcom/gcc-ipq806x.c +++ b/drivers/clk/qcom/gcc-ipq806x.c
@@ -294,7 +294,7 @@ @@ -294,7 +294,7 @@ static struct clk_rcg gsbi1_uart_src = {
.parent_names = gcc_pxo_pll8, .parent_names = gcc_pxo_pll8,
.num_parents = 2, .num_parents = 2,
.ops = &clk_rcg_ops, .ops = &clk_rcg_ops,
@ -32,7 +32,7 @@
}, },
}, },
}; };
@@ -312,7 +312,7 @@ @@ -312,7 +312,7 @@ static struct clk_branch gsbi1_uart_clk
}, },
.num_parents = 1, .num_parents = 1,
.ops = &clk_branch_ops, .ops = &clk_branch_ops,
@ -41,7 +41,7 @@
}, },
}, },
}; };
@@ -890,7 +890,7 @@ @@ -890,7 +890,7 @@ static struct clk_branch gsbi1_h_clk = {
.hw.init = &(struct clk_init_data){ .hw.init = &(struct clk_init_data){
.name = "gsbi1_h_clk", .name = "gsbi1_h_clk",
.ops = &clk_branch_ops, .ops = &clk_branch_ops,

@ -16,11 +16,9 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
3 files changed, 236 insertions(+) 3 files changed, 236 insertions(+)
create mode 100644 drivers/mtd/qcom_smem_part.c create mode 100644 drivers/mtd/qcom_smem_part.c
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index a03ad29..debc887 100644
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -190,6 +190,13 @@ @@ -190,6 +190,13 @@ config MTD_MYLOADER_PARTS
You will still need the parsing functions to be called by the driver You will still need the parsing functions to be called by the driver
for your particular device. It won't happen automatically. for your particular device. It won't happen automatically.
@ -34,11 +32,9 @@ index a03ad29..debc887 100644
comment "User Modules And Translation Layers" comment "User Modules And Translation Layers"
# #
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 99bb9a1..2a44a64 100644
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o
obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
@ -46,9 +42,6 @@ index 99bb9a1..2a44a64 100644
# 'Users' - code which presents functionality to userspace. # 'Users' - code which presents functionality to userspace.
obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o
diff --git a/drivers/mtd/qcom_smem_part.c b/drivers/mtd/qcom_smem_part.c
new file mode 100644
index 0000000..f9c1bca
--- /dev/null --- /dev/null
+++ b/drivers/mtd/qcom_smem_part.c +++ b/drivers/mtd/qcom_smem_part.c
@@ -0,0 +1,228 @@ @@ -0,0 +1,228 @@

@ -1,8 +1,8 @@
--- a/drivers/phy/Kconfig --- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig +++ b/drivers/phy/Kconfig
@@ -390,4 +390,15 @@ @@ -390,4 +390,15 @@ config PHY_CYGNUS_PCIE
Enable this to support the Broadcom Cygnus PCIe PHY. Enable this to support the Broadcom Cygnus PCIe PHY.
If unsure, say N. If unsure, say N.
+config PHY_QCOM_DWC3 +config PHY_QCOM_DWC3
+ tristate "QCOM DWC3 USB PHY support" + tristate "QCOM DWC3 USB PHY support"
@ -18,7 +18,7 @@
endmenu endmenu
--- a/drivers/phy/Makefile --- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile +++ b/drivers/phy/Makefile
@@ -48,3 +48,4 @@ obj-$(CONFIG_PHY_TUSB1210) += @@ -48,3 +48,4 @@ obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1
obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o obj-$(CONFIG_PHY_BRCMSTB_SATA) += phy-brcmstb-sata.o
obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o

@ -34,7 +34,7 @@ MAINTAINERS | 7 +
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -8253,6 +8253,13 @@ @@ -8253,6 +8253,13 @@ S: Maintained
F: Documentation/devicetree/bindings/pci/hisilicon-pcie.txt F: Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
F: drivers/pci/host/pcie-hisi.c F: drivers/pci/host/pcie-hisi.c
@ -50,7 +50,7 @@ MAINTAINERS | 7 +
L: linux-pcmcia@lists.infradead.org L: linux-pcmcia@lists.infradead.org
--- a/drivers/pci/host/Kconfig --- a/drivers/pci/host/Kconfig
+++ b/drivers/pci/host/Kconfig +++ b/drivers/pci/host/Kconfig
@@ -173,4 +173,13 @@ @@ -173,4 +173,13 @@ config PCI_HISI
help help
Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
@ -745,7 +745,7 @@ MAINTAINERS | 7 +
+MODULE_ALIAS("platform:qcom-pcie"); +MODULE_ALIAS("platform:qcom-pcie");
--- a/drivers/pci/host/Makefile --- a/drivers/pci/host/Makefile
+++ b/drivers/pci/host/Makefile +++ b/drivers/pci/host/Makefile
@@ -20,3 +20,4 @@ @@ -20,3 +20,4 @@ obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-ip
obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o
obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o
obj-$(CONFIG_PCI_HISI) += pcie-hisi.o obj-$(CONFIG_PCI_HISI) += pcie-hisi.o

@ -38,7 +38,7 @@ arch/arm/common/Kconfig | 3 ++
--- a/arch/arm/common/Kconfig --- a/arch/arm/common/Kconfig
+++ b/arch/arm/common/Kconfig +++ b/arch/arm/common/Kconfig
@@ -9,6 +9,9 @@ @@ -9,6 +9,9 @@ config DMABOUNCE
bool bool
select ZONE_DMA select ZONE_DMA
@ -50,7 +50,7 @@ arch/arm/common/Kconfig | 3 ++
--- a/arch/arm/common/Makefile --- a/arch/arm/common/Makefile
+++ b/arch/arm/common/Makefile +++ b/arch/arm/common/Makefile
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@ obj-y += firmware.o
obj-$(CONFIG_ICST) += icst.o obj-$(CONFIG_ICST) += icst.o
obj-$(CONFIG_SA1111) += sa1111.o obj-$(CONFIG_SA1111) += sa1111.o
obj-$(CONFIG_DMABOUNCE) += dmabounce.o obj-$(CONFIG_DMABOUNCE) += dmabounce.o

@ -18,8 +18,6 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
include/linux/clk-provider.h | 9 ++++-- include/linux/clk-provider.h | 9 ++++--
2 files changed, 53 insertions(+), 30 deletions(-) 2 files changed, 53 insertions(+), 30 deletions(-)
diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c
index 7129c86..b03a34d 100644
--- a/drivers/clk/clk-mux.c --- a/drivers/clk/clk-mux.c
+++ b/drivers/clk/clk-mux.c +++ b/drivers/clk/clk-mux.c
@@ -28,35 +28,24 @@ @@ -28,35 +28,24 @@
@ -64,7 +62,7 @@ index 7129c86..b03a34d 100644
val--; val--;
if (val >= num_parents) if (val >= num_parents)
@@ -64,24 +53,53 @@ static u8 clk_mux_get_parent(struct clk_hw *hw) @@ -64,24 +53,53 @@ static u8 clk_mux_get_parent(struct clk_
return val; return val;
} }
@ -127,7 +125,7 @@ index 7129c86..b03a34d 100644
if (mux->lock) if (mux->lock)
spin_lock_irqsave(mux->lock, flags); spin_lock_irqsave(mux->lock, flags);
else else
@@ -105,7 +123,7 @@ static int clk_mux_set_parent(struct clk_hw *hw, u8 index) @@ -105,7 +123,7 @@ static int clk_mux_set_parent(struct clk
} }
const struct clk_ops clk_mux_ops = { const struct clk_ops clk_mux_ops = {
@ -136,7 +134,7 @@ index 7129c86..b03a34d 100644
.set_parent = clk_mux_set_parent, .set_parent = clk_mux_set_parent,
.determine_rate = __clk_mux_determine_rate, .determine_rate = __clk_mux_determine_rate,
}; };
@@ -120,7 +138,7 @@ struct clk *clk_register_mux_table(struct device *dev, const char *name, @@ -120,7 +138,7 @@ struct clk *clk_register_mux_table(struc
const char * const *parent_names, u8 num_parents, const char * const *parent_names, u8 num_parents,
unsigned long flags, unsigned long flags,
void __iomem *reg, u8 shift, u32 mask, void __iomem *reg, u8 shift, u32 mask,
@ -145,11 +143,9 @@ index 7129c86..b03a34d 100644
{ {
struct clk_mux *mux; struct clk_mux *mux;
struct clk *clk; struct clk *clk;
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index c56988a..b6b17b5 100644
--- a/include/linux/clk-provider.h --- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h
@@ -432,7 +432,7 @@ void clk_unregister_divider(struct clk *clk); @@ -433,7 +433,7 @@ void clk_unregister_divider(struct clk *
struct clk_mux { struct clk_mux {
struct clk_hw hw; struct clk_hw hw;
void __iomem *reg; void __iomem *reg;
@ -158,7 +154,7 @@ index c56988a..b6b17b5 100644
u32 mask; u32 mask;
u8 shift; u8 shift;
u8 flags; u8 flags;
@@ -448,6 +448,11 @@ struct clk_mux { @@ -449,6 +449,11 @@ struct clk_mux {
extern const struct clk_ops clk_mux_ops; extern const struct clk_ops clk_mux_ops;
extern const struct clk_ops clk_mux_ro_ops; extern const struct clk_ops clk_mux_ro_ops;
@ -170,7 +166,7 @@ index c56988a..b6b17b5 100644
struct clk *clk_register_mux(struct device *dev, const char *name, struct clk *clk_register_mux(struct device *dev, const char *name,
const char * const *parent_names, u8 num_parents, const char * const *parent_names, u8 num_parents,
unsigned long flags, unsigned long flags,
@@ -458,7 +463,7 @@ struct clk *clk_register_mux_table(struct device *dev, const char *name, @@ -459,7 +464,7 @@ struct clk *clk_register_mux_table(struc
const char * const *parent_names, u8 num_parents, const char * const *parent_names, u8 num_parents,
unsigned long flags, unsigned long flags,
void __iomem *reg, u8 shift, u32 mask, void __iomem *reg, u8 shift, u32 mask,
@ -179,6 +175,3 @@ index c56988a..b6b17b5 100644
void clk_unregister_mux(struct clk *clk); void clk_unregister_mux(struct clk *clk);
--
2.7.2

@ -37,11 +37,9 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
drivers/clk/clk.c | 34 ++++++++++++++++++++++------------ drivers/clk/clk.c | 34 ++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-) 1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index f13c3f4..8404c3c 100644
--- a/drivers/clk/clk.c --- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c +++ b/drivers/clk/clk.c
@@ -1427,21 +1427,24 @@ static struct clk_core *clk_propagate_rate_change(struct clk_core *core, @@ -1427,21 +1427,24 @@ static struct clk_core *clk_propagate_ra
* walk down a subtree and set the new rates notifying the rate * walk down a subtree and set the new rates notifying the rate
* change on the way * change on the way
*/ */
@ -73,7 +71,7 @@ index f13c3f4..8404c3c 100644
if (core->new_parent && core->new_parent != core->parent) { if (core->new_parent && core->new_parent != core->parent) {
old_parent = __clk_set_parent_before(core, core->new_parent); old_parent = __clk_set_parent_before(core, core->new_parent);
@@ -1467,7 +1470,7 @@ static void clk_change_rate(struct clk_core *core) @@ -1467,7 +1470,7 @@ static void clk_change_rate(struct clk_c
trace_clk_set_rate_complete(core, core->new_rate); trace_clk_set_rate_complete(core, core->new_rate);
@ -82,7 +80,7 @@ index f13c3f4..8404c3c 100644
if (core->notifier_count && old_rate != core->rate) if (core->notifier_count && old_rate != core->rate)
__clk_notify(core, POST_RATE_CHANGE, old_rate, core->rate); __clk_notify(core, POST_RATE_CHANGE, old_rate, core->rate);
@@ -1483,12 +1486,13 @@ static void clk_change_rate(struct clk_core *core) @@ -1483,12 +1486,13 @@ static void clk_change_rate(struct clk_c
/* Skip children who will be reparented to another clock */ /* Skip children who will be reparented to another clock */
if (child->new_parent && child->new_parent != core) if (child->new_parent && child->new_parent != core)
continue; continue;
@ -99,7 +97,7 @@ index f13c3f4..8404c3c 100644
} }
static int clk_core_set_rate_nolock(struct clk_core *core, static int clk_core_set_rate_nolock(struct clk_core *core,
@@ -1497,6 +1501,7 @@ static int clk_core_set_rate_nolock(struct clk_core *core, @@ -1497,6 +1501,7 @@ static int clk_core_set_rate_nolock(stru
struct clk_core *top, *fail_clk; struct clk_core *top, *fail_clk;
unsigned long rate = req_rate; unsigned long rate = req_rate;
int ret = 0; int ret = 0;
@ -107,7 +105,7 @@ index f13c3f4..8404c3c 100644
if (!core) if (!core)
return 0; return 0;
@@ -1522,8 +1527,13 @@ static int clk_core_set_rate_nolock(struct clk_core *core, @@ -1522,8 +1527,13 @@ static int clk_core_set_rate_nolock(stru
return -EBUSY; return -EBUSY;
} }
@ -122,6 +120,3 @@ index f13c3f4..8404c3c 100644
core->req_rate = req_rate; core->req_rate = req_rate;
--
2.7.2

@ -19,8 +19,6 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
include/linux/clk-provider.h | 1 + include/linux/clk-provider.h | 1 +
2 files changed, 54 insertions(+), 8 deletions(-) 2 files changed, 54 insertions(+), 8 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 8404c3c..a29319a 100644
--- a/drivers/clk/clk.c --- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c +++ b/drivers/clk/clk.c
@@ -51,9 +51,12 @@ struct clk_core { @@ -51,9 +51,12 @@ struct clk_core {
@ -46,7 +44,7 @@ index 8404c3c..a29319a 100644
core->new_rate = new_rate; core->new_rate = new_rate;
core->new_parent = new_parent; core->new_parent = new_parent;
@@ -1281,6 +1285,18 @@ static void clk_calc_subtree(struct clk_core *core, unsigned long new_rate, @@ -1281,6 +1285,18 @@ static void clk_calc_subtree(struct clk_
if (new_parent && new_parent != core->parent) if (new_parent && new_parent != core->parent)
new_parent->new_child = core; new_parent->new_child = core;
@ -65,7 +63,7 @@ index 8404c3c..a29319a 100644
hlist_for_each_entry(child, &core->children, child_node) { hlist_for_each_entry(child, &core->children, child_node) {
child->new_rate = clk_recalc(child, new_rate); child->new_rate = clk_recalc(child, new_rate);
clk_calc_subtree(child, child->new_rate, NULL, 0); clk_calc_subtree(child, child->new_rate, NULL, 0);
@@ -1393,14 +1409,43 @@ static struct clk_core *clk_propagate_rate_change(struct clk_core *core, @@ -1393,14 +1409,43 @@ static struct clk_core *clk_propagate_ra
unsigned long event) unsigned long event)
{ {
struct clk_core *child, *tmp_clk, *fail_clk = NULL; struct clk_core *child, *tmp_clk, *fail_clk = NULL;
@ -112,7 +110,7 @@ index 8404c3c..a29319a 100644
fail_clk = core; fail_clk = core;
} }
@@ -1446,7 +1491,8 @@ clk_change_rate(struct clk_core *core, unsigned long best_parent_rate) @@ -1446,7 +1491,8 @@ clk_change_rate(struct clk_core *core, u
old_rate = core->rate; old_rate = core->rate;
@ -122,7 +120,7 @@ index 8404c3c..a29319a 100644
old_parent = __clk_set_parent_before(core, core->new_parent); old_parent = __clk_set_parent_before(core, core->new_parent);
trace_clk_set_parent(core, core->new_parent); trace_clk_set_parent(core, core->new_parent);
@@ -1472,9 +1518,6 @@ clk_change_rate(struct clk_core *core, unsigned long best_parent_rate) @@ -1472,9 +1518,6 @@ clk_change_rate(struct clk_core *core, u
core->rate = core->new_rate; core->rate = core->new_rate;
@ -132,7 +130,7 @@ index 8404c3c..a29319a 100644
if (core->flags & CLK_RECALC_NEW_RATES) if (core->flags & CLK_RECALC_NEW_RATES)
(void)clk_calc_new_rates(core, core->new_rate); (void)clk_calc_new_rates(core, core->new_rate);
@@ -1537,6 +1580,8 @@ static int clk_core_set_rate_nolock(struct clk_core *core, @@ -1537,6 +1580,8 @@ static int clk_core_set_rate_nolock(stru
core->req_rate = req_rate; core->req_rate = req_rate;
@ -141,8 +139,6 @@ index 8404c3c..a29319a 100644
return ret; return ret;
} }
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index b6b17b5..5d49262 100644
--- a/include/linux/clk-provider.h --- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h
@@ -202,6 +202,7 @@ struct clk_ops { @@ -202,6 +202,7 @@ struct clk_ops {
@ -153,6 +149,3 @@ index b6b17b5..5d49262 100644
int (*set_rate)(struct clk_hw *hw, unsigned long rate, int (*set_rate)(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate); unsigned long parent_rate);
int (*set_rate_and_parent)(struct clk_hw *hw, int (*set_rate_and_parent)(struct clk_hw *hw,
--
2.7.2

@ -28,7 +28,7 @@ I'd really like to get rid of __clk_hfpll_init_once() if possible...
--- a/drivers/clk/qcom/Makefile --- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@ clk-qcom-y += clk-rcg2.o
clk-qcom-y += clk-branch.o clk-qcom-y += clk-branch.o
clk-qcom-y += clk-regmap-divider.o clk-qcom-y += clk-regmap-divider.o
clk-qcom-y += clk-regmap-mux.o clk-qcom-y += clk-regmap-mux.o

@ -73,7 +73,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+ }; + };
--- a/drivers/clk/qcom/Kconfig --- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig
@@ -106,3 +106,11 @@ @@ -106,3 +106,11 @@ config MSM_MMCC_8974
Support for the multimedia clock controller on msm8974 devices. Support for the multimedia clock controller on msm8974 devices.
Say Y if you want to support multimedia devices such as display, Say Y if you want to support multimedia devices such as display,
graphics, video encode/decode, camera, etc. graphics, video encode/decode, camera, etc.
@ -87,7 +87,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+ such as MSM8974, APQ8084, etc. + such as MSM8974, APQ8084, etc.
--- a/drivers/clk/qcom/Makefile --- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile
@@ -23,3 +23,4 @@ @@ -23,3 +23,4 @@ obj-$(CONFIG_MSM_LCC_8960) += lcc-msm896
obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o
obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o

@ -29,7 +29,7 @@ drivers/clk/qcom/gcc-ipq806x.c | 83 ++++++++++++++++++++++++++++++++++++++++++
#include "reset.h" #include "reset.h"
static struct clk_pll pll0 = { static struct clk_pll pll0 = {
@@ -113,6 +114,85 @@ @@ -113,6 +114,85 @@ static struct clk_regmap pll8_vote = {
}, },
}; };
@ -115,7 +115,7 @@ drivers/clk/qcom/gcc-ipq806x.c | 83 ++++++++++++++++++++++++++++++++++++++++++
static struct clk_pll pll14 = { static struct clk_pll pll14 = {
.l_reg = 0x31c4, .l_reg = 0x31c4,
.m_reg = 0x31c8, .m_reg = 0x31c8,
@@ -2837,6 +2917,9 @@ @@ -2837,6 +2917,9 @@ static struct clk_regmap *gcc_ipq806x_cl
[UBI32_CORE2_CLK_SRC] = &ubi32_core2_src_clk.clkr, [UBI32_CORE2_CLK_SRC] = &ubi32_core2_src_clk.clkr,
[NSSTCM_CLK_SRC] = &nss_tcm_src.clkr, [NSSTCM_CLK_SRC] = &nss_tcm_src.clkr,
[NSSTCM_CLK] = &nss_tcm_clk.clkr, [NSSTCM_CLK] = &nss_tcm_clk.clkr,

@ -30,7 +30,7 @@ drivers/clk/qcom/Kconfig | 4 ++
--- a/drivers/clk/qcom/Kconfig --- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig
@@ -114,3 +114,7 @@ @@ -114,3 +114,7 @@ config QCOM_HFPLL
Support for the high-frequency PLLs present on Qualcomm devices. Support for the high-frequency PLLs present on Qualcomm devices.
Say Y if you want to support CPU frequency scaling on devices Say Y if you want to support CPU frequency scaling on devices
such as MSM8974, APQ8084, etc. such as MSM8974, APQ8084, etc.
@ -40,7 +40,7 @@ drivers/clk/qcom/Kconfig | 4 ++
+ select KRAIT_L2_ACCESSORS + select KRAIT_L2_ACCESSORS
--- a/drivers/clk/qcom/Makefile --- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@ clk-qcom-y += clk-rcg2.o
clk-qcom-y += clk-branch.o clk-qcom-y += clk-branch.o
clk-qcom-y += clk-regmap-divider.o clk-qcom-y += clk-regmap-divider.o
clk-qcom-y += clk-regmap-mux.o clk-qcom-y += clk-regmap-mux.o
@ -48,7 +48,6 @@ drivers/clk/qcom/Kconfig | 4 ++
clk-qcom-y += clk-hfpll.o clk-qcom-y += clk-hfpll.o
clk-qcom-y += reset.o clk-qcom-y += reset.o
clk-qcom-$(CONFIG_QCOM_GDSC) += gdsc.o clk-qcom-$(CONFIG_QCOM_GDSC) += gdsc.o
--- /dev/null --- /dev/null
+++ b/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c
@@ -0,0 +1,166 @@ @@ -0,0 +1,166 @@

@ -31,7 +31,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
--- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt --- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
@@ -21,10 +21,17 @@ @@ -21,10 +21,17 @@ PROPERTIES
the register region. An optional second element specifies the register region. An optional second element specifies
the base address and size of the alias register region. the base address and size of the alias register region.
@ -82,7 +82,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+ }; + };
--- a/drivers/clk/qcom/Kconfig --- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig
@@ -115,6 +115,14 @@ @@ -115,6 +115,14 @@ config QCOM_HFPLL
Say Y if you want to support CPU frequency scaling on devices Say Y if you want to support CPU frequency scaling on devices
such as MSM8974, APQ8084, etc. such as MSM8974, APQ8084, etc.
@ -99,7 +99,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
select KRAIT_L2_ACCESSORS select KRAIT_L2_ACCESSORS
--- a/drivers/clk/qcom/Makefile --- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@ clk-qcom-y += clk-branch.o
clk-qcom-y += clk-regmap-divider.o clk-qcom-y += clk-regmap-divider.o
clk-qcom-y += clk-regmap-mux.o clk-qcom-y += clk-regmap-mux.o
clk-qcom-$(CONFIG_KRAIT_CLOCKS) += clk-krait.o clk-qcom-$(CONFIG_KRAIT_CLOCKS) += clk-krait.o

@ -56,7 +56,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+ }; + };
--- a/drivers/clk/qcom/Kconfig --- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig
@@ -123,6 +123,14 @@ @@ -123,6 +123,14 @@ config KPSS_XCC
if you want to support CPU frequency scaling on devices such if you want to support CPU frequency scaling on devices such
as MSM8960, APQ8064, etc. as MSM8960, APQ8064, etc.
@ -73,7 +73,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
select KRAIT_L2_ACCESSORS select KRAIT_L2_ACCESSORS
--- a/drivers/clk/qcom/Makefile --- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile
@@ -26,3 +26,4 @@ @@ -26,3 +26,4 @@ obj-$(CONFIG_MSM_GCC_8974) += gcc-msm897
obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o
obj-$(CONFIG_QCOM_HFPLL) += hfpll.o obj-$(CONFIG_QCOM_HFPLL) += hfpll.o

@ -69,7 +69,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+ }; + };
--- a/drivers/cpufreq/Kconfig.arm --- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm
@@ -95,6 +95,15 @@ @@ -95,6 +95,15 @@ config ARM_OMAP2PLUS_CPUFREQ
depends on ARCH_OMAP2PLUS depends on ARCH_OMAP2PLUS
default ARCH_OMAP2PLUS default ARCH_OMAP2PLUS
@ -87,7 +87,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
help help
--- a/drivers/cpufreq/Makefile --- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile
@@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@ obj-$(CONFIG_ARM_MT8173_CPUFREQ) += mt81
obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o
obj-$(CONFIG_ARM_PXA2xx_CPUFREQ) += pxa2xx-cpufreq.o obj-$(CONFIG_ARM_PXA2xx_CPUFREQ) += pxa2xx-cpufreq.o
obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o

@ -21,7 +21,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
--- a/drivers/cpufreq/Kconfig --- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig +++ b/drivers/cpufreq/Kconfig
@@ -198,6 +198,19 @@ @@ -198,6 +198,19 @@ config CPUFREQ_DT
If in doubt, say N. If in doubt, say N.
@ -43,7 +43,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
endif endif
--- a/drivers/cpufreq/Makefile --- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)
obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o
obj-$(CONFIG_CPUFREQ_DT) += cpufreq-dt.o obj-$(CONFIG_CPUFREQ_DT) += cpufreq-dt.o
@ -446,7 +446,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
--- a/drivers/cpufreq/qcom-cpufreq.c --- a/drivers/cpufreq/qcom-cpufreq.c
+++ b/drivers/cpufreq/qcom-cpufreq.c +++ b/drivers/cpufreq/qcom-cpufreq.c
@@ -168,11 +168,8 @@ @@ -168,11 +168,8 @@ static int __init qcom_cpufreq_populate_
static int __init qcom_cpufreq_driver_init(void) static int __init qcom_cpufreq_driver_init(void)
{ {

@ -35,7 +35,7 @@ drivers/dma/Kconfig | 10 +
--- a/drivers/dma/Kconfig --- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig
@@ -558,4 +558,14 @@ @@ -558,4 +558,14 @@ config DMATEST
config DMA_ENGINE_RAID config DMA_ENGINE_RAID
bool bool
@ -955,7 +955,7 @@ drivers/dma/Kconfig | 10 +
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
--- a/drivers/dma/Makefile --- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile +++ b/drivers/dma/Makefile
@@ -65,5 +65,6 @@ @@ -65,5 +65,6 @@ obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-
obj-$(CONFIG_TI_EDMA) += edma.o obj-$(CONFIG_TI_EDMA) += edma.o
obj-$(CONFIG_XGENE_DMA) += xgene-dma.o obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
obj-$(CONFIG_ZX_DMA) += zx296702_dma.o obj-$(CONFIG_ZX_DMA) += zx296702_dma.o

@ -38,7 +38,7 @@ drivers/mtd/nand/nand_base.c | 6 +++++-
--- a/drivers/mtd/nand/nand_base.c --- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c
@@ -394,7 +394,11 @@ @@ -394,7 +394,11 @@ static int nand_default_block_markbad(st
} else { } else {
ops.len = ops.ooblen = 1; ops.len = ops.ooblen = 1;
} }
@ -53,7 +53,7 @@ drivers/mtd/nand/nand_base.c | 6 +++++-
if (chip->bbt_options & NAND_BBT_SCANLASTPAGE) if (chip->bbt_options & NAND_BBT_SCANLASTPAGE)
--- a/drivers/mtd/nand/nand_bbt.c --- a/drivers/mtd/nand/nand_bbt.c
+++ b/drivers/mtd/nand/nand_bbt.c +++ b/drivers/mtd/nand/nand_bbt.c
@@ -420,7 +420,11 @@ @@ -420,7 +420,11 @@ static int scan_block_fast(struct mtd_in
ops.oobbuf = buf; ops.oobbuf = buf;
ops.ooboffs = 0; ops.ooboffs = 0;
ops.datbuf = NULL; ops.datbuf = NULL;
@ -68,7 +68,7 @@ drivers/mtd/nand/nand_base.c | 6 +++++-
/* /*
--- a/include/linux/mtd/bbm.h --- a/include/linux/mtd/bbm.h
+++ b/include/linux/mtd/bbm.h +++ b/include/linux/mtd/bbm.h
@@ -116,6 +116,12 @@ @@ -116,6 +116,12 @@ struct nand_bbt_descr {
#define NAND_BBT_NO_OOB_BBM 0x00080000 #define NAND_BBT_NO_OOB_BBM 0x00080000
/* /*

@ -80,7 +80,7 @@ drivers/mtd/nand/Kconfig | 7 +
--- a/drivers/mtd/nand/Kconfig --- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig
@@ -546,4 +546,11 @@ @@ -546,4 +546,11 @@ config MTD_NAND_HISI504
help help
Enables support for NAND controller on Hisilicon SoC Hip04. Enables support for NAND controller on Hisilicon SoC Hip04.
@ -2015,7 +2015,7 @@ drivers/mtd/nand/Kconfig | 7 +
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
--- a/drivers/mtd/nand/Makefile --- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile
@@ -55,5 +55,6 @@ @@ -55,5 +55,6 @@ obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) +=
obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o
obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o
obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand/ obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand/

@ -11,31 +11,31 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
- smb208_s1a: smb208-s1a { - smb208_s1a: smb208-s1a {
- compatible = "qcom,rpm-smb208"; - compatible = "qcom,rpm-smb208";
- reg = <QCOM_RPM_SMB208_S1a>; - reg = <QCOM_RPM_SMB208_S1a>;
-
- regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1150000>;
+ regulators { + regulators {
+ compatible = "qcom,rpm-smb208-regulators"; + compatible = "qcom,rpm-smb208-regulators";
- qcom,switch-mode-frequency = <1200000>; - regulator-min-microvolt = <1050000>;
- - regulator-max-microvolt = <1150000>;
- };
+ smb208_s1a: s1a { + smb208_s1a: s1a {
+ regulator-min-microvolt = <1050000>; + regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1150000>; + regulator-max-microvolt = <1150000>;
- qcom,switch-mode-frequency = <1200000>;
+ qcom,switch-mode-frequency = <1200000>;
- };
-
- smb208_s1b: smb208-s1b { - smb208_s1b: smb208-s1b {
- compatible = "qcom,rpm-smb208"; - compatible = "qcom,rpm-smb208";
- reg = <QCOM_RPM_SMB208_S1b>; - reg = <QCOM_RPM_SMB208_S1b>;
+ qcom,switch-mode-frequency = <1200000>; -
- regulator-min-microvolt = <1050000>; - regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1150000>; - regulator-max-microvolt = <1150000>;
-
- qcom,switch-mode-frequency = <1200000>;
- };
+ }; + };
- qcom,switch-mode-frequency = <1200000>;
- };
-
- smb208_s2a: smb208-s2a { - smb208_s2a: smb208-s2a {
- compatible = "qcom,rpm-smb208"; - compatible = "qcom,rpm-smb208";
- reg = <QCOM_RPM_SMB208_S2a>; - reg = <QCOM_RPM_SMB208_S2a>;
@ -71,7 +71,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
+ }; + };
}; };
}; };
--- a/arch/arm/boot/dts/qcom-ipq8065.dtsi --- a/arch/arm/boot/dts/qcom-ipq8065.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8065.dtsi +++ b/arch/arm/boot/dts/qcom-ipq8065.dtsi
@@ -311,45 +311,37 @@ @@ -311,45 +311,37 @@
@ -81,31 +81,31 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
- smb208_s1a: smb208-s1a { - smb208_s1a: smb208-s1a {
- compatible = "qcom,rpm-smb208"; - compatible = "qcom,rpm-smb208";
- reg = <QCOM_RPM_SMB208_S1a>; - reg = <QCOM_RPM_SMB208_S1a>;
-
- regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1150000>;
+ regulators { + regulators {
+ compatible = "qcom,rpm-smb208-regulators"; + compatible = "qcom,rpm-smb208-regulators";
- qcom,switch-mode-frequency = <1200000>; - regulator-min-microvolt = <1050000>;
- - regulator-max-microvolt = <1150000>;
- };
+ smb208_s1a: s1a { + smb208_s1a: s1a {
+ regulator-min-microvolt = <1050000>; + regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1150000>; + regulator-max-microvolt = <1150000>;
- qcom,switch-mode-frequency = <1200000>;
+ qcom,switch-mode-frequency = <1200000>;
- };
-
- smb208_s1b: smb208-s1b { - smb208_s1b: smb208-s1b {
- compatible = "qcom,rpm-smb208"; - compatible = "qcom,rpm-smb208";
- reg = <QCOM_RPM_SMB208_S1b>; - reg = <QCOM_RPM_SMB208_S1b>;
+ qcom,switch-mode-frequency = <1200000>; -
- regulator-min-microvolt = <1050000>; - regulator-min-microvolt = <1050000>;
- regulator-max-microvolt = <1150000>; - regulator-max-microvolt = <1150000>;
-
- qcom,switch-mode-frequency = <1200000>;
- };
+ }; + };
- qcom,switch-mode-frequency = <1200000>;
- };
-
- smb208_s2a: smb208-s2a { - smb208_s2a: smb208-s2a {
- compatible = "qcom,rpm-smb208"; - compatible = "qcom,rpm-smb208";
- reg = <QCOM_RPM_SMB208_S2a>; - reg = <QCOM_RPM_SMB208_S2a>;
@ -140,4 +140,5 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
+ qcom,switch-mode-frequency = <1400000>; + qcom,switch-mode-frequency = <1400000>;
+ }; + };
}; };
};
cxo_clk: cxo-clk {

@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -323,7 +323,7 @@ @@ -324,7 +324,7 @@ config ARCH_MULTIPLATFORM
select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_OPTIONAL_GPIOLIB
select ARM_HAS_SG_CHAIN select ARM_HAS_SG_CHAIN
select ARM_PATCH_PHYS_VIRT select ARM_PATCH_PHYS_VIRT
@ -44,7 +44,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
--- a/arch/arm/Makefile --- a/arch/arm/Makefile
+++ b/arch/arm/Makefile +++ b/arch/arm/Makefile
@@ -256,9 +256,11 @@ @@ -256,9 +256,11 @@ MACHINE := arch/arm/mach-$(word 1,$(mac
else else
MACHINE := MACHINE :=
endif endif

File diff suppressed because it is too large Load Diff

@ -121,7 +121,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
}; };
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -763,6 +763,92 @@ @@ -755,6 +755,92 @@
status = "disabled"; status = "disabled";
}; };

@ -8,8 +8,6 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
drivers/spi/spi-qup.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++-- drivers/spi/spi-qup.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 52 insertions(+), 2 deletions(-) 1 file changed, 52 insertions(+), 2 deletions(-)
diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
index 810a7fa..0808017 100644
--- a/drivers/spi/spi-qup.c --- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c +++ b/drivers/spi/spi-qup.c
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
@ -28,7 +26,7 @@ index 810a7fa..0808017 100644
}; };
@@ -370,7 +372,8 @@ static int spi_qup_do_pio(struct spi_master *master, struct spi_transfer *xfer) @@ -370,7 +372,8 @@ static int spi_qup_do_pio(struct spi_mas
return ret; return ret;
} }
@ -38,7 +36,7 @@ index 810a7fa..0808017 100644
return 0; return 0;
} }
@@ -448,6 +451,7 @@ spi_qup_get_mode(struct spi_master *master, struct spi_transfer *xfer) @@ -448,6 +451,7 @@ spi_qup_get_mode(struct spi_master *mast
{ {
struct spi_qup *qup = spi_master_get_devdata(master); struct spi_qup *qup = spi_master_get_devdata(master);
u32 mode; u32 mode;
@ -46,7 +44,7 @@ index 810a7fa..0808017 100644
qup->w_size = 4; qup->w_size = 4;
@@ -458,6 +462,14 @@ spi_qup_get_mode(struct spi_master *master, struct spi_transfer *xfer) @@ -458,6 +462,14 @@ spi_qup_get_mode(struct spi_master *mast
qup->n_words = xfer->len / qup->w_size; qup->n_words = xfer->len / qup->w_size;
@ -61,7 +59,7 @@ index 810a7fa..0808017 100644
if (qup->n_words <= (qup->in_fifo_sz / sizeof(u32))) if (qup->n_words <= (qup->in_fifo_sz / sizeof(u32)))
mode = QUP_IO_M_MODE_FIFO; mode = QUP_IO_M_MODE_FIFO;
else else
@@ -491,7 +503,7 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer) @@ -491,7 +503,7 @@ static int spi_qup_io_config(struct spi_
return -EIO; return -EIO;
} }
@ -70,7 +68,7 @@ index 810a7fa..0808017 100644
n_words = controller->n_words; n_words = controller->n_words;
if (mode == QUP_IO_M_MODE_FIFO) { if (mode == QUP_IO_M_MODE_FIFO) {
@@ -500,6 +512,7 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer) @@ -500,6 +512,7 @@ static int spi_qup_io_config(struct spi_
/* must be zero for FIFO */ /* must be zero for FIFO */
writel_relaxed(0, controller->base + QUP_MX_INPUT_CNT); writel_relaxed(0, controller->base + QUP_MX_INPUT_CNT);
writel_relaxed(0, controller->base + QUP_MX_OUTPUT_CNT); writel_relaxed(0, controller->base + QUP_MX_OUTPUT_CNT);
@ -117,7 +115,7 @@ index 810a7fa..0808017 100644
static int spi_qup_probe(struct platform_device *pdev) static int spi_qup_probe(struct platform_device *pdev)
{ {
struct spi_master *master; struct spi_master *master;
@@ -846,6 +891,11 @@ static int spi_qup_probe(struct platform_device *pdev) @@ -846,6 +891,11 @@ static int spi_qup_probe(struct platform
if (of_device_is_compatible(dev->of_node, "qcom,spi-qup-v1.1.1")) if (of_device_is_compatible(dev->of_node, "qcom,spi-qup-v1.1.1"))
controller->qup_v1 = 1; controller->qup_v1 = 1;
@ -129,6 +127,3 @@ index 810a7fa..0808017 100644
spin_lock_init(&controller->lock); spin_lock_init(&controller->lock);
init_completion(&controller->done); init_completion(&controller->done);
--
2.7.2

@ -18,8 +18,6 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
drivers/watchdog/qcom-wdt.c | 2 ++ drivers/watchdog/qcom-wdt.c | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
index 773dcfa..002274a 100644
--- a/drivers/watchdog/qcom-wdt.c --- a/drivers/watchdog/qcom-wdt.c
+++ b/drivers/watchdog/qcom-wdt.c +++ b/drivers/watchdog/qcom-wdt.c
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
@ -30,7 +28,7 @@ index 773dcfa..002274a 100644
#define WDT_BITE_TIME 0x5C #define WDT_BITE_TIME 0x5C
struct qcom_wdt { struct qcom_wdt {
@@ -44,6 +45,7 @@ static int qcom_wdt_start(struct watchdog_device *wdd) @@ -44,6 +45,7 @@ static int qcom_wdt_start(struct watchdo
writel(0, wdt->base + WDT_EN); writel(0, wdt->base + WDT_EN);
writel(1, wdt->base + WDT_RST); writel(1, wdt->base + WDT_RST);
@ -38,6 +36,3 @@ index 773dcfa..002274a 100644
writel(wdd->timeout * wdt->rate, wdt->base + WDT_BITE_TIME); writel(wdd->timeout * wdt->rate, wdt->base + WDT_BITE_TIME);
writel(1, wdt->base + WDT_EN); writel(1, wdt->base + WDT_EN);
return 0; return 0;
--
2.7.2

@ -94,7 +94,7 @@
int limit; int limit;
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -1639,9 +1639,11 @@ static int stmmac_init_dma_engine(struct @@ -1641,9 +1641,11 @@ static int stmmac_init_dma_engine(struct
int pbl = DEFAULT_DMA_PBL, fixed_burst = 0, burst_len = 0; int pbl = DEFAULT_DMA_PBL, fixed_burst = 0, burst_len = 0;
int mixed_burst = 0; int mixed_burst = 0;
int atds = 0; int atds = 0;
@ -106,7 +106,7 @@
fixed_burst = priv->plat->dma_cfg->fixed_burst; fixed_burst = priv->plat->dma_cfg->fixed_burst;
mixed_burst = priv->plat->dma_cfg->mixed_burst; mixed_burst = priv->plat->dma_cfg->mixed_burst;
burst_len = priv->plat->dma_cfg->burst_len; burst_len = priv->plat->dma_cfg->burst_len;
@@ -1652,7 +1654,7 @@ static int stmmac_init_dma_engine(struct @@ -1654,7 +1656,7 @@ static int stmmac_init_dma_engine(struct
return priv->hw->dma->init(priv->ioaddr, pbl, fixed_burst, mixed_burst, return priv->hw->dma->init(priv->ioaddr, pbl, fixed_burst, mixed_burst,
burst_len, priv->dma_tx_phy, burst_len, priv->dma_tx_phy,

@ -12,7 +12,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/arm/boot/dts/Makefile --- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile
@@ -506,7 +506,12 @@ @@ -506,7 +506,12 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8084-ifc6540.dtb \ qcom-apq8084-ifc6540.dtb \
qcom-apq8084-mtp.dtb \ qcom-apq8084-mtp.dtb \
qcom-ipq8064-ap148.dtb \ qcom-ipq8064-ap148.dtb \

@ -18,7 +18,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -1927,6 +1927,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN @@ -1928,6 +1928,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property. appended to the the device tree bootargs property.
@ -107,7 +107,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline)
{ {
char cmdline[COMMAND_LINE_SIZE]; char cmdline[COMMAND_LINE_SIZE];
@@ -85,12 +134,21 @@ static void merge_fdt_bootargs(void *fdt @@ -85,12 +140,21 @@ static void merge_fdt_bootargs(void *fdt
/* and append the ATAG_CMDLINE */ /* and append the ATAG_CMDLINE */
if (fdt_cmdline) { if (fdt_cmdline) {
@ -129,7 +129,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
} }
*ptr = '\0'; *ptr = '\0';
@@ -147,7 +205,9 @@ int atags_to_fdt(void *atag_list, void * @@ -147,7 +211,9 @@ int atags_to_fdt(void *atag_list, void *
else else
setprop_string(fdt, "/chosen", "bootargs", setprop_string(fdt, "/chosen", "bootargs",
atag->u.cmdline.cmdline); atag->u.cmdline.cmdline);
@ -140,7 +140,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
if (memcount >= sizeof(mem_reg_property)/4) if (memcount >= sizeof(mem_reg_property)/4)
continue; continue;
if (!atag->u.mem.size) if (!atag->u.mem.size)
@@ -186,6 +246,10 @@ int atags_to_fdt(void *atag_list, void * @@ -186,6 +252,10 @@ int atags_to_fdt(void *atag_list, void *
setprop(fdt, "/memory", "reg", mem_reg_property, setprop(fdt, "/memory", "reg", mem_reg_property,
4 * memcount * memsize); 4 * memcount * memsize);
} }
@ -164,7 +164,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
static int kernel_init(void *); static int kernel_init(void *);
extern void init_IRQ(void); extern void init_IRQ(void);
@@ -585,6 +589,18 @@ asmlinkage __visible void __init start_k @@ -560,6 +564,18 @@ asmlinkage __visible void __init start_k
page_alloc_init(); page_alloc_init();
pr_notice("Kernel command line: %s\n", boot_command_line); pr_notice("Kernel command line: %s\n", boot_command_line);

@ -104,7 +104,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ +
+#define PMAC_HD_CTL_AS (1 << 19) +#define PMAC_HD_CTL_AS (1 << 19)
+#define PMAC_HD_CTL_RXSH (1 << 22) +#define PMAC_HD_CTL_RXSH (1 << 22)
+
+/* Switch Enable (0=disable, 1=enable) */ +/* Switch Enable (0=disable, 1=enable) */
+#define GCTL0_SE 0x80000000 +#define GCTL0_SE 0x80000000
+/* Disable MDIO auto polling (0=disable, 1=enable) */ +/* Disable MDIO auto polling (0=disable, 1=enable) */
@ -124,7 +124,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#define MDIO_XR9_REG_OFFSET 0 +#define MDIO_XR9_REG_OFFSET 0
+#define MDIO_XR9_ADDR_OFFSET 5 +#define MDIO_XR9_ADDR_OFFSET 5
+#define MDIO_XR9_WR_OFFSET 16 +#define MDIO_XR9_WR_OFFSET 16
+
+#define LTQ_DMA_ETOP ((of_machine_is_compatible("lantiq,ase")) ? \ +#define LTQ_DMA_ETOP ((of_machine_is_compatible("lantiq,ase")) ? \
+ (INT_NUM_IM3_IRL0) : (INT_NUM_IM2_IRL0)) + (INT_NUM_IM3_IRL0) : (INT_NUM_IM2_IRL0))
+ +
@ -333,8 +333,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_pmu_enable(PMU_PPE); - ltq_pmu_enable(PMU_PPE);
+ clk_enable(priv->clk_ppe); + clk_enable(priv->clk_ppe);
+
- switch (priv->pldata->mii_mode) {
+ if (of_machine_is_compatible("lantiq,ar9")) { + if (of_machine_is_compatible("lantiq,ar9")) {
+ ltq_etop_gbit_init(dev); + ltq_etop_gbit_init(dev);
+ /* force the etops link to the gbit to MII */ + /* force the etops link to the gbit to MII */
@ -343,7 +342,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_etop_w32_mask(MDIO_CFG_MASK, 0, LTQ_ETOP_MDIO_CFG); + ltq_etop_w32_mask(MDIO_CFG_MASK, 0, LTQ_ETOP_MDIO_CFG);
+ ltq_etop_w32_mask(MAC_CFG_MASK, MAC_CFG_CGEN | MAC_CFG_DUPLEX | + ltq_etop_w32_mask(MAC_CFG_MASK, MAC_CFG_CGEN | MAC_CFG_DUPLEX |
+ MAC_CFG_SPEED | MAC_CFG_LINK, LTQ_ETOP_MAC_CFG); + MAC_CFG_SPEED | MAC_CFG_LINK, LTQ_ETOP_MAC_CFG);
+
- switch (priv->pldata->mii_mode) {
+ switch (mii_mode) { + switch (mii_mode) {
case PHY_INTERFACE_MODE_RMII: case PHY_INTERFACE_MODE_RMII:
- ltq_etop_w32_mask(ETOP_MII_MASK, - ltq_etop_w32_mask(ETOP_MII_MASK,
@ -382,8 +382,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_etop_w32(PPE32_CGEN, LQ_PPE32_ENET_MAC_CFG); - ltq_etop_w32(PPE32_CGEN, LQ_PPE32_ENET_MAC_CFG);
+ return 0; + return 0;
+} +}
+
- ltq_dma_init_port(DMA_PORT_ETOP);
+static int +static int
+ltq_etop_dma_init(struct net_device *dev) +ltq_etop_dma_init(struct net_device *dev)
+{ +{
@ -392,21 +391,14 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ int rx = priv->rx_irq - LTQ_DMA_ETOP; + int rx = priv->rx_irq - LTQ_DMA_ETOP;
+ int err; + int err;
ltq_dma_init_port(DMA_PORT_ETOP);
- for (i = 0; i < MAX_DMA_CHAN; i++) { - for (i = 0; i < MAX_DMA_CHAN; i++) {
- int irq = LTQ_DMA_CH0_INT + i; - int irq = LTQ_DMA_CH0_INT + i;
- struct ltq_etop_chan *ch = &priv->ch[i]; - struct ltq_etop_chan *ch = &priv->ch[i];
+ ltq_dma_init_port(DMA_PORT_ETOP); -
- ch->idx = ch->dma.nr = i; - ch->idx = ch->dma.nr = i;
+ priv->txch.dma.nr = tx; -
+ ltq_dma_alloc_tx(&priv->txch.dma);
+ err = request_irq(priv->tx_irq, ltq_etop_dma_irq, 0, "eth_tx", priv);
+ if (err) {
+ netdev_err(dev, "failed to allocate tx irq\n");
+ goto err_out;
+ }
+ priv->txch.dma.irq = priv->tx_irq;
- if (IS_TX(i)) { - if (IS_TX(i)) {
- ltq_dma_alloc_tx(&ch->dma); - ltq_dma_alloc_tx(&ch->dma);
- request_irq(irq, ltq_etop_dma_irq, 0, "etop_tx", priv); - request_irq(irq, ltq_etop_dma_irq, 0, "etop_tx", priv);
@ -418,6 +410,15 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- return -ENOMEM; - return -ENOMEM;
- ch->dma.desc = 0; - ch->dma.desc = 0;
- request_irq(irq, ltq_etop_dma_irq, 0, "etop_rx", priv); - request_irq(irq, ltq_etop_dma_irq, 0, "etop_rx", priv);
+ priv->txch.dma.nr = tx;
+ ltq_dma_alloc_tx(&priv->txch.dma);
+ err = request_irq(priv->tx_irq, ltq_etop_dma_irq, 0, "eth_tx", priv);
+ if (err) {
+ netdev_err(dev, "failed to allocate tx irq\n");
+ goto err_out;
+ }
+ priv->txch.dma.irq = priv->tx_irq;
+
+ priv->rxch.dma.nr = rx; + priv->rxch.dma.nr = rx;
+ ltq_dma_alloc_rx(&priv->rxch.dma); + ltq_dma_alloc_rx(&priv->rxch.dma);
+ for (priv->rxch.dma.desc = 0; priv->rxch.dma.desc < LTQ_DESC_NUM; + for (priv->rxch.dma.desc = 0; priv->rxch.dma.desc < LTQ_DESC_NUM;
@ -655,6 +656,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- phy_stop(priv->phydev); - phy_stop(priv->phydev);
- for (i = 0; i < MAX_DMA_CHAN; i++) { - for (i = 0; i < MAX_DMA_CHAN; i++) {
- struct ltq_etop_chan *ch = &priv->ch[i]; - struct ltq_etop_chan *ch = &priv->ch[i];
-
- if (!IS_RX(i) && !IS_TX(i))
- continue;
- napi_disable(&ch->napi);
- ltq_dma_close(&ch->dma);
- }
+ if (priv->phydev) + if (priv->phydev)
+ phy_stop(priv->phydev); + phy_stop(priv->phydev);
+ napi_disable(&priv->txch.napi); + napi_disable(&priv->txch.napi);
@ -664,12 +671,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_dma_close(&priv->txch.dma); + ltq_dma_close(&priv->txch.dma);
+ ltq_dma_close(&priv->rxch.dma); + ltq_dma_close(&priv->rxch.dma);
+ spin_unlock_irqrestore(&priv->lock, flags); + spin_unlock_irqrestore(&priv->lock, flags);
+
- if (!IS_RX(i) && !IS_TX(i))
- continue;
- napi_disable(&ch->napi);
- ltq_dma_close(&ch->dma);
- }
return 0; return 0;
} }
@ -789,7 +791,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) { if (!res) {
@@ -733,31 +943,62 @@ ltq_etop_probe(struct platform_device *p @@ -733,30 +943,61 @@ ltq_etop_probe(struct platform_device *p
goto err_out; goto err_out;
} }
@ -823,19 +825,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
priv->pdev = pdev; priv->pdev = pdev;
- priv->pldata = dev_get_platdata(&pdev->dev); - priv->pldata = dev_get_platdata(&pdev->dev);
priv->netdev = dev; priv->netdev = dev;
- spin_lock_init(&priv->lock);
+ priv->tx_irq = irqres[0].start; + priv->tx_irq = irqres[0].start;
+ priv->rx_irq = irqres[1].start; + priv->rx_irq = irqres[1].start;
+ priv->mii_mode = of_get_phy_mode(pdev->dev.of_node); + priv->mii_mode = of_get_phy_mode(pdev->dev.of_node);
+
- for (i = 0; i < MAX_DMA_CHAN; i++) {
- if (IS_TX(i))
- netif_napi_add(dev, &priv->ch[i].napi,
- ltq_etop_poll_tx, 8);
- else if (IS_RX(i))
- netif_napi_add(dev, &priv->ch[i].napi,
- ltq_etop_poll_rx, 32);
- priv->ch[i].netdev = dev;
+ mac = of_get_mac_address(pdev->dev.of_node); + mac = of_get_mac_address(pdev->dev.of_node);
+ if (mac) + if (mac)
+ memcpy(priv->mac, mac, ETH_ALEN); + memcpy(priv->mac, mac, ETH_ALEN);
@ -855,18 +848,26 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ priv->clk_ephycgu = clk_get(&pdev->dev, "ephycgu"); + priv->clk_ephycgu = clk_get(&pdev->dev, "ephycgu");
+ if (IS_ERR(priv->clk_ephycgu)) + if (IS_ERR(priv->clk_ephycgu))
+ return PTR_ERR(priv->clk_ephycgu); + return PTR_ERR(priv->clk_ephycgu);
} + }
+ spin_lock_init(&priv->lock);
+ +
spin_lock_init(&priv->lock);
- for (i = 0; i < MAX_DMA_CHAN; i++) {
- if (IS_TX(i))
- netif_napi_add(dev, &priv->ch[i].napi,
- ltq_etop_poll_tx, 8);
- else if (IS_RX(i))
- netif_napi_add(dev, &priv->ch[i].napi,
- ltq_etop_poll_rx, 32);
- priv->ch[i].netdev = dev;
- }
+ netif_napi_add(dev, &priv->txch.napi, ltq_etop_poll_tx, 8); + netif_napi_add(dev, &priv->txch.napi, ltq_etop_poll_tx, 8);
+ netif_napi_add(dev, &priv->rxch.napi, ltq_etop_poll_rx, 32); + netif_napi_add(dev, &priv->rxch.napi, ltq_etop_poll_rx, 32);
+ priv->txch.netdev = dev; + priv->txch.netdev = dev;
+ priv->rxch.netdev = dev; + priv->rxch.netdev = dev;
+
err = register_netdev(dev); err = register_netdev(dev);
if (err) if (err)
goto err_free;
@@ -785,31 +1026,22 @@ ltq_etop_remove(struct platform_device * @@ -785,31 +1026,22 @@ ltq_etop_remove(struct platform_device *
return 0; return 0;
} }

@ -82,7 +82,6 @@
- if (!ltq_mtd->res) { - if (!ltq_mtd->res) {
- dev_err(&pdev->dev, "failed to get memory resource\n"); - dev_err(&pdev->dev, "failed to get memory resource\n");
- return -ENOENT; - return -ENOENT;
- }
+ for (i = 0; i < pdev->num_resources; i++) { + for (i = 0; i < pdev->num_resources; i++) {
+ printk(KERN_NOTICE "lantiq nor flash device: %.8llx at %.8llx\n", + printk(KERN_NOTICE "lantiq nor flash device: %.8llx at %.8llx\n",
+ (unsigned long long)resource_size(&pdev->resource[i]), + (unsigned long long)resource_size(&pdev->resource[i]),
@ -95,27 +94,14 @@
+ dev_err(&pdev->dev, "Could not reserve memory region\n"); + dev_err(&pdev->dev, "Could not reserve memory region\n");
+ return -ENOMEM; + return -ENOMEM;
+ } + }
+
- ltq_mtd->map = devm_kzalloc(&pdev->dev, sizeof(struct map_info),
- GFP_KERNEL);
- if (!ltq_mtd->map)
- return -ENOMEM;
+ ltq_mtd->map[i].name = ltq_map_name; + ltq_mtd->map[i].name = ltq_map_name;
+ ltq_mtd->map[i].bankwidth = 2; + ltq_mtd->map[i].bankwidth = 2;
+ ltq_mtd->map[i].read = ltq_read16; + ltq_mtd->map[i].read = ltq_read16;
+ ltq_mtd->map[i].write = ltq_write16; + ltq_mtd->map[i].write = ltq_write16;
+ ltq_mtd->map[i].copy_from = ltq_copy_from; + ltq_mtd->map[i].copy_from = ltq_copy_from;
+ ltq_mtd->map[i].copy_to = ltq_copy_to; + ltq_mtd->map[i].copy_to = ltq_copy_to;
+
- if (of_find_property(pdev->dev.of_node, "lantiq,noxip", NULL))
- ltq_mtd->map->phys = NO_XIP;
- else
- ltq_mtd->map->phys = ltq_mtd->res->start;
- ltq_mtd->res->start;
- ltq_mtd->map->size = resource_size(ltq_mtd->res);
- ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res);
- if (IS_ERR(ltq_mtd->map->virt))
- return PTR_ERR(ltq_mtd->map->virt);
+ if (of_find_property(pdev->dev.of_node, "lantiq,noxip", NULL)) + if (of_find_property(pdev->dev.of_node, "lantiq,noxip", NULL))
+ ltq_mtd->map[i].phys = NO_XIP; + ltq_mtd->map[i].phys = NO_XIP;
+ else + else
@ -125,30 +111,18 @@
+ ltq_mtd->map[i].size); + ltq_mtd->map[i].size);
+ if (IS_ERR(ltq_mtd->map[i].virt)) + if (IS_ERR(ltq_mtd->map[i].virt))
+ return PTR_ERR(ltq_mtd->map[i].virt); + return PTR_ERR(ltq_mtd->map[i].virt);
+
- ltq_mtd->map->name = ltq_map_name;
- ltq_mtd->map->bankwidth = 2;
- ltq_mtd->map->read = ltq_read16;
- ltq_mtd->map->write = ltq_write16;
- ltq_mtd->map->copy_from = ltq_copy_from;
- ltq_mtd->map->copy_to = ltq_copy_to;
+ if (ltq_mtd->map[i].virt == NULL) { + if (ltq_mtd->map[i].virt == NULL) {
+ dev_err(&pdev->dev, "Failed to ioremap flash region\n"); + dev_err(&pdev->dev, "Failed to ioremap flash region\n");
+ err = PTR_ERR(ltq_mtd->map[i].virt); + err = PTR_ERR(ltq_mtd->map[i].virt);
+ goto err_out; + goto err_out;
+ } + }
+
- ltq_mtd->map->map_priv_1 = LTQ_NOR_PROBING;
- ltq_mtd->mtd = do_map_probe("cfi_probe", ltq_mtd->map);
- ltq_mtd->map->map_priv_1 = LTQ_NOR_NORMAL;
+ ltq_mtd->map[i].map_priv_1 = LTQ_NOR_PROBING; + ltq_mtd->map[i].map_priv_1 = LTQ_NOR_PROBING;
+ for (type = rom_probe_types; !ltq_mtd->mtd[i] && *type; type++) + for (type = rom_probe_types; !ltq_mtd->mtd[i] && *type; type++)
+ ltq_mtd->mtd[i] = do_map_probe(*type, &ltq_mtd->map[i]); + ltq_mtd->mtd[i] = do_map_probe(*type, &ltq_mtd->map[i]);
+ ltq_mtd->map[i].map_priv_1 = LTQ_NOR_NORMAL; + ltq_mtd->map[i].map_priv_1 = LTQ_NOR_NORMAL;
+
- if (!ltq_mtd->mtd) {
- dev_err(&pdev->dev, "probing failed\n");
- return -ENXIO;
+ if (!ltq_mtd->mtd[i]) { + if (!ltq_mtd->mtd[i]) {
+ dev_err(&pdev->dev, "probing failed\n"); + dev_err(&pdev->dev, "probing failed\n");
+ return -ENXIO; + return -ENXIO;
@ -164,7 +138,10 @@
+ cfi->addr_unlock2 ^= 1; + cfi->addr_unlock2 ^= 1;
} }
- ltq_mtd->mtd->dev.parent = &pdev->dev; - ltq_mtd->map = devm_kzalloc(&pdev->dev, sizeof(struct map_info),
- GFP_KERNEL);
- if (!ltq_mtd->map)
- return -ENOMEM;
+ if (devices_found == 1) { + if (devices_found == 1) {
+ ltq_mtd->cmtd = ltq_mtd->mtd[0]; + ltq_mtd->cmtd = ltq_mtd->mtd[0];
+ } else if (devices_found > 1) { + } else if (devices_found > 1) {
@ -176,6 +153,34 @@
+ err = -ENXIO; + err = -ENXIO;
+ } + }
- if (of_find_property(pdev->dev.of_node, "lantiq,noxip", NULL))
- ltq_mtd->map->phys = NO_XIP;
- else
- ltq_mtd->map->phys = ltq_mtd->res->start;
- ltq_mtd->res->start;
- ltq_mtd->map->size = resource_size(ltq_mtd->res);
- ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res);
- if (IS_ERR(ltq_mtd->map->virt))
- return PTR_ERR(ltq_mtd->map->virt);
-
- ltq_mtd->map->name = ltq_map_name;
- ltq_mtd->map->bankwidth = 2;
- ltq_mtd->map->read = ltq_read16;
- ltq_mtd->map->write = ltq_write16;
- ltq_mtd->map->copy_from = ltq_copy_from;
- ltq_mtd->map->copy_to = ltq_copy_to;
-
- ltq_mtd->map->map_priv_1 = LTQ_NOR_PROBING;
- ltq_mtd->mtd = do_map_probe("cfi_probe", ltq_mtd->map);
- ltq_mtd->map->map_priv_1 = LTQ_NOR_NORMAL;
-
- if (!ltq_mtd->mtd) {
- dev_err(&pdev->dev, "probing failed\n");
- return -ENXIO;
- }
-
- ltq_mtd->mtd->dev.parent = &pdev->dev;
-
- cfi = ltq_mtd->map->fldrv_priv; - cfi = ltq_mtd->map->fldrv_priv;
- cfi->addr_unlock1 ^= 1; - cfi->addr_unlock1 ^= 1;
- cfi->addr_unlock2 ^= 1; - cfi->addr_unlock2 ^= 1;

@ -1,6 +1,6 @@
--- a/drivers/mtd/nand/mtk_nand.c --- a/drivers/mtd/nand/mtk_nand.c
+++ b/drivers/mtd/nand/mtk_nand.c +++ b/drivers/mtd/nand/mtk_nand.c
@@ -1017,8 +1017,8 @@ @@ -1017,8 +1017,8 @@ static int mtk_nfc_ooblayout_free(struct
if (section >= eccsteps) if (section >= eccsteps)
return -ERANGE; return -ERANGE;
@ -11,7 +11,7 @@
return 0; return 0;
} }
@@ -1058,7 +1058,7 @@ @@ -1058,7 +1058,7 @@ static void mtk_nfc_set_fdm(struct mtk_n
fdm->reg_size = NFI_FDM_MAX_SIZE; fdm->reg_size = NFI_FDM_MAX_SIZE;
/* bad block mark storage */ /* bad block mark storage */

@ -18,7 +18,7 @@ Signed-off-by: Michał Osowiecki <michal.osowiecki@gmail.com>
--- a/arch/mips/cavium-octeon/setup.c --- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c +++ b/arch/mips/cavium-octeon/setup.c
@@ -944,6 +944,10 @@ @@ -944,6 +944,10 @@ void __init plat_mem_setup(void)
if (mem_alloc_size > MAX_MEMORY) if (mem_alloc_size > MAX_MEMORY)
mem_alloc_size = MAX_MEMORY; mem_alloc_size = MAX_MEMORY;

@ -1,6 +1,6 @@
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -602,6 +602,19 @@ config ARCH_LPC32XX @@ -603,6 +603,19 @@ config ARCH_LPC32XX
help help
Support for the NXP LPC32XX family of processors Support for the NXP LPC32XX family of processors
@ -20,7 +20,7 @@
config ARCH_PXA config ARCH_PXA
bool "PXA2xx/PXA3xx-based" bool "PXA2xx/PXA3xx-based"
depends on MMU depends on MMU
@@ -882,6 +895,8 @@ source "arch/arm/mach-omap2/Kconfig" @@ -883,6 +896,8 @@ source "arch/arm/mach-omap2/Kconfig"
source "arch/arm/mach-orion5x/Kconfig" source "arch/arm/mach-orion5x/Kconfig"

@ -1,6 +1,6 @@
--- a/arch/mips/ralink/mt7620.c --- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c +++ b/arch/mips/ralink/mt7620.c
@@ -389,6 +389,7 @@ void __init ralink_clk_init(void) @@ -509,6 +509,7 @@ void __init ralink_clk_init(void)
unsigned long sys_rate; unsigned long sys_rate;
unsigned long dram_rate; unsigned long dram_rate;
unsigned long periph_rate; unsigned long periph_rate;
@ -8,7 +8,7 @@
xtal_rate = mt7620_get_xtal_rate(); xtal_rate = mt7620_get_xtal_rate();
@@ -403,6 +404,7 @@ void __init ralink_clk_init(void) @@ -523,6 +524,7 @@ void __init ralink_clk_init(void)
cpu_rate = MHZ(575); cpu_rate = MHZ(575);
dram_rate = sys_rate = cpu_rate / 3; dram_rate = sys_rate = cpu_rate / 3;
periph_rate = MHZ(40); periph_rate = MHZ(40);
@ -16,7 +16,7 @@
ralink_clk_add("10000d00.uartlite", periph_rate); ralink_clk_add("10000d00.uartlite", periph_rate);
ralink_clk_add("10000e00.uartlite", periph_rate); ralink_clk_add("10000e00.uartlite", periph_rate);
@@ -414,6 +416,7 @@ void __init ralink_clk_init(void) @@ -534,6 +536,7 @@ void __init ralink_clk_init(void)
dram_rate = mt7620_get_dram_rate(pll_rate); dram_rate = mt7620_get_dram_rate(pll_rate);
sys_rate = mt7620_get_sys_rate(cpu_rate); sys_rate = mt7620_get_sys_rate(cpu_rate);
periph_rate = mt7620_get_periph_rate(xtal_rate); periph_rate = mt7620_get_periph_rate(xtal_rate);
@ -24,7 +24,7 @@
pr_debug(RFMT("XTAL") RFMT("CPU_PLL") RFMT("PLL"), pr_debug(RFMT("XTAL") RFMT("CPU_PLL") RFMT("PLL"),
RINT(xtal_rate), RFRAC(xtal_rate), RINT(xtal_rate), RFRAC(xtal_rate),
@@ -435,6 +438,8 @@ void __init ralink_clk_init(void) @@ -555,6 +558,8 @@ void __init ralink_clk_init(void)
ralink_clk_add("cpu", cpu_rate); ralink_clk_add("cpu", cpu_rate);
ralink_clk_add("10000100.timer", periph_rate); ralink_clk_add("10000100.timer", periph_rate);
ralink_clk_add("10000120.watchdog", periph_rate); ralink_clk_add("10000120.watchdog", periph_rate);

Loading…
Cancel
Save