at91: Backport determine_rate prototype fix
authorJohn Crispin <john@openwrt.org>
Mon, 17 Aug 2015 06:16:29 +0000 (06:16 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 17 Aug 2015 06:16:29 +0000 (06:16 +0000)
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

target/linux/at91/patches/201-ARM-at91-usb-determine_rate-backport.patch [new file with mode: 0644]

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 (file)
index 0000000..4fc22ab
--- /dev/null
@@ -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)