linux4.9: various tweaks
- enabled CONFIG_MMC_REALTEK_USB=m (fixes #5195) - enabled CONFIG_IKCONFIG=y (multiple requests) - removed beaglebone patch (use beaglebone-kernel instead) - reenabled armv7 and aarch64 cross-building - installing dtb for aarch64 - fix cyclic module dependency and depmod crash in 4.9.0 allmodconfig
This commit is contained in:
parent
3ab1894aca
commit
12bd26f46c
4 changed files with 172 additions and 14 deletions
|
@ -136,7 +136,7 @@ CONFIG_RCU_STALL_COMMON=y
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
# CONFIG_RCU_EXPEDITE_BOOT is not set
|
# CONFIG_RCU_EXPEDITE_BOOT is not set
|
||||||
CONFIG_BUILD_BIN2C=y
|
CONFIG_BUILD_BIN2C=y
|
||||||
CONFIG_IKCONFIG=m
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=19
|
CONFIG_LOG_BUF_SHIFT=19
|
||||||
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
||||||
|
@ -5917,7 +5917,7 @@ CONFIG_MMC_VUB300=m
|
||||||
CONFIG_MMC_USHC=m
|
CONFIG_MMC_USHC=m
|
||||||
# CONFIG_MMC_USDHI6ROL0 is not set
|
# CONFIG_MMC_USDHI6ROL0 is not set
|
||||||
CONFIG_MMC_REALTEK_PCI=m
|
CONFIG_MMC_REALTEK_PCI=m
|
||||||
# CONFIG_MMC_REALTEK_USB is not set
|
CONFIG_MMC_REALTEK_USB=m
|
||||||
CONFIG_MMC_TOSHIBA_PCI=m
|
CONFIG_MMC_TOSHIBA_PCI=m
|
||||||
CONFIG_MMC_MTK=m
|
CONFIG_MMC_MTK=m
|
||||||
CONFIG_MEMSTICK=m
|
CONFIG_MEMSTICK=m
|
||||||
|
|
|
@ -141,7 +141,7 @@ CONFIG_RCU_STALL_COMMON=y
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
# CONFIG_RCU_EXPEDITE_BOOT is not set
|
# CONFIG_RCU_EXPEDITE_BOOT is not set
|
||||||
CONFIG_BUILD_BIN2C=y
|
CONFIG_BUILD_BIN2C=y
|
||||||
CONFIG_IKCONFIG=m
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=19
|
CONFIG_LOG_BUF_SHIFT=19
|
||||||
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
||||||
|
@ -5938,7 +5938,7 @@ CONFIG_MMC_VUB300=m
|
||||||
CONFIG_MMC_USHC=m
|
CONFIG_MMC_USHC=m
|
||||||
# CONFIG_MMC_USDHI6ROL0 is not set
|
# CONFIG_MMC_USDHI6ROL0 is not set
|
||||||
CONFIG_MMC_REALTEK_PCI=m
|
CONFIG_MMC_REALTEK_PCI=m
|
||||||
# CONFIG_MMC_REALTEK_USB is not set
|
CONFIG_MMC_REALTEK_USB=m
|
||||||
CONFIG_MMC_TOSHIBA_PCI=m
|
CONFIG_MMC_TOSHIBA_PCI=m
|
||||||
CONFIG_MMC_MTK=m
|
CONFIG_MMC_MTK=m
|
||||||
CONFIG_MEMSTICK=m
|
CONFIG_MEMSTICK=m
|
||||||
|
|
162
srcpkgs/linux4.9/patches/remoteproc.patch
Normal file
162
srcpkgs/linux4.9/patches/remoteproc.patch
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
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 <bjorn.andersson@linaro.org>
|
||||||
|
X-Patchwork-Id: 9411771
|
||||||
|
Message-Id: <1478227045-1768-1-git-send-email-bjorn.andersson@linaro.org>
|
||||||
|
To: Ohad Ben-Cohen <ohad@wizery.com>,
|
||||||
|
Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
Cc: linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org,
|
||||||
|
linux-arm-msm@vger.kernel.org,
|
||||||
|
=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||||
|
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 <afaerber@suse.de>
|
||||||
|
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
---
|
||||||
|
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");
|
|
@ -1,7 +1,8 @@
|
||||||
# Template file for 'linux4.9'
|
# Template file for 'linux4.9'
|
||||||
pkgname=linux4.9
|
pkgname=linux4.9
|
||||||
version=4.9.0
|
version=4.9.0
|
||||||
revision=2
|
revision=3
|
||||||
|
patch_args="-Np1"
|
||||||
wrksrc="linux-${version%.*}"
|
wrksrc="linux-${version%.*}"
|
||||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||||
homepage="http://www.kernel.org"
|
homepage="http://www.kernel.org"
|
||||||
|
@ -10,8 +11,7 @@ short_desc="The Linux kernel and modules (${version%.*} series)"
|
||||||
distfiles="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${version%.*}.tar.xz"
|
distfiles="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${version%.*}.tar.xz"
|
||||||
checksum=029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a
|
checksum=029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a
|
||||||
|
|
||||||
nocross=yes
|
nodebug=yes # -dbg package is generated below manually
|
||||||
nodebug=yes
|
|
||||||
nostrip=yes
|
nostrip=yes
|
||||||
noverifyrdeps=yes
|
noverifyrdeps=yes
|
||||||
noshlibprovides=yes
|
noshlibprovides=yes
|
||||||
|
@ -44,11 +44,7 @@ do_configure() {
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
i686*) arch=i386;;
|
i686*) arch=i386;;
|
||||||
x86_64*) arch=x86_64;;
|
x86_64*) arch=x86_64;;
|
||||||
armv7*) arch=arm
|
armv7*) arch=arm;;
|
||||||
$XBPS_FETCH_CMD http://rcn-ee.com/deb/sid-armhf/v${version}-armv7-x2/patch-${version}-armv7-x2.diff.gz
|
|
||||||
gunzip patch-${version}-armv7-x2.diff.gz
|
|
||||||
patch -Np1 -i patch-${version}-armv7-x2.diff
|
|
||||||
;;
|
|
||||||
aarch64*) arch=arm64;;
|
aarch64*) arch=arm64;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -123,8 +119,8 @@ do_install() {
|
||||||
;;
|
;;
|
||||||
arm64)
|
arm64)
|
||||||
vinstall arch/arm64/boot/Image 644 boot vmlinux-${_kernver}
|
vinstall arch/arm64/boot/Image 644 boot vmlinux-${_kernver}
|
||||||
# vmkdir boot/dtbs
|
vmkdir boot/dtbs
|
||||||
# cp arch/arm64/boot/dts/*.dtb ${DESTDIR}/boot/dtbs
|
cp arch/arm64/boot/dts/*/*.dtb ${DESTDIR}/boot/dtbs
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue