diff mbox series

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

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

Commit Message

Samuel Obuch Sept. 23, 2022, 12:31 p.m. UTC
From: Samuel Obuch <samuel.obuch@codasip.com>

Function ioremap_nocache seems to be defined only for mips and microblaze
architectures. Therefore, the function call in the emaclite driver causes
this driver to be unusable with other architectures, for example riscv.

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

Signed-off-by: Samuel Obuch <samuel.obuch@codasip.com>
---
 drivers/net/xilinx_emaclite.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Michal Simek Sept. 26, 2022, 2:19 p.m. UTC | #1
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 mbox series

Patch

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;