Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
afe1ba38
Commit
afe1ba38
authored
Feb 25, 2003
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge redhat.com:/garz/repo/linus-2.5
into redhat.com:/garz/repo/net-drivers-2.5
parents
09c49f76
8d7a36f3
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
194 additions
and
836 deletions
+194
-836
Documentation/networking/netdevices.txt
Documentation/networking/netdevices.txt
+4
-1
drivers/net/pcmcia/Kconfig
drivers/net/pcmcia/Kconfig
+0
-14
drivers/net/pcmcia/Makefile
drivers/net/pcmcia/Makefile
+0
-3
drivers/net/pcmcia/aironet4500_cs.c
drivers/net/pcmcia/aironet4500_cs.c
+0
-706
drivers/net/tg3.c
drivers/net/tg3.c
+122
-22
drivers/net/tg3.h
drivers/net/tg3.h
+3
-0
drivers/net/wireless/Kconfig
drivers/net/wireless/Kconfig
+57
-66
drivers/net/wireless/todo.txt
drivers/net/wireless/todo.txt
+2
-16
net/core/Makefile
net/core/Makefile
+0
-2
net/core/dev.c
net/core/dev.c
+2
-2
net/netsyms.c
net/netsyms.c
+2
-2
net/socket.c
net/socket.c
+2
-2
No files found.
Documentation/networking/netdevices.txt
View file @
afe1ba38
...
...
@@ -18,7 +18,8 @@ dev->open:
dev->stop:
Synchronization: rtnl_lock() semaphore.
Context: process
Notes: netif_running() is guaranteed false when this is called
Note1: netif_running() is guaranteed false
Note2: dev->poll() is guaranteed to be stopped
dev->do_ioctl:
Synchronization: rtnl_lock() semaphore.
...
...
@@ -31,10 +32,12 @@ dev->get_stats:
dev->hard_start_xmit:
Synchronization: dev->xmit_lock spinlock.
Context: BHs disabled
Notes: netif_queue_stopped() is guaranteed false
dev->tx_timeout:
Synchronization: dev->xmit_lock spinlock.
Context: BHs disabled
Notes: netif_queue_stopped() is guaranteed true
dev->set_multicast_list:
Synchronization: dev->xmit_lock spinlock.
...
...
drivers/net/pcmcia/Kconfig
View file @
afe1ba38
...
...
@@ -153,19 +153,5 @@ config PCMCIA_IBMTR
The module will be called ibmtr_cs. If you want to compile it as
a module, say M here and read <file:Documentation/modules.txt>.
config AIRONET4500_CS
tristate "Aironet 4500/4800 PCMCIA support"
depends on NET_PCMCIA_RADIO && AIRONET4500 && PCMCIA
help
Say Y here if you have a PCMCIA Aironet 4500/4800 card which you
want to use with the standard PCMCIA cardservices provided by the
pcmcia-cs package.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called aironet4500_cs. If you want to
compile it as a module, say M here and read
<file:Documentation/modules.txt>.
endmenu
drivers/net/pcmcia/Makefile
View file @
afe1ba38
...
...
@@ -13,7 +13,4 @@ obj-$(CONFIG_PCMCIA_XIRC2PS) += xirc2ps_cs.o
obj-$(CONFIG_ARCNET_COM20020_CS)
+=
com20020_cs.o
obj-$(CONFIG_PCMCIA_AXNET)
+=
axnet_cs.o
# 16-bit wireless client drivers
obj-$(CONFIG_AIRONET4500_CS)
+=
aironet4500_cs.o
obj-$(CONFIG_PCMCIA_IBMTR)
+=
ibmtr_cs.o
drivers/net/pcmcia/aironet4500_cs.c
deleted
100644 → 0
View file @
09c49f76
This diff is collapsed.
Click to expand it.
drivers/net/tg3.c
View file @
afe1ba38
...
...
@@ -25,6 +25,7 @@
#include <linux/if_vlan.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/workqueue.h>
#include <asm/system.h>
#include <asm/io.h>
...
...
@@ -54,8 +55,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "1.4"
#define DRV_MODULE_RELDATE "Feb 1, 2003"
#define DRV_MODULE_VERSION "1.4
c
"
#define DRV_MODULE_RELDATE "Feb 1
8
, 2003"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
...
...
@@ -216,6 +217,12 @@ static void tg3_disable_ints(struct tg3 *tp)
tr32
(
MAILBOX_INTERRUPT_0
+
TG3_64BIT_REG_LOW
);
}
static
inline
void
tg3_cond_int
(
struct
tg3
*
tp
)
{
if
(
tp
->
hw_status
->
status
&
SD_STATUS_UPDATED
)
tw32
(
GRC_LOCAL_CTRL
,
tp
->
grc_local_ctrl
|
GRC_LCLCTRL_SETINT
);
}
static
void
tg3_enable_ints
(
struct
tg3
*
tp
)
{
tw32
(
TG3PCI_MISC_HOST_CTRL
,
...
...
@@ -223,9 +230,55 @@ static void tg3_enable_ints(struct tg3 *tp)
tw32_mailbox
(
MAILBOX_INTERRUPT_0
+
TG3_64BIT_REG_LOW
,
0x00000000
);
tr32
(
MAILBOX_INTERRUPT_0
+
TG3_64BIT_REG_LOW
);
if
(
tp
->
hw_status
->
status
&
SD_STATUS_UPDATED
)
tw32
(
GRC_LOCAL_CTRL
,
tp
->
grc_local_ctrl
|
GRC_LCLCTRL_SETINT
);
tg3_cond_int
(
tp
);
}
/* these netif_xxx funcs should be moved into generic net layer */
static
void
netif_poll_disable
(
struct
net_device
*
dev
)
{
while
(
test_and_set_bit
(
__LINK_STATE_RX_SCHED
,
&
dev
->
state
))
{
current
->
state
=
TASK_INTERRUPTIBLE
;
schedule_timeout
(
1
);
}
}
static
inline
void
netif_poll_enable
(
struct
net_device
*
dev
)
{
clear_bit
(
__LINK_STATE_RX_SCHED
,
&
dev
->
state
);
}
/* same as netif_rx_complete, except that local_irq_save(flags)
* has already been issued
*/
static
inline
void
__netif_rx_complete
(
struct
net_device
*
dev
)
{
if
(
!
test_bit
(
__LINK_STATE_RX_SCHED
,
&
dev
->
state
))
BUG
();
list_del
(
&
dev
->
poll_list
);
clear_bit
(
__LINK_STATE_RX_SCHED
,
&
dev
->
state
);
}
static
inline
void
netif_tx_disable
(
struct
net_device
*
dev
)
{
spin_lock_bh
(
&
dev
->
xmit_lock
);
netif_stop_queue
(
dev
);
spin_unlock_bh
(
&
dev
->
xmit_lock
);
}
static
inline
void
tg3_netif_stop
(
struct
tg3
*
tp
)
{
netif_poll_disable
(
tp
->
dev
);
netif_tx_disable
(
tp
->
dev
);
}
static
inline
void
tg3_netif_start
(
struct
tg3
*
tp
)
{
netif_wake_queue
(
tp
->
dev
);
/* NOTE: unconditional netif_wake_queue is only appropriate
* so long as all callers are assured to have free tx slots
* (such as after tg3_init_hw)
*/
netif_poll_enable
(
tp
->
dev
);
tg3_cond_int
(
tp
);
}
static
void
tg3_switch_clocks
(
struct
tg3
*
tp
)
...
...
@@ -387,7 +440,6 @@ static int tg3_phy_reset(struct tg3 *tp, int force)
}
static
int
tg3_setup_phy
(
struct
tg3
*
);
static
int
tg3_halt
(
struct
tg3
*
);
static
int
tg3_set_power_state
(
struct
tg3
*
tp
,
int
state
)
{
...
...
@@ -458,8 +510,6 @@ static int tg3_set_power_state(struct tg3 *tp, int state)
tg3_setup_phy
(
tp
);
}
tg3_halt
(
tp
);
pci_read_config_word
(
tp
->
pdev
,
pm
+
PCI_PM_PMC
,
&
power_caps
);
if
(
tp
->
tg3_flags
&
TG3_FLAG_WOL_ENABLE
)
{
...
...
@@ -2044,7 +2094,12 @@ static int tg3_poll(struct net_device *netdev, int *budget)
spin_unlock
(
&
tp
->
tx_lock
);
}
/* run RX thread, within the bounds set by NAPI */
spin_unlock_irqrestore
(
&
tp
->
lock
,
flags
);
/* run RX thread, within the bounds set by NAPI.
* All RX "locking" is done by ensuring outside
* code synchronizes with dev->poll()
*/
done
=
1
;
if
(
sblk
->
idx
[
0
].
rx_producer
!=
tp
->
rx_rcb_ptr
)
{
int
orig_budget
=
*
budget
;
...
...
@@ -2064,11 +2119,11 @@ static int tg3_poll(struct net_device *netdev, int *budget)
/* if no more work, tell net stack and NIC we're done */
if
(
done
)
{
netif_rx_complete
(
netdev
);
spin_lock_irqsave
(
&
tp
->
lock
,
flags
);
__netif_rx_complete
(
netdev
);
tg3_enable_ints
(
tp
);
}
spin_unlock_irqrestore
(
&
tp
->
lock
,
flags
);
}
return
(
done
?
0
:
1
);
}
...
...
@@ -2136,17 +2191,21 @@ static void tg3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static
void
tg3_init_rings
(
struct
tg3
*
);
static
int
tg3_init_hw
(
struct
tg3
*
);
static
int
tg3_halt
(
struct
tg3
*
);
static
void
tg3_
tx_timeout
(
struct
net_device
*
dev
)
static
void
tg3_
reset_task
(
void
*
_data
)
{
struct
tg3
*
tp
=
dev
->
priv
;
struct
tg3
*
tp
=
_data
;
unsigned
int
restart_timer
;
printk
(
KERN_ERR
PFX
"%s: transmit timed out, resetting
\n
"
,
dev
->
name
);
tg3_netif_stop
(
tp
);
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
restart_timer
=
tp
->
tg3_flags2
&
TG3_FLG2_RESTART_TIMER
;
tp
->
tg3_flags2
&=
~
TG3_FLG2_RESTART_TIMER
;
tg3_halt
(
tp
);
tg3_init_rings
(
tp
);
tg3_init_hw
(
tp
);
...
...
@@ -2154,7 +2213,20 @@ static void tg3_tx_timeout(struct net_device *dev)
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
netif_wake_queue
(
dev
);
tg3_netif_start
(
tp
);
if
(
restart_timer
)
mod_timer
(
&
tp
->
timer
,
jiffies
+
1
);
}
static
void
tg3_tx_timeout
(
struct
net_device
*
dev
)
{
struct
tg3
*
tp
=
dev
->
priv
;
printk
(
KERN_ERR
PFX
"%s: transmit timed out, resetting
\n
"
,
dev
->
name
);
schedule_work
(
&
tp
->
reset_task
);
}
#if !PCI_DMA_BUS_IS_PHYS
...
...
@@ -2686,6 +2758,7 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu)
return
0
;
}
tg3_netif_stop
(
tp
);
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
...
...
@@ -2698,6 +2771,7 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu)
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
tg3_netif_start
(
tp
);
return
0
;
}
...
...
@@ -3073,6 +3147,7 @@ static int tg3_abort_hw(struct tg3 *tp)
static
void
tg3_chip_reset
(
struct
tg3
*
tp
)
{
u32
val
;
u32
flags_save
;
/* Force NVRAM to settle.
* This deals with a chip bug which can result in EEPROM
...
...
@@ -3089,8 +3164,21 @@ static void tg3_chip_reset(struct tg3 *tp)
}
}
/*
* We must avoid the readl() that normally takes place.
* It locks machines, causes machine checks, and other
* fun things. So, temporarily disable the 5701
* hardware workaround, while we do the reset.
*/
flags_save
=
tp
->
tg3_flags
;
tp
->
tg3_flags
&=
~
TG3_FLAG_5701_REG_WRITE_BUG
;
/* do the reset */
tw32
(
GRC_MISC_CFG
,
GRC_MISC_CFG_CORECLK_RESET
);
/* restore 5701 hardware bug workaround flag */
tp
->
tg3_flags
=
flags_save
;
/* Flush PCI posted writes. The normal MMIO registers
* are inaccessible at this time so this is the only
* way to make this reliably. I tried to use indirect
...
...
@@ -4394,9 +4482,11 @@ static void tg3_timer(unsigned long __opaque)
}
if
(
!
(
tr32
(
WDMAC_MODE
)
&
WDMAC_MODE_ENABLE
))
{
tg3_halt
(
tp
);
tg3_init_rings
(
tp
);
tg3_init_hw
(
tp
);
tp
->
tg3_flags2
|=
TG3_FLG2_RESTART_TIMER
;
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irqrestore
(
&
tp
->
lock
,
flags
);
schedule_work
(
&
tp
->
reset_task
);
return
;
}
/* This part only runs once per second. */
...
...
@@ -4527,8 +4617,6 @@ static int tg3_open(struct net_device *dev)
return
err
;
}
netif_start_queue
(
dev
);
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
...
...
@@ -4537,6 +4625,8 @@ static int tg3_open(struct net_device *dev)
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
netif_start_queue
(
dev
);
return
0
;
}
...
...
@@ -5302,6 +5392,7 @@ static int tg3_ethtool_ioctl (struct net_device *dev, void *useraddr)
(
ering
.
tx_pending
>
TG3_TX_RING_SIZE
-
1
))
return
-
EINVAL
;
tg3_netif_stop
(
tp
);
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
...
...
@@ -5315,6 +5406,7 @@ static int tg3_ethtool_ioctl (struct net_device *dev, void *useraddr)
netif_wake_queue
(
tp
->
dev
);
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
tg3_netif_start
(
tp
);
return
0
;
}
...
...
@@ -5337,6 +5429,7 @@ static int tg3_ethtool_ioctl (struct net_device *dev, void *useraddr)
if
(
copy_from_user
(
&
epause
,
useraddr
,
sizeof
(
epause
)))
return
-
EFAULT
;
tg3_netif_stop
(
tp
);
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
if
(
epause
.
autoneg
)
...
...
@@ -5356,6 +5449,7 @@ static int tg3_ethtool_ioctl (struct net_device *dev, void *useraddr)
tg3_init_hw
(
tp
);
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
tg3_netif_start
(
tp
);
return
0
;
}
...
...
@@ -6710,6 +6804,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,
spin_lock_init
(
&
tp
->
lock
);
spin_lock_init
(
&
tp
->
tx_lock
);
spin_lock_init
(
&
tp
->
indirect_lock
);
PREPARE_WORK
(
&
tp
->
reset_task
,
tg3_reset_task
,
tp
);
tp
->
regs
=
(
unsigned
long
)
ioremap
(
tg3reg_base
,
tg3reg_len
);
if
(
tp
->
regs
==
0UL
)
{
...
...
@@ -6851,6 +6946,8 @@ static int tg3_suspend(struct pci_dev *pdev, u32 state)
if
(
!
netif_running
(
dev
))
return
0
;
tg3_netif_stop
(
tp
);
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_disable_ints
(
tp
);
...
...
@@ -6877,6 +6974,7 @@ static int tg3_suspend(struct pci_dev *pdev, u32 state)
spin_unlock_irq
(
&
tp
->
lock
);
netif_device_attach
(
dev
);
tg3_netif_start
(
tp
);
}
return
err
;
...
...
@@ -6907,6 +7005,8 @@ static int tg3_resume(struct pci_dev *pdev)
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
tg3_netif_start
(
tp
);
return
0
;
}
...
...
drivers/net/tg3.h
View file @
afe1ba38
...
...
@@ -1821,6 +1821,8 @@ struct tg3 {
#define TG3_FLAG_GOT_SERDES_FLOWCTL 0x20000000
#define TG3_FLAG_SPLIT_MODE 0x40000000
#define TG3_FLAG_INIT_COMPLETE 0x80000000
u32
tg3_flags2
;
#define TG3_FLG2_RESTART_TIMER 0x00000001
u32
split_mode_max_reqs
;
#define SPLIT_MODE_5704_MAX_REQ 3
...
...
@@ -1889,6 +1891,7 @@ struct tg3 {
struct
tg3_hw_stats
*
hw_stats
;
dma_addr_t
stats_mapping
;
struct
work_struct
reset_task
;
};
#endif
/* !(_T3_H) */
drivers/net/wireless/Kconfig
View file @
afe1ba38
...
...
@@ -6,13 +6,13 @@ menu "Wireless LAN (non-hamradio)"
depends on NETDEVICES
config NET_RADIO
bool "Wireless LAN
(non-hamradio)
"
bool "Wireless LAN
drivers (non-hamradio) & Wireless Extensions
"
---help---
Support for wireless LANs and everything having to do with radio,
but not with amateur radio or FM broadcasting.
Saying Y here also enables the Wireless Extensions (creates
/proc/net/wireless and enables i
f
config access). The Wireless
/proc/net/wireless and enables i
w
config access). The Wireless
Extension is a generic API allowing a driver to expose to the user
space configuration and statistics specific to common Wireless LANs.
The beauty of it is that a single set of tool can support all the
...
...
@@ -28,6 +28,11 @@ config NET_RADIO
special kernel support are available from
<ftp://shadow.cabi.net/pub/Linux/>.
# Note : the cards are obsolete (can't buy them anymore), but the drivers
# are not, as people are still using them...
comment "Obsolete Wireless cards support (pre-802.11)"
depends on NET_RADIO && (INET || ISA || PCMCIA)
config STRIP
tristate "STRIP (Metricom starmode radio IP)"
depends on NET_RADIO && INET
...
...
@@ -68,10 +73,6 @@ config ARLAN
On some computers the card ends up in non-valid state after some
time. Use a ping-reset script to clear it.
comment "Wireless ISA/PCI cards support"
depends on NET_RADIO && (ISA || PCI || ALL_PPC || PCMCIA)
# Good old obsolete Wavelan.
config WAVELAN
tristate "AT&T/Lucent old WaveLAN & DEC RoamAbout DS ISA support"
depends on NET_RADIO && ISA
...
...
@@ -102,7 +103,54 @@ config WAVELAN
module, say M here and read <file:Documentation/modules.txt> as well
as <file:Documentation/networking/net-modules.txt>.
# 802.11b cards
config PCMCIA_WAVELAN
tristate "AT&T/Lucent old WaveLAN Pcmcia wireless support"
depends on NET_RADIO && PCMCIA
help
Say Y here if you intend to attach an AT&T/Lucent Wavelan PCMCIA
(PC-card) wireless Ethernet networking card to your computer. This
driver is for the non-IEEE-802.11 Wavelan cards.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called wavelan_cs. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
If unsure, say N.
config PCMCIA_NETWAVE
tristate "Xircom Netwave AirSurfer Pcmcia wireless support"
depends on NET_RADIO && PCMCIA
help
Say Y here if you intend to attach this type of PCMCIA (PC-card)
wireless Ethernet networking card to your computer.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called netwave_cs. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
If unsure, say N.
comment "Wireless 802.11 Frequency Hopping cards support"
depends on NET_RADIO && PCMCIA
config PCMCIA_RAYCS
tristate "Aviator/Raytheon 2.4MHz wireless support"
depends on NET_RADIO && PCMCIA
---help---
Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
(PC-card) wireless Ethernet networking card to your computer.
Please read the file <file:Documentation/networking/ray_cs.txt> for
details.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called ray_cs. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. If
unsure, say N.
comment "Wireless 802.11b ISA/PCI cards support"
depends on NET_RADIO && (ISA || PCI || ALL_PPC || PCMCIA)
config AIRO
tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
depends on NET_RADIO && (ISA || PCI)
...
...
@@ -175,41 +223,12 @@ config PCI_HERMES
this variety.
# If Pcmcia is compiled in, offer Pcmcia cards...
comment "Wireless Pcmcia/Cardbus cards support"
comment "Wireless
802.11b
Pcmcia/Cardbus cards support"
depends on NET_RADIO && PCMCIA
# Obsolete cards
config PCMCIA_NETWAVE
tristate "Xircom Netwave AirSurfer Pcmcia wireless support"
depends on NET_RADIO && PCMCIA
help
Say Y here if you intend to attach this type of PCMCIA (PC-card)
wireless Ethernet networking card to your computer.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called netwave_cs. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
If unsure, say N.
config PCMCIA_WAVELAN
tristate "AT&T/Lucent old Wavelan Pcmcia wireless support"
depends on NET_RADIO && PCMCIA
help
Say Y here if you intend to attach an AT&T/Lucent Wavelan PCMCIA
(PC-card) wireless Ethernet networking card to your computer. This
driver is for the non-IEEE-802.11 Wavelan cards.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called wavelan_cs. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
If unsure, say N.
# 802.11b cards
config PCMCIA_HERMES
tristate "Hermes PCMCIA card support"
depends on
PCMCIA!=n
&& HERMES
depends on
NET_RADIO && PCMCIA
&& HERMES
---help---
A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
...
...
@@ -249,34 +268,6 @@ config AIRO_CS
for location). You also want to check out the PCMCIA-HOWTO,
available from <http://www.linuxdoc.org/docs.html#howto>.
config NET_PCMCIA_RADIO
bool "PCMCIA Wireless LAN"
depends on NET_PCMCIA
help
Say Y here if you would like to use a PCMCIA (PC-card) device to
connect to a wireless local area network. Then say Y to the driver
for your particular card below.
To use your PC-cards, you will need supporting software from David
Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
for location). You also want to check out the PCMCIA-HOWTO,
available from <http://www.linuxdoc.org/docs.html#howto>.
config PCMCIA_RAYCS
tristate "Aviator/Raytheon 2.4MHz wireless support"
depends on NET_PCMCIA_RADIO && PCMCIA
---help---
Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
(PC-card) wireless Ethernet networking card to your computer.
Please read the file <file:Documentation/networking/ray_cs.txt> for
details.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called ray_cs. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. If
unsure, say N.
# yes, this works even when no drivers are selected
config NET_WIRELESS
bool
...
...
drivers/net/wireless/todo.txt
View file @
afe1ba38
...
...
@@ -2,28 +2,14 @@
-------------
1) Bring other kernel Wireless LAN drivers here
Already done :
o hermes.c/orinoco.c -> Wavelan IEEE driver + Airport driver
o airo.c/airo_cs.c -> Ben's Aironet driver
o wavelan.c -> old Wavelan ISA driver
o wavelan_cs.c -> old Wavelan Pcmcia driver
o netwave_cs.c -> Netwave Pcmcia driver
Drivers likely to go :
o ray_cs.c -> Raytheon/Aviator driver (maintainer MIA)
Drivers I have absolutely no control over :
o arlan.c -> old Aironet Arlan 655 (need to ask Elmer)
o aironet4500_xxx.c -> Elmer's Aironet driver (need to ask Elmer)
o strip.c -> Metricom's stuff. Not a wlan. Hum...
ETA : Kernel 2.5.X
Completed
2) Bring new Wireless LAN driver not yet in the kernel there
See my web page for details
In particular : HostAP
3) Misc
o Mark wavelan, wavelan_cs, netwave_cs drivers as obsolete
o Maybe arlan.c, ray_cs.c and strip.c also deserve to be obsolete
o Use new Probe/module stuff in wavelan.c
o New Wireless Extension API (pending)
Jean II
net/core/Makefile
View file @
afe1ba38
...
...
@@ -19,5 +19,3 @@ obj-$(CONFIG_NET_DIVERT) += dv.o
obj-$(CONFIG_NET_PROFILE)
+=
profile.o
obj-$(CONFIG_NET_PKTGEN)
+=
pktgen.o
obj-$(CONFIG_NET_RADIO)
+=
wireless.o
# Ugly. I wish all wireless drivers were moved in drivers/net/wireless
obj-$(CONFIG_NET_PCMCIA_RADIO)
+=
wireless.o
net/core/dev.c
View file @
afe1ba38
...
...
@@ -107,10 +107,10 @@
#include <linux/kmod.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
#if
defined(CONFIG_NET_RADIO) || defined(CONFIG_NET_PCMCIA_RADIO)
#if
def CONFIG_NET_RADIO
#include <linux/wireless.h>
/* Note : will define WIRELESS_EXT */
#include <net/iw_handler.h>
#endif
/* CONFIG_NET_RADIO
|| CONFIG_NET_PCMCIA_RADIO
*/
#endif
/* CONFIG_NET_RADIO */
#ifdef CONFIG_PLIP
extern
int
plip_init
(
void
);
#endif
...
...
net/netsyms.c
View file @
afe1ba38
...
...
@@ -646,12 +646,12 @@ EXPORT_SYMBOL(register_gifconf);
EXPORT_SYMBOL
(
softnet_data
);
#if
defined(CONFIG_NET_RADIO) || defined(CONFIG_NET_PCMCIA_RADIO)
#if
def CONFIG_NET_RADIO
/* Don't include the whole header mess for a single function */
union
iwreq_data
;
extern
void
wireless_send_event
(
struct
net_device
*
dev
,
unsigned
int
cmd
,
union
iwreq_data
*
wrqu
,
char
*
extra
);
EXPORT_SYMBOL
(
wireless_send_event
);
#endif
/* CONFIG_NET_RADIO
|| CONFIG_NET_PCMCIA_RADIO
*/
#endif
/* CONFIG_NET_RADIO */
EXPORT_SYMBOL
(
linkwatch_fire_event
);
...
...
net/socket.c
View file @
afe1ba38
...
...
@@ -83,9 +83,9 @@
#include <linux/kmod.h>
#endif
#if
defined(CONFIG_NET_RADIO) || defined(CONFIG_NET_PCMCIA_RADIO)
#if
def CONFIG_NET_RADIO
#include <linux/wireless.h>
/* Note : will define WIRELESS_EXT */
#endif
/* CONFIG_NET_RADIO
|| CONFIG_NET_PCMCIA_RADIO
*/
#endif
/* CONFIG_NET_RADIO */
#include <asm/uaccess.h>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment