mediatek: backport upstream mediatek patches
[openwrt/staging/blogic.git] / target / linux / mediatek / patches-4.14 / 0193-clk-mediatek-adjust-dependency-of-reset.c-to-avoid-u.patch
diff --git a/target/linux/mediatek/patches-4.14/0193-clk-mediatek-adjust-dependency-of-reset.c-to-avoid-u.patch b/target/linux/mediatek/patches-4.14/0193-clk-mediatek-adjust-dependency-of-reset.c-to-avoid-u.patch
new file mode 100644 (file)
index 0000000..19527f1
--- /dev/null
@@ -0,0 +1,77 @@
+From 0f9391b4ee12cad5c93e109b9eb6c0c6298da0d3 Mon Sep 17 00:00:00 2001
+From: Sean Wang <sean.wang@mediatek.com>
+Date: Fri, 5 Jan 2018 16:14:06 +0800
+Subject: [PATCH 193/224] clk: mediatek: adjust dependency of reset.c to avoid
+ unexpectedly being built
+
+Changes from v1->v2:
+Add 'select RESET_CONTROLLER' under COMMON_CLK_MEDIATEK and enable
+reset.c to be built when COMMON_CLK_MEDIATEK is selected. That should
+be quite reasonable because the reset controller is tightly embedded
+inside and exported from these clock subsystems. At least it can be found
+on infracfg and pericfg subsystem that both are really fundamental block
+lots of devices must depend on.
+
+commit 74cb0d6dde8 ("clk: mediatek: fixup test-building of MediaTek clock
+drivers") can let the build system looking into the directory where the
+clock drivers resides and then allow test-building the drivers.
+
+But the change also gives rise to certain incorrect behavior which is
+reset.c being built even not depending on either COMPILE_TEST or
+ARCH_MEDIATEK alternative dependency. To get rid of reset.c being built
+unexpectedly on the other platforms, it would be a good change that the
+file should be built depending on its own specific configuration rather
+than just on generic RESET_CONTROLLER one.
+
+Signed-off-by: Sean Wang <sean.wang@mediatek.com>
+Cc: Jean Delvare <jdelvare@suse.de>
+Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+---
+ drivers/clk/mediatek/Kconfig   | 1 +
+ drivers/clk/mediatek/Makefile  | 4 ++--
+ drivers/clk/mediatek/clk-mtk.h | 7 -------
+ 3 files changed, 3 insertions(+), 9 deletions(-)
+
+Index: linux-4.14.25/drivers/clk/mediatek/Kconfig
+===================================================================
+--- linux-4.14.25.orig/drivers/clk/mediatek/Kconfig
++++ linux-4.14.25/drivers/clk/mediatek/Kconfig
+@@ -6,6 +6,7 @@ menu "Clock driver for MediaTek SoC"
+ config COMMON_CLK_MEDIATEK
+       bool
++      select RESET_CONTROLLER
+       ---help---
+         MediaTek SoCs' clock support.
+Index: linux-4.14.25/drivers/clk/mediatek/Makefile
+===================================================================
+--- linux-4.14.25.orig/drivers/clk/mediatek/Makefile
++++ linux-4.14.25/drivers/clk/mediatek/Makefile
+@@ -1,6 +1,5 @@
+ # SPDX-License-Identifier: GPL-2.0
+-obj-$(CONFIG_COMMON_CLK_MEDIATEK) += clk-mtk.o clk-pll.o clk-gate.o clk-apmixed.o clk-cpumux.o
+-obj-$(CONFIG_RESET_CONTROLLER) += reset.o
++obj-$(CONFIG_COMMON_CLK_MEDIATEK) += clk-mtk.o clk-pll.o clk-gate.o clk-apmixed.o clk-cpumux.o reset.o
+ obj-$(CONFIG_COMMON_CLK_MT6797) += clk-mt6797.o
+ obj-$(CONFIG_COMMON_CLK_MT6797_IMGSYS) += clk-mt6797-img.o
+ obj-$(CONFIG_COMMON_CLK_MT6797_MMSYS) += clk-mt6797-mm.o
+Index: linux-4.14.25/drivers/clk/mediatek/clk-mtk.h
+===================================================================
+--- linux-4.14.25.orig/drivers/clk/mediatek/clk-mtk.h
++++ linux-4.14.25/drivers/clk/mediatek/clk-mtk.h
+@@ -229,14 +229,7 @@ void mtk_clk_register_plls(struct device
+ struct clk *mtk_clk_register_ref2usb_tx(const char *name,
+                       const char *parent_name, void __iomem *reg);
+-#ifdef CONFIG_RESET_CONTROLLER
+ void mtk_register_reset_controller(struct device_node *np,
+                       unsigned int num_regs, int regofs);
+-#else
+-static inline void mtk_register_reset_controller(struct device_node *np,
+-                      unsigned int num_regs, int regofs)
+-{
+-}
+-#endif
+ #endif /* __DRV_CLK_MTK_H */