Re: [2.6 patch] usbnet.c: check for the right MII variable

From: David Brownell
Date: Wed Nov 07 2007 - 17:31:41 EST


On Friday 02 November 2007, Adrian Bunk wrote:
> <-- snip -->
>
>
> This patch fixes the following compile error with CONFIG_MII=m,
> CONFIG_USB_USBNET=y, CONFIG_USB_USBNET_MII=n:

This is the patch I liked better, if there was going to be
one going upstream without additional test from me ... sorry,
the patch you appear to have accepted was the worst of the
three patches in flight.

>
> <-- snip -->
>
> ...
> LD .tmp_vmlinux1
> drivers/built-in.o: In function `usbnet_set_settings':
> (.text+0xf1876): undefined reference to `mii_ethtool_sset'
> drivers/built-in.o: In function `usbnet_get_settings':
> (.text+0xf1836): undefined reference to `mii_ethtool_gset'
> drivers/built-in.o: In function `usbnet_get_link':
> (.text+0xf18d6): undefined reference to `mii_link_ok'
> drivers/built-in.o: In function `usbnet_nway_reset':
> (.text+0xf18f6): undefined reference to `mii_nway_restart'
> make: *** [.tmp_vmlinux1] Error 1
>
> <-- snip -->
>
> This bug was introduced by commit 18ee91fa9815fa3bb4e51cdcb8229bd0a0f11a70
> and reported by Toralf Förster.
>
> Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>
>
> ---
>
> BTW:
> The Kconfig part of this patch is not really required, but testing for
> #if defined(CONFIG_USB_USBNET_MII) || defined(CONFIG_USB_USBNET_MII_MODULE)
> would look needlessly ugly.
>
> drivers/net/usb/Kconfig | 5 ++---
> drivers/net/usb/usbnet.c | 7 +++----
> 2 files changed, 5 insertions(+), 7 deletions(-)
>
> a421e4910eb30b140a315e274632e87c7a218df6
> diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
> index 5a96d74..9261371 100644
> --- a/drivers/net/usb/Kconfig
> +++ b/drivers/net/usb/Kconfig
> @@ -94,12 +94,11 @@ config USB_RTL8150
> module will be called rtl8150.
>
> config USB_USBNET_MII
> - tristate
> - default n
> + bool
>
> config USB_USBNET
> tristate "Multi-purpose USB Networking Framework"
> - select MII if USB_USBNET_MII != n
> + select MII if USB_USBNET_MII
> ---help---
> This driver supports several kinds of network links over USB,
> with "minidrivers" built around a common network driver core
> diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
> index acd5f1c..7393ab0 100644
> --- a/drivers/net/usb/usbnet.c
> +++ b/drivers/net/usb/usbnet.c
> @@ -683,8 +683,7 @@ done_nopm:
> * they'll probably want to use this base set.
> */
>
> -#if defined(CONFIG_MII) || defined(CONFIG_MII_MODULE)
> -#define HAVE_MII
> +#ifdef CONFIG_USB_USBNET_MII
>
> int usbnet_get_settings (struct net_device *net, struct ethtool_cmd *cmd)
> {
> @@ -744,7 +743,7 @@ int usbnet_nway_reset(struct net_device *net)
> }
> EXPORT_SYMBOL_GPL(usbnet_nway_reset);
>
> -#endif /* HAVE_MII */
> +#endif /* CONFIG_USB_USBNET_MII */
>
> void usbnet_get_drvinfo (struct net_device *net, struct ethtool_drvinfo *info)
> {
> @@ -776,7 +775,7 @@ EXPORT_SYMBOL_GPL(usbnet_set_msglevel);
>
> /* drivers may override default ethtool_ops in their bind() routine */
> static struct ethtool_ops usbnet_ethtool_ops = {
> -#ifdef HAVE_MII
> +#ifdef CONFIG_USB_USBNET_MII
> .get_settings = usbnet_get_settings,
> .set_settings = usbnet_set_settings,
> .get_link = usbnet_get_link,
>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/