From 76d079204df113afa9e382a43abb5e1a2135150d Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Thu, 21 May 2015 19:32:46 +0000 Subject: kernel: update 3.18 to 3.18.14 Changelogs: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.12 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.13 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.14 Build tested on brcm63xx and ipq806x, runtested on brcm63xx. Signed-off-by: Jonas Gorski SVN-Revision: 45711 --- .../linux/gemini/patches-3.18/002-gemini-rtc.patch | 2 +- .../gemini/patches-3.18/021-reset-parameters.patch | 6 ++-- .../gemini/patches-3.18/050-gpio-to-irq.patch | 6 ++-- target/linux/gemini/patches-3.18/060-cache-fa.diff | 8 ++--- .../120-net-add-gemini-gmac-driver.patch | 37 ++++++++++--------- .../121-arm-gemini-register-ethernet.patch | 7 ++-- .../gemini/patches-3.18/130-usb-ehci-fot2g.patch | 41 ++++++++++------------ .../patches-3.18/132-arm-gemini-register-usb.patch | 2 +- .../gemini/patches-3.18/150-gemini-pata.patch | 20 +++++------ .../gemini/patches-3.18/160-gemini-timers.patch | 10 +++--- 10 files changed, 67 insertions(+), 72 deletions(-) (limited to 'target/linux/gemini') diff --git a/target/linux/gemini/patches-3.18/002-gemini-rtc.patch b/target/linux/gemini/patches-3.18/002-gemini-rtc.patch index 1c6edd24d7..f16e6a32b2 100644 --- a/target/linux/gemini/patches-3.18/002-gemini-rtc.patch +++ b/target/linux/gemini/patches-3.18/002-gemini-rtc.patch @@ -18,7 +18,7 @@ depends on SH_LANDISK --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile -@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_DS3234) += rtc-ds3234.o +@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o diff --git a/target/linux/gemini/patches-3.18/021-reset-parameters.patch b/target/linux/gemini/patches-3.18/021-reset-parameters.patch index b466badd67..644e513746 100644 --- a/target/linux/gemini/patches-3.18/021-reset-parameters.patch +++ b/target/linux/gemini/patches-3.18/021-reset-parameters.patch @@ -13,9 +13,9 @@ { __raw_writel(RESET_GLOBAL | RESET_CPU1, IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET); ---- a/arch/arm/mach-gemini/common.h 2014-08-23 07:06:06.014200638 -0500 -+++ b/arch/arm/mach-gemini/common.h 2014-08-23 07:07:33.450536466 -0500 -@@ -26,6 +26,6 @@ +--- a/arch/arm/mach-gemini/common.h ++++ b/arch/arm/mach-gemini/common.h +@@ -26,6 +26,6 @@ extern int platform_register_pflash(unsi struct mtd_partition *parts, unsigned int nr_parts); diff --git a/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch b/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch index 18b0abdac6..7572849864 100644 --- a/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch +++ b/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch @@ -1,6 +1,6 @@ ---- a/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:52.492113048 +0100 -+++ b/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:59.876498159 +0100 -@@ -196,12 +196,18 @@ +--- a/arch/arm/mach-gemini/gpio.c ++++ b/arch/arm/mach-gemini/gpio.c +@@ -196,12 +196,18 @@ static int gemini_gpio_direction_output( return 0; } diff --git a/target/linux/gemini/patches-3.18/060-cache-fa.diff b/target/linux/gemini/patches-3.18/060-cache-fa.diff index d337607e97..fc74c0af88 100644 --- a/target/linux/gemini/patches-3.18/060-cache-fa.diff +++ b/target/linux/gemini/patches-3.18/060-cache-fa.diff @@ -1,5 +1,5 @@ ---- a/arch/arm/mm/cache-fa.S 2011-01-05 01:50:19.000000000 +0100 -+++ b/arch/arm/mm/cache-fa.S 2012-07-25 14:30:40.883639094 +0200 +--- a/arch/arm/mm/cache-fa.S ++++ b/arch/arm/mm/cache-fa.S @@ -24,7 +24,8 @@ /* * The size of one data cache line. @@ -10,7 +10,7 @@ /* * The total size of the data cache. -@@ -169,7 +170,17 @@ +@@ -169,7 +170,17 @@ ENTRY(fa_flush_kern_dcache_area) * - start - virtual start address * - end - virtual end address */ @@ -28,7 +28,7 @@ tst r0, #CACHE_DLINESIZE - 1 bic r0, r0, #CACHE_DLINESIZE - 1 mcrne p15, 0, r0, c7, c14, 1 @ clean & invalidate D entry -@@ -193,6 +204,10 @@ +@@ -193,6 +204,10 @@ fa_dma_inv_range: * - end - virtual end address */ fa_dma_clean_range: diff --git a/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch b/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch index 64468133b8..5f916abfa4 100644 --- a/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch +++ b/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch @@ -22,8 +22,8 @@ +}; + +#endif /* __NET_GEMINI_PLATFORM_H__ */ ---- a/arch/arm/mach-gemini/common.h 2011-04-19 03:05:29.446367900 +0200 -+++ b/arch/arm/mach-gemini/common.h 2011-04-19 03:07:02.191154293 +0200 +--- a/arch/arm/mach-gemini/common.h ++++ b/arch/arm/mach-gemini/common.h @@ -13,6 +13,7 @@ #define __GEMINI_COMMON_H__ @@ -32,7 +32,7 @@ extern void gemini_map_io(void); extern void gemini_init_irq(void); -@@ -26,6 +27,7 @@ +@@ -26,6 +27,7 @@ extern int platform_register_pflash(unsi struct mtd_partition *parts, unsigned int nr_parts); extern int platform_register_watchdog(void); @@ -40,8 +40,8 @@ extern void gemini_restart(enum reboot_mode mode, const char *cmd); ---- a/arch/arm/mach-gemini/devices.c 2011-04-21 13:01:53.578121892 +0200 -+++ b/arch/arm/mach-gemini/devices.c 2011-04-21 13:14:27.643158445 +0200 +--- a/arch/arm/mach-gemini/devices.c ++++ b/arch/arm/mach-gemini/devices.c @@ -17,6 +17,7 @@ #include #include @@ -50,7 +50,7 @@ #include "common.h" static struct plat_serial8250_port serial_platform_data[] = { -@@ -134,3 +134,56 @@ +@@ -134,3 +135,56 @@ int __init platform_register_watchdog(vo { return platform_device_register(&wdt_device); } @@ -107,10 +107,9 @@ + + return platform_device_register(ðernet_device); +} - ---- a/drivers/net/ethernet/Kconfig 2012-01-25 22:19:43.633736456 +0100 -+++ b/drivers/net/ethernet/Kconfig 2012-01-25 22:20:28.582730742 +0100 -@@ -70,6 +70,7 @@ +--- a/drivers/net/ethernet/Kconfig ++++ b/drivers/net/ethernet/Kconfig +@@ -70,6 +70,7 @@ source "drivers/net/ethernet/neterion/Kc source "drivers/net/ethernet/faraday/Kconfig" source "drivers/net/ethernet/freescale/Kconfig" source "drivers/net/ethernet/fujitsu/Kconfig" @@ -118,9 +117,9 @@ source "drivers/net/ethernet/hisilicon/Kconfig" source "drivers/net/ethernet/hp/Kconfig" source "drivers/net/ethernet/ibm/Kconfig" ---- a/drivers/net/ethernet/Makefile 2012-01-27 01:37:10.839114389 +0100 -+++ b/drivers/net/ethernet/Makefile 2012-01-27 01:39:06.102105027 +0100 -@@ -33,6 +33,7 @@ +--- a/drivers/net/ethernet/Makefile ++++ b/drivers/net/ethernet/Makefile +@@ -33,6 +33,7 @@ obj-$(CONFIG_NET_VENDOR_EXAR) += neterio obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/ obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/ obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/ @@ -128,8 +127,8 @@ obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/ obj-$(CONFIG_NET_VENDOR_HP) += hp/ obj-$(CONFIG_NET_VENDOR_IBM) += ibm/ ---- /dev/null 2012-01-23 21:36:48.249769447 +0100 -+++ b/drivers/net/ethernet/gemini/Kconfig 2012-01-25 22:16:44.285740226 +0100 +--- /dev/null ++++ b/drivers/net/ethernet/gemini/Kconfig @@ -0,0 +1,31 @@ +# +# Gemini device configuration @@ -162,16 +161,16 @@ + This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet. + +endif # NET_VENDOR_GEMINI ---- /dev/null 2012-01-23 21:36:48.249769447 +0100 -+++ b/drivers/net/ethernet/gemini/Makefile 2012-01-25 22:17:29.698741496 +0100 +--- /dev/null ++++ b/drivers/net/ethernet/gemini/Makefile @@ -0,0 +1,5 @@ +# +# Makefile for the Cortina Gemini network device drivers. +# + +obj-$(CONFIG_GEMINI_SL351X) += sl351x.o ---- /dev/null 2012-01-23 21:36:48.249769447 +0100 -+++ b/drivers/net/ethernet/gemini/sl351x.c 2012-01-27 17:09:51.000000000 +0100 +--- /dev/null ++++ b/drivers/net/ethernet/gemini/sl351x.c @@ -0,0 +1,2340 @@ +/* + * Ethernet device driver for Gemini SoC (SL351x GMAC). diff --git a/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch b/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch index 8ce3de27fe..5ae896c66f 100644 --- a/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch +++ b/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch @@ -1,5 +1,5 @@ ---- a/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:19:09.878432930 +0200 -+++ b/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:30:37.555082365 +0200 +--- a/arch/arm/mach-gemini/board-nas4220b.c ++++ b/arch/arm/mach-gemini/board-nas4220b.c @@ -28,9 +28,27 @@ #include @@ -28,7 +28,7 @@ static struct gpio_led ib4220b_leds[] = { { .name = "nas4220b:orange:hdd", -@@ -87,9 +105,39 @@ +@@ -87,15 +105,47 @@ static struct platform_device ib4220b_ke }, }; @@ -68,7 +68,6 @@ platform_register_uart(); platform_register_pflash(SZ_16M, NULL, 0); platform_device_register(&ib4220b_led_device); -@@ -96,6 +144,8 @@ platform_device_register(&ib4220b_key_device); platform_register_rtc(); platform_register_watchdog(); diff --git a/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch b/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch index d621fe3645..d13554e535 100644 --- a/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch +++ b/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch @@ -1,6 +1,6 @@ ---- a/arch/arm/mach-gemini/devices.c 2011-04-23 01:00:16.738137491 +0200 -+++ b/arch/arm/mach-gemini/devices.c 2011-04-23 01:06:55.539299920 +0200 -@@ -188,3 +188,64 @@ +--- a/arch/arm/mach-gemini/devices.c ++++ b/arch/arm/mach-gemini/devices.c +@@ -188,3 +188,64 @@ int platform_register_ethernet(struct ge return platform_device_register(ðernet_device); } @@ -65,9 +65,9 @@ + return platform_device_register(&usb_device[id]); +} + ---- a/arch/arm/mach-gemini/common.h 2011-04-23 01:09:31.413161153 +0200 -+++ b/arch/arm/mach-gemini/common.h 2011-04-23 01:09:52.426358514 +0200 -@@ -28,6 +28,7 @@ +--- a/arch/arm/mach-gemini/common.h ++++ b/arch/arm/mach-gemini/common.h +@@ -28,6 +28,7 @@ extern int platform_register_pflash(unsi unsigned int nr_parts); extern int platform_register_watchdog(void); extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata); @@ -77,8 +77,7 @@ --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -345,12 +345,14 @@ static void ehci_silence_controller(struct ehci_hcd *ehci) - spin_lock_irq(&ehci->lock); +@@ -346,11 +346,13 @@ static void ehci_silence_controller(stru ehci->rh_state = EHCI_RH_HALTED; ehci_turn_off_all_ports(ehci); @@ -92,7 +91,7 @@ spin_unlock_irq(&ehci->lock); } -@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd) +@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd // Philips, Intel, and maybe others need CMD_RUN before the // root hub will detect new devices (why?); NEC doesn't ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET); @@ -102,7 +101,7 @@ ehci_writel(ehci, ehci->command, &ehci->regs->command); dbg_cmd (ehci, "init", ehci->command); -@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd) +@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd */ down_write(&ehci_cf_port_reset_rwsem); ehci->rh_state = EHCI_RH_RUNNING; @@ -114,7 +113,7 @@ up_write(&ehci_cf_port_reset_rwsem); ehci->last_periodic_enable = ktime_get_real(); -@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd) +@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_ pcd_status = status; /* resume root hub? */ @@ -138,9 +137,9 @@ #ifdef CONFIG_USB_EHCI_FSL #include "ehci-fsl.c" #define PLATFORM_DRIVER ehci_fsl_driver ---- a/drivers/usb/host/ehci-timer.c 2012-12-24 18:35:19.695560879 +0100 -+++ b/drivers/usb/host/ehci-timer.c 2012-12-24 18:39:39.813308000 +0100 -@@ -208,7 +208,9 @@ +--- a/drivers/usb/host/ehci-timer.c ++++ b/drivers/usb/host/ehci-timer.c +@@ -208,7 +208,9 @@ static void ehci_handle_controller_death /* Clean up the mess */ ehci->rh_state = EHCI_RH_HALTED; @@ -168,7 +167,7 @@ case 1: --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c -@@ -1072,6 +1072,11 @@ static int ehci_hub_control ( +@@ -1075,6 +1075,11 @@ int ehci_hub_control( /* see what we found out */ temp = check_reset_complete (ehci, wIndex, status_reg, ehci_readl(ehci, status_reg)); @@ -180,26 +179,24 @@ } /* transfer dedicated ports to the companion hc */ ---- a/include/linux/usb/ehci_def.h 2012-12-24 15:01:10.168320497 +0100 -+++ b/include/linux/usb/ehci_def.h 2012-12-24 15:11:43.335575000 +0100 -@@ -110,9 +110,14 @@ +--- a/include/linux/usb/ehci_def.h ++++ b/include/linux/usb/ehci_def.h +@@ -110,8 +110,13 @@ struct ehci_regs { u32 frame_list; /* points to periodic list */ /* ASYNCLISTADDR: offset 0x18 */ u32 async_next; /* address of next async queue head */ - +#ifndef CONFIG_ARCH_GEMINI u32 reserved1[2]; -- +#else + u32 reserved1; + /* PORTSC: offset 0x20 for Faraday OTG */ + u32 port_status[1]; +#endif -+ + /* TXFILLTUNING: offset 0x24 */ u32 txfill_tuning; /* TX FIFO Tuning register */ - #define TXFIFO_DEFAULT (8<<16) /* FIFO burst threshold 8 */ -@@ -123,8 +128,11 @@ +@@ -123,8 +128,11 @@ struct ehci_regs { u32 configured_flag; #define FLAG_CF (1<<0) /* true: we'll support "high speed" */ diff --git a/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch b/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch index 222e485989..2a61d828ea 100644 --- a/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch +++ b/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch @@ -30,7 +30,7 @@ MACHINE_START(RUT100, "Teltonika RUT100") --- a/arch/arm/mach-gemini/board-nas4220b.c +++ b/arch/arm/mach-gemini/board-nas4220b.c -@@ -134,10 +134,23 @@ +@@ -134,10 +134,23 @@ static void __init ib4220b_gmac_init(voi GLOBAL_ARBITRATION1_CTRL)); } diff --git a/target/linux/gemini/patches-3.18/150-gemini-pata.patch b/target/linux/gemini/patches-3.18/150-gemini-pata.patch index 21fd801f91..62a71def76 100644 --- a/target/linux/gemini/patches-3.18/150-gemini-pata.patch +++ b/target/linux/gemini/patches-3.18/150-gemini-pata.patch @@ -15,9 +15,9 @@ #define USB1_VBUS_ON (1 << 23) #define USB0_VBUS_ON (1 << 22) #define APB_CLKOUT_ENABLE (1 << 21) ---- a/arch/arm/mach-gemini/irq.c 2013-02-19 13:38:13.263948000 +0100 -+++ b/arch/arm/mach-gemini/irq.c 2013-02-19 18:24:02.912997292 +0100 -@@ -89,6 +89,9 @@ +--- a/arch/arm/mach-gemini/irq.c ++++ b/arch/arm/mach-gemini/irq.c +@@ -89,6 +89,9 @@ void __init gemini_init_irq(void) irq_set_handler(i, handle_edge_irq); mode |= 1 << i; level |= 1 << i; @@ -29,7 +29,7 @@ } --- a/arch/arm/mach-gemini/common.h +++ b/arch/arm/mach-gemini/common.h -@@ -29,6 +29,7 @@ +@@ -29,6 +29,7 @@ extern int platform_register_pflash(unsi extern int platform_register_watchdog(void); extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata); extern int platform_register_usb(unsigned int id); @@ -39,7 +39,7 @@ --- a/arch/arm/mach-gemini/devices.c +++ b/arch/arm/mach-gemini/devices.c -@@ -249,3 +249,67 @@ +@@ -249,3 +249,67 @@ int __init platform_register_usb(unsigne return platform_device_register(&usb_device[id]); } @@ -109,7 +109,7 @@ +} --- a/arch/arm/mach-gemini/mm.c +++ b/arch/arm/mach-gemini/mm.c -@@ -24,6 +24,11 @@ +@@ -24,6 +24,11 @@ static struct map_desc gemini_io_desc[] .length = SZ_512K, .type = MT_DEVICE, }, { @@ -123,7 +123,7 @@ .length = SZ_512K, --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig -@@ -536,6 +536,16 @@ config PATA_EFAR +@@ -536,6 +536,16 @@ config PATA_EP93XX If unsure, say N. @@ -142,7 +142,7 @@ depends on PCI --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile -@@ -53,6 +53,7 @@ +@@ -53,6 +53,7 @@ obj-$(CONFIG_PATA_CS5536) += pata_cs5536 obj-$(CONFIG_PATA_CYPRESS) += pata_cypress.o obj-$(CONFIG_PATA_EFAR) += pata_efar.o obj-$(CONFIG_PATA_EP93XX) += pata_ep93xx.o @@ -152,7 +152,7 @@ obj-$(CONFIG_PATA_HPT3X2N) += pata_hpt3x2n.o --- a/arch/arm/mach-gemini/board-nas4220b.c +++ b/arch/arm/mach-gemini/board-nas4220b.c -@@ -146,11 +146,28 @@ +@@ -146,11 +146,28 @@ static void __init usb_ib4220b_init(void GLOBAL_MISC_CTRL)); } @@ -181,7 +181,7 @@ platform_register_uart(); platform_register_pflash(SZ_16M, NULL, 0); platform_device_register(&ib4220b_led_device); -@@ -161,6 +178,8 @@ +@@ -161,6 +178,8 @@ static void __init ib4220b_init(void) platform_register_ethernet(&ib4220b_gmac_data); platform_register_usb(0); platform_register_usb(1); diff --git a/target/linux/gemini/patches-3.18/160-gemini-timers.patch b/target/linux/gemini/patches-3.18/160-gemini-timers.patch index 06251356d2..4b0edb45d1 100644 --- a/target/linux/gemini/patches-3.18/160-gemini-timers.patch +++ b/target/linux/gemini/patches-3.18/160-gemini-timers.patch @@ -1,5 +1,5 @@ ---- a/arch/arm/mach-gemini/time.c 2015-03-25 23:06:03.188317455 +0200 -+++ b/arch/arm/mach-gemini/time.c 2015-03-25 23:06:24.417315486 +0200 +--- a/arch/arm/mach-gemini/time.c ++++ b/arch/arm/mach-gemini/time.c @@ -15,15 +15,18 @@ #include #include @@ -76,7 +76,7 @@ return 0; } -@@ -66,48 +80,68 @@ +@@ -66,48 +80,68 @@ static void gemini_timer_set_mode(enum c u32 cr; switch (mode) { @@ -176,7 +176,7 @@ { struct clock_event_device *evt = &gemini_clockevent; -@@ -116,14 +150,11 @@ +@@ -116,14 +150,11 @@ static irqreturn_t gemini_timer_interrup } static struct irqaction gemini_timer_irq = { @@ -194,7 +194,7 @@ void __init gemini_timer_init(void) { u32 reg_v; -@@ -151,20 +182,35 @@ +@@ -151,20 +182,35 @@ void __init gemini_timer_init(void) } /* -- cgit v1.2.3