Re: [PATCH net-next RFC V1 2/5] net: phy: Move time stamping interface into the generic mdio layer.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 21, 2018 at 02:45:13PM -0700, Richard Cochran wrote:
> On Wed, Mar 21, 2018 at 12:10:07PM -0700, Florian Fainelli wrote:
> > > +	phydev->mdio.ts_info = dp83640_ts_info;
> > > +	phydev->mdio.hwtstamp = dp83640_hwtstamp;
> > > +	phydev->mdio.rxtstamp = dp83640_rxtstamp;
> > > +	phydev->mdio.txtstamp = dp83640_txtstamp;
> > 
> > Why is this implemented a the mdio_device level and not at the
> > mdio_driver level? This looks like the wrong level at which this is done.
> 
> The question could be asked of:
> 
> struct mdio_device {
> 	int (*bus_match)(struct device *dev, struct device_driver *drv);
> 	void (*device_free)(struct mdio_device *mdiodev);
> 	void (*device_remove)(struct mdio_device *mdiodev);
> }
> 
> I saw how this is done for the phy, etc, but I don't see any benefit
> of doing it that way.  It would add an extra layer (or two) of
> indirection and save the space four pointer functions.  Is that
> trade-off worth it?

Actually, there was another reason not to put these methods into the
driver structure.  In contrast to phy_device, mdio_device doesn't have
a pointer to the driver structure.  It looks like there is no way to
start from a mdio_device and get to a mdio_driver.  Please correct me
if I'm wrong.

I propose keeping those methods in the mdio_device, wrapping them in
#ifdef CONFIG_NETWORK_PHY_TIMESTAMPING.  That way, they do not add any
burden to the vast majority of users.

Thoughts?

Thanks,
Richard
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux