Skip to content

Commit

Permalink
ath79: fix ethernet driver build errors on kernel 6.1
Browse files Browse the repository at this point in the history
Some net APIs have changed on the new kernel. Update them to fix
compile errors.

Signed-off-by: Shiji Yang <[email protected]>
  • Loading branch information
DragonBluep authored and blocktrron committed Sep 8, 2023
1 parent 5f59d28 commit 7189b45
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,15 @@ static void ag71xx_ethtool_set_msglevel(struct net_device *dev, u32 msg_level)
ag->msg_enable = msg_level;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
static void ag71xx_ethtool_get_ringparam(struct net_device *dev,
struct ethtool_ringparam *er,
struct kernel_ethtool_ringparam *kernel_ring,
struct netlink_ext_ack *extack)
#else
static void ag71xx_ethtool_get_ringparam(struct net_device *dev,
struct ethtool_ringparam *er)
#endif
{
struct ag71xx *ag = netdev_priv(dev);

Expand All @@ -99,8 +106,15 @@ static void ag71xx_ethtool_get_ringparam(struct net_device *dev,
er->tx_pending /= AG71XX_TX_RING_DS_PER_PKT;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
static int ag71xx_ethtool_set_ringparam(struct net_device *dev,
struct ethtool_ringparam *er,
struct kernel_ethtool_ringparam *kernel_ring,
struct netlink_ext_ack *extack)
#else
static int ag71xx_ethtool_set_ringparam(struct net_device *dev,
struct ethtool_ringparam *er)
#endif
{
struct ag71xx *ag = netdev_priv(dev);
unsigned tx_size;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ static unsigned char *ag71xx_speed_str(struct ag71xx *ag)
return "?";
}

static void ag71xx_hw_set_macaddr(struct ag71xx *ag, unsigned char *mac)
static void ag71xx_hw_set_macaddr(struct ag71xx *ag, const unsigned char *mac)
{
u32 t;

Expand Down Expand Up @@ -1166,7 +1166,7 @@ static int ag71xx_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
switch (cmd) {
case SIOCSIFHWADDR:
if (copy_from_user
(dev->dev_addr, ifr->ifr_data, sizeof(dev->dev_addr)))
((void*)dev->dev_addr, ifr->ifr_data, sizeof(dev->dev_addr)))
return -EFAULT;
return 0;

Expand Down Expand Up @@ -1669,10 +1669,9 @@ static int ag71xx_probe(struct platform_device *pdev)
ag->stop_desc->ctrl = 0;
ag->stop_desc->next = (u32) ag->stop_desc_dma;

of_get_mac_address(np, dev->dev_addr);
if (!is_valid_ether_addr(dev->dev_addr)) {
if (of_get_ethdev_address(np, dev)) {
dev_err(&pdev->dev, "invalid MAC address, using random address\n");
eth_random_addr(dev->dev_addr);
eth_hw_addr_random(dev);
}

err = of_get_phy_mode(np, &ag->phy_if_mode);
Expand All @@ -1699,7 +1698,11 @@ static int ag71xx_probe(struct platform_device *pdev)
break;
}

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
netif_napi_add_weight(dev, &ag->napi, ag71xx_poll, AG71XX_NAPI_WEIGHT);
#else
netif_napi_add(dev, &ag->napi, ag71xx_poll, AG71XX_NAPI_WEIGHT);
#endif

ag71xx_dump_regs(ag);

Expand Down

0 comments on commit 7189b45

Please sign in to comment.