net: mac8390: Use standard memcpy_{from,to}io() [Linux 3.16.72]

This Linux kernel change "net: mac8390: Use standard memcpy_{from,to}io()" is included in the Linux 3.16.72 release. This change is authored by Geert Uytterhoeven <geert [at] linux-m68k.org> on Tue Jun 26 20:32:22 2018 +0200. The commit for this change in Linux stable tree is 129429a (patch) which is from upstream commit 4042cd7. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 4042cd7.

net: mac8390: Use standard memcpy_{from,to}io()

commit 4042cd756e193f49469d31a23d5b85c4dca2a3b6 upstream.

The mac8390 driver defines its own variants of memcpy_fromio() and
memcpy_toio(), using similar implementations, but different function
signatures.

Remove the custom definitions of memcpy_fromio() and memcpy_toio(), and
adjust all callers to the standard signatures.

Signed-off-by: Geert Uytterhoeven <[email protected]>
Acked-by: David S. Miller <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Ben Hutchings <[email protected]>

There are 20 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/net/ethernet/8390/mac8390.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/8390/mac8390.c b/drivers/net/ethernet/8390/mac8390.c
index 90e825e..da46650 100644
--- a/drivers/net/ethernet/8390/mac8390.c
+++ b/drivers/net/ethernet/8390/mac8390.c
@@ -153,9 +153,6 @@ static void dayna_block_input(struct net_device *dev, int count,
 static void dayna_block_output(struct net_device *dev, int count,
                   const unsigned char *buf, int start_page);

-#define memcpy_fromio(a, b, c) memcpy((a), (void *)(b), (c))
-#define memcpy_toio(a, b, c)   memcpy((void *)(a), (b), (c))
-
 #define memcmp_withio(a, b, c) memcmp((a), (void *)(b), (c))

 /* Slow Sane (16-bit chunk memory read/write) Cabletron uses this */
@@ -247,7 +244,7 @@ static enum mac8390_access __init mac8390_testio(volatile unsigned long membase)
    unsigned long outdata = 0xA5A0B5B0;
    unsigned long indata =  0x00000000;
    /* Try writing 32 bits */
-   memcpy_toio(membase, &outdata, 4);
+   memcpy_toio((void __iomem *)membase, &outdata, 4);
    /* Now compare them */
    if (memcmp_withio(&outdata, membase, 4) == 0)
        return ACCESS_32;
@@ -742,7 +739,7 @@ static void sane_get_8390_hdr(struct net_device *dev,
                  struct e8390_pkt_hdr *hdr, int ring_page)
 {
    unsigned long hdr_start = (ring_page - WD_START_PG)<<8;
-   memcpy_fromio(hdr, dev->mem_start + hdr_start, 4);
+   memcpy_fromio(hdr, (void __iomem *)dev->mem_start + hdr_start, 4);
    /* Fix endianness */
    hdr->count = swab16(hdr->count);
 }
@@ -756,13 +753,16 @@ static void sane_block_input(struct net_device *dev, int count,
    if (xfer_start + count > ei_status.rmem_end) {
        /* We must wrap the input move. */
        int semi_count = ei_status.rmem_end - xfer_start;
-       memcpy_fromio(skb->data, dev->mem_start + xfer_base,
+       memcpy_fromio(skb->data,
+                 (void __iomem *)dev->mem_start + xfer_base,
                  semi_count);
        count -= semi_count;
-       memcpy_fromio(skb->data + semi_count, ei_status.rmem_start,
-                 count);
+       memcpy_fromio(skb->data + semi_count,
+                 (void __iomem *)ei_status.rmem_start, count);
    } else {
-       memcpy_fromio(skb->data, dev->mem_start + xfer_base, count);
+       memcpy_fromio(skb->data,
+                 (void __iomem *)dev->mem_start + xfer_base,
+                 count);
    }
 }

@@ -771,7 +771,7 @@ static void sane_block_output(struct net_device *dev, int count,
 {
    long shmem = (start_page - WD_START_PG)<<8;

-   memcpy_toio(dev->mem_start + shmem, buf, count);
+   memcpy_toio((void __iomem *)dev->mem_start + shmem, buf, count);
 }

 /* dayna block input/output */

Leave a Reply

Your email address will not be published. Required fields are marked *