Subject: Re: [PATCH 1/2] !CONFIG_NET_ETHERNET unsets CONFIG_PHYLIB, but CONFIG_USB_USBNET also needs CONFIG_PHYLIB

From: "Randy.Dunlap" <[email-masked]>
Date: Wed, 25 Oct 2006 22:05:59 -0700

David Brownell wrote:
> On Wednesday 25 October 2006 4:59 pm, Randy Dunlap wrote:
>> On Wed, 25 Oct 2006 15:27:09 -0700 David Brownell wrote:
>>
>>> The other parts are right, this isn't.
>>>
>>> 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.
>> Ugh.  OK.  How's this?  (2 patches)
> 
> Looks about right, but ...
> 
> 
>> However, the MII config symbol should not be in the 10/100 Ethernet
>> menu, so that other drivers can use (enable) it or so that users
>> can enable it without needing to enable 10/100 Ethernet.
> 
> ... MII should still depend on ETHERNET, right?
> Just not limited to 10/100 Ethernet.

There is no such config symbol.  NET_ETHERNET means 10/100 ethernet.
Gigabit ethernet doesn't use the ETHERNET symbol (and doesn't use
this flavor of MII IIRC).
And all of this config space is surrounded by:

# All the following symbols are dependent on NETDEVICES - do not repeat
# that for each of the symbols.
if NETDEVICES

so it is actually
config MII
	depends on NETDEVICES

What do you suggest?

>> --- linux-2619-rc3-pv.orig/drivers/net/Kconfig
>> +++ linux-2619-rc3-pv/drivers/net/Kconfig
>> @@ -145,6 +145,13 @@ config NET_SB1000
>>  
>>  source "drivers/net/arcnet/Kconfig"
>>  
>> +config MII
>> +	tristate "Generic Media Independent Interface device support"
>> +	help
>> +	  Most ethernet controllers have MII transceiver either as an external
>> +	  or internal device.  It is safe to say Y or M here even if your
>> +	  ethernet card lacks MII.
>> +
>>  source "drivers/net/phy/Kconfig"
>>  
>>  #
>> @@ -180,14 +187,6 @@ config NET_ETHERNET
>>  	  kernel: saying N will just cause the configurator to skip all
>>  	  the questions about Ethernet network cards. If unsure, say N.
>>  
>> -config MII
>> -	tristate "Generic Media Independent Interface device support"
>> -	depends on NET_ETHERNET
>> -	help
>> -	  Most ethernet controllers have MII transceiver either as an external
>> -	  or internal device.  It is safe to say Y or M here even if your
>> -	  ethernet card lack MII.
>> -
>>  source "drivers/net/arm/Kconfig"
>>  
>>  config MACE
>>

-- 
~Randy