LINUX_RELEASE?=1
-LINUX_VERSION-3.18 = .19
+LINUX_VERSION-3.18 = .20
LINUX_VERSION-4.0 = .9
LINUX_VERSION-4.1 = .4
-LINUX_KERNEL_MD5SUM-3.18.19 = a143f9421bd8413752609d0d771c2955
+LINUX_KERNEL_MD5SUM-3.18.20 = 952c9159acdf4efbc96e08a27109d994
LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
LINUX_KERNEL_MD5SUM-4.1.4 = 32cb4dd9f14d37bf71bafa6ed368f769
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -225,6 +225,46 @@ static struct board_info __initdata board_dsl_2751b_d1 = {
+@@ -225,6 +225,46 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
},
};
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2352,6 +2392,7 @@ static const struct board_info __initconst *bcm963xx_boards[] = {
+@@ -2352,6 +2392,7 @@ static const struct board_info __initcon
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2449,6 +2490,7 @@ static struct of_device_id const bcm963xx_boards_dt[] = {
+@@ -2449,6 +2490,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
{ .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4756,6 +4769,9 @@ static struct ata_queued_cmd *ata_qc_new
+@@ -4761,6 +4774,9 @@ static struct ata_queued_cmd *ata_qc_new
break;
}
}
return qc;
}
-@@ -5666,6 +5682,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5671,6 +5687,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ata_sff_port_init(ap);
return ap;
-@@ -5687,6 +5706,12 @@ static void ata_host_release(struct devi
+@@ -5692,6 +5711,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6133,7 +6158,23 @@ int ata_host_register(struct ata_host *h
+@@ -6138,7 +6163,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;
}
/*
* Define if arch has non-standard setup. This is a _PCI_ standard
-@@ -871,6 +874,12 @@ struct ata_port {
+@@ -872,6 +875,12 @@ struct ata_port {
#ifdef CONFIG_ATA_ACPI
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
#endif
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4752,6 +4760,9 @@ static struct ata_queued_cmd *ata_qc_new
+@@ -4757,6 +4765,9 @@ static struct ata_queued_cmd *ata_qc_new
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
for (i = 0, tag = ap->last_tag + 1; i < max_queue; i++, tag++) {
if (ap->flags & ATA_FLAG_LOWTAG)
tag = i;
-@@ -4824,6 +4835,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -4829,6 +4840,8 @@ void ata_qc_free(struct ata_queued_cmd *
if (likely(ata_tag_valid(tag))) {
qc->tag = ATA_TAG_POISON;
clear_bit(tag, &ap->qc_allocated);
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
-@@ -900,6 +900,8 @@ struct ata_port_operations {
+@@ -901,6 +901,8 @@ struct ata_port_operations {
void (*qc_prep)(struct ata_queued_cmd *qc);
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
/*
* Configuration and exception handling
-@@ -990,6 +992,9 @@ struct ata_port_operations {
+@@ -991,6 +993,9 @@ struct ata_port_operations {
void (*phy_reset)(struct ata_port *ap);
void (*eng_timeout)(struct ata_port *ap);
/*
* When the CPU goes into sleep mode, the BUS clock will be too low for
* USB to function properly
-@@ -367,6 +500,52 @@ void __init ralink_of_remap(void)
+@@ -367,6 +502,52 @@ void __init ralink_of_remap(void)
panic("Failed to remap core resources");
}
void prom_soc_init(struct ralink_soc_info *soc_info)
{
void __iomem *sysc = (void __iomem *) KSEG1ADDR(MT7620_SYSC_BASE);
-@@ -384,18 +563,25 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -384,18 +565,25 @@ void prom_soc_init(struct ralink_soc_inf
rev = __raw_readl(sysc + SYSC_REG_CHIP_REV);
bga = (rev >> CHIP_REV_PKG_SHIFT) & CHIP_REV_PKG_MASK;
}
snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN,
-@@ -407,28 +593,11 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -407,28 +595,11 @@ void prom_soc_init(struct ralink_soc_inf
cfg0 = __raw_readl(sysc + SYSC_REG_SYSTEM_CONFIG0);
dram_type = (cfg0 >> SYSCFG0_DRAM_TYPE_SHIFT) & SYSCFG0_DRAM_TYPE_MASK;
pmu0 = __raw_readl(sysc + PMU0_CFG);
pmu1 = __raw_readl(sysc + PMU1_CFG);
-@@ -437,4 +606,9 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -437,4 +608,9 @@ void prom_soc_init(struct ralink_soc_inf
(pmu0 & PMU_SW_SET) ? ("sw") : ("hw"));
pr_info("Digital PMU set to %s control\n",
(pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
+};
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -710,6 +710,10 @@
+@@ -710,6 +710,10 @@ config I2C_RK3X
This driver can also be built as a module. If so, the module will
be called i2c-rk3x.
help
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
-@@ -66,6 +66,7 @@
+@@ -66,6 +66,7 @@ obj-$(CONFIG_I2C_PNX) += i2c-pnx.o
obj-$(CONFIG_I2C_PUV3) += i2c-puv3.o
obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -773,3 +773,5 @@
+@@ -773,3 +773,5 @@ config MMC_SUNXI
help
This selects support for the SD/MMC Host Controller on
Allwinner sunxi SoCs.
if (xtal_rate == MHZ(40))
cpu_rate = MHZ(580);
else
-@@ -418,7 +416,7 @@ void __init ralink_clk_init(void)
- ralink_clk_add("10000c00.uartlite", periph_rate);
+@@ -420,7 +418,7 @@ void __init ralink_clk_init(void)
+ ralink_clk_add("10000e00.uart2", periph_rate);
ralink_clk_add("10180000.wmac", xtal_rate);
- if (IS_ENABLED(CONFIG_USB) && mt762x_soc != MT762X_SOC_MT7628AN) {
/*
* When the CPU goes into sleep mode, the BUS clock will be too low for
* USB to function properly
-@@ -506,11 +504,11 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -508,11 +506,11 @@ void prom_soc_init(struct ralink_soc_inf
if (n0 == MT7620_CHIP_NAME0 && n1 == MT7620_CHIP_NAME1) {
if (bga) {
name = "MT7620N";
soc_info->compatible = "ralink,mt7620n-soc";
#ifdef CONFIG_PCI
-@@ -518,7 +516,7 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -520,7 +518,7 @@ void prom_soc_init(struct ralink_soc_inf
#endif
}
} else if (n0 == MT7620_CHIP_NAME0 && n1 == MT7628_CHIP_NAME1) {
name = "MT7628AN";
soc_info->compatible = "ralink,mt7628an-soc";
} else {
-@@ -535,7 +533,7 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -537,7 +535,7 @@ void prom_soc_init(struct ralink_soc_inf
dram_type = (cfg0 >> SYSCFG0_DRAM_TYPE_SHIFT) & SYSCFG0_DRAM_TYPE_MASK;
soc_info->mem_base = MT7620_DRAM_BASE;
mt7628_dram_init(soc_info);
else
mt7620_dram_init(soc_info);
-@@ -548,7 +546,7 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -550,7 +548,7 @@ void prom_soc_init(struct ralink_soc_inf
pr_info("Digital PMU set to %s control\n",
(pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
-@@ -511,9 +511,6 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -513,9 +513,6 @@ void prom_soc_init(struct ralink_soc_inf
ralink_soc = MT762X_SOC_MT7620N;
name = "MT7620N";
soc_info->compatible = "ralink,mt7620n-soc";