RE: [PATCH net-next 1/3] enetc: Add mdio bus driver for the PCIe MDIO endpoint

From: Claudiu Manoil
Date: Wed Jul 24 2019 - 05:53:23 EST


>-----Original Message-----
>From: Andrew Lunn <andrew@xxxxxxx>
>Sent: Wednesday, July 24, 2019 1:25 AM
>To: Claudiu Manoil <claudiu.manoil@xxxxxxx>
>Cc: David S . Miller <davem@xxxxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx;
>netdev@xxxxxxxxxxxxxxx; Alexandru Marginean
><alexandru.marginean@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Leo Li
><leoyang.li@xxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; linux-arm-
>kernel@xxxxxxxxxxxxxxxxxxx
>Subject: Re: [PATCH net-next 1/3] enetc: Add mdio bus driver for the PCIe MDIO
>endpoint
>
>> + bus = mdiobus_alloc_size(sizeof(u32 *));
>> + if (!bus)
>> + return -ENOMEM;
>> +
>
>> + bus->priv = pci_iomap_range(pdev, 0, ENETC_MDIO_REG_OFFSET, 0);
>
>This got me confused for a while. You allocate space for a u32
>pointer. bus->priv will point to this space. However, you are not
>using this space, you {ab}use the pointer to directly hold the return
>from pci_iomap_range(). This works, but sparse is probably unhappy,
>and you are wasting the space the u32 pointer takes.
>

Thanks Andrew,
This is not what I wanted to do, don't ask me how I got to this, it's
confusing indeed.
What's needed here is mdiobus_alloc() or better, devm_mdiobus_alloc().
I've got to do some cleanup in the local mdio bus probing too.
Will send v2.

Thanks,
Claudiu