linux/include
Eric W. Biederman 29e796fd4d sysctl: Add register_sysctl_paths function
There are a number of modules that register a sysctl table
somewhere deeply nested in the sysctl hierarchy, such as
fs/nfs, fs/xfs, dev/cdrom, etc.

They all specify several dummy ctl_tables for the path name.
This patch implements register_sysctl_path that takes
an additional path name, and makes up dummy sysctl nodes
for each component.

This patch was originally written by Olaf Kirch and
brought to my attention and reworked some by Olaf Hering.
I have changed a few additional things so the bugs are mine.

After converting all of the easy callers Olaf Hering observed
allyesconfig ARCH=i386, the patch reduces the final binary size by 9369 bytes.

.text +897
.data -7008

   text    data     bss     dec     hex filename
   26959310        4045899 4718592 35723801        2211a19 ../vmlinux-vanilla
   26960207        4038891 4718592 35717690        221023a ../O-allyesconfig/vmlinux

So this change is both a space savings and a code simplification.

CC: Olaf Kirch <okir@suse.de>
CC: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Serge Hallyn <serue@us.ibm.com>
Cc: Daniel Lezcano <dlezcano@fr.ibm.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 14:55:16 -08:00
..
acpi kobject: convert /sys/firmware/acpi/ to use kobject_create 2008-01-24 20:40:23 -08:00
asm-alpha alpha: build fixes 2007-12-17 19:28:16 -08:00
asm-arm Merge branch 'pxa-plat' into devel 2008-01-28 13:21:38 +00:00
asm-avr32 [ARM] 4764/1: [AT91] AT91CAP9 core support 2008-01-26 15:01:13 +00:00
asm-blackfin [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. 2008-01-27 19:56:43 +08:00
asm-cris ide: remove stale ide.h "configuration options" 2008-01-25 22:17:08 +01:00
asm-frv ide: remove stale ide.h "configuration options" 2008-01-25 22:17:08 +01:00
asm-generic sched: SCHED_FIFO/SCHED_RR watchdog timer 2008-01-25 21:08:27 +01:00
asm-h8300 asm-h8300: parentheses around definition CLOCK_TICK_RATE 2007-12-10 19:43:54 -08:00
asm-ia64 [IA64] Update Altix BTE error return status patch 2008-01-03 13:18:58 -08:00
asm-m32r m32r: Update sys_rt_sigsuspend 2007-11-28 01:24:04 +09:00
asm-m68k
asm-m68knommu m68knommu: fix pread/pwrite defines 2007-11-05 15:12:33 -08:00
asm-mips [MIPS] SMTC: Fix build error. 2008-01-22 00:35:23 +00:00
asm-parisc [PARISC] print more than one character at a time for pdc console 2007-12-06 09:32:15 -08:00
asm-powerpc ide: remove stale ide.h "configuration options" 2008-01-25 22:17:08 +01:00
asm-ppc
asm-s390 [S390] do local_irq_restore while spinning in spin_lock_irqsave. 2008-01-26 14:11:31 +01:00
asm-sh sh: add spi header and r2d platform data V3 2008-01-28 16:24:46 +09:00
asm-sparc [SPARC32]: Silence sparc32 warnings on missing syscalls. 2007-12-14 10:59:50 -08:00
asm-sparc64 [SPARC64]: Implement pci_resource_to_user() 2007-12-26 19:33:46 -08:00
asm-um uml: update address space affected by pud_clear 2007-11-14 18:45:37 -08:00
asm-v850
asm-x86 sched: high-res preemption tick 2008-01-25 21:08:29 +01:00
asm-xtensa
crypto [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h 2008-01-11 08:16:59 +11:00
keys
linux sysctl: Add register_sysctl_paths function 2008-01-28 14:55:16 -08:00
math-emu
media i2c: Constify client address data 2008-01-27 18:14:46 +01:00
mtd
net [NET]: Move netfilter checksum helpers to net/core/utils.c 2008-01-28 14:55:14 -08:00
pcmcia [AVR32] pcmcia ioaddr_t should be 32 bits on AVR32 2007-11-15 13:47:19 +01:00
rdma RDMA/cma: add support for rdma_migrate_id() 2008-01-25 14:15:32 -08:00
rxrpc
scsi SG: Convert SCSI to use scatterlist helpers for sg chaining 2008-01-28 10:05:27 +01:00
sound [ALSA] version 1.0.15 2007-11-20 20:16:43 +01:00
video
xen
Kbuild