net: macb: fix phy interrupt parsing
Since83a77e9ec4
, the phydev irq is explicitly set to PHY_POLL when there is no pdata. It doesn't work on DT enabled platforms because the phydev irq is already set by libphy before. Fixes:83a77e9ec4
("net: macb: Added PCI wrapper for Platform Driver.") Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8dd5b698c2
Коммит
ae3696c167
|
@ -432,15 +432,17 @@ static int macb_mii_probe(struct net_device *dev)
|
|||
}
|
||||
|
||||
pdata = dev_get_platdata(&bp->pdev->dev);
|
||||
if (pdata && gpio_is_valid(pdata->phy_irq_pin)) {
|
||||
ret = devm_gpio_request(&bp->pdev->dev, pdata->phy_irq_pin,
|
||||
"phy int");
|
||||
if (!ret) {
|
||||
phy_irq = gpio_to_irq(pdata->phy_irq_pin);
|
||||
phydev->irq = (phy_irq < 0) ? PHY_POLL : phy_irq;
|
||||
if (pdata) {
|
||||
if (gpio_is_valid(pdata->phy_irq_pin)) {
|
||||
ret = devm_gpio_request(&bp->pdev->dev,
|
||||
pdata->phy_irq_pin, "phy int");
|
||||
if (!ret) {
|
||||
phy_irq = gpio_to_irq(pdata->phy_irq_pin);
|
||||
phydev->irq = (phy_irq < 0) ? PHY_POLL : phy_irq;
|
||||
}
|
||||
} else {
|
||||
phydev->irq = PHY_POLL;
|
||||
}
|
||||
} else {
|
||||
phydev->irq = PHY_POLL;
|
||||
}
|
||||
|
||||
/* attach the mac to the phy */
|
||||
|
|
Загрузка…
Ссылка в новой задаче