[U-Boot] [PATCH 04/11] net: macb: Fix clk API usage for RISC-V systems

Anup Patel
2019-01-17T11:03:49Z

From: Anup Patel <anup.patel@wdc.com>

This patch does following fixes in MACB ethernet driver
for using it on RISC-V systems (particularly QEMU sifive_u
machine):
1. asm/arch/clk.h is not available on RISC-V port so include
it only for non-RISC-V systems.
2. Don't fail in macb_enable_clk() if clk_enable() returns
-ENOSYS because we get -ENOSYS for fixed-rate clocks.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
drivers/net/macb.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 94c89c762b..9a06b523cc 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -38,7 +38,9 @@
#include <linux/mii.h>
#include <asm/io.h>
#include <asm/dma-mapping.h>
+#ifndef CONFIG_RISCV
#include <asm/arch/clk.h>
+#endif
#include <linux/errno.h>

#include "macb.h"
@@ -1066,7 +1068,7 @@ static int macb_enable_clk(struct udevice *dev)
*/
#ifndef CONFIG_MACB_ZYNQ
ret = clk_enable(&clk);
- if (ret)
+ if (ret && ret != -ENOSYS)
return ret;
#endif

--
2.17.1