1 --- a/drivers/net/ethernet/davicom/dm9000.c
2 +++ b/drivers/net/ethernet/davicom/dm9000.c
4 #include <linux/regulator/consumer.h>
5 #include <linux/gpio.h>
6 #include <linux/of_gpio.h>
7 +#include <linux/clk.h>
11 @@ -1436,6 +1437,7 @@ dm9000_probe(struct platform_device *pde
12 enum of_gpio_flags flags;
13 struct regulator *power;
14 bool inv_mac_addr = false;
15 + const char *clk_name;
17 power = devm_regulator_get(dev, "vcc");
19 @@ -1573,6 +1575,18 @@ dm9000_probe(struct platform_device *pde
23 + /* Enable clock if specified */
24 + if (!of_property_read_string(dev->of_node, "clock-names", &clk_name)) {
25 + struct clk *clk = devm_clk_get(dev, clk_name);
27 + dev_err(dev, "cannot get clock of %s\n", clk_name);
31 + clk_prepare_enable(clk);
32 + dev_info(dev, "enable clock '%s'\n", clk_name);
35 /* fill in parameters for net-dev structure */
36 ndev->base_addr = (unsigned long)db->io_addr;