summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-4.9
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2017-02-15 21:54:37 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2017-02-16 00:46:23 +0100
commit236840eb473d271450d9864d1c46927ddaf305ee (patch)
treec9b34623da285c535cafdcd7fbc286a5f39f7462 /target/linux/generic/patches-4.9
parentd517f043434901452fd19dabc7deefb58179c444 (diff)
downloadmtk-20170518-236840eb473d271450d9864d1c46927ddaf305ee.zip
mtk-20170518-236840eb473d271450d9864d1c46927ddaf305ee.tar.gz
mtk-20170518-236840eb473d271450d9864d1c46927ddaf305ee.tar.bz2
kernel: update kernel 4.9 to version 4.9.10
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/generic/patches-4.9')
-rw-r--r--target/linux/generic/patches-4.9/170-Revert-bcma-init-serial-console-directly-from-ChipCo.patch92
-rw-r--r--target/linux/generic/patches-4.9/304-mips_disable_fpu.patch12
-rw-r--r--target/linux/generic/patches-4.9/834-ledtrig-libata.patch8
3 files changed, 10 insertions, 102 deletions
diff --git a/target/linux/generic/patches-4.9/170-Revert-bcma-init-serial-console-directly-from-ChipCo.patch b/target/linux/generic/patches-4.9/170-Revert-bcma-init-serial-console-directly-from-ChipCo.patch
deleted file mode 100644
index affe090..0000000
--- a/target/linux/generic/patches-4.9/170-Revert-bcma-init-serial-console-directly-from-ChipCo.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Subject: [PATCH] Revert "bcma: init serial console directly from ChipCommon
- code"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This reverts commit 4c81acab3816 ("bcma: init serial console directly
-from ChipCommon code") as it broke IRQ assignment. Getting IRQ with
-bcma_core_irq helper on SoC requires MIPS core to be set. It happens
-*after* ChipCommon initialization so we can't do this so early.
-
-This fixes a user reported regression. It wasn't critical as serial was
-still somehow working but lack of IRQs was making in unreliable.
-
-Fixes: 4c81acab3816 ("bcma: init serial console directly from ChipCommon code")
-Reported-by: Felix Fietkau <nbd@nbd.name>
-Cc: stable@vger.kernel.org # 4.6+
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
----
- drivers/bcma/bcma_private.h | 3 +++
- drivers/bcma/driver_chipcommon.c | 11 +++--------
- drivers/bcma/driver_mips.c | 3 +++
- 3 files changed, 9 insertions(+), 8 deletions(-)
-
---- a/drivers/bcma/bcma_private.h
-+++ b/drivers/bcma/bcma_private.h
-@@ -45,6 +45,9 @@ int bcma_sprom_get(struct bcma_bus *bus)
- void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc);
- void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
- void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
-+#ifdef CONFIG_BCMA_DRIVER_MIPS
-+void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
-+#endif /* CONFIG_BCMA_DRIVER_MIPS */
-
- /* driver_chipcommon_b.c */
- int bcma_core_chipcommon_b_init(struct bcma_drv_cc_b *ccb);
---- a/drivers/bcma/driver_chipcommon.c
-+++ b/drivers/bcma/driver_chipcommon.c
-@@ -15,8 +15,6 @@
- #include <linux/platform_device.h>
- #include <linux/bcma/bcma.h>
-
--static void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
--
- static inline u32 bcma_cc_write32_masked(struct bcma_drv_cc *cc, u16 offset,
- u32 mask, u32 value)
- {
-@@ -186,9 +184,6 @@ void bcma_core_chipcommon_early_init(str
- if (cc->capabilities & BCMA_CC_CAP_PMU)
- bcma_pmu_early_init(cc);
-
-- if (IS_BUILTIN(CONFIG_BCM47XX) && bus->hosttype == BCMA_HOSTTYPE_SOC)
-- bcma_chipco_serial_init(cc);
--
- if (bus->hosttype == BCMA_HOSTTYPE_SOC)
- bcma_core_chipcommon_flash_detect(cc);
-
-@@ -378,9 +373,9 @@ u32 bcma_chipco_gpio_pulldown(struct bcm
- return res;
- }
-
--static void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
-+#ifdef CONFIG_BCMA_DRIVER_MIPS
-+void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
- {
--#if IS_BUILTIN(CONFIG_BCM47XX)
- unsigned int irq;
- u32 baud_base;
- u32 i;
-@@ -422,5 +417,5 @@ static void bcma_chipco_serial_init(stru
- ports[i].baud_base = baud_base;
- ports[i].reg_shift = 0;
- }
--#endif /* CONFIG_BCM47XX */
- }
-+#endif /* CONFIG_BCMA_DRIVER_MIPS */
---- a/drivers/bcma/driver_mips.c
-+++ b/drivers/bcma/driver_mips.c
-@@ -278,9 +278,12 @@ static void bcma_core_mips_nvram_init(st
-
- void bcma_core_mips_early_init(struct bcma_drv_mips *mcore)
- {
-+ struct bcma_bus *bus = mcore->core->bus;
-+
- if (mcore->early_setup_done)
- return;
-
-+ bcma_chipco_serial_init(&bus->drv_cc);
- bcma_core_mips_nvram_init(mcore);
-
- mcore->early_setup_done = true;
diff --git a/target/linux/generic/patches-4.9/304-mips_disable_fpu.patch b/target/linux/generic/patches-4.9/304-mips_disable_fpu.patch
index b46ae87..af09137 100644
--- a/target/linux/generic/patches-4.9/304-mips_disable_fpu.patch
+++ b/target/linux/generic/patches-4.9/304-mips_disable_fpu.patch
@@ -26,7 +26,7 @@ v2: incorporated changes suggested by Jonas Gorski
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2891,6 +2891,20 @@
+@@ -2891,6 +2891,20 @@ config MIPS_O32_FP64_SUPPORT
If unsure, say N.
@@ -49,7 +49,7 @@ v2: incorporated changes suggested by Jonas Gorski
select OF
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -287,7 +287,7 @@
+@@ -287,7 +287,7 @@ OBJCOPYFLAGS += --remove-section=.regin
head-y := arch/mips/kernel/head.o
libs-y += arch/mips/lib/
@@ -60,7 +60,7 @@ v2: incorporated changes suggested by Jonas Gorski
core-y += arch/mips/
--- a/arch/mips/include/asm/fpu.h
+++ b/arch/mips/include/asm/fpu.h
-@@ -227,8 +227,10 @@
+@@ -227,8 +227,10 @@ static inline int init_fpu(void)
/* Restore FRE */
write_c0_config5(config5);
enable_fpu_hazard();
@@ -82,7 +82,7 @@ v2: incorporated changes suggested by Jonas Gorski
#ifdef CONFIG_DEBUG_FS
struct mips_fpu_emulator_stats {
-@@ -63,6 +64,16 @@
+@@ -63,6 +64,16 @@ do { \
extern int fpu_emulator_cop1Handler(struct pt_regs *xcp,
struct mips_fpu_struct *ctx, int has_fpu,
void *__user *fault_addr);
@@ -101,7 +101,7 @@ v2: incorporated changes suggested by Jonas Gorski
int process_fpemu_return(int sig, void __user *fault_addr,
--- a/arch/mips/include/asm/dsemul.h
+++ b/arch/mips/include/asm/dsemul.h
-@@ -41,6 +41,7 @@
+@@ -41,6 +41,7 @@ struct task_struct;
extern int mips_dsemul(struct pt_regs *regs, mips_instruction ir,
unsigned long branch_pc, unsigned long cont_pc);
@@ -109,7 +109,7 @@ v2: incorporated changes suggested by Jonas Gorski
/**
* do_dsemulret() - Return from a delay slot 'emulation' frame
* @xcp: User thread register context.
-@@ -88,5 +89,27 @@
+@@ -88,5 +89,27 @@ extern bool dsemul_thread_rollback(struc
* before @mm is freed in order to avoid memory leaks.
*/
extern void dsemul_mm_cleanup(struct mm_struct *mm);
diff --git a/target/linux/generic/patches-4.9/834-ledtrig-libata.patch b/target/linux/generic/patches-4.9/834-ledtrig-libata.patch
index 00e04a6..63a31f5 100644
--- a/target/linux/generic/patches-4.9/834-ledtrig-libata.patch
+++ b/target/linux/generic/patches-4.9/834-ledtrig-libata.patch
@@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4961,6 +4974,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4963,6 +4976,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
@@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
-@@ -5863,6 +5879,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5865,6 +5881,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
@@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap);
return ap;
-@@ -5884,6 +5903,12 @@ static void ata_host_release(struct devi
+@@ -5886,6 +5905,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6330,7 +6355,23 @@ int ata_host_register(struct ata_host *h
+@@ -6332,7 +6357,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}