lkml.org 
[lkml]   [2006]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/2] usbnet: use MII hooks only if CONFIG_MII is enabled
    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.

    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/
    \
     
     \ /
      Last update: 2006-10-26 02:01    [W:0.025 / U:0.032 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site