net: phy: allow a phy to opt-out of interrupt handling

Until now, it is not possible for a PHY driver to disable interrupts
during runtime. If a driver offers the .config_intr() as well as the
.handle_interrupt() ops, it is eligible for interrupt handling.
Introduce a new flag for the dev_flags property of struct phy_device, which
can be set by PHY driver to skip interrupt setup and fall back to polling
mode.

At the moment, this is used for the MaxLinear PHY which has broken
interrupt handling and there is a need to disable interrupts in some
cases.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Michael Walle
2023-01-09 13:30:12 +01:00
committed by Paolo Abeni
parent 90c47eb169
commit 7d885863e7
2 changed files with 10 additions and 0 deletions

View File

@@ -739,6 +739,9 @@ struct phy_device {
#endif
};
/* Generic phy_device::dev_flags */
#define PHY_F_NO_IRQ 0x80000000
static inline struct phy_device *to_phy_device(const struct device *dev)
{
return container_of(to_mdio_device(dev), struct phy_device, mdio);