diff --git a/srcpkgs/linux4.9/patches/remoteproc.patch b/srcpkgs/linux4.9/patches/remoteproc.patch deleted file mode 100644 index 4a827ed4516..00000000000 --- a/srcpkgs/linux4.9/patches/remoteproc.patch +++ /dev/null @@ -1,162 +0,0 @@ -From patchwork Fri Nov 4 02:37:25 2016 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: remoteproc: qcom_wcnss: Fix circular module dependency -From: Bjorn Andersson -X-Patchwork-Id: 9411771 -Message-Id: <1478227045-1768-1-git-send-email-bjorn.andersson@linaro.org> -To: Ohad Ben-Cohen , - Bjorn Andersson -Cc: linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, - linux-arm-msm@vger.kernel.org, - =?UTF-8?q?Andreas=20F=C3=A4rber?= -Date: Thu, 3 Nov 2016 19:37:25 -0700 - -The tie between the main WCNSS driver and the IRIS driver causes a -circular dependency between the two modules. Neither part makes sense to -have on their own so lets merge them into one module. - -For the sake of picking up the clock and regulator resources described -in the iris of_node we need an associated struct device. But, to keep -the size of the patch down we continue to represent the IRIS part as its -own platform_driver, within the same module, rather than setting up a -dummy device. - -Reported-by: Andreas Färber -Signed-off-by: Bjorn Andersson ---- - drivers/remoteproc/Kconfig | 5 ----- - drivers/remoteproc/Makefile | 5 +++-- - drivers/remoteproc/qcom_wcnss.c | 25 +++++++++++++++++++++++-- - drivers/remoteproc/qcom_wcnss.h | 2 ++ - drivers/remoteproc/qcom_wcnss_iris.c | 8 +------- - 5 files changed, 29 insertions(+), 16 deletions(-) - -diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig -index f396bfef5d42..5fcbefcb8636 100644 ---- a/drivers/remoteproc/Kconfig -+++ b/drivers/remoteproc/Kconfig -@@ -91,17 +91,12 @@ config QCOM_Q6V5_PIL - Say y here to support the Qualcomm Peripherial Image Loader for the - Hexagon V5 based remote processors. - --config QCOM_WCNSS_IRIS -- tristate -- depends on OF && ARCH_QCOM -- - config QCOM_WCNSS_PIL - tristate "Qualcomm WCNSS Peripheral Image Loader" - depends on OF && ARCH_QCOM - depends on QCOM_SMEM - select QCOM_MDT_LOADER - select QCOM_SCM -- select QCOM_WCNSS_IRIS - select REMOTEPROC - help - Say y here to support the Peripheral Image Loader for the Qualcomm -diff --git a/drivers/remoteproc/Makefile b/drivers/remoteproc/Makefile -index 6dfb62ed643f..034b6f3563a7 100644 ---- a/drivers/remoteproc/Makefile -+++ b/drivers/remoteproc/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_WKUP_M3_RPROC) += wkup_m3_rproc.o - obj-$(CONFIG_DA8XX_REMOTEPROC) += da8xx_remoteproc.o - obj-$(CONFIG_QCOM_MDT_LOADER) += qcom_mdt_loader.o - obj-$(CONFIG_QCOM_Q6V5_PIL) += qcom_q6v5_pil.o --obj-$(CONFIG_QCOM_WCNSS_IRIS) += qcom_wcnss_iris.o --obj-$(CONFIG_QCOM_WCNSS_PIL) += qcom_wcnss.o -+obj-$(CONFIG_QCOM_WCNSS_PIL) += qcom_wcnss_pil.o -+qcom_wcnss_pil-y += qcom_wcnss.o -+qcom_wcnss_pil-y += qcom_wcnss_iris.o - obj-$(CONFIG_ST_REMOTEPROC) += st_remoteproc.o -diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c -index f5cedeaafba1..323b629474a6 100644 ---- a/drivers/remoteproc/qcom_wcnss.c -+++ b/drivers/remoteproc/qcom_wcnss.c -@@ -143,7 +143,6 @@ void qcom_wcnss_assign_iris(struct qcom_wcnss *wcnss, - - mutex_unlock(&wcnss->iris_lock); - } --EXPORT_SYMBOL_GPL(qcom_wcnss_assign_iris); - - static int wcnss_load(struct rproc *rproc, const struct firmware *fw) - { -@@ -619,6 +618,28 @@ static struct platform_driver wcnss_driver = { - }, - }; - --module_platform_driver(wcnss_driver); -+static int __init wcnss_init(void) -+{ -+ int ret; -+ -+ ret = platform_driver_register(&wcnss_driver); -+ if (ret) -+ return ret; -+ -+ ret = platform_driver_register(&qcom_iris_driver); -+ if (ret) -+ platform_driver_unregister(&wcnss_driver); -+ -+ return ret; -+} -+module_init(wcnss_init); -+ -+static void __exit wcnss_exit(void) -+{ -+ platform_driver_unregister(&qcom_iris_driver); -+ platform_driver_unregister(&wcnss_driver); -+} -+module_exit(wcnss_exit); -+ - MODULE_DESCRIPTION("Qualcomm Peripherial Image Loader for Wireless Subsystem"); - MODULE_LICENSE("GPL v2"); -diff --git a/drivers/remoteproc/qcom_wcnss.h b/drivers/remoteproc/qcom_wcnss.h -index 9dc4a9fe41e1..25fb7f62a457 100644 ---- a/drivers/remoteproc/qcom_wcnss.h -+++ b/drivers/remoteproc/qcom_wcnss.h -@@ -4,6 +4,8 @@ - struct qcom_iris; - struct qcom_wcnss; - -+extern struct platform_driver qcom_iris_driver; -+ - struct wcnss_vreg_info { - const char * const name; - int min_voltage; -diff --git a/drivers/remoteproc/qcom_wcnss_iris.c b/drivers/remoteproc/qcom_wcnss_iris.c -index f0ca24a8dd0b..05d6e175411a 100644 ---- a/drivers/remoteproc/qcom_wcnss_iris.c -+++ b/drivers/remoteproc/qcom_wcnss_iris.c -@@ -94,14 +94,12 @@ int qcom_iris_enable(struct qcom_iris *iris) - - return ret; - } --EXPORT_SYMBOL_GPL(qcom_iris_enable); - - void qcom_iris_disable(struct qcom_iris *iris) - { - clk_disable_unprepare(iris->xo_clk); - regulator_bulk_disable(iris->num_vregs, iris->vregs); - } --EXPORT_SYMBOL_GPL(qcom_iris_disable); - - static int qcom_iris_probe(struct platform_device *pdev) - { -@@ -174,7 +172,7 @@ static const struct of_device_id iris_of_match[] = { - {} - }; - --static struct platform_driver wcnss_driver = { -+struct platform_driver qcom_iris_driver = { - .probe = qcom_iris_probe, - .remove = qcom_iris_remove, - .driver = { -@@ -182,7 +180,3 @@ static struct platform_driver wcnss_driver = { - .of_match_table = iris_of_match, - }, - }; -- --module_platform_driver(wcnss_driver); --MODULE_DESCRIPTION("Qualcomm Wireless Subsystem Iris driver"); --MODULE_LICENSE("GPL v2"); diff --git a/srcpkgs/linux4.9/template b/srcpkgs/linux4.9/template index 7e534d85cc1..3ea9686a3bf 100644 --- a/srcpkgs/linux4.9/template +++ b/srcpkgs/linux4.9/template @@ -1,6 +1,6 @@ # Template file for 'linux4.9' pkgname=linux4.9 -version=4.9.4 +version=4.9.5 revision=1 patch_args="-Np1" wrksrc="linux-${version}" @@ -9,7 +9,7 @@ homepage="http://www.kernel.org" license="GPL-2" short_desc="The Linux kernel and modules (${version%.*} series)" distfiles="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${version}.tar.xz" -checksum=9bddafb64cb15a4d3d0400364f3c9cb4b0d777978d5d81ade70c155e86cec084 +checksum=fcf5c43efcc9540815dae8f4d4f73c04dca9a6906c762cbee1242fdd908cf5a7 nodebug=yes # -dbg package is generated below manually nostrip=yes