Re: net: generic netdev_ioaddr

2 messages, 2 authors, 2004-10-30 · open the first message on its own page

Re: net: generic netdev_ioaddr

From: Krzysztof Halasa <khc@pm.waw.pl>
Date: 2004-10-29 21:22:59

Al Viro [off-list ref] writes:
What uses ->base_addr from the data returned by SIOCGIFMAP?
ifconfig I think:

eth0      Link encap:Ethernet  HWaddr 00:50:BA:70:68:3E  
          inet addr:10.0.0.2  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2796430 errors:1 dropped:0 overruns:0 frame:0
          TX packets:4056563 errors:3 dropped:0 overruns:0 carrier:3
          collisions:0 txqueuelen:1000 
          RX bytes:285233613 (272.0 Mb)  TX bytes:1252627624 (1194.5 Mb)
          Interrupt:10 Base address:0x4000 

With this driver it happens to be MMIO address.

I understand presenting this value to users might have some value:
it can help determine the physical port/card for a given netdev.
But it should be something like a description text set by the driver
(ie. containing PCI bus/device, or even ISA address for ISA non-PnP
card, possibly with other information).

It seems while some devices use SIOCGIFMAP (ie. by setting the fields
in netdev struct), support for SIOCSIFMAP doesn't make sense for most
hardware.

Drivers using SIOCSIFMAP (selecting media only?):
arch/cris/arch-v10/drivers/ethernet.c:    dev->set_config = e100_set_config;
drivers/net/au1000_eth.c:     dev->set_config = &au1000_set_config;
drivers/net/sis900.c: net_dev->set_config = &sis900_set_config;
drivers/net/arm/etherh.c:     dev->set_config         = etherh_set_config;
drivers/net/pcmcia/3c589_cs.c:    dev->set_config = &el3_config;
drivers/net/pcmcia/fmvj18x_cs.c:    dev->set_config = &fjn_config;
drivers/net/pcmcia/nmclan_cs.c:    dev->set_config = &mace_config;
drivers/net/pcmcia/pcnet_cs.c:    dev->set_config = &set_config;
drivers/net/pcmcia/smc91c92_cs.c:    dev->set_config = &s9k_config;
drivers/net/pcmcia/xirc2ps_cs.c:    dev->set_config = &do_config;
drivers/net/wan/sdla.c:       dev->set_config         = sdla_set_config;
drivers/net/wireless/ray_cs.c:    dev->set_config = &ray_dev_config;

I think I would mark this stuff obsolete, and remove when the drivers
are updated (if they need an update at all, they may support
ethtool/mii-tool already).
-- 
Krzysztof Halasa

Re: net: generic netdev_ioaddr

From: Pekka Enberg <hidden>
Date: 2004-10-30 09:51:10

Hi,

Al Viro [off-list ref] writes:
quoted
What uses ->base_addr from the data returned by SIOCGIFMAP?
On Fri, 2004-10-29 at 23:13 +0200, Krzysztof Halasa wrote:
ifconfig I think:
[snip] 
With this driver it happens to be MMIO address.

I understand presenting this value to users might have some value:
it can help determine the physical port/card for a given netdev.
But it should be something like a description text set by the driver
(ie. containing PCI bus/device, or even ISA address for ISA non-PnP
card, possibly with other information).
It seems that the user can also setup dev->base_addr with "netdev="
kernel parameter before a driver starts probing (for example
drivers/net/appletalk/cops.c). Should we get rid of "netdev=" too and
push preconfiguring down to the drivers that actually use it?

		Pekka
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help