diff mbox series

[U-Boot,v2,2/3] net: macb: Fix clk API usage for RISC-V systems

Message ID 20181219123157.61148-3-anup@brainfault.org
State Accepted
Delegated to: Andes
Headers show
Series Ethernet support for QEMU sifive_u machine | expand

Commit Message

Anup Patel Dec. 19, 2018, 12:31 p.m. UTC
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(-)

Comments

Anup Patel Dec. 20, 2018, 5:26 a.m. UTC | #1
+Michal

On Wed, Dec 19, 2018 at 6:02 PM Anup Patel <anup@brainfault.org> wrote:
>
> 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
>
diff mbox series

Patch

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