Initial commit
This commit is contained in:
37
target/linux/samsung/patches-4.14/002-dm9000-clk.patch
Normal file
37
target/linux/samsung/patches-4.14/002-dm9000-clk.patch
Normal file
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user