From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl0-f65.google.com ([209.85.160.65]:40541 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753744AbeCUVpQ (ORCPT ); Wed, 21 Mar 2018 17:45:16 -0400 Date: Wed, 21 Mar 2018 14:45:13 -0700 From: Richard Cochran To: Florian Fainelli Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, Andrew Lunn , David Miller , Mark Rutland , Miroslav Lichvar , Rob Herring , Willem de Bruijn Subject: Re: [PATCH net-next RFC V1 2/5] net: phy: Move time stamping interface into the generic mdio layer. Message-ID: <20180321214513.5kkw4qpbhp3juxur@localhost> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: 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? Thanks, Richard