summaryrefslogtreecommitdiffstats
path: root/target/linux/at91
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-08-17 06:16:29 +0000
committerJohn Crispin <john@openwrt.org>2015-08-17 06:16:29 +0000
commit8e90f20bf73bb4c0ee77b414577a258ceadc8609 (patch)
treebdd937d0d53a85d837d01c54acfe771efe4a88fb /target/linux/at91
parentc0d0cb6d28f172e811a49701df62d174181bdba3 (diff)
downloadmaster-31e0f0ae-8e90f20bf73bb4c0ee77b414577a258ceadc8609.tar.gz
master-31e0f0ae-8e90f20bf73bb4c0ee77b414577a258ceadc8609.tar.bz2
master-31e0f0ae-8e90f20bf73bb4c0ee77b414577a258ceadc8609.zip
at91: Backport determine_rate prototype fix
This patch is backport of a fix to a USB prototype mismatch bug found in 3.18 kernels, originally submitted by Boris Brezillon [1]. The symptom of this bug was that devices attached to the at91 using at91_ohci on a hub never appeared and failed to initialise. [1] http://www.spinics.net/lists/linux-usb/msg125969.html Signed-off-by: Ben Whitten <ben.whitten@gmail.com> SVN-Revision: 46649
Diffstat (limited to 'target/linux/at91')
-rw-r--r--target/linux/at91/patches/201-ARM-at91-usb-determine_rate-backport.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/target/linux/at91/patches/201-ARM-at91-usb-determine_rate-backport.patch b/target/linux/at91/patches/201-ARM-at91-usb-determine_rate-backport.patch
new file mode 100644
index 0000000000..4fc22ab525
--- /dev/null
+++ b/target/linux/at91/patches/201-ARM-at91-usb-determine_rate-backport.patch
@@ -0,0 +1,20 @@
+--- a/drivers/clk/at91/clk-usb.c
++++ b/drivers/clk/at91/clk-usb.c
+@@ -59,7 +59,7 @@ static unsigned long at91sam9x5_clk_usb_
+ static long at91sam9x5_clk_usb_determine_rate(struct clk_hw *hw,
+ unsigned long rate,
+ unsigned long *best_parent_rate,
+- struct clk_hw **best_parent_hw)
++ struct clk **best_parent_clk)
+ {
+ struct clk *parent = NULL;
+ long best_rate = -EINVAL;
+@@ -91,7 +91,7 @@ static long at91sam9x5_clk_usb_determine
+ best_rate = tmp_rate;
+ best_diff = tmp_diff;
+ *best_parent_rate = tmp_parent_rate;
+- *best_parent_hw = __clk_get_hw(parent);
++ *best_parent_clk = parent;
+ }
+
+ if (!best_diff || tmp_rate < rate)