lkml.org 
[lkml]   [2022]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.16 036/217] amd: a2065/ariadne: use eth_hw_addr_set()
    Date
    From: Jakub Kicinski <kuba@kernel.org>

    [ Upstream commit 285e4c664d6461b175b4613fc77126b5006a1912 ]

    dev_addr is initialized byte by byte from series.

    Fixes build on x86 (32bit).

    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/amd/a2065.c | 18 ++++++++++--------
    drivers/net/ethernet/amd/ariadne.c | 20 +++++++++++---------
    2 files changed, 21 insertions(+), 17 deletions(-)

    diff --git a/drivers/net/ethernet/amd/a2065.c b/drivers/net/ethernet/amd/a2065.c
    index 2f808dbc8b0ed..3a351d3396bfe 100644
    --- a/drivers/net/ethernet/amd/a2065.c
    +++ b/drivers/net/ethernet/amd/a2065.c
    @@ -680,6 +680,7 @@ static int a2065_init_one(struct zorro_dev *z,
    unsigned long base_addr = board + A2065_LANCE;
    unsigned long mem_start = board + A2065_RAM;
    struct resource *r1, *r2;
    + u8 addr[ETH_ALEN];
    u32 serial;
    int err;

    @@ -706,17 +707,18 @@ static int a2065_init_one(struct zorro_dev *z,
    r2->name = dev->name;

    serial = be32_to_cpu(z->rom.er_SerialNumber);
    - dev->dev_addr[0] = 0x00;
    + addr[0] = 0x00;
    if (z->id != ZORRO_PROD_AMERISTAR_A2065) { /* Commodore */
    - dev->dev_addr[1] = 0x80;
    - dev->dev_addr[2] = 0x10;
    + addr[1] = 0x80;
    + addr[2] = 0x10;
    } else { /* Ameristar */
    - dev->dev_addr[1] = 0x00;
    - dev->dev_addr[2] = 0x9f;
    + addr[1] = 0x00;
    + addr[2] = 0x9f;
    }
    - dev->dev_addr[3] = (serial >> 16) & 0xff;
    - dev->dev_addr[4] = (serial >> 8) & 0xff;
    - dev->dev_addr[5] = serial & 0xff;
    + addr[3] = (serial >> 16) & 0xff;
    + addr[4] = (serial >> 8) & 0xff;
    + addr[5] = serial & 0xff;
    + eth_hw_addr_set(dev, addr);
    dev->base_addr = (unsigned long)ZTWO_VADDR(base_addr);
    dev->mem_start = (unsigned long)ZTWO_VADDR(mem_start);
    dev->mem_end = dev->mem_start + A2065_RAM_SIZE;
    diff --git a/drivers/net/ethernet/amd/ariadne.c b/drivers/net/ethernet/amd/ariadne.c
    index 5e0f645f5bde7..4ea7b9f3c4249 100644
    --- a/drivers/net/ethernet/amd/ariadne.c
    +++ b/drivers/net/ethernet/amd/ariadne.c
    @@ -441,11 +441,11 @@ static int ariadne_open(struct net_device *dev)

    /* Set the Ethernet Hardware Address */
    lance->RAP = CSR12; /* Physical Address Register, PADR[15:0] */
    - lance->RDP = ((u_short *)&dev->dev_addr[0])[0];
    + lance->RDP = ((const u_short *)&dev->dev_addr[0])[0];
    lance->RAP = CSR13; /* Physical Address Register, PADR[31:16] */
    - lance->RDP = ((u_short *)&dev->dev_addr[0])[1];
    + lance->RDP = ((const u_short *)&dev->dev_addr[0])[1];
    lance->RAP = CSR14; /* Physical Address Register, PADR[47:32] */
    - lance->RDP = ((u_short *)&dev->dev_addr[0])[2];
    + lance->RDP = ((const u_short *)&dev->dev_addr[0])[2];

    /* Set the Init Block Mode */
    lance->RAP = CSR15; /* Mode Register */
    @@ -717,6 +717,7 @@ static int ariadne_init_one(struct zorro_dev *z,
    unsigned long mem_start = board + ARIADNE_RAM;
    struct resource *r1, *r2;
    struct net_device *dev;
    + u8 addr[ETH_ALEN];
    u32 serial;
    int err;

    @@ -740,12 +741,13 @@ static int ariadne_init_one(struct zorro_dev *z,
    r2->name = dev->name;

    serial = be32_to_cpu(z->rom.er_SerialNumber);
    - dev->dev_addr[0] = 0x00;
    - dev->dev_addr[1] = 0x60;
    - dev->dev_addr[2] = 0x30;
    - dev->dev_addr[3] = (serial >> 16) & 0xff;
    - dev->dev_addr[4] = (serial >> 8) & 0xff;
    - dev->dev_addr[5] = serial & 0xff;
    + addr[0] = 0x00;
    + addr[1] = 0x60;
    + addr[2] = 0x30;
    + addr[3] = (serial >> 16) & 0xff;
    + addr[4] = (serial >> 8) & 0xff;
    + addr[5] = serial & 0xff;
    + eth_hw_addr_set(dev, addr);
    dev->base_addr = (unsigned long)ZTWO_VADDR(base_addr);
    dev->mem_start = (unsigned long)ZTWO_VADDR(mem_start);
    dev->mem_end = dev->mem_start + ARIADNE_RAM_SIZE;
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-01-18 03:23    [W:4.652 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site