From: Christoph Hellwig <hch@infradead.org>
To: Randy Dunlap <randy.dunlap@oracle.com>
Cc: David Brownell <david-b@pacbell.net>,
toralf.foerster@gmx.de, netdev@vger.kernel.org,
linux-usb-devel@lists.sourceforge.net, link@miggy.org,
greg@kroah.com, akpm@osdl.org, zippel@linux-m68k.org,
torvalds@osdl.org, linux-kernel@vger.kernel.org,
dbrownell@users.sourceforge.net
Subject: Re: [PATCH 2/2] usbnet: use MII hooks only if CONFIG_MII is enabled
Date: Sat, 28 Oct 2006 12:21:22 +0100 [thread overview]
Message-ID: <20061028112122.GA14316@infradead.org> (raw)
In-Reply-To: <20061025165858.b76b4fd8.randy.dunlap@oracle.com>
On Wed, Oct 25, 2006 at 04:58:58PM -0700, Randy Dunlap wrote:
> On Wed, 25 Oct 2006 15:27:09 -0700 David Brownell wrote:
>
> > Instead, "usbnet.c" should #ifdef the relevant ethtool hooks
> > according to CONFIG_MII ... since it's completely legit to
> > use usbnet with peripherals that don't need MII.
>
> ---
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> usbnet driver should use mii_*() interfaces if they are available
> in the kernel (config enabled) but usbnet does not require or depend
> on these interfaces.
>
> Build tested with CONFIG_MII=y, m, n.
This is really awkward and against what we do in any other driver.
Lots of PCI ethernet drivers use the MII code but have non-MII variants,
and I'd expect usb code to do the same. If you really need to squeeze
the last bytes out of usbnet for some embedded thing add a CONFIG_USB_NET_MII
opention and explain in the help text which devices require it. Otherwise
a normal user has no way to find out why his mii-requiring usb device
randomly stopped working.
>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> ---
> drivers/usb/net/usbnet.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> --- linux-2619-rc3-pv.orig/drivers/usb/net/usbnet.c
> +++ linux-2619-rc3-pv/drivers/usb/net/usbnet.c
> @@ -47,6 +47,12 @@
>
> #define DRIVER_VERSION "22-Aug-2005"
>
> +#if defined(CONFIG_MII) || defined(CONFIG_MII_MODULE)
> +#define HAVE_MII 1
> +#else
> +#define HAVE_MII 0
> +#endif
> +
>
> /*-------------------------------------------------------------------------*/
>
> @@ -676,7 +682,10 @@ int usbnet_get_settings (struct net_devi
> if (!dev->mii.mdio_read)
> return -EOPNOTSUPP;
>
> +#if HAVE_MII
> return mii_ethtool_gset(&dev->mii, cmd);
> +#endif
> + return -EOPNOTSUPP;
> }
> EXPORT_SYMBOL_GPL(usbnet_get_settings);
>
> @@ -688,7 +697,11 @@ int usbnet_set_settings (struct net_devi
> if (!dev->mii.mdio_write)
> return -EOPNOTSUPP;
>
> +#if HAVE_MII
> retval = mii_ethtool_sset(&dev->mii, cmd);
> +#else
> + retval = -EOPNOTSUPP;
> +#endif
>
> /* link speed/duplex might have changed */
> if (dev->driver_info->link_reset)
> @@ -721,9 +734,11 @@ u32 usbnet_get_link (struct net_device *
> if (dev->driver_info->check_connect)
> return dev->driver_info->check_connect (dev) == 0;
>
> +#if HAVE_MII
> /* if the device has mii operations, use those */
> if (dev->mii.mdio_read)
> return mii_link_ok(&dev->mii);
> +#endif
>
> /* Otherwise, say we're up (to avoid breaking scripts) */
> return 1;
> @@ -753,7 +768,10 @@ int usbnet_nway_reset(struct net_device
> if (!dev->mii.mdio_write)
> return -EOPNOTSUPP;
>
> +#if HAVE_MII
> return mii_nway_restart(&dev->mii);
> +#endif
> + return -EOPNOTSUPP;
> }
> EXPORT_SYMBOL_GPL(usbnet_nway_reset);
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
---end quoted text---
next prev parent reply other threads:[~2006-10-28 11:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.64.0610231618510.3962@g5.osdl.org>
[not found] ` <20061025201341.GH21200@miggy.org>
2006-10-25 22:17 ` [PATCH] !CONFIG_NET_ETHERNET unsets CONFIG_PHYLIB, but CONFIG_USB_USBNET also needs CONFIG_PHYLIB Randy Dunlap
2006-10-25 22:27 ` David Brownell
2006-10-25 23:58 ` [PATCH 2/2] usbnet: use MII hooks only if CONFIG_MII is enabled Randy Dunlap
2006-10-26 2:22 ` David Brownell
2006-11-02 7:15 ` Greg KH
2006-11-02 20:29 ` David Brownell
2006-11-03 2:27 ` Adrian Bunk
2006-11-03 2:47 ` David Brownell
2006-11-03 2:58 ` Randy.Dunlap
2006-11-04 2:51 ` [2.6 patch] USB_RTL8150 must select MII Adrian Bunk
2006-10-26 15:46 ` [PATCH 2/2] usbnet: use MII hooks only if CONFIG_MII is enabled Adrian Bunk
2006-10-26 15:51 ` Randy.Dunlap
2006-10-28 11:21 ` Christoph Hellwig [this message]
2006-10-28 21:10 ` David Brownell
2006-10-28 21:13 ` Christoph Hellwig
2006-10-28 22:30 ` David Brownell
2006-10-28 21:39 ` Adrian Bunk
2006-10-31 17:40 ` [linux-usb-devel] " David Brownell
2006-10-31 18:07 ` Adrian Bunk
2006-10-31 19:36 ` David Brownell
2006-11-01 1:23 ` Adrian Bunk
2006-11-02 20:19 ` David Brownell
2006-10-25 23:59 ` [PATCH 1/2] !CONFIG_NET_ETHERNET unsets CONFIG_PHYLIB, but CONFIG_USB_USBNET also needs CONFIG_PHYLIB Randy Dunlap
2006-10-26 2:24 ` David Brownell
2006-10-26 5:05 ` Randy.Dunlap
2006-10-26 5:24 ` David Brownell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061028112122.GA14316@infradead.org \
--to=hch@infradead.org \
--cc=akpm@osdl.org \
--cc=david-b@pacbell.net \
--cc=dbrownell@users.sourceforge.net \
--cc=greg@kroah.com \
--cc=link@miggy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=netdev@vger.kernel.org \
--cc=randy.dunlap@oracle.com \
--cc=toralf.foerster@gmx.de \
--cc=torvalds@osdl.org \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).