>-----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