Messages in this thread | | | From | Claudiu Manoil <> | Subject | RE: [PATCH net-next 1/3] enetc: Add mdio bus driver for the PCIe MDIO endpoint | Date | Wed, 24 Jul 2019 09:53:15 +0000 |
| |
>-----Original Message----- >From: Andrew Lunn <andrew@lunn.ch> >Sent: Wednesday, July 24, 2019 1:25 AM >To: Claudiu Manoil <claudiu.manoil@nxp.com> >Cc: David S . Miller <davem@davemloft.net>; devicetree@vger.kernel.org; >netdev@vger.kernel.org; Alexandru Marginean ><alexandru.marginean@nxp.com>; linux-kernel@vger.kernel.org; Leo Li ><leoyang.li@nxp.com>; Rob Herring <robh+dt@kernel.org>; linux-arm- >kernel@lists.infradead.org >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
| |