Message ID | 20220923123121.49411-1-samuel.obuch@codasip.com |
---|---|
State | Superseded |
Delegated to: | Ramon Fried |
Headers | show |
Series | [v2,1/3] net: emaclite: fix broken build | expand |
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
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> #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); emaclite->phyaddr = -1;