aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/samsung/patches-4.14/002-dm9000-clk.patch
diff options
context:
space:
mode:
authorJianhui Zhao <jianhuizhao329@gmail.com>2018-04-17 11:09:14 +0800
committerJohn Crispin <john@phrozen.org>2018-07-30 14:10:00 +0200
commit84c212da44cf5df210ae166ed7e64adf764ccf3f (patch)
tree2351260a551bca0f71fbf482671a7da70d5842f0 /target/linux/samsung/patches-4.14/002-dm9000-clk.patch
parent4caab808300ad75575d778bae6e184caa26aeabc (diff)
downloadupstream-84c212da44cf5df210ae166ed7e64adf764ccf3f.tar.gz
upstream-84c212da44cf5df210ae166ed7e64adf764ccf3f.tar.bz2
upstream-84c212da44cf5df210ae166ed7e64adf764ccf3f.zip
samsung/s5pv210: New target
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
Diffstat (limited to 'target/linux/samsung/patches-4.14/002-dm9000-clk.patch')
-rw-r--r--target/linux/samsung/patches-4.14/002-dm9000-clk.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/samsung/patches-4.14/002-dm9000-clk.patch b/target/linux/samsung/patches-4.14/002-dm9000-clk.patch
new file mode 100644
index 0000000000..1bf2a7ab20
--- /dev/null
+++ b/target/linux/samsung/patches-4.14/002-dm9000-clk.patch
@@ -0,0 +1,37 @@
+--- a/drivers/net/ethernet/davicom/dm9000.c
++++ b/drivers/net/ethernet/davicom/dm9000.c
+@@ -39,6 +39,7 @@
+ #include <linux/regulator/consumer.h>
+ #include <linux/gpio.h>
+ #include <linux/of_gpio.h>
++#include <linux/clk.h>
+
+ #include <asm/delay.h>
+ #include <asm/irq.h>
+@@ -1436,6 +1437,7 @@ dm9000_probe(struct platform_device *pde
+ enum of_gpio_flags flags;
+ struct regulator *power;
+ bool inv_mac_addr = false;
++ const char *clk_name;
+
+ power = devm_regulator_get(dev, "vcc");
+ if (IS_ERR(power)) {
+@@ -1573,6 +1575,18 @@ dm9000_probe(struct platform_device *pde
+ goto out;
+ }
+
++ /* Enable clock if specified */
++ if (!of_property_read_string(dev->of_node, "clock-names", &clk_name)) {
++ struct clk *clk = devm_clk_get(dev, clk_name);
++ if (IS_ERR(clk)) {
++ dev_err(dev, "cannot get clock of %s\n", clk_name);
++ ret = PTR_ERR(clk);
++ goto out;
++ }
++ clk_prepare_enable(clk);
++ dev_info(dev, "enable clock '%s'\n", clk_name);
++ }
++
+ /* fill in parameters for net-dev structure */
+ ndev->base_addr = (unsigned long)db->io_addr;
+