Re: [PATCH 3/4] net: phy: Add Qualcomm QCA807x driver

From: Jakub Kicinski
Date: Wed Dec 23 2020 - 12:08:12 EST


On Tue, 22 Dec 2020 23:26:36 +0100 Robert Marko wrote:
> This adds driver for the Qualcomm QCA8072 and QCA8075 PHY-s.
>
> They are 2 or 5 port IEEE 802.3 clause 22 compliant
> 10BASE-Te, 100BASE-TX and 1000BASE-T PHY-s.
>
> They feature 2 SerDes, one for PSGMII or QSGMII connection with MAC,
> while second one is SGMII for connection to MAC or fiber.
>
> Both models have a combo port that supports 1000BASE-X and 100BASE-FX
> fiber.
>
> Each PHY inside of QCA807x series has 2 digitally controlled output only
> pins that natively drive LED-s.
> But some vendors used these to driver generic LED-s controlled by
> user space, so lets enable registering each PHY as GPIO controller and
> add driver for it.
>
> This also adds the ability to specify DT properties so that 1000 Base-T
> LED will also be lit up for 100 and 10 Base connections.
>
> This is usually done by U-boot, but boards running mainline U-boot are
> not configuring this yet.
>
> These PHY-s are commonly used in Qualcomm IPQ40xx, IPQ60xx and IPQ807x
> boards.
>
> Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx>
> Cc: Luka Perkov <luka.perkov@xxxxxxxxxx>

You need to rebase this on a more current tree:

../drivers/net/phy/qca807x.c:770:4: error: ‘struct phy_driver’ has no member named ‘ack_interrupt’; did you mean ‘handle_interrupt’?
770 | .ack_interrupt = qca807x_ack_intr,
| ^~~~~~~~~~~~~
| handle_interrupt
../drivers/net/phy/qca807x.c:770:20: error: initialization of ‘irqreturn_t (*)(struct phy_device *)’ {aka ‘enum irqreturn (*)(struct phy_device *)’} from incompatible pointer type ‘int (*)(struct phy_device *)’ [-Werror=incompatible-pointer-types]
770 | .ack_interrupt = qca807x_ack_intr,
| ^~~~~~~~~~~~~~~~