summaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch
diff options
context:
space:
mode:
authorRam Chandra Jangir <rjangi@codeaurora.org>2016-05-21 14:48:31 +0530
committerJohn Crispin <john@phrozen.org>2016-05-27 15:50:17 +0200
commit5e49c5795697868f6317f17fda5a2b04f299e116 (patch)
treebf6ebcc54ae88fa08f268f02a8f118939fe6bf6a /target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch
parent955c341d3bec0eb4971a03924e99156367255d7b (diff)
downloadmaster-31e0f0ae-5e49c5795697868f6317f17fda5a2b04f299e116.tar.gz
master-31e0f0ae-5e49c5795697868f6317f17fda5a2b04f299e116.tar.bz2
master-31e0f0ae-5e49c5795697868f6317f17fda5a2b04f299e116.zip
ipq806x: Add support for linux-4.4
1)Changes - Rebased the patches for linux-4.4.7 - Added patch to fix spi nor fifo and dma support - Added patch to configure watchdog barktime 2)Testing Tested on IPQ AP148 Board: a. NOR boot and NAND boot b. ethernet network and ath10k wifi c. ubi sysupgrade UnTested dwc3 usb has not been validated on IPQ board(AP148) 3)Known Issues: Once we flash ubi image on AP148, and if we reset the board, uboot on first boot creates PEB and LEB for dynamic sized partitions, which is incorrect and not what linux expects which causes errors when trying to mount rootfs. In order to test this, we can use the below steps: a. Flash the ubi image on board and don't reset the board b. load the kernel fit image in RAM and boot from there. Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
Diffstat (limited to 'target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch')
-rw-r--r--target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch115
1 files changed, 0 insertions, 115 deletions
diff --git a/target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch b/target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch
deleted file mode 100644
index 790f25d28d..0000000000
--- a/target/linux/ipq806x/patches-3.18/132-clk-Add-clk_unregister_-divider-gate-mux-to-close-me.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 4e3c021fb995bcbb5d1f814d00584cb80eb904a8 Mon Sep 17 00:00:00 2001
-From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
-Date: Mon, 5 Jan 2015 10:52:40 +0100
-Subject: [PATCH] clk: Add clk_unregister_{divider, gate, mux} to close memory
- leak
-
-The common clk_register_{divider,gate,mux} functions allocated memory
-for internal data which wasn't freed anywhere. Drivers using these
-helpers could only unregister clocks but the memory would still leak.
-
-Add corresponding unregister functions which will release all resources.
-
-Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
-Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
-Signed-off-by: Michael Turquette <mturquette@linaro.org>
----
- drivers/clk/clk-divider.c | 16 ++++++++++++++++
- drivers/clk/clk-gate.c | 16 ++++++++++++++++
- drivers/clk/clk-mux.c | 16 ++++++++++++++++
- include/linux/clk-provider.h | 4 ++++
- 4 files changed, 52 insertions(+)
-
---- a/drivers/clk/clk-divider.c
-+++ b/drivers/clk/clk-divider.c
-@@ -461,3 +461,19 @@ struct clk *clk_register_divider_table(s
- width, clk_divider_flags, table, lock);
- }
- EXPORT_SYMBOL_GPL(clk_register_divider_table);
-+
-+void clk_unregister_divider(struct clk *clk)
-+{
-+ struct clk_divider *div;
-+ struct clk_hw *hw;
-+
-+ hw = __clk_get_hw(clk);
-+ if (!hw)
-+ return;
-+
-+ div = to_clk_divider(hw);
-+
-+ clk_unregister(clk);
-+ kfree(div);
-+}
-+EXPORT_SYMBOL_GPL(clk_unregister_divider);
---- a/drivers/clk/clk-gate.c
-+++ b/drivers/clk/clk-gate.c
-@@ -162,3 +162,19 @@ struct clk *clk_register_gate(struct dev
- return clk;
- }
- EXPORT_SYMBOL_GPL(clk_register_gate);
-+
-+void clk_unregister_gate(struct clk *clk)
-+{
-+ struct clk_gate *gate;
-+ struct clk_hw *hw;
-+
-+ hw = __clk_get_hw(clk);
-+ if (!hw)
-+ return;
-+
-+ gate = to_clk_gate(hw);
-+
-+ clk_unregister(clk);
-+ kfree(gate);
-+}
-+EXPORT_SYMBOL_GPL(clk_unregister_gate);
---- a/drivers/clk/clk-mux.c
-+++ b/drivers/clk/clk-mux.c
-@@ -177,3 +177,19 @@ struct clk *clk_register_mux(struct devi
- NULL, lock);
- }
- EXPORT_SYMBOL_GPL(clk_register_mux);
-+
-+void clk_unregister_mux(struct clk *clk)
-+{
-+ struct clk_mux *mux;
-+ struct clk_hw *hw;
-+
-+ hw = __clk_get_hw(clk);
-+ if (!hw)
-+ return;
-+
-+ mux = to_clk_mux(hw);
-+
-+ clk_unregister(clk);
-+ kfree(mux);
-+}
-+EXPORT_SYMBOL_GPL(clk_unregister_mux);
---- a/include/linux/clk-provider.h
-+++ b/include/linux/clk-provider.h
-@@ -294,6 +294,7 @@ struct clk *clk_register_gate(struct dev
- const char *parent_name, unsigned long flags,
- void __iomem *reg, u8 bit_idx,
- u8 clk_gate_flags, spinlock_t *lock);
-+void clk_unregister_gate(struct clk *clk);
-
- struct clk_div_table {
- unsigned int val;
-@@ -361,6 +362,7 @@ struct clk *clk_register_divider_table(s
- void __iomem *reg, u8 shift, u8 width,
- u8 clk_divider_flags, const struct clk_div_table *table,
- spinlock_t *lock);
-+void clk_unregister_divider(struct clk *clk);
-
- /**
- * struct clk_mux - multiplexer clock
-@@ -414,6 +416,8 @@ struct clk *clk_register_mux_table(struc
- void __iomem *reg, u8 shift, u32 mask,
- u8 clk_mux_flags, u32 *table, spinlock_t *lock);
-
-+void clk_unregister_mux(struct clk *clk);
-+
- void of_fixed_factor_clk_setup(struct device_node *node);
-
- /**