aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/at91
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-08-17 06:16:29 +0000
committerJohn Crispin <blogic@openwrt.org>2015-08-17 06:16:29 +0000
commitb73d5d51e69388829c6d6ed201a69d8b0a015676 (patch)
tree125765fddda734d7fc505761d53f85348427e8c0 /target/linux/at91
parentaff7fef99673b65fce30e613618ee11f4cb8f7b6 (diff)
downloadmaster-187ad058-b73d5d51e69388829c6d6ed201a69d8b0a015676.tar.gz
master-187ad058-b73d5d51e69388829c6d6ed201a69d8b0a015676.tar.bz2
master-187ad058-b73d5d51e69388829c6d6ed201a69d8b0a015676.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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46649 3c298f89-4303-0410-b956-a3cf2f4a3e73
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)