
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@codasip.com wrote:
From: Samuel Obuch samuel.obuch@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@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