android_kernel_xiaomi_sm8350/drivers/net
Daniel Drake 74553aedd4 [PATCH] zd1211rw: Defer firmware load until first ifup
While playing with the firmware a while back, I discovered a way to
access the device's entire address space before the firmware has been
loaded.

Previously we were loading the firmware early on (during probe) so that
we could read the MAC address from the EEPROM and register a netdevice.
Now that we can read the EEPROM without having firmware, we can defer
firmware loading until later while still reading the MAC address early
on.

This has the advantage that zd1211rw can now be built into the kernel --
previously if this was the case, zd1211rw would be loaded before the
filesystem is available and firmware loading would fail.

Firmware load and other device initialization operations now happen the
first time the interface is brought up.

Some architectural changes were needed: handling of the is_zd1211b flag
was moved into the zd_usb structure, MAC address handling was obviously
changed, and a preinit_hw stage was added (the order is now: init,
preinit_hw, init_hw).

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-07-10 14:14:56 -04:00
..
appletalk [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
arcnet [ARCNET]: Use menuconfig objects. 2007-05-24 16:36:51 -07:00
arm Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
atl1 atl1: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
bonding bonding: Fix 802.3ad no carrier on "no partner found" instance 2007-06-20 19:12:41 -04:00
chelsio network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
cris [SK_BUFF]: Convert skb->end to sk_buff_data_t 2007-04-25 22:26:29 -07:00
cxgb3 cxgb3 - TP SRAM update 2007-07-08 22:16:39 -04:00
e1000 e1000: disable polling before registering netdevice 2007-06-03 11:44:20 -04:00
ehea ehea: Whitespace cleanup 2007-07-08 22:16:45 -04:00
fec_8xx Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
fs_enet Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
hamradio Fix "deprecated" typoes. 2007-05-09 07:18:01 +02:00
ibm_emac ibm_emac: fix link speed detection change 2007-05-17 20:43:15 -04:00
irda smsc-ircc2: bypass PNP detection until we get the quirks worked out 2007-07-01 12:29:44 -07:00
ixgb ixgb: don't print error if pci_enable_msi() fails, cleanup minor leak 2007-05-17 20:43:15 -04:00
ixp2000 potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
mlx4 drivers/net: fix comparisons of unsigned < 0 2007-07-08 22:16:39 -04:00
myri10ge myri10ge: SET_NETDEV_DEV() 2007-07-02 08:24:51 -04:00
netxen drivers/net: fix comparisons of unsigned < 0 2007-07-08 22:16:39 -04:00
pcmcia add return value check of request_irq() 2007-07-08 22:16:40 -04:00
phy phylib: m88e1111: enable SGMII mode 2007-07-08 22:16:38 -04:00
sk98lin sk98lin: handle pci_enable_device() return value in skge_resume() 2007-04-28 11:00:57 -04:00
skfp potential parse error in ifdef 2007-06-01 08:18:27 -07:00
tokenring [TR]: Use menuconfig objects. 2007-05-24 16:36:52 -07:00
tulip Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
usb usbnet whitespace fixes 2007-07-08 22:16:38 -04:00
wan Use menuconfig objects II - netdev/wan 2007-05-11 17:53:26 -04:00
wireless [PATCH] zd1211rw: Defer firmware load until first ifup 2007-07-10 14:14:56 -04:00
3c59x.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c501.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c501.h
3c503.c
3c503.h
3c505.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
3c505.h
3c507.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c509.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c515.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c523.c [NET]: Fix warnings in 3c523.c and ni52.c 2007-04-25 22:28:27 -07:00
3c523.h
3c527.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
3c527.h
7990.c m68k: kill skb_copy_from_linear_data compiler warnings 2007-05-04 17:59:08 -07:00
7990.h
8139cp.c 8139cp: Convert to generic boolean 2007-07-08 22:16:38 -04:00
8139too.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
8390.c
8390.h
82596.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
a2065.c m68k: kill skb_copy_from_linear_data compiler warnings 2007-05-04 17:59:08 -07:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c acenic: SET_NETDEV_DEV is always there these days 2007-07-08 22:16:40 -04:00
acenic.h network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.h potential parse error in ifdef 2007-06-01 08:18:27 -07:00
apne.c
ariadne.c m68k: Amiga A2065 and Ariadne TX statistics 2007-05-04 17:59:07 -07:00
ariadne.h
at1700.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
atari_bionet.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
atari_pamsnet.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
atarilance.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
atp.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
atp.h
au1000_eth.c au1000_eth: Fix warnings. 2007-06-27 02:33:06 -04:00
au1000_eth.h
b44.c b44: use netdev_alloc_skb 2007-07-08 22:16:40 -04:00
b44.h b44: packet offset is constant 2007-07-08 22:16:40 -04:00
bmac.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
bmac.h
bnx2_fw2.h [BNX2]: Update 5709 firmware. 2007-05-03 13:21:48 -07:00
bnx2_fw.h [BNX2]: Update 5708 firmware. 2007-05-03 13:21:13 -07:00
bnx2.c [BNX2]: Update version and reldate. 2007-06-07 13:38:40 -07:00
bnx2.h [BNX2]: Enable DMA on 5709. 2007-06-07 13:38:38 -07:00
bsd_comp.c
cassini.c [CASSINI]: Fix printk message typo. 2007-05-31 01:23:22 -07:00
cassini.h
cs89x0.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
cs89x0.h
de600.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
de600.h
de620.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
de620.h
declance.c declance: Remove a dangling spin_unlock_irq() thingy 2007-05-21 19:41:19 -04:00
defxx.c defxx: Fix the handling of ioremap() failures 2007-05-30 09:52:48 -04:00
defxx.h
depca.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
dgrs.h
dl2k.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
dl2k.h
dm9000.c drivers/net/dm9000: Convert to generic boolean 2007-05-08 01:41:56 -04:00
dm9000.h
dummy.c
e100.c Revert "[netdrvr e100] experiment with doing RX in a similar manner to eepro100" 2007-06-12 18:52:31 -04:00
e2100.c
eepro100.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
eepro.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
eexpress.c [netdrvr] eexpress: minor corrections 2007-04-28 11:05:43 -04:00
eexpress.h
epic100.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
eql.c
es3210.c
eth16i.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ewrk3.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ewrk3.h
fealnx.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
fec.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
fec.h
forcedeth.c forcedeth: use unicast receive mode for WoL 2007-06-20 19:15:04 -04:00
gianfar_ethtool.c
gianfar_mii.c gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
gianfar_mii.h
gianfar_sysfs.c
gianfar.c gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
gianfar.h gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
hamachi.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
hp100.c net/hp100: fix section mismatch warning 2007-06-01 08:18:30 -07:00
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ibmlana.h
ibmveth.c ibmveth: Automatically enable larger rx buffer pools for larger mtu 2007-06-09 18:25:34 -04:00
ibmveth.h
ifb.c [IFB]: Fix crash on input device removal 2007-03-29 11:46:52 -07:00
ioc3-eth.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
isa-skeleton.c
iseries_veth.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
jazzsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
Kconfig Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
lance.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
lasi_82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lib8390.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
lib82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
LICENSE.SRC
lne390.c
loopback.c [NET]: loopback driver can use loopback_dev integrated net_device_stats 2007-04-25 22:28:52 -07:00
lp486e.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
mac89x0.c m68k: Mac89x0 Ethernet netif updates 2007-05-04 17:59:06 -07:00
mac8390.c m68k: Mac DP8390 update 2007-05-04 17:59:07 -07:00
macb.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
macb.h
mace.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
mace.h
macmace.c m68k: macmace fixes 2007-05-04 17:59:07 -07:00
macsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
Makefile Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
meth.c meth driver renovation 2007-05-24 17:20:49 -04:00
meth.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
mii.c mii: add kernel-doc notation 2007-04-28 11:01:05 -04:00
mipsnet.c [MIPS] Don't drag a platform specific header into generic arch code. 2007-06-20 22:27:10 +01:00
mipsnet.h
mv643xx_eth.c mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mv643xx_eth.h mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mvme147.c
myri_code.h
myri_sbus.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
myri_sbus.h
natsemi.c natsemi irq flags 2007-06-20 19:15:04 -04:00
ne2.c
ne2k-pci.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
ne3210.c
ne-h8300.c
ne.c ne: MIPS: Use platform_driver for ne on RBTX49XX 2007-05-08 01:23:09 -04:00
netconsole.c
netx-eth.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ni52.c [NET]: Fix warnings in 3c523.c and ni52.c 2007-04-25 22:28:27 -07:00
ni52.h
ni65.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
ni65.h
ni5010.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
ni5010.h
ns83820.c drivers/net/ns83820.c: fix a check-after-use 2007-07-02 08:24:52 -04:00
pasemi_mac.c pasemi_mac: Fix TX interrupt threshold 2007-07-08 22:16:45 -04:00
pasemi_mac.h pasemi_mac: Fix register defines 2007-05-15 17:44:39 -04:00
pci-skeleton.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
pcnet32.c pcnet32: change to use netdev_priv 2007-04-28 11:00:58 -04:00
plip.c [SK_BUFF]: Introduce skb_mac_header() 2007-04-25 22:24:41 -07:00
ppp_async.c [PPP]: Fix skbuff.c:BUG due incorrect logic in process_input_packet() 2007-04-19 13:05:52 -07:00
ppp_deflate.c
ppp_generic.c [PPP]: Fix osize too small errors when decoding mppe. 2007-06-23 23:05:54 -07:00
ppp_mppe.c [PPP]: Revert 606f585e36 2007-06-23 23:04:11 -07:00
ppp_mppe.h
ppp_synctty.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
pppoe.c [PPPOE]: Fix device tear-down notification. 2007-04-25 22:29:21 -07:00
pppox.c [L2TP]: Add the ability to autoload a pppox protocol module. 2007-04-30 00:21:02 -07:00
qla3xxx.c qla3xxx: cleanup checksum offload code 2007-07-08 22:16:40 -04:00
qla3xxx.h qla3xxx: Adding support for the Agere PHY (ET1011C) 2007-04-28 11:01:02 -04:00
r8169.c r8169: perform RX config change after mac filtering 2007-07-08 22:16:45 -04:00
rionet.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
rrunner.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
rrunner.h
s2io-regs.h S2io: Remove unused variables 2007-04-28 11:01:01 -04:00
s2io.c s2io: add PCI error recovery support 2007-07-08 22:16:38 -04:00
s2io.h s2io: add PCI error recovery support 2007-07-08 22:16:38 -04:00
saa9730.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
saa9730.h
sb1000.c [SK_BUFF]: Introduce skb_reset_mac_header(skb) 2007-04-25 22:24:32 -07:00
sb1250-mac.c potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
sc92031.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
seeq8005.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
seeq8005.h
sgiseeq.c Convert SGI IP22 and specific drivers to platform_device. 2007-05-11 17:00:29 +01:00
sgiseeq.h
shaper.c
sis190.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
sis900.c sis900: Allocate rx replacement buffer before rx operation 2007-04-27 20:16:41 -04:00
sis900.h
skge.c skge: crash on shutdown/suspend 2007-05-11 17:53:36 -04:00
skge.h skge: rearrange fields 2007-04-28 11:01:00 -04:00
sky2.c sky2: version 1.15 2007-07-08 22:16:42 -04:00
sky2.h sky2: Yukon Extreme (88e8071) support. 2007-07-08 22:16:42 -04:00
slhc.c
slip.c [SK_BUFF]: Introduce skb_mac_header() 2007-04-25 22:24:41 -07:00
slip.h
smc91x.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
smc91x.h Blackfin SMC91X ethernet supporting driver: SMC91C111 LEDs are note drived in the kernel like in uboot 2007-06-11 17:44:14 +08:00
smc911x.c smc911x: fix compilation breakage 2007-05-15 17:44:39 -04:00
smc911x.h
smc9194.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
sonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
sonic.h
Space.c m68k: macmace fixes 2007-05-04 17:59:07 -07:00
spider_net_ethtool.c spidernet: checksum and ethtool 2007-06-20 19:09:33 -04:00
spider_net.c spidernet: Replace literal with const 2007-07-08 22:16:45 -04:00
spider_net.h spidernet: Replace literal with const 2007-07-08 22:16:45 -04:00
starfire_firmware.h
starfire_firmware.pl
starfire.c starfire list alpha as 64 bit arch 2007-07-02 08:24:51 -04:00
stnic.c
sun3_82586.c m68k: kill skb_copy_from_linear_data compiler warnings 2007-05-04 17:59:08 -07:00
sun3_82586.h
sun3lance.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
sunbmac.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
sunbmac.h
sundance.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
sungem_phy.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem_phy.h
sungem.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem.h [SUNGEM]: Consolidate powerpc and sparc MAC probing code. 2007-04-26 01:54:48 -07:00
sunhme.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2007-04-27 09:29:04 -07:00
sunhme.h
sunlance.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
sunqe.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
sunqe.h
tc35815.c tc35815: Remove unnecessary skb->dev assignment 2007-05-08 01:41:56 -04:00
tg3.c [TG3]: Fix link problem on Dell's onboard 5906. 2007-06-03 18:08:41 -07:00
tg3.h tg3: use flush_work_keventd() 2007-05-09 12:30:51 -07:00
tlan.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
tlan.h
tsi108_eth.c [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tsi108_eth.h [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tun.c [NET] tun/tap: fixed hw address handling 2007-04-26 01:00:55 -07:00
typhoon-firmware.h
typhoon.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
typhoon.h
ucc_geth_mii.c ucc_geth: Fix MODULE_DEVICE_TABLE() duplication 2007-05-24 17:20:48 -04:00
ucc_geth_mii.h ucc_geth: eliminate max-speed, change interface-type to phy-connection-type 2007-05-15 17:44:40 -04:00
ucc_geth.c ucc_geth:trivial fix 2007-05-24 17:20:48 -04:00
ucc_geth.h ucc_geth: Fix interrupt coalescing size and alignment 2007-04-28 11:01:04 -04:00
via-rhine.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
via-velocity.c typo in via-velocity.c 2007-06-09 18:25:34 -04:00
via-velocity.h
wd.c
yellowfin.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
znet.c [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans 2007-04-25 22:24:30 -07:00
zorro8390.c