mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 15:56:49 +00:00
ath79: ag71xx: make kernel 5.10 compatible
Add the necessary kernel version ifdef switches in order to support the kernel version 5.10. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
parent
5bd6d9377d
commit
3832403771
@ -178,7 +178,11 @@ struct ag71xx {
|
|||||||
|
|
||||||
struct phy_device *phy_dev;
|
struct phy_device *phy_dev;
|
||||||
void *phy_priv;
|
void *phy_priv;
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)
|
||||||
|
phy_interface_t phy_if_mode;
|
||||||
|
#else
|
||||||
int phy_if_mode;
|
int phy_if_mode;
|
||||||
|
#endif
|
||||||
|
|
||||||
unsigned int link;
|
unsigned int link;
|
||||||
unsigned int speed;
|
unsigned int speed;
|
||||||
|
@ -936,7 +936,11 @@ __ag71xx_link_adjust(struct ag71xx *ag, bool update)
|
|||||||
* The wr, rr functions cannot be used since this hidden register
|
* The wr, rr functions cannot be used since this hidden register
|
||||||
* is outside of the normal ag71xx register block.
|
* is outside of the normal ag71xx register block.
|
||||||
*/
|
*/
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)
|
||||||
|
void __iomem *dam = ioremap(0xb90001bc, 0x4);
|
||||||
|
#else
|
||||||
void __iomem *dam = ioremap_nocache(0xb90001bc, 0x4);
|
void __iomem *dam = ioremap_nocache(0xb90001bc, 0x4);
|
||||||
|
#endif
|
||||||
if (dam) {
|
if (dam) {
|
||||||
__raw_writel(__raw_readl(dam) & ~BIT(27), dam);
|
__raw_writel(__raw_readl(dam) & ~BIT(27), dam);
|
||||||
(void)__raw_readl(dam);
|
(void)__raw_readl(dam);
|
||||||
@ -1193,7 +1197,11 @@ static void ag71xx_oom_timer_handler(struct timer_list *t)
|
|||||||
napi_schedule(&ag->napi);
|
napi_schedule(&ag->napi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
|
||||||
|
static void ag71xx_tx_timeout(struct net_device *dev, unsigned int txqueue)
|
||||||
|
#else
|
||||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
struct ag71xx *ag = netdev_priv(dev);
|
struct ag71xx *ag = netdev_priv(dev);
|
||||||
|
|
||||||
@ -1579,15 +1587,25 @@ static int ag71xx_probe(struct platform_device *pdev)
|
|||||||
ag->pllregmap = NULL;
|
ag->pllregmap = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)
|
||||||
|
ag->mac_base = devm_ioremap(&pdev->dev, res->start,
|
||||||
|
res->end - res->start + 1);
|
||||||
|
#else
|
||||||
ag->mac_base = devm_ioremap_nocache(&pdev->dev, res->start,
|
ag->mac_base = devm_ioremap_nocache(&pdev->dev, res->start,
|
||||||
res->end - res->start + 1);
|
res->end - res->start + 1);
|
||||||
|
#endif
|
||||||
if (!ag->mac_base)
|
if (!ag->mac_base)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||||
if (res) {
|
if (res) {
|
||||||
ag->mii_base = devm_ioremap_nocache(&pdev->dev, res->start,
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)
|
||||||
|
ag->mii_base = devm_ioremap(&pdev->dev, res->start,
|
||||||
res->end - res->start + 1);
|
res->end - res->start + 1);
|
||||||
|
#else
|
||||||
|
ag->mii_base = devm_ioremap_nocache(&pdev->dev, res->start,
|
||||||
|
res->end - res->start + 1);
|
||||||
|
#endif
|
||||||
if (!ag->mii_base)
|
if (!ag->mii_base)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
@ -1667,7 +1685,12 @@ static int ag71xx_probe(struct platform_device *pdev)
|
|||||||
memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
|
memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)
|
||||||
|
of_get_phy_mode(np, &ag->phy_if_mode);
|
||||||
|
#else
|
||||||
ag->phy_if_mode = of_get_phy_mode(np);
|
ag->phy_if_mode = of_get_phy_mode(np);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (ag->phy_if_mode < 0) {
|
if (ag->phy_if_mode < 0) {
|
||||||
dev_err(&pdev->dev, "missing phy-mode property in DT\n");
|
dev_err(&pdev->dev, "missing phy-mode property in DT\n");
|
||||||
return ag->phy_if_mode;
|
return ag->phy_if_mode;
|
||||||
|
Loading…
Reference in New Issue
Block a user