diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2bed4274c3..69528c684e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,13 +2,13 @@ LINUX_RELEASE?=1 -LINUX_VERSION-4.9 = .125 LINUX_VERSION-4.14 = .68 LINUX_VERSION-3.18 = .122 +LINUX_VERSION-4.9 = .127 -LINUX_KERNEL_HASH-4.9.125 = a764deef61bebfac1d07b2ed6890f93a12a9ab6d3fc3c53e3d850ed4681111cb LINUX_KERNEL_HASH-4.14.68 = 791dbf1597033bf2b61e83307d78188ffc1ad4bdd1da3234876667edfdd28690 LINUX_KERNEL_HASH-3.18.122 = 675b1ce36af23caa500cb1d4f0ec2976791fb0a97ebb6486a5e2ebcb5527ade5 +LINUX_KERNEL_HASH-4.9.127 = 9477aeaded97589a40d7cbbfeebfa7a8f863130c0729a8dc5cdbcf48eb6fdd0f remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/brcm2708/patches-4.9/950-0074-Update-ds1307-driver-for-device-tree-support.patch b/target/linux/brcm2708/patches-4.9/950-0074-Update-ds1307-driver-for-device-tree-support.patch index d4f7e762c2..236e55d69a 100644 --- a/target/linux/brcm2708/patches-4.9/950-0074-Update-ds1307-driver-for-device-tree-support.patch +++ b/target/linux/brcm2708/patches-4.9/950-0074-Update-ds1307-driver-for-device-tree-support.patch @@ -10,7 +10,7 @@ Signed-off-by: Ryan Coe --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c -@@ -1675,6 +1675,14 @@ static int ds1307_remove(struct i2c_clie +@@ -1682,6 +1682,14 @@ static int ds1307_remove(struct i2c_clie return 0; } diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 3268b3407a..0e8e0660db 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -1040,7 +1040,7 @@ Signed-off-by: David S. Miller writel(irq->mask, adpt->base + EMAC_INT_MASK); --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c -@@ -7577,7 +7577,7 @@ static int rtl8169_poll(struct napi_stru +@@ -7578,7 +7578,7 @@ static int rtl8169_poll(struct napi_stru } if (work_done < budget) { diff --git a/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch b/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch index c510e42bb6..8a6495b222 100644 --- a/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch +++ b/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch @@ -18,7 +18,7 @@ uart->capabilities = up->capabilities; --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -2233,6 +2233,7 @@ uart_report_port(struct uart_driver *drv +@@ -2240,6 +2240,7 @@ uart_report_port(struct uart_driver *drv snprintf(address, sizeof(address), "I/O 0x%lx offset 0x%x", port->iobase, port->hub6); break; @@ -26,7 +26,7 @@ case UPIO_MEM: case UPIO_MEM16: case UPIO_MEM32: -@@ -2897,6 +2898,7 @@ int uart_match_port(struct uart_port *po +@@ -2904,6 +2905,7 @@ int uart_match_port(struct uart_port *po case UPIO_HUB6: return (port1->iobase == port2->iobase) && (port1->hub6 == port2->hub6); diff --git a/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch b/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch index 2598cdedbb..a143ad566b 100644 --- a/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch @@ -26382,7 +26382,7 @@ Signed-off-by: Yangbo Lu return ret; } -@@ -280,6 +291,36 @@ struct device *caam_jr_alloc(void) +@@ -281,6 +292,36 @@ struct device *caam_jr_alloc(void) EXPORT_SYMBOL(caam_jr_alloc); /** @@ -26419,7 +26419,7 @@ Signed-off-by: Yangbo Lu * caam_jr_free() - Free the Job Ring * @rdev - points to the dev that identifies the Job ring to * be released. -@@ -496,15 +537,28 @@ static int caam_jr_probe(struct platform +@@ -497,15 +538,28 @@ static int caam_jr_probe(struct platform return -ENOMEM; } @@ -26455,7 +26455,7 @@ Signed-off-by: Yangbo Lu /* Identify the interrupt */ jrpriv->irq = irq_of_parse_and_map(nprop, 0); -@@ -524,10 +578,12 @@ static int caam_jr_probe(struct platform +@@ -525,10 +579,12 @@ static int caam_jr_probe(struct platform atomic_set(&jrpriv->tfm_count, 0); diff --git a/target/linux/layerscape/patches-4.9/810-iommu-support-layerscape.patch b/target/linux/layerscape/patches-4.9/810-iommu-support-layerscape.patch index 050092905c..816abbb9e7 100644 --- a/target/linux/layerscape/patches-4.9/810-iommu-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/810-iommu-support-layerscape.patch @@ -987,7 +987,7 @@ Signed-off-by: Yangbo Lu } --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c -@@ -440,6 +440,7 @@ struct dmar_rmrr_unit { +@@ -441,6 +441,7 @@ struct dmar_rmrr_unit { u64 end_address; /* reserved end address */ struct dmar_dev_scope *devices; /* target devices */ int devices_cnt; /* target device count */ @@ -995,7 +995,7 @@ Signed-off-by: Yangbo Lu }; struct dmar_atsr_unit { -@@ -4251,27 +4252,40 @@ static inline void init_iommu_pm_ops(voi +@@ -4267,27 +4268,40 @@ static inline void init_iommu_pm_ops(voi int __init dmar_parse_one_rmrr(struct acpi_dmar_header *header, void *arg) { struct acpi_dmar_reserved_memory *rmrr; @@ -1041,7 +1041,7 @@ Signed-off-by: Yangbo Lu } static struct dmar_atsr_unit *dmar_find_atsr(struct acpi_dmar_atsr *atsr) -@@ -4485,6 +4499,7 @@ static void intel_iommu_free_dmars(void) +@@ -4501,6 +4515,7 @@ static void intel_iommu_free_dmars(void) list_for_each_entry_safe(rmrru, rmrr_n, &dmar_rmrr_units, list) { list_del(&rmrru->list); dmar_free_dev_scope(&rmrru->devices, &rmrru->devices_cnt); @@ -1049,7 +1049,7 @@ Signed-off-by: Yangbo Lu kfree(rmrru); } -@@ -5220,6 +5235,45 @@ static void intel_iommu_remove_device(st +@@ -5236,6 +5251,45 @@ static void intel_iommu_remove_device(st iommu_device_unlink(iommu->iommu_dev, dev); } @@ -1095,7 +1095,7 @@ Signed-off-by: Yangbo Lu #ifdef CONFIG_INTEL_IOMMU_SVM #define MAX_NR_PASID_BITS (20) static inline unsigned long intel_iommu_get_pts(struct intel_iommu *iommu) -@@ -5350,19 +5404,21 @@ struct intel_iommu *intel_svm_device_to_ +@@ -5366,19 +5420,21 @@ struct intel_iommu *intel_svm_device_to_ #endif /* CONFIG_INTEL_IOMMU_SVM */ static const struct iommu_ops intel_iommu_ops = { diff --git a/target/linux/layerscape/patches-4.9/815-spi-support-layerscape.patch b/target/linux/layerscape/patches-4.9/815-spi-support-layerscape.patch index 22904eec9d..b798a366b0 100644 --- a/target/linux/layerscape/patches-4.9/815-spi-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/815-spi-support-layerscape.patch @@ -402,10 +402,10 @@ Signed-off-by: Yangbo Lu + goto out_master_put; } - dspi_init(dspi); + dspi->clk = devm_clk_get(&pdev->dev, "dspi"); @@ -740,6 +1031,13 @@ static int dspi_probe(struct platform_de - if (ret) - goto out_master_put; + goto out_clk_put; + } + if (dspi->devtype_data->trans_mode == DSPI_DMA_MODE) { + if (dspi_request_dma(dspi, res->start)) {