[PATCH v2 1/3] net: emaclite: fix broken build

Michal Simek michal.simek at amd.com
Mon Sep 26 16:19:29 CEST 2022


Hi,

can you please update subject line?
Currently this driver is enabled by microblaze and mips which means there are 
not broken builds that's why subject is not correct.

On 9/23/22 14:31, samuel.obuch at codasip.com wrote:
> From: Samuel Obuch <samuel.obuch at codasip.com>
> 
> Function ioremap_nocache seems to be defined only for mips and microblaze

nit: MIPS and Microblaze

> architectures. Therefore, the function call in the emaclite driver causes
> this driver to be unusable with other architectures, for example riscv.

RISC-V

> 
> v2: Use ioremap function instead of ioremap_nocache. Switch to linux/io.h
> which automatically creates ioremap if not defined by the architecture.

This should go out of commit message below ---.

> 
> Signed-off-by: Samuel Obuch <samuel.obuch at codasip.com>
> ---
>   drivers/net/xilinx_emaclite.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
> index 6c9f1f7c27..2e152bf873 100644
> --- a/drivers/net/xilinx_emaclite.c
> +++ b/drivers/net/xilinx_emaclite.c
> @@ -20,8 +20,8 @@
>   #include <fdtdec.h>
>   #include <linux/delay.h>
>   #include <linux/errno.h>
> +#include <linux/io.h>
>   #include <linux/kernel.h>
> -#include <asm/io.h>

There is actually one more asm/io.h in this file. Please also remove it.

>   #include <eth_phy.h>
>   
>   DECLARE_GLOBAL_DATA_PTR;
> @@ -615,8 +615,8 @@ static int emaclite_of_to_plat(struct udevice *dev)
>   	int offset = 0;
>   
>   	pdata->iobase = dev_read_addr(dev);
> -	emaclite->regs = (struct emaclite_regs *)ioremap_nocache(pdata->iobase,
> -								 0x10000);
> +	emaclite->regs = (struct emaclite_regs *)ioremap(pdata->iobase,
> +							 0x10000);

Above you are not saying why you are doing it. It would be good to say in commit 
message that Microblaze ioremap_nocache is just empty and in MIPS 
ioremap_nocache implementation is the same with ioremap.

And also that Linux kernel doesn't use any ioremap_nocache function that's why 
this function shouldn't be used because simple ioremap is uncached already.


>   
>   	emaclite->phyaddr = -1;
>   

Thanks,
Michal


More information about the U-Boot mailing list