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