You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits) [NET]: Fix and allocate less memory for ->priv'less netdevices [IPV6]: Fix dangling references on error in fib6_add(). [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found [PKT_SCHED]: Fix datalen check in tcf_simp_init(). [INET]: Uninline the __inet_inherit_port call. [INET]: Drop the inet_inherit_port() call. SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked. [netdrvr] forcedeth: internal simplifications; changelog removal phylib: factor out get_phy_id from within get_phy_device PHY: add BCM5464 support to broadcom PHY driver cxgb3: Fix __must_check warning with dev_dbg. tc35815: Statistics cleanup natsemi: fix MMIO for PPC 44x platforms [TIPC]: Cleanup of TIPC reference table code [TIPC]: Optimized initialization of TIPC reference table [TIPC]: Remove inlining of reference table locking routines e1000: convert uint16_t style integers to u16 ixgb: convert uint16_t style integers to u16 sb1000.c: make const arrays static sb1000.c: stop inlining largish static functions ...
This commit is contained in:
@@ -11,7 +11,8 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \
|
||||
procfs-guide.xml writing_usb_driver.xml networking.xml \
|
||||
kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
|
||||
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
|
||||
genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml
|
||||
genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
|
||||
mac80211.xml
|
||||
|
||||
###
|
||||
# The build process is as follows (targets):
|
||||
|
||||
@@ -0,0 +1,335 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
|
||||
|
||||
<book id="mac80211-developers-guide">
|
||||
<bookinfo>
|
||||
<title>The mac80211 subsystem for kernel developers</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Johannes</firstname>
|
||||
<surname>Berg</surname>
|
||||
<affiliation>
|
||||
<address><email>johannes@sipsolutions.net</email></address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<copyright>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<holder>Johannes Berg</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
This documentation is free software; you can redistribute
|
||||
it and/or modify it under the terms of the GNU General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This documentation is distributed in the hope that it will be
|
||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU General Public License for more details.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this documentation; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
MA 02111-1307 USA
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For more details see the file COPYING in the source
|
||||
distribution of Linux.
|
||||
</para>
|
||||
</legalnotice>
|
||||
|
||||
<abstract>
|
||||
!Pinclude/net/mac80211.h Introduction
|
||||
!Pinclude/net/mac80211.h Warning
|
||||
</abstract>
|
||||
</bookinfo>
|
||||
|
||||
<toc></toc>
|
||||
|
||||
<!--
|
||||
Generally, this document shall be ordered by increasing complexity.
|
||||
It is important to note that readers should be able to read only
|
||||
the first few sections to get a working driver and only advanced
|
||||
usage should require reading the full document.
|
||||
-->
|
||||
|
||||
<part>
|
||||
<title>The basic mac80211 driver interface</title>
|
||||
<partintro>
|
||||
<para>
|
||||
You should read and understand the information contained
|
||||
within this part of the book while implementing a driver.
|
||||
In some chapters, advanced usage is noted, that may be
|
||||
skipped at first.
|
||||
</para>
|
||||
<para>
|
||||
This part of the book only covers station and monitor mode
|
||||
functionality, additional information required to implement
|
||||
the other modes is covered in the second part of the book.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<chapter id="basics">
|
||||
<title>Basic hardware handling</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This chapter shall contain information on getting a hw
|
||||
struct allocated and registered with mac80211.
|
||||
</para>
|
||||
<para>
|
||||
Since it is required to allocate rates/modes before registering
|
||||
a hw struct, this chapter shall also contain information on setting
|
||||
up the rate/mode structs.
|
||||
</para>
|
||||
<para>
|
||||
Additionally, some discussion about the callbacks and
|
||||
the general programming model should be in here, including
|
||||
the definition of ieee80211_ops which will be referred to
|
||||
a lot.
|
||||
</para>
|
||||
<para>
|
||||
Finally, a discussion of hardware capabilities should be done
|
||||
with references to other parts of the book.
|
||||
</para>
|
||||
<!-- intentionally multiple !F lines to get proper order -->
|
||||
!Finclude/net/mac80211.h ieee80211_hw
|
||||
!Finclude/net/mac80211.h ieee80211_hw_flags
|
||||
!Finclude/net/mac80211.h SET_IEEE80211_DEV
|
||||
!Finclude/net/mac80211.h SET_IEEE80211_PERM_ADDR
|
||||
!Finclude/net/mac80211.h ieee80211_ops
|
||||
!Finclude/net/mac80211.h ieee80211_alloc_hw
|
||||
!Finclude/net/mac80211.h ieee80211_register_hw
|
||||
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_unregister_hw
|
||||
!Finclude/net/mac80211.h ieee80211_free_hw
|
||||
</chapter>
|
||||
|
||||
<chapter id="phy-handling">
|
||||
<title>PHY configuration</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This chapter should describe PHY handling including
|
||||
start/stop callbacks and the various structures used.
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_conf
|
||||
!Finclude/net/mac80211.h ieee80211_conf_flags
|
||||
</chapter>
|
||||
|
||||
<chapter id="iface-handling">
|
||||
<title>Virtual interfaces</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This chapter should describe virtual interface basics
|
||||
that are relevant to the driver (VLANs, MGMT etc are not.)
|
||||
It should explain the use of the add_iface/remove_iface
|
||||
callbacks as well as the interface configuration callbacks.
|
||||
</para>
|
||||
<para>Things related to AP mode should be discussed there.</para>
|
||||
<para>
|
||||
Things related to supporting multiple interfaces should be
|
||||
in the appropriate chapter, a BIG FAT note should be here about
|
||||
this though and the recommendation to allow only a single
|
||||
interface in STA mode at first!
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_if_types
|
||||
!Finclude/net/mac80211.h ieee80211_if_init_conf
|
||||
!Finclude/net/mac80211.h ieee80211_if_conf
|
||||
</chapter>
|
||||
|
||||
<chapter id="rx-tx">
|
||||
<title>Receive and transmit processing</title>
|
||||
<sect1>
|
||||
<title>what should be here</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This should describe the receive and transmit
|
||||
paths in mac80211/the drivers as well as
|
||||
transmit status handling.
|
||||
</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Frame format</title>
|
||||
!Pinclude/net/mac80211.h Frame format
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Alignment issues</title>
|
||||
<para>TBD</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Calling into mac80211 from interrupts</title>
|
||||
!Pinclude/net/mac80211.h Calling mac80211 from interrupts
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>functions/definitions</title>
|
||||
!Finclude/net/mac80211.h ieee80211_rx_status
|
||||
!Finclude/net/mac80211.h mac80211_rx_flags
|
||||
!Finclude/net/mac80211.h ieee80211_tx_control
|
||||
!Finclude/net/mac80211.h ieee80211_tx_status_flags
|
||||
!Finclude/net/mac80211.h ieee80211_rx
|
||||
!Finclude/net/mac80211.h ieee80211_rx_irqsafe
|
||||
!Finclude/net/mac80211.h ieee80211_tx_status
|
||||
!Finclude/net/mac80211.h ieee80211_tx_status_irqsafe
|
||||
!Finclude/net/mac80211.h ieee80211_rts_get
|
||||
!Finclude/net/mac80211.h ieee80211_rts_duration
|
||||
!Finclude/net/mac80211.h ieee80211_ctstoself_get
|
||||
!Finclude/net/mac80211.h ieee80211_ctstoself_duration
|
||||
!Finclude/net/mac80211.h ieee80211_generic_frame_duration
|
||||
!Finclude/net/mac80211.h ieee80211_get_hdrlen_from_skb
|
||||
!Finclude/net/mac80211.h ieee80211_get_hdrlen
|
||||
!Finclude/net/mac80211.h ieee80211_wake_queue
|
||||
!Finclude/net/mac80211.h ieee80211_stop_queue
|
||||
!Finclude/net/mac80211.h ieee80211_start_queues
|
||||
!Finclude/net/mac80211.h ieee80211_stop_queues
|
||||
!Finclude/net/mac80211.h ieee80211_wake_queues
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="filters">
|
||||
<title>Frame filtering</title>
|
||||
!Pinclude/net/mac80211.h Frame filtering
|
||||
!Finclude/net/mac80211.h ieee80211_filter_flags
|
||||
</chapter>
|
||||
</part>
|
||||
|
||||
<part id="advanced">
|
||||
<title>Advanced driver interface</title>
|
||||
<partintro>
|
||||
<para>
|
||||
Information contained within this part of the book is
|
||||
of interest only for advanced interaction of mac80211
|
||||
with drivers to exploit more hardware capabilities and
|
||||
improve performance.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<chapter id="hardware-crypto-offload">
|
||||
<title>Hardware crypto acceleration</title>
|
||||
!Pinclude/net/mac80211.h Hardware crypto acceleration
|
||||
<!-- intentionally multiple !F lines to get proper order -->
|
||||
!Finclude/net/mac80211.h set_key_cmd
|
||||
!Finclude/net/mac80211.h ieee80211_key_conf
|
||||
!Finclude/net/mac80211.h ieee80211_key_alg
|
||||
!Finclude/net/mac80211.h ieee80211_key_flags
|
||||
</chapter>
|
||||
|
||||
<chapter id="qos">
|
||||
<title>Multiple queues and QoS support</title>
|
||||
<para>TBD</para>
|
||||
!Finclude/net/mac80211.h ieee80211_tx_queue_params
|
||||
!Finclude/net/mac80211.h ieee80211_tx_queue_stats_data
|
||||
!Finclude/net/mac80211.h ieee80211_tx_queue
|
||||
</chapter>
|
||||
|
||||
<chapter id="AP">
|
||||
<title>Access point mode support</title>
|
||||
<para>TBD</para>
|
||||
<para>Some parts of the if_conf should be discussed here instead</para>
|
||||
<para>
|
||||
Insert notes about VLAN interfaces with hw crypto here or
|
||||
in the hw crypto chapter.
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_get_buffered_bc
|
||||
!Finclude/net/mac80211.h ieee80211_beacon_get
|
||||
</chapter>
|
||||
|
||||
<chapter id="multi-iface">
|
||||
<title>Supporting multiple virtual interfaces</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
Note: WDS with identical MAC address should almost always be OK
|
||||
</para>
|
||||
<para>
|
||||
Insert notes about having multiple virtual interfaces with
|
||||
different MAC addresses here, note which configurations are
|
||||
supported by mac80211, add notes about supporting hw crypto
|
||||
with it.
|
||||
</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="hardware-scan-offload">
|
||||
<title>Hardware scan offload</title>
|
||||
<para>TBD</para>
|
||||
!Finclude/net/mac80211.h ieee80211_scan_completed
|
||||
</chapter>
|
||||
</part>
|
||||
|
||||
<part id="rate-control">
|
||||
<title>Rate control interface</title>
|
||||
<partintro>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This part of the book describes the rate control algorithm
|
||||
interface and how it relates to mac80211 and drivers.
|
||||
</para>
|
||||
</partintro>
|
||||
<chapter id="dummy">
|
||||
<title>dummy chapter</title>
|
||||
<para>TBD</para>
|
||||
</chapter>
|
||||
</part>
|
||||
|
||||
<part id="internal">
|
||||
<title>Internals</title>
|
||||
<partintro>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This part of the book describes mac80211 internals.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<chapter id="key-handling">
|
||||
<title>Key handling</title>
|
||||
<sect1>
|
||||
<title>Key handling basics</title>
|
||||
!Pnet/mac80211/key.c Key handling basics
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>MORE TBD</title>
|
||||
<para>TBD</para>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="rx-processing">
|
||||
<title>Receive processing</title>
|
||||
<para>TBD</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="tx-processing">
|
||||
<title>Transmit processing</title>
|
||||
<para>TBD</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="sta-info">
|
||||
<title>Station info handling</title>
|
||||
<sect1>
|
||||
<title>Programming information</title>
|
||||
!Fnet/mac80211/sta_info.h sta_info
|
||||
!Fnet/mac80211/sta_info.h ieee80211_sta_info_flags
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>STA information lifetime rules</title>
|
||||
!Pnet/mac80211/sta_info.c STA information lifetime rules
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="synchronisation">
|
||||
<title>Synchronisation</title>
|
||||
<para>TBD</para>
|
||||
<para>Locking, lots of RCU</para>
|
||||
</chapter>
|
||||
</part>
|
||||
</book>
|
||||
@@ -203,14 +203,6 @@ Who: linuxppc-dev@ozlabs.org
|
||||
|
||||
---------------------------
|
||||
|
||||
What: sk98lin network driver
|
||||
When: Feburary 2008
|
||||
Why: In kernel tree version of driver is unmaintained. Sk98lin driver
|
||||
replaced by the skge driver.
|
||||
Who: Stephen Hemminger <shemminger@linux-foundation.org>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: i386/x86_64 bzImage symlinks
|
||||
When: April 2010
|
||||
|
||||
@@ -221,8 +213,6 @@ Who: Thomas Gleixner <tglx@linutronix.de>
|
||||
|
||||
---------------------------
|
||||
|
||||
---------------------------
|
||||
|
||||
What: i2c-i810, i2c-prosavage and i2c-savage4
|
||||
When: May 2008
|
||||
Why: These drivers are superseded by i810fb, intelfb and savagefb.
|
||||
@@ -230,33 +220,6 @@ Who: Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: bcm43xx wireless network driver
|
||||
When: 2.6.26
|
||||
Files: drivers/net/wireless/bcm43xx
|
||||
Why: This driver's functionality has been replaced by the
|
||||
mac80211-based b43 and b43legacy drivers.
|
||||
Who: John W. Linville <linville@tuxdriver.com>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: ieee80211 softmac wireless networking component
|
||||
When: 2.6.26 (or after removal of bcm43xx and port of zd1211rw to mac80211)
|
||||
Files: net/ieee80211/softmac
|
||||
Why: No in-kernel drivers will depend on it any longer.
|
||||
Who: John W. Linville <linville@tuxdriver.com>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: rc80211-simple rate control algorithm for mac80211
|
||||
When: 2.6.26
|
||||
Files: net/mac80211/rc80211-simple.c
|
||||
Why: This algorithm was provided for reference but always exhibited bad
|
||||
responsiveness and performance and has some serious flaws. It has been
|
||||
replaced by rc80211-pid.
|
||||
Who: Stefano Brivio <stefano.brivio@polimi.it>
|
||||
|
||||
---------------------------
|
||||
|
||||
What (Why):
|
||||
- include/linux/netfilter_ipv4/ipt_TOS.h ipt_tos.h header files
|
||||
(superseded by xt_TOS/xt_tos target & match)
|
||||
|
||||
@@ -80,7 +80,7 @@ once you enable the radio, will depend on your hardware and driver combination.
|
||||
e.g. With the BCM4318 on the Acer Aspire 5020 series:
|
||||
|
||||
ndiswrapper: Light blinks on when transmitting
|
||||
bcm43xx/b43: Solid light, blinks off when transmitting
|
||||
b43: Solid light, blinks off when transmitting
|
||||
|
||||
Wireless radio control is unconditionally enabled - all Acer laptops that support
|
||||
acer-wmi come with built-in wireless. However, should you feel so inclined to
|
||||
|
||||
@@ -100,8 +100,6 @@ tuntap.txt
|
||||
- TUN/TAP device driver, allowing user space Rx/Tx of packets.
|
||||
vortex.txt
|
||||
- info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards.
|
||||
wan-router.txt
|
||||
- WAN router documentation
|
||||
wavelan.txt
|
||||
- AT&T GIS (nee NCR) WaveLAN card: An Ethernet-like radio transceiver
|
||||
x25.txt
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
|
||||
BCM43xx Linux Driver Project
|
||||
============================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
Many of the wireless devices found in modern notebook computers are
|
||||
based on the wireless chips produced by Broadcom. These devices have
|
||||
been a problem for Linux users as there is no open-source driver
|
||||
available. In addition, Broadcom has not released specifications
|
||||
for the device, and driver availability has been limited to the
|
||||
binary-only form used in the GPL versions of AP hardware such as the
|
||||
Linksys WRT54G, and the Windows and OS X drivers. Before this project
|
||||
began, the only way to use these devices were to use the Windows or
|
||||
OS X drivers with either the Linuxant or ndiswrapper modules. There
|
||||
is a strong penalty if this method is used as loading the binary-only
|
||||
module "taints" the kernel, and no kernel developer will help diagnose
|
||||
any kernel problems.
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
This driver has been developed using
|
||||
a clean-room technique that is described at
|
||||
http://bcm-specs.sipsolutions.net/ReverseEngineeringProcess. For legal
|
||||
reasons, none of the clean-room crew works on the on the Linux driver,
|
||||
and none of the Linux developers sees anything but the specifications,
|
||||
which are the ultimate product of the reverse-engineering group.
|
||||
|
||||
Software
|
||||
--------
|
||||
|
||||
Since the release of the 2.6.17 kernel, the bcm43xx driver has been
|
||||
distributed with the kernel source, and is prebuilt in most, if not
|
||||
all, distributions. There is, however, additional software that is
|
||||
required. The firmware used by the chip is the intellectual property
|
||||
of Broadcom and they have not given the bcm43xx team redistribution
|
||||
rights to this firmware. Since we cannot legally redistribute
|
||||
the firmware we cannot include it with the driver. Furthermore, it
|
||||
cannot be placed in the downloadable archives of any distributing
|
||||
organization; therefore, the user is responsible for obtaining the
|
||||
firmware and placing it in the appropriate location so that the driver
|
||||
can find it when initializing.
|
||||
|
||||
To help with this process, the bcm43xx developers provide a separate
|
||||
program named bcm43xx-fwcutter to "cut" the firmware out of a
|
||||
Windows or OS X driver and write the extracted files to the proper
|
||||
location. This program is usually provided with the distribution;
|
||||
however, it may be downloaded from
|
||||
|
||||
http://developer.berlios.de/project/showfiles.php?group_id=4547
|
||||
|
||||
The firmware is available in two versions. V3 firmware is used with
|
||||
the in-kernel bcm43xx driver that uses a software MAC layer called
|
||||
SoftMAC, and will have a microcode revision of 0x127 or smaller. The
|
||||
V4 firmware is used by an out-of-kernel driver employing a variation of
|
||||
the Devicescape MAC layer known as d80211. Once bcm43xx-d80211 reaches
|
||||
a satisfactory level of development, it will replace bcm43xx-softmac
|
||||
in the kernel as it is much more flexible and powerful.
|
||||
|
||||
A source for the latest V3 firmware is
|
||||
|
||||
http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
|
||||
|
||||
Once this file is downloaded, the command
|
||||
'bcm43xx-fwcutter -w <dir> <filename>'
|
||||
will extract the microcode and write it to directory
|
||||
<dir>. The correct directory will depend on your distribution;
|
||||
however, most use '/lib/firmware'. Once this step is completed,
|
||||
the bcm3xx driver should load when the system is booted. To see
|
||||
any messages relating to the driver, issue the command 'dmesg |
|
||||
grep bcm43xx' from a terminal window. If there are any problems,
|
||||
please send that output to Bcm43xx-dev@lists.berlios.de.
|
||||
|
||||
Although the driver has been in-kernel since 2.6.17, the earliest
|
||||
version is quite limited in its capability. Patches that include
|
||||
all features of later versions are available for the stable kernel
|
||||
versions from 2.6.18. These will be needed if you use a BCM4318,
|
||||
or a PCI Express version (BCM4311 and BCM4312). In addition, if you
|
||||
have an early BCM4306 and more than 1 GB RAM, your kernel will need
|
||||
to be patched. These patches, which are being updated regularly,
|
||||
are available at ftp://lwfinger.dynalias.org/patches. Look for
|
||||
combined_2.6.YY.patch. Of course you will need kernel source downloaded
|
||||
from kernel.org, or the source from your distribution.
|
||||
|
||||
If you build your own kernel, please enable CONFIG_BCM43XX_DEBUG
|
||||
and CONFIG_IEEE80211_SOFTMAC_DEBUG. The log information provided is
|
||||
essential for solving any problems.
|
||||
File diff suppressed because it is too large
Load Diff
+1
-16
@@ -840,15 +840,6 @@ L: linux-wireless@vger.kernel.org
|
||||
W: http://linuxwireless.org/en/users/Drivers/b43
|
||||
S: Maintained
|
||||
|
||||
BCM43XX WIRELESS DRIVER (SOFTMAC BASED VERSION)
|
||||
P: Larry Finger
|
||||
M: Larry.Finger@lwfinger.net
|
||||
P: Stefano Brivio
|
||||
M: stefano.brivio@polimi.it
|
||||
L: linux-wireless@vger.kernel.org
|
||||
W: http://bcm43xx.berlios.de/
|
||||
S: Obsolete
|
||||
|
||||
BEFS FILE SYSTEM
|
||||
P: Sergey S. Kostyliov
|
||||
M: rathamahata@php4.ru
|
||||
@@ -3479,7 +3470,7 @@ P: Vlad Yasevich
|
||||
M: vladislav.yasevich@hp.com
|
||||
P: Sridhar Samudrala
|
||||
M: sri@us.ibm.com
|
||||
L: lksctp-developers@lists.sourceforge.net
|
||||
L: linux-sctp@vger.kernel.org
|
||||
W: http://lksctp.sourceforge.net
|
||||
S: Supported
|
||||
|
||||
@@ -3613,12 +3604,6 @@ M: mhoffman@lightlink.com
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
|
||||
SOFTMAC LAYER (IEEE 802.11)
|
||||
P: Daniel Drake
|
||||
M: dsd@gentoo.org
|
||||
L: linux-wireless@vger.kernel.org
|
||||
S: Obsolete
|
||||
|
||||
SOFTWARE RAID (Multiple Disks) SUPPORT
|
||||
P: Ingo Molnar
|
||||
M: mingo@redhat.com
|
||||
|
||||
@@ -294,7 +294,7 @@ simeth_device_event(struct notifier_block *this,unsigned long event, void *ptr)
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
if (dev->nd_net != &init_net)
|
||||
if (dev_net(dev) != &init_net)
|
||||
return NOTIFY_DONE;
|
||||
|
||||
if ( event != NETDEV_UP && event != NETDEV_DOWN ) return NOTIFY_DONE;
|
||||
|
||||
@@ -138,7 +138,7 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev,
|
||||
|
||||
bus->name = "ep8248e-mdio-bitbang";
|
||||
bus->dev = &ofdev->dev;
|
||||
bus->id = res.start;
|
||||
snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start);
|
||||
|
||||
return mdiobus_register(bus);
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ static int __devinit gpio_mdio_probe(struct of_device *ofdev,
|
||||
new_bus->reset = &gpio_mdio_reset;
|
||||
|
||||
prop = of_get_property(np, "reg", NULL);
|
||||
new_bus->id = *prop;
|
||||
snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", *prop);
|
||||
new_bus->priv = priv;
|
||||
|
||||
new_bus->phy_mask = 0;
|
||||
|
||||
@@ -341,7 +341,7 @@ static int __init gfar_of_init(void)
|
||||
goto unreg;
|
||||
}
|
||||
|
||||
gfar_data.bus_id = 0;
|
||||
snprintf(gfar_data.bus_id, MII_BUS_ID_SIZE, "0");
|
||||
gfar_data.phy_id = fixed_link[0];
|
||||
} else {
|
||||
phy = of_find_node_by_phandle(*ph);
|
||||
@@ -362,7 +362,8 @@ static int __init gfar_of_init(void)
|
||||
}
|
||||
|
||||
gfar_data.phy_id = *id;
|
||||
gfar_data.bus_id = res.start;
|
||||
snprintf(gfar_data.bus_id, MII_BUS_ID_SIZE, "%x",
|
||||
res.start);
|
||||
|
||||
of_node_put(phy);
|
||||
of_node_put(mdio);
|
||||
|
||||
+3
-5
@@ -538,11 +538,9 @@ CONFIG_CTC=m
|
||||
# CONFIG_SMSGIUCV is not set
|
||||
# CONFIG_CLAW is not set
|
||||
CONFIG_QETH=y
|
||||
|
||||
#
|
||||
# Gigabit Ethernet default settings
|
||||
#
|
||||
# CONFIG_QETH_IPV6 is not set
|
||||
CONFIG_QETH_L2=y
|
||||
CONFIG_QETH_L3=y
|
||||
CONFIG_QETH_IPV6=y
|
||||
CONFIG_CCWGROUP=y
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
|
||||
+11
-11
@@ -437,7 +437,7 @@ static inline void dump_skb (char * prefix, unsigned int vc, struct sk_buff * sk
|
||||
|
||||
/* see limitations under Hardware Features */
|
||||
|
||||
static inline int check_area (void * start, size_t length) {
|
||||
static int check_area (void * start, size_t length) {
|
||||
// assumes length > 0
|
||||
const u32 fourmegmask = -1 << 22;
|
||||
const u32 twofivesixmask = -1 << 8;
|
||||
@@ -456,7 +456,7 @@ static inline int check_area (void * start, size_t length) {
|
||||
|
||||
/********** free an skb (as per ATM device driver documentation) **********/
|
||||
|
||||
static inline void amb_kfree_skb (struct sk_buff * skb) {
|
||||
static void amb_kfree_skb (struct sk_buff * skb) {
|
||||
if (ATM_SKB(skb)->vcc->pop) {
|
||||
ATM_SKB(skb)->vcc->pop (ATM_SKB(skb)->vcc, skb);
|
||||
} else {
|
||||
@@ -466,7 +466,7 @@ static inline void amb_kfree_skb (struct sk_buff * skb) {
|
||||
|
||||
/********** TX completion **********/
|
||||
|
||||
static inline void tx_complete (amb_dev * dev, tx_out * tx) {
|
||||
static void tx_complete (amb_dev * dev, tx_out * tx) {
|
||||
tx_simple * tx_descr = bus_to_virt (tx->handle);
|
||||
struct sk_buff * skb = tx_descr->skb;
|
||||
|
||||
@@ -643,7 +643,7 @@ static int command_do (amb_dev * dev, command * cmd) {
|
||||
|
||||
/********** TX queue pair **********/
|
||||
|
||||
static inline int tx_give (amb_dev * dev, tx_in * tx) {
|
||||
static int tx_give (amb_dev * dev, tx_in * tx) {
|
||||
amb_txq * txq = &dev->txq;
|
||||
unsigned long flags;
|
||||
|
||||
@@ -675,7 +675,7 @@ static inline int tx_give (amb_dev * dev, tx_in * tx) {
|
||||
}
|
||||
}
|
||||
|
||||
static inline int tx_take (amb_dev * dev) {
|
||||
static int tx_take (amb_dev * dev) {
|
||||
amb_txq * txq = &dev->txq;
|
||||
unsigned long flags;
|
||||
|
||||
@@ -703,7 +703,7 @@ static inline int tx_take (amb_dev * dev) {
|
||||
|
||||
/********** RX queue pairs **********/
|
||||
|
||||
static inline int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) {
|
||||
static int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) {
|
||||
amb_rxq * rxq = &dev->rxq[pool];
|
||||
unsigned long flags;
|
||||
|
||||
@@ -728,7 +728,7 @@ static inline int rx_give (amb_dev * dev, rx_in * rx, unsigned char pool) {
|
||||
}
|
||||
}
|
||||
|
||||
static inline int rx_take (amb_dev * dev, unsigned char pool) {
|
||||
static int rx_take (amb_dev * dev, unsigned char pool) {
|
||||
amb_rxq * rxq = &dev->rxq[pool];
|
||||
unsigned long flags;
|
||||
|
||||
@@ -761,7 +761,7 @@ static inline int rx_take (amb_dev * dev, unsigned char pool) {
|
||||
/********** RX Pool handling **********/
|
||||
|
||||
/* pre: buffers_wanted = 0, post: pending = 0 */
|
||||
static inline void drain_rx_pool (amb_dev * dev, unsigned char pool) {
|
||||
static void drain_rx_pool (amb_dev * dev, unsigned char pool) {
|
||||
amb_rxq * rxq = &dev->rxq[pool];
|
||||
|
||||
PRINTD (DBG_FLOW|DBG_POOL, "drain_rx_pool %p %hu", dev, pool);
|
||||
@@ -796,7 +796,7 @@ static void drain_rx_pools (amb_dev * dev) {
|
||||
drain_rx_pool (dev, pool);
|
||||
}
|
||||
|
||||
static inline void fill_rx_pool (amb_dev * dev, unsigned char pool,
|
||||
static void fill_rx_pool (amb_dev * dev, unsigned char pool,
|
||||
gfp_t priority)
|
||||
{
|
||||
rx_in rx;
|
||||
@@ -846,7 +846,7 @@ static void fill_rx_pools (amb_dev * dev) {
|
||||
|
||||
/********** enable host interrupts **********/
|
||||
|
||||
static inline void interrupts_on (amb_dev * dev) {
|
||||
static void interrupts_on (amb_dev * dev) {
|
||||
wr_plain (dev, offsetof(amb_mem, interrupt_control),
|
||||
rd_plain (dev, offsetof(amb_mem, interrupt_control))
|
||||
| AMB_INTERRUPT_BITS);
|
||||
@@ -854,7 +854,7 @@ static inline void interrupts_on (amb_dev * dev) {
|
||||
|
||||
/********** disable host interrupts **********/
|
||||
|
||||
static inline void interrupts_off (amb_dev * dev) {
|
||||
static void interrupts_off (amb_dev * dev) {
|
||||
wr_plain (dev, offsetof(amb_mem, interrupt_control),
|
||||
rd_plain (dev, offsetof(amb_mem, interrupt_control))
|
||||
&~ AMB_INTERRUPT_BITS);
|
||||
|
||||
+12
-12
@@ -424,7 +424,7 @@ static inline void FLUSH_RX_CHANNEL (hrz_dev * dev, u16 channel) {
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void WAIT_FLUSH_RX_COMPLETE (hrz_dev * dev) {
|
||||
static void WAIT_FLUSH_RX_COMPLETE (hrz_dev * dev) {
|
||||
while (rd_regw (dev, RX_CHANNEL_PORT_OFF) & FLUSH_CHANNEL)
|
||||
;
|
||||
return;
|
||||
@@ -435,7 +435,7 @@ static inline void SELECT_RX_CHANNEL (hrz_dev * dev, u16 channel) {
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void WAIT_UPDATE_COMPLETE (hrz_dev * dev) {
|
||||
static void WAIT_UPDATE_COMPLETE (hrz_dev * dev) {
|
||||
while (rd_regw (dev, RX_CHANNEL_PORT_OFF) & RX_CHANNEL_UPDATE_IN_PROGRESS)
|
||||
;
|
||||
return;
|
||||
@@ -796,7 +796,7 @@ static void hrz_change_vc_qos (ATM_RXER * rxer, MAAL_QOS * qos) {
|
||||
|
||||
/********** free an skb (as per ATM device driver documentation) **********/
|
||||
|
||||
static inline void hrz_kfree_skb (struct sk_buff * skb) {
|
||||
static void hrz_kfree_skb (struct sk_buff * skb) {
|
||||
if (ATM_SKB(skb)->vcc->pop) {
|
||||
ATM_SKB(skb)->vcc->pop (ATM_SKB(skb)->vcc, skb);
|
||||
} else {
|
||||
@@ -1076,7 +1076,7 @@ static void rx_schedule (hrz_dev * dev, int irq) {
|
||||
|
||||
/********** handle RX bus master complete events **********/
|
||||
|
||||
static inline void rx_bus_master_complete_handler (hrz_dev * dev) {
|
||||
static void rx_bus_master_complete_handler (hrz_dev * dev) {
|
||||
if (test_bit (rx_busy, &dev->flags)) {
|
||||
rx_schedule (dev, 1);
|
||||
} else {
|
||||
@@ -1089,7 +1089,7 @@ static inline void rx_bus_master_complete_handler (hrz_dev * dev) {
|
||||
|
||||
/********** (queue to) become the next TX thread **********/
|
||||
|
||||
static inline int tx_hold (hrz_dev * dev) {
|
||||
static int tx_hold (hrz_dev * dev) {
|
||||
PRINTD (DBG_TX, "sleeping at tx lock %p %lu", dev, dev->flags);
|
||||
wait_event_interruptible(dev->tx_queue, (!test_and_set_bit(tx_busy, &dev->flags)));
|
||||
PRINTD (DBG_TX, "woken at tx lock %p %lu", dev, dev->flags);
|
||||
@@ -1232,7 +1232,7 @@ static void tx_schedule (hrz_dev * const dev, int irq) {
|
||||
|
||||
/********** handle TX bus master complete events **********/
|
||||
|
||||
static inline void tx_bus_master_complete_handler (hrz_dev * dev) {
|
||||
static void tx_bus_master_complete_handler (hrz_dev * dev) {
|
||||
if (test_bit (tx_busy, &dev->flags)) {
|
||||
tx_schedule (dev, 1);
|
||||
} else {
|
||||
@@ -1246,7 +1246,7 @@ static inline void tx_bus_master_complete_handler (hrz_dev * dev) {
|
||||
/********** move RX Q pointer to next item in circular buffer **********/
|
||||
|
||||
// called only from IRQ sub-handler
|
||||
static inline u32 rx_queue_entry_next (hrz_dev * dev) {
|
||||
static u32 rx_queue_entry_next (hrz_dev * dev) {
|
||||
u32 rx_queue_entry;
|
||||
spin_lock (&dev->mem_lock);
|
||||
rx_queue_entry = rd_mem (dev, &dev->rx_q_entry->entry);
|
||||
@@ -1270,7 +1270,7 @@ static inline void rx_disabled_handler (hrz_dev * dev) {
|
||||
/********** handle RX data received by device **********/
|
||||
|
||||
// called from IRQ handler
|
||||
static inline void rx_data_av_handler (hrz_dev * dev) {
|
||||
static void rx_data_av_handler (hrz_dev * dev) {
|
||||
u32 rx_queue_entry;
|
||||
u32 rx_queue_entry_flags;
|
||||
u16 rx_len;
|
||||
@@ -1394,7 +1394,7 @@ static irqreturn_t interrupt_handler(int irq, void *dev_id)
|
||||
irq_ok = 0;
|
||||
while ((int_source = rd_regl (dev, INT_SOURCE_REG_OFF)
|
||||
& INTERESTING_INTERRUPTS)) {
|
||||
// In the interests of fairness, the (inline) handlers below are
|
||||
// In the interests of fairness, the handlers below are
|
||||
// called in sequence and without immediate return to the head of
|
||||
// the while loop. This is only of issue for slow hosts (or when
|
||||
// debugging messages are on). Really slow hosts may find a fast
|
||||
@@ -1458,7 +1458,7 @@ static void do_housekeeping (unsigned long arg) {
|
||||
/********** find an idle channel for TX and set it up **********/
|
||||
|
||||
// called with tx_busy set
|
||||
static inline short setup_idle_tx_channel (hrz_dev * dev, hrz_vcc * vcc) {
|
||||
static short setup_idle_tx_channel (hrz_dev * dev, hrz_vcc * vcc) {
|
||||
unsigned short idle_channels;
|
||||
short tx_channel = -1;
|
||||
unsigned int spin_count;
|
||||
@@ -1777,13 +1777,13 @@ static void hrz_reset (const hrz_dev * dev) {
|
||||
|
||||
/********** read the burnt in address **********/
|
||||
|
||||
static inline void WRITE_IT_WAIT (const hrz_dev *dev, u32 ctrl)
|
||||
static void WRITE_IT_WAIT (const hrz_dev *dev, u32 ctrl)
|
||||
{
|
||||
wr_regl (dev, CONTROL_0_REG, ctrl);
|
||||
udelay (5);
|
||||
}
|
||||
|
||||
static inline void CLOCK_IT (const hrz_dev *dev, u32 ctrl)
|
||||
static void CLOCK_IT (const hrz_dev *dev, u32 ctrl)
|
||||
{
|
||||
// DI must be valid around rising SK edge
|
||||
WRITE_IT_WAIT(dev, ctrl & ~SEEPROM_SK);
|
||||
|
||||
@@ -115,7 +115,7 @@ aoenet_rcv(struct sk_buff *skb, struct net_device *ifp, struct packet_type *pt,
|
||||
struct aoe_hdr *h;
|
||||
u32 n;
|
||||
|
||||
if (ifp->nd_net != &init_net)
|
||||
if (dev_net(ifp) != &init_net)
|
||||
goto exit;
|
||||
|
||||
skb = skb_share_check(skb, GFP_ATOMIC);
|
||||
|
||||
+369
-354
File diff suppressed because it is too large
Load Diff
@@ -966,8 +966,8 @@ static int __devinit rtl8139_init_one (struct pci_dev *pdev,
|
||||
|
||||
addr_len = read_eeprom (ioaddr, 0, 8) == 0x8129 ? 8 : 6;
|
||||
for (i = 0; i < 3; i++)
|
||||
((u16 *) (dev->dev_addr))[i] =
|
||||
le16_to_cpu (read_eeprom (ioaddr, i + 7, addr_len));
|
||||
((__le16 *) (dev->dev_addr))[i] =
|
||||
cpu_to_le16(read_eeprom (ioaddr, i + 7, addr_len));
|
||||
memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
|
||||
|
||||
/* The Rtl8139-specific entries in the device structure. */
|
||||
@@ -1373,8 +1373,8 @@ static void rtl8139_hw_start (struct net_device *dev)
|
||||
/* unlock Config[01234] and BMCR register writes */
|
||||
RTL_W8_F (Cfg9346, Cfg9346_Unlock);
|
||||
/* Restore our idea of the MAC address. */
|
||||
RTL_W32_F (MAC0 + 0, cpu_to_le32 (*(u32 *) (dev->dev_addr + 0)));
|
||||
RTL_W32_F (MAC0 + 4, cpu_to_le32 (*(u32 *) (dev->dev_addr + 4)));
|
||||
RTL_W32_F (MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr + 0)));
|
||||
RTL_W32_F (MAC0 + 4, le16_to_cpu (*(__le16 *) (dev->dev_addr + 4)));
|
||||
|
||||
/* Must enable Tx/Rx before setting transfer thresholds! */
|
||||
RTL_W8 (ChipCmd, CmdRxEnb | CmdTxEnb);
|
||||
@@ -1945,7 +1945,7 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp,
|
||||
rmb();
|
||||
|
||||
/* read size+status of next frame from DMA ring buffer */
|
||||
rx_status = le32_to_cpu (*(u32 *) (rx_ring + ring_offset));
|
||||
rx_status = le32_to_cpu (*(__le32 *) (rx_ring + ring_offset));
|
||||
rx_size = rx_status >> 16;
|
||||
pkt_size = rx_size - 4;
|
||||
|
||||
|
||||
+4
-2
@@ -48,14 +48,16 @@ EXPORT_SYMBOL(__alloc_ei_netdev);
|
||||
|
||||
#if defined(MODULE)
|
||||
|
||||
int init_module(void)
|
||||
static int __init ns8390_module_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cleanup_module(void)
|
||||
static void __exit ns8390_module_exit(void)
|
||||
{
|
||||
}
|
||||
|
||||
module_init(ns8390_module_init);
|
||||
module_exit(ns8390_module_exit);
|
||||
#endif /* MODULE */
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
+8
-88
@@ -467,6 +467,13 @@ config SNI_82596
|
||||
Say Y here to support the on-board Intel 82596 ethernet controller
|
||||
built into SNI RM machines.
|
||||
|
||||
config KORINA
|
||||
tristate "Korina (IDT RC32434) Ethernet support"
|
||||
depends on NET_ETHERNET && MIKROTIK_RB500
|
||||
help
|
||||
If you have a Mikrotik RouterBoard 500 or IDT RC32434
|
||||
based system say Y. Otherwise say N.
|
||||
|
||||
config MIPS_JAZZ_SONIC
|
||||
tristate "MIPS JAZZ onboard SONIC Ethernet support"
|
||||
depends on MACH_JAZZ
|
||||
@@ -1431,7 +1438,7 @@ config CS89x0
|
||||
config TC35815
|
||||
tristate "TOSHIBA TC35815 Ethernet support"
|
||||
depends on NET_PCI && PCI && MIPS
|
||||
select MII
|
||||
select PHYLIB
|
||||
|
||||
config EEPRO100
|
||||
tristate "EtherExpressPro/100 support (eepro100, original Becker driver)"
|
||||
@@ -2220,93 +2227,6 @@ config SKY2_DEBUG
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config SK98LIN
|
||||
tristate "Marvell Yukon Chipset / SysKonnect SK-98xx Support (DEPRECATED)"
|
||||
depends on PCI
|
||||
---help---
|
||||
Say Y here if you have a Marvell Yukon or SysKonnect SK-98xx/SK-95xx
|
||||
compliant Gigabit Ethernet Adapter.
|
||||
|
||||
This driver supports the original Yukon chipset. This driver is
|
||||
deprecated and will be removed from the kernel in the near future,
|
||||
it has been replaced by the skge driver. skge is cleaner and
|
||||
seems to work better.
|
||||
|
||||
This driver does not support the newer Yukon2 chipset. A separate
|
||||
driver, sky2, is provided to support Yukon2-based adapters.
|
||||
|
||||
The following adapters are supported by this driver:
|
||||
- 3Com 3C940 Gigabit LOM Ethernet Adapter
|
||||
- 3Com 3C941 Gigabit LOM Ethernet Adapter
|
||||
- Allied Telesyn AT-2970LX Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2970LX/2SC Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2970SX Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2970SX/2SC Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2970TX Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2970TX/2TX Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2971SX Gigabit Ethernet Adapter
|
||||
- Allied Telesyn AT-2971T Gigabit Ethernet Adapter
|
||||
- Belkin Gigabit Desktop Card 10/100/1000Base-T Adapter, Copper RJ-45
|
||||
- EG1032 v2 Instant Gigabit Network Adapter
|
||||
- EG1064 v2 Instant Gigabit Network Adapter
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Abit)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Albatron)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Asus)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (ECS)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Epox)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Foxconn)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Gigabyte)
|
||||
- Marvell 88E8001 Gigabit LOM Ethernet Adapter (Iwill)
|
||||
- Marvell 88E8050 Gigabit LOM Ethernet Adapter (Intel)
|
||||
- Marvell RDK-8001 Adapter
|
||||
- Marvell RDK-8002 Adapter
|
||||
- Marvell RDK-8003 Adapter
|
||||
- Marvell RDK-8004 Adapter
|
||||
- Marvell RDK-8006 Adapter
|
||||
- Marvell RDK-8007 Adapter
|
||||
- Marvell RDK-8008 Adapter
|
||||
- Marvell RDK-8009 Adapter
|
||||
- Marvell RDK-8010 Adapter
|
||||
- Marvell RDK-8011 Adapter
|
||||
- Marvell RDK-8012 Adapter
|
||||
- Marvell RDK-8052 Adapter
|
||||
- Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (32 bit)
|
||||
- Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (64 bit)
|
||||
- N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)
|
||||
- SK-9521 10/100/1000Base-T Adapter
|
||||
- SK-9521 V2.0 10/100/1000Base-T Adapter
|
||||
- SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T)
|
||||
- SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter
|
||||
- SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link)
|
||||
- SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX)
|
||||
- SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter
|
||||
- SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link)
|
||||
- SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX)
|
||||
- SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter
|
||||
- SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link)
|
||||
- SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter
|
||||
- SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition)
|
||||
- SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter
|
||||
- SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link)
|
||||
- SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)
|
||||
- SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter
|
||||
- SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)
|
||||
- SMC EZ Card 1000 (SMC9452TXV.2)
|
||||
|
||||
The adapters support Jumbo Frames.
|
||||
The dual link adapters support link-failover and dual port features.
|
||||
Both Marvell Yukon and SysKonnect SK-98xx/SK-95xx adapters support
|
||||
the scatter-gather functionality with sendfile(). Please refer to
|
||||
<file:Documentation/networking/sk98lin.txt> for more information about
|
||||
optional driver parameters.
|
||||
Questions concerning this driver may be addressed to:
|
||||
<linux@syskonnect.de>
|
||||
|
||||
If you want to compile this driver as a module ( = code which can be
|
||||
inserted in and removed from the running kernel whenever you want),
|
||||
say M here and read <file:Documentation/kbuild/modules.txt>. The module will
|
||||
be called sk98lin. This is recommended.
|
||||
|
||||
config VIA_VELOCITY
|
||||
tristate "VIA Velocity support"
|
||||
depends on PCI
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user