kernel-ark/include
Herbert Xu fcc5a03ac4 [NET]: Allow netdev REGISTER/CHANGENAME events to fail
This patch adds code to allow errors to be passed up from event
handlers of NETDEV_REGISTER and NETDEV_CHANGENAME.  It also adds
the notifier_from_errno/notifier_to_errnor helpers to pass the
errno value up to the notifier caller.

If an error is detected when a device is registered, it causes
that operation to fail.  A NETDEV_UNREGISTER will be sent to
all event handlers.

Similarly if NETDEV_CHANGENAME fails the original name is restored
and a new NETDEV_CHANGENAME event is sent.

As such all event handlers must be idempotent with respect to
these events.

When an event handler is registered NETDEV_REGISTER events are
sent for all devices currently registered.  Should any of them
fail, we will send NETDEV_GOING_DOWN/NETDEV_DOWN/NETDEV_UNREGISTER
events to that handler for the devices which have already been
registered with it.  The handler registration itself will fail.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-07-31 02:28:15 -07:00
..
acpi ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
asm-alpha alpha: long constant 2007-07-26 11:11:57 -07:00
asm-arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2007-07-28 19:29:37 -07:00
asm-arm26 take declarations of enable_irq() et.al. to linux/interrupt.h 2007-07-22 11:44:00 -07:00
asm-avr32
asm-blackfin Blackfin arch: add BF54x I2C/TWI TWI0 driver support 2007-07-25 16:58:03 +08:00
asm-cris
asm-frv
asm-generic
asm-h8300 take declarations of enable_irq() et.al. to linux/interrupt.h 2007-07-22 11:44:00 -07:00
asm-i386 Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
asm-ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2007-07-25 15:50:20 -07:00
asm-m32r
asm-m68k more include order horrors 2007-07-28 19:42:21 -07:00
asm-m68knommu m68knommu: remove crap from machdep.h 2007-07-28 19:51:48 -07:00
asm-mips include/asm-:mips add missing edac h file 2007-07-26 11:35:18 -07:00
asm-parisc
asm-powerpc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-07-26 14:00:09 -07:00
asm-ppc
asm-s390 [S390] Wire up sys_fallocate. 2007-07-27 12:29:19 +02:00
asm-sh sh: remove support for sh7300 and solution engine 7300 2007-07-26 15:37:57 +09:00
asm-sh64 sh64: Kill off virt_to_bus()/bus_to_virt(). 2007-07-31 13:11:25 +09:00
asm-sparc [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
asm-sparc64 [SPARC]: Mark SBUS framebuffer ioctls as IGNORE in compat_ioctl.c 2007-07-30 00:27:36 -07:00
asm-um
asm-v850 take declarations of enable_irq() et.al. to linux/interrupt.h 2007-07-22 11:44:00 -07:00
asm-x86_64 amd64: fix get_user() on bitwise 2007-07-26 11:11:57 -07:00
asm-xtensa include/asm-xtensa/io.h must #include <asm/page.h> 2007-07-24 12:24:59 -07:00
crypto
keys
linux [NET]: Allow netdev REGISTER/CHANGENAME events to fail 2007-07-31 02:28:15 -07:00
math-emu
media
mtd
net [BLUETOOTH] l2cap: endianness annotations 2007-07-31 02:28:07 -07:00
pcmcia
rdma
rxrpc
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-07-29 17:22:03 -07:00
sound
video
xen xen: xen/page.h compile fix 2007-07-26 11:35:16 -07:00
Kbuild