2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-20 03:04:01 +08:00
linux-next/drivers/net
Arnd Bergmann 6038f373a3 llseek: automatically add .llseek fop
All file_operations should get a .llseek operation so we can make
nonseekable_open the default for future file operations without a
.llseek pointer.

The three cases that we can automatically detect are no_llseek, seq_lseek
and default_llseek. For cases where we can we can automatically prove that
the file offset is always ignored, we use noop_llseek, which maintains
the current behavior of not returning an error from a seek.

New drivers should normally not use noop_llseek but instead use no_llseek
and call nonseekable_open at open time.  Existing drivers can be converted
to do the same when the maintainer knows for certain that no user code
relies on calling seek on the device file.

The generated code is often incorrectly indented and right now contains
comments that clarify for each added line why a specific variant was
chosen. In the version that gets submitted upstream, the comments will
be gone and I will manually fix the indentation, because there does not
seem to be a way to do that using coccinelle.

Some amount of new code is currently sitting in linux-next that should get
the same modifications, which I will do at the end of the merge window.

Many thanks to Julia Lawall for helping me learn to write a semantic
patch that does all this.

===== begin semantic patch =====
// This adds an llseek= method to all file operations,
// as a preparation for making no_llseek the default.
//
// The rules are
// - use no_llseek explicitly if we do nonseekable_open
// - use seq_lseek for sequential files
// - use default_llseek if we know we access f_pos
// - use noop_llseek if we know we don't access f_pos,
//   but we still want to allow users to call lseek
//
@ open1 exists @
identifier nested_open;
@@
nested_open(...)
{
<+...
nonseekable_open(...)
...+>
}

@ open exists@
identifier open_f;
identifier i, f;
identifier open1.nested_open;
@@
int open_f(struct inode *i, struct file *f)
{
<+...
(
nonseekable_open(...)
|
nested_open(...)
)
...+>
}

@ read disable optional_qualifier exists @
identifier read_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
expression E;
identifier func;
@@
ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)
{
<+...
(
   *off = E
|
   *off += E
|
   func(..., off, ...)
|
   E = *off
)
...+>
}

@ read_no_fpos disable optional_qualifier exists @
identifier read_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
@@
ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)
{
... when != off
}

@ write @
identifier write_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
expression E;
identifier func;
@@
ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)
{
<+...
(
  *off = E
|
  *off += E
|
  func(..., off, ...)
|
  E = *off
)
...+>
}

@ write_no_fpos @
identifier write_f;
identifier f, p, s, off;
type ssize_t, size_t, loff_t;
@@
ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)
{
... when != off
}

@ fops0 @
identifier fops;
@@
struct file_operations fops = {
 ...
};

@ has_llseek depends on fops0 @
identifier fops0.fops;
identifier llseek_f;
@@
struct file_operations fops = {
...
 .llseek = llseek_f,
...
};

@ has_read depends on fops0 @
identifier fops0.fops;
identifier read_f;
@@
struct file_operations fops = {
...
 .read = read_f,
...
};

@ has_write depends on fops0 @
identifier fops0.fops;
identifier write_f;
@@
struct file_operations fops = {
...
 .write = write_f,
...
};

@ has_open depends on fops0 @
identifier fops0.fops;
identifier open_f;
@@
struct file_operations fops = {
...
 .open = open_f,
...
};

// use no_llseek if we call nonseekable_open
////////////////////////////////////////////
@ nonseekable1 depends on !has_llseek && has_open @
identifier fops0.fops;
identifier nso ~= "nonseekable_open";
@@
struct file_operations fops = {
...  .open = nso, ...
+.llseek = no_llseek, /* nonseekable */
};

@ nonseekable2 depends on !has_llseek @
identifier fops0.fops;
identifier open.open_f;
@@
struct file_operations fops = {
...  .open = open_f, ...
+.llseek = no_llseek, /* open uses nonseekable */
};

// use seq_lseek for sequential files
/////////////////////////////////////
@ seq depends on !has_llseek @
identifier fops0.fops;
identifier sr ~= "seq_read";
@@
struct file_operations fops = {
...  .read = sr, ...
+.llseek = seq_lseek, /* we have seq_read */
};

// use default_llseek if there is a readdir
///////////////////////////////////////////
@ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier readdir_e;
@@
// any other fop is used that changes pos
struct file_operations fops = {
... .readdir = readdir_e, ...
+.llseek = default_llseek, /* readdir is present */
};

// use default_llseek if at least one of read/write touches f_pos
/////////////////////////////////////////////////////////////////
@ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier read.read_f;
@@
// read fops use offset
struct file_operations fops = {
... .read = read_f, ...
+.llseek = default_llseek, /* read accesses f_pos */
};

@ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier write.write_f;
@@
// write fops use offset
struct file_operations fops = {
... .write = write_f, ...
+	.llseek = default_llseek, /* write accesses f_pos */
};

// Use noop_llseek if neither read nor write accesses f_pos
///////////////////////////////////////////////////////////

@ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier read_no_fpos.read_f;
identifier write_no_fpos.write_f;
@@
// write fops use offset
struct file_operations fops = {
...
 .write = write_f,
 .read = read_f,
...
+.llseek = noop_llseek, /* read and write both use no f_pos */
};

@ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier write_no_fpos.write_f;
@@
struct file_operations fops = {
... .write = write_f, ...
+.llseek = noop_llseek, /* write uses no f_pos */
};

@ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
identifier read_no_fpos.read_f;
@@
struct file_operations fops = {
... .read = read_f, ...
+.llseek = noop_llseek, /* read uses no f_pos */
};

@ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @
identifier fops0.fops;
@@
struct file_operations fops = {
...
+.llseek = noop_llseek, /* no read or write fn */
};
===== End semantic patch =====

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Julia Lawall <julia@diku.dk>
Cc: Christoph Hellwig <hch@infradead.org>
2010-10-15 15:53:27 +02:00
..
appletalk fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
arcnet arcnet: fix signed bug in probe function 2010-07-18 15:07:15 -07:00
arm Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 2010-08-11 09:17:27 -07:00
atl1c atl1c: Add AR8151 v2 support and change L0s/L1 routine 2010-06-01 00:28:12 -07:00
atl1e drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
atlx drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
benet be2net: remove a BUG_ON in be_cmds.c 2010-09-03 09:52:47 -07:00
bnx2x bnx2x: Update bnx2x version to 1.52.53-4 2010-08-18 23:42:36 -07:00
bonding bonding: Fix jiffies overflow problems (again) 2010-09-07 13:57:20 -07:00
caif llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
can of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
chelsio chelsio: Remove remnants of CONFIG_CHELSIO_T1_COUGAR 2010-06-03 03:18:20 -07:00
cris eth_v10: Removing dead ETRAX_NETWORK_RED_ON_NO_CONNECTION 2010-07-14 13:41:53 -07:00
cxgb3 cxgb3: do not use PCI resources before pci_enable_device() 2010-08-04 16:18:02 -07:00
cxgb4 llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
cxgb4vf cxgb4vf: do not use PCI resources before pci_enable_device() 2010-08-04 16:18:02 -07:00
e1000 e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
e1000e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-23 18:30:30 -07:00
ehea Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-23 18:30:30 -07:00
enic drivers/net/enic: Use %pUB to format a UUID 2010-08-04 16:18:04 -07:00
fs_enet of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
hamradio drivers/net/hamradio: Eliminate a NULL pointer dereference 2010-05-28 01:57:18 -07:00
ibm_newemac Input: sysrq - drop tty argument from sysrq ops handlers 2010-08-19 22:07:06 -07:00
igb e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
igbvf e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
irda Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into devel-stable 2010-08-06 18:13:19 +01:00
ixgb e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
ixgbe e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
ixgbevf e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
ixp2000 net: trans_start cleanups 2010-05-10 05:01:31 -07:00
mlx4 drivers/net/mlx4: Use %pV, pr_<level>, printk_once 2010-07-15 19:05:17 -07:00
myri10ge param: lock myri10ge_fw_name against sysfs changes. 2010-08-11 23:04:32 +09:30
netxen netxen: fix poll implementation 2010-08-23 20:28:55 -07:00
octeon net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-07 14:06:10 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-28 15:42:44 -07:00
qlcnic qlcnic: fix poll implementation 2010-08-23 20:28:55 -07:00
qlge qlge: reset the chip before freeing the buffers 2010-08-26 14:09:14 -07:00
sfc sfc: Remove unused field left from mis-merge 2010-07-08 23:12:29 -07:00
skfp drivers/net: remove useless semicolons 2010-05-17 22:47:34 -07:00
stmmac stmmac: fix sleep inside atomic 2010-09-07 13:57:14 -07:00
tokenring drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
tulip Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-08-04 15:31:02 -07:00
usb ipheth: remove incorrect devtype to WWAN 2010-09-09 21:41:59 -07:00
vmxnet3 net-next: Fix an overflow bug in vmxnet3 Tx descriptor 2010-07-25 17:06:52 -07:00
vxge drivers/net/vxge/vxge-main.c: Use pr_<level> and netdev_<level> 2010-07-30 23:27:57 -07:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-13 10:38:12 -07:00
wimax llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
wireless llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
3c59x.c 3c59x: Fix deadlock in vortex_error() 2010-09-07 13:57:22 -07:00
3c501.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
3c501.h
3c503.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
3c503.h
3c505.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
3c505.h
3c507.c drivers/net: Eliminate a NULL pointer dereference 2010-05-28 01:57:18 -07:00
3c509.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
3c515.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
3c523.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
3c523.h
3c527.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
3c527.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
7990.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
7990.h
8139cp.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-06-11 13:32:31 -07:00
8139too.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-06-11 13:32:31 -07:00
8390.c
8390.h
8390p.c
82596.c drivers/net/82596.c: fix warning 2010-07-19 15:27:13 -07:00
a2065.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-05-18 23:01:55 -07:00
a2065.h
ac3200.c ac3200: fix error path 2010-07-11 18:15:08 -07:00
acenic.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
acenic.h acenic: use the dma state API instead of the pci equivalents 2010-04-01 18:38:33 -07:00
amd8111e.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
amd8111e.h net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
apne.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ariadne.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-05-18 23:01:55 -07:00
ariadne.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
at1700.c at1700: fix double free_irq 2010-07-11 18:15:08 -07:00
atarilance.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
atp.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
atp.h
au1000_eth.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus 2010-08-05 08:53:20 -07:00
au1000_eth.h au1000-eth: implement set/get_msglevel 2010-04-07 02:07:49 -07:00
ax88796.c ax88796: free irq on error 2010-07-08 23:42:40 -07:00
b44.c PATCH: b44 Handle RX FIFO overflow better (simplified) 2010-09-07 13:57:23 -07:00
b44.h
bcm63xx_enet.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
bcm63xx_enet.h
bfin_mac.c netdev:bfin_mac: reclaim and free tx skb as soon as possible after transfer 2010-06-15 15:04:10 -07:00
bfin_mac.h netdev:bfin_mac: reclaim and free tx skb as soon as possible after transfer 2010-06-15 15:04:10 -07:00
bmac.c powerpc/macio: Fix probing of macio devices by using the right of match table 2010-06-02 17:50:38 +10:00
bmac.h
bnx2_fw.h
bnx2.c bnx2: Update version to 2.0.17. 2010-07-19 20:30:07 -07:00
bnx2.h bnx2: Call pci_enable_msix() with actual number of vectors. 2010-07-19 20:30:06 -07:00
bsd_comp.c
cassini.c cassini: Removing dead CASSINI_NAPI 2010-07-14 13:36:18 -07:00
cassini.h cassini: Removing dead CASSINI_QGE_DEBUG 2010-07-14 12:18:31 -07:00
cnic_defs.h cnic: Update version to 2.1.1. 2010-02-26 02:10:14 -08:00
cnic_if.h cnic: Update version to 2.1.3. 2010-06-25 20:37:21 -07:00
cnic.c bnx2x: Create separate folder for bnx2x driver 2010-07-27 20:35:39 -07:00
cnic.h cnic: Unify kcq allocation for all devices. 2010-06-25 20:37:19 -07:00
cpmac.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
cs89x0.c net: Removing dead ARCH_PNX010X 2010-07-19 13:32:57 -07:00
cs89x0.h cs89x0: Removing dead SH_HICOSH4 2010-07-14 13:40:36 -07:00
davinci_emac.c davinci_emac: Fix use after free in davinci_emac_remove 2010-08-04 16:18:03 -07:00
de600.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
de600.h
de620.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
de620.h
declance.c NET: declance: Fix section mismatches 2010-07-26 19:08:14 +01:00
defxx.c net: convert multicast list to list_head 2010-04-03 14:22:15 -07:00
defxx.h
depca.c depca: fix leaks in depca_module_init() 2010-07-12 20:21:40 -07:00
depca.h
dl2k.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
dl2k.h drivers/net/: use DEFINE_PCI_DEVICE_TABLE() 2010-01-07 23:54:26 -08:00
dm9000.c drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
dm9000.h DM9000: Wake on LAN support 2009-11-11 19:22:21 -08:00
dnet.c dnet: fixup error handling in initialization 2010-07-30 23:27:58 -07:00
dnet.h
dummy.c
e100.c e100/e1000*/igb*/ixgb*: Add missing read memory barrier 2010-08-08 20:02:45 -07:00
e2100.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
eepro.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
eexpress.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
eexpress.h
enc28j60_hw.h
enc28j60.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
epic100.c epic100: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:14 -07:00
eql.c drivers/net: remove useless semicolons 2010-05-17 22:47:34 -07:00
es3210.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
eth16i.c eth16i: fix memory leak 2010-07-14 17:57:19 -07:00
ethoc.c ethoc: add devinit/devexit section initializers 2010-07-26 18:45:05 -07:00
ewrk3.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ewrk3.h
fealnx.c fealnx: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:13 -07:00
fec_mpc52xx_phy.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fec_mpc52xx.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fec_mpc52xx.h
fec.c net/fec: restore interrupt mask after software-reset in fec_stop() 2010-07-22 14:14:46 -07:00
fec.h fec: add support for PHY interface platform data 2010-05-24 00:36:13 -07:00
forcedeth.c forcedeth: Fix different hardware statistics versions. 2010-07-25 21:54:28 -07:00
fsl_pq_mdio.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fsl_pq_mdio.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
gianfar_ethtool.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
gianfar_sysfs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
gianfar.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
gianfar.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
greth.c of/sparc: fix build regression from of_device changes 2010-08-08 01:20:06 -06:00
greth.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
hamachi.c hamachi: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:15 -07:00
hp100.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-08-04 15:31:02 -07:00
hp100.h
hp-plus.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
hp.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
hplance.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hplance.h
hydra.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
ibmlana.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
ibmlana.h
ibmveth.c ibmveth: Fix opps during MTU change on an active device 2010-08-19 00:09:48 -07:00
ibmveth.h
ifb.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
ioc3-eth.c ioc3-eth: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:12 -07:00
ipg.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
ipg.h drivers/net/ipg: Remove invalid IPG_DDEBUG_MSG uses, neaten 2010-03-30 23:42:26 -07:00
iseries_veth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
jazzsonic.c jazzsonic: free irq if sonic_open() fails 2010-07-12 20:21:44 -07:00
jme.c drivers/net: remove useless semicolons 2010-05-17 22:47:34 -07:00
jme.h jme: Advance driver version number 2010-03-18 21:14:00 -07:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-23 18:30:30 -07:00
korina.c korina: count RX DMA OVR as rx_fifo_error 2010-06-02 06:12:19 -07:00
ks8842.c ks8842: Fix warnings on 64-bit. 2010-07-27 22:24:37 -07:00
ks8851_mll.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
ks8851.c KS8851: Correct RX packet allocation 2010-09-08 21:47:13 -07:00
ks8851.h ks8851: Low level functions for read/write to companion eeprom 2010-05-05 21:27:44 -07:00
ksz884x.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-08-04 15:31:02 -07:00
lance.c lance: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:16 -07:00
lasi_82596.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lib8390.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
lib82596.c lasi82596: fix netdev_mc_count conversion 2010-06-21 13:50:18 -07:00
LICENSE.SRC
ll_temac_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-23 18:30:30 -07:00
ll_temac_mdio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ll_temac.h net: ll_temac: fix checksum offload logic 2010-05-26 20:44:30 -07:00
lne390.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
loopback.c net: fix 64 bit counters on 32 bit arches 2010-07-07 14:58:56 -07:00
lp486e.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
mac89x0.c mac89x0: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:18 -07:00
mac8390.c net: mac8390 - Sort out memory/MMIO accesses and casts 2010-06-03 03:18:20 -07:00
macb.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
macb.h
mace.c powerpc/macio: Fix probing of macio devices by using the right of match table 2010-06-02 17:50:38 +10:00
mace.h
macmace.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
macsonic.c macsonic: free irqs if sonic_open() fails 2010-07-12 20:21:44 -07:00
macvlan.c macvlan: Fix rx counters update in macvlan_handle_frame() 2010-07-27 21:02:42 -07:00
macvtap.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-27 21:01:35 -07:00
Makefile net: add Fast Ethernet driver for PXA168. 2010-08-18 23:30:42 -07:00
mdio.c mdio: Expose pause frame advertising flags to ethtool 2009-10-12 23:59:08 -07:00
meth.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
meth.h
mii.c
mipsnet.c NET: MIPSsim: Fix modpost warning. 2010-06-21 13:40:25 -07:00
mv643xx_eth.c mv643xx_eth: potential null dereference 2010-07-23 13:05:12 -07:00
mvme147.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
myri_sbus.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
myri_sbus.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
natsemi.c natsemi: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:17 -07:00
ne2.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ne2k-pci.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ne3210.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ne-h8300.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ne.c net/ne: fix memory leak in ne_drv_probe() 2010-07-05 20:08:05 -07:00
netconsole.c netpoll: add generic support for bridge and bonding devices 2010-05-06 00:47:21 -07:00
netx-eth.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
ni52.c ni52: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:19 -07:00
ni52.h
ni65.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
ni65.h
ni5010.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ni5010.h
niu.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-09-08 23:49:04 -07:00
niu.h of: kill struct of_device 2010-06-28 12:41:33 -07:00
ns83820.c ns83820: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:18 -07:00
pasemi_mac_ethtool.c pasemi_mac: ethtool set settings support 2009-10-12 13:26:39 -07:00
pasemi_mac.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
pasemi_mac.h
pci-skeleton.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
pcnet32.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
plip.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
ppp_async.c ppp: make channel_ops const 2010-08-04 21:53:17 -07:00
ppp_deflate.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
ppp_generic.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
ppp_mppe.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
ppp_mppe.h
ppp_synctty.c ppp: make channel_ops const 2010-08-04 21:53:17 -07:00
pppoe.c ppp: make channel_ops const 2010-08-04 21:53:17 -07:00
pppox.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ps3_gelic_net.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
ps3_gelic_net.h net/ps3: Add support for gelic link negotiation 2009-12-02 00:52:31 -08:00
ps3_gelic_wireless.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-05-20 21:04:44 -07:00
ps3_gelic_wireless.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
pxa168_eth.c pxa168_eth: fix a mdiobus leak 2010-09-01 14:29:34 -07:00
qla3xxx.c drivers/net/qla3xxx.c: Checkpatch cleanups 2010-07-26 13:15:21 -07:00
qla3xxx.h qla3xxx: use the DMA state API instead of the pci equivalents 2010-04-13 02:54:17 -07:00
r6040.c r6040: Fix args to phy_mii_ioctl(). 2010-07-21 21:10:49 -07:00
r8169.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-08-06 11:44:36 -07:00
rionet.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rrunner.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
rrunner.h
s2io-regs.h vxge: Update copyright information 2010-07-15 20:46:22 -07:00
s2io.c net: s2io: fix buffer overflow 2010-07-23 13:05:13 -07:00
s2io.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-27 21:01:35 -07:00
s6gmac.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
sb1000.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
sb1250-mac.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
sc92031.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
seeq8005.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
seeq8005.h
sgiseeq.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
sgiseeq.h
sh_eth.c net: sh_eth: remove unused variable 2010-08-19 00:39:45 -07:00
sh_eth.h net: add Runtime PM to the sh_eth driver 2009-10-13 03:44:05 -07:00
sis190.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
sis900.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
sis900.h
skge.c skge: use the DMA state API instead of the pci equivalents 2010-05-15 23:29:31 -07:00
skge.h skge: use the DMA state API instead of the pci equivalents 2010-05-15 23:29:31 -07:00
sky2.c Revert "sky2: don't do GRO on second port" 2010-09-02 09:39:09 -07:00
sky2.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
slhc.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
slip.c drivers/net: remove useless semicolons 2010-05-17 22:47:34 -07:00
slip.h
smc91x.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
smc91x.h Remove REDWOOD_[456] config options and conditional code 2010-07-26 09:06:04 -04:00
smc911x.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
smc911x.h omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3 2010-02-15 09:27:02 -08:00
smc9194.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
smc9194.h
smc-mca.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
smc-ultra32.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
smc-ultra.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
smsc911x.c smsc911x: Add spinlocks around registers access 2010-07-19 13:36:21 -07:00
smsc911x.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
smsc9420.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
smsc9420.h
sni_82596.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sonic.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
sonic.h
Space.c net: Removing dead {AR,WAVE}LAN 2010-07-14 12:17:35 -07:00
spider_net_ethtool.c
spider_net.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
spider_net.h
starfire.c starfire: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:15 -07:00
stnic.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
sun3_82586.c sun3_82586: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:11 -07:00
sun3_82586.h
sun3lance.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
sunbmac.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunbmac.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sundance.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
sungem_phy.c
sungem_phy.h
sungem.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
sungem.h drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
sunhme.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunhme.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunlance.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunqe.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunqe.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunvnet.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
sunvnet.h
tc35815.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
tehuti.c tehuti: return -EFAULT on copy_to_user errors 2010-06-03 03:28:23 -07:00
tehuti.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
tg3.c tg3: Update version to 3.113 2010-08-02 15:46:33 -07:00
tg3.h tg3: Migrate tg3_flags to phy_flags 2010-08-02 15:46:33 -07:00
tlan.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
tlan.h drivers/net/tlan: Remove TRUE/FALSE defines, use bool 2010-01-13 20:37:01 -08:00
tsi108_eth.c drivers: net: use skb_headlen() 2010-04-14 16:11:33 -07:00
tsi108_eth.h
tun.c tun: keep link (carrier) state up to date 2010-07-30 22:06:41 -07:00
typhoon.c drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
typhoon.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
ucc_geth_ethtool.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ucc_geth.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
ucc_geth.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
veth.c veth: Dont kfree_skb() after dev_forward_skb() 2010-05-06 00:53:53 -07:00
via-rhine.c net: trans_start cleanups 2010-05-10 05:01:31 -07:00
via-velocity.c via-velocity: Turn scatter-gather support back off. 2010-09-07 13:57:24 -07:00
via-velocity.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
virtio_net.c virtio_net: implements ethtool_ops.get_drvinfo 2010-08-04 21:53:17 -07:00
wd.c wd: fix memory leak 2010-07-14 17:53:18 -07:00
xen-netfront.c xen: netfront: explicitly generate arp_notify event after migration. 2010-05-31 00:27:44 -07:00
xilinx_emaclite.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
xtsonic.c xtsonic: free irq if sonic_open() fails 2010-07-12 20:21:45 -07:00
yellowfin.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
znet.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
zorro8390.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-05-18 23:01:55 -07:00