From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Fri, 18 Jan 2019 14:35:00 +0100 Subject: [U-Boot] [PATCH 04/11] net: macb: Fix clk API usage for RISC-V systems In-Reply-To: References: <20190117103748.36613-1-anup.patel@wdc.com> <20190117103748.36613-5-anup.patel@wdc.com> <40702be9-c0c8-2264-d1f9-8c56e46e1068@suse.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 18.01.19 14:28, Anup Patel wrote: > > >> -----Original Message----- >> From: Alexander Graf [mailto:agraf at suse.de] >> Sent: Friday, January 18, 2019 5:05 PM >> To: Anup Patel >> Cc: Rick Chen ; Bin Meng ; >> Joe Hershberger ; Lukas Auer >> ; Masahiro Yamada >> ; Simon Glass ; >> Palmer Dabbelt ; Paul Walmsley >> ; Atish Patra ; >> Christoph Hellwig ; U-Boot Mailing List > boot at lists.denx.de> >> Subject: Re: [PATCH 04/11] net: macb: Fix clk API usage for RISC-V systems >> >> >> >>> Am 18.01.2019 um 07:05 schrieb Anup Patel : >>> >>> >>> >>>> -----Original Message----- >>>> From: Alexander Graf [mailto:agraf at suse.de] >>>> Sent: Thursday, January 17, 2019 11:37 PM >>>> To: Anup Patel ; Rick Chen >> ; >>>> Bin Meng ; Joe Hershberger >>>> ; Lukas Auer >>>> ; Masahiro Yamada >>>> ; Simon Glass >>>> Cc: Palmer Dabbelt ; Paul Walmsley >>>> ; Atish Patra ; >>>> Christoph Hellwig ; U-Boot Mailing List >>> boot at lists.denx.de> >>>> Subject: Re: [PATCH 04/11] net: macb: Fix clk API usage for RISC-V >>>> systems >>>> >>>>> On 01/17/2019 11:38 AM, Anup Patel wrote: >>>>> 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 >>>>> Reviewed-by: Bin Meng >>>>> --- >>>>> 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 >>>>> #include >>>>> #include >>>>> +#ifndef CONFIG_RISCV >>>>> #include >>>>> +#endif >>>>> #include >>>>> >>>>> #include "macb.h" >>>>> @@ -1066,7 +1068,7 @@ static int macb_enable_clk(struct udevice >> *dev) >>>>> */ >>>>> #ifndef CONFIG_MACB_ZYNQ >>>>> ret = clk_enable(&clk); >>>> >>>> If clk.h is not available, who exports clk_enable() then; and why is >>>> the included needed in the first place? >>> >>> For some of the ARM boards, clk instances are provided directly by >>> arch/arm/mach-xyz sources. For such boards, asm/arch/clk.h is >>> required. I think these boards should move to DT based clk drivers. >> >> Can you at least make this a positive #ifdef then rather than ifndef? We want >> to isolate the odd case, not the normal one. >> >> Maybe you can even find a config option that isolates it further? > > With the additional check "ret != -ENOSYS", we don't require the #ifndef but > someone with Zynq SOC board need to confirm that removing #ifndef won't > hurt. In that case let's CC Michal :). Alex