[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a5b0800804220513t75690ceao938a288596b5ad0c@mail.gmail.com>
Date: Tue, 22 Apr 2008 13:13:39 +0100
From: "Will Newton" <will.newton@...il.com>
To: "Linux Kernel list" <linux-kernel@...r.kernel.org>,
linux-arch@...r.kernel.org
Subject: [RFC] Introduce __ARCH_WANT_SYS_SYSFS
Hi,
This patch introduces a __ARCH_WANT_SYS_SYSFS #define for
architectures that support the sysfs(2) system call. At the moment
that's everybody but blackfin, but future architectures may want to
save the (admittedly small) code size that it adds to the kernel as
well.
(patch attached as well as inline because gmail seems to mangle my whitespace)
---
>From d0746366e8ccb5fbaa6c9945540cecbe0c421222 Mon Sep 17 00:00:00 2001
From: Will Newton <will.newton@...tec.com>
Date: Tue, 22 Apr 2008 12:57:03 +0100
Subject: [PATCH] Introduce __ARCH_WANT_SYS_SYSFS.
Signed-off-by: Will Newton <will.newton@...tec.com>
All arches that want the sysfs(2) system call should define this symbol.
Arches such as blackfin that do not implement the system call don't compile
the code and save some small amount of space.
---
fs/filesystems.c | 5 +++++
include/asm-alpha/unistd.h | 1 +
include/asm-arm/unistd.h | 1 +
include/asm-avr32/unistd.h | 1 +
include/asm-cris/unistd.h | 1 +
include/asm-frv/unistd.h | 1 +
include/asm-h8300/unistd.h | 1 +
include/asm-ia64/unistd.h | 1 +
include/asm-m32r/unistd.h | 1 +
include/asm-m68k/unistd.h | 1 +
include/asm-m68knommu/unistd.h | 1 +
include/asm-mips/unistd.h | 1 +
include/asm-mn10300/unistd.h | 1 +
include/asm-parisc/unistd.h | 1 +
include/asm-powerpc/unistd.h | 1 +
include/asm-s390/unistd.h | 1 +
include/asm-sh/unistd_32.h | 1 +
include/asm-sh/unistd_64.h | 1 +
include/asm-sparc/unistd.h | 1 +
include/asm-sparc64/unistd.h | 1 +
include/asm-v850/unistd.h | 1 +
include/asm-x86/unistd_32.h | 1 +
include/asm-x86/unistd_64.h | 1 +
include/asm-xtensa/unistd.h | 1 +
24 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/fs/filesystems.c b/fs/filesystems.c
index f37f872..cd57e41 100644
--- a/fs/filesystems.c
+++ b/fs/filesystems.c
@@ -12,6 +12,7 @@
#include <linux/kmod.h>
#include <linux/init.h>
#include <linux/module.h>
+#include <linux/unistd.h>
#include <asm/uaccess.h>
/*
@@ -118,6 +119,8 @@ int unregister_filesystem(struct file_system_type * fs)
EXPORT_SYMBOL(unregister_filesystem);
+#ifdef __ARCH_WANT_SYS_SYSFS
+
static int fs_index(const char __user * __name)
{
struct file_system_type * tmp;
@@ -197,6 +200,8 @@ asmlinkage long sys_sysfs(int option, unsigned
long arg1, unsigned long arg2)
return retval;
}
+#endif
+
int get_filesystem_list(char * buf)
{
int len = 0;
diff --git a/include/asm-alpha/unistd.h b/include/asm-alpha/unistd.h
index 5b5c174..0b6c920 100644
--- a/include/asm-alpha/unistd.h
+++ b/include/asm-alpha/unistd.h
@@ -447,6 +447,7 @@
#define __ARCH_WANT_SYS_OLD_GETRLIMIT
#define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_SIGPENDING
+#define __ARCH_WANT_SYS_SYSFS
/* "Conditional" syscalls. What we want is
diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h
index 88e868b..d70b815 100644
--- a/include/asm-arm/unistd.h
+++ b/include/asm-arm/unistd.h
@@ -420,6 +420,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
#define __ARCH_WANT_SYS_TIME
diff --git a/include/asm-avr32/unistd.h b/include/asm-avr32/unistd.h
index 89861a2..d77cabc 100644
--- a/include/asm-avr32/unistd.h
+++ b/include/asm-avr32/unistd.h
@@ -331,6 +331,7 @@
#define __ARCH_WANT_SYS_GETPGRP
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-cris/unistd.h b/include/asm-cris/unistd.h
index 76398ef..02b8833 100644
--- a/include/asm-cris/unistd.h
+++ b/include/asm-cris/unistd.h
@@ -361,6 +361,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-frv/unistd.h b/include/asm-frv/unistd.h
index f184eb8..cccbb33 100644
--- a/include/asm-frv/unistd.h
+++ b/include/asm-frv/unistd.h
@@ -361,6 +361,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-h8300/unistd.h b/include/asm-h8300/unistd.h
index 99f3c35..047b073 100644
--- a/include/asm-h8300/unistd.h
+++ b/include/asm-h8300/unistd.h
@@ -352,6 +352,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h
index e603147..d7594e6 100644
--- a/include/asm-ia64/unistd.h
+++ b/include/asm-ia64/unistd.h
@@ -323,6 +323,7 @@
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
#ifdef CONFIG_IA32_SUPPORT
# define __ARCH_WANT_SYS_FADVISE64
diff --git a/include/asm-m32r/unistd.h b/include/asm-m32r/unistd.h
index cf701c9..dda43d4 100644
--- a/include/asm-m32r/unistd.h
+++ b/include/asm-m32r/unistd.h
@@ -350,6 +350,7 @@
#define __ARCH_WANT_SYS_OLD_GETRLIMIT /*will be unused*/
#define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
#define __IGNORE_lchown
#define __IGNORE_setuid
diff --git a/include/asm-m68k/unistd.h b/include/asm-m68k/unistd.h
index e72ba56..c578622 100644
--- a/include/asm-m68k/unistd.h
+++ b/include/asm-m68k/unistd.h
@@ -352,6 +352,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
/* whitelist for checksyscalls */
#define __IGNORE_restart_syscall
diff --git a/include/asm-m68knommu/unistd.h b/include/asm-m68knommu/unistd.h
index 4ba98b9..7148ba1 100644
--- a/include/asm-m68knommu/unistd.h
+++ b/include/asm-m68knommu/unistd.h
@@ -353,6 +353,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h
index 4964c82..22e3d13 100644
--- a/include/asm-mips/unistd.h
+++ b/include/asm-mips/unistd.h
@@ -981,6 +981,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
# ifdef CONFIG_32BIT
# define __ARCH_WANT_STAT64
# define __ARCH_WANT_SYS_TIME
diff --git a/include/asm-mn10300/unistd.h b/include/asm-mn10300/unistd.h
index 3721aa9..a1ccfdf 100644
--- a/include/asm-mn10300/unistd.h
+++ b/include/asm-mn10300/unistd.h
@@ -369,6 +369,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-parisc/unistd.h b/include/asm-parisc/unistd.h
index a7d857f..d480f23 100644
--- a/include/asm-parisc/unistd.h
+++ b/include/asm-parisc/unistd.h
@@ -974,6 +974,7 @@ type name(type1 arg1, type2 arg2, type3 arg3,
type4 arg4, type5 arg5) \
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
#endif /* __ASSEMBLY__ */
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h
index ce91bb6..763f056 100644
--- a/include/asm-powerpc/unistd.h
+++ b/include/asm-powerpc/unistd.h
@@ -371,6 +371,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
#ifdef CONFIG_PPC32
#define __ARCH_WANT_OLD_STAT
#endif
diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h
index 583da80..afd9e19 100644
--- a/include/asm-s390/unistd.h
+++ b/include/asm-s390/unistd.h
@@ -384,6 +384,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
# ifndef CONFIG_64BIT
# define __ARCH_WANT_STAT64
# define __ARCH_WANT_SYS_TIME
diff --git a/include/asm-sh/unistd_32.h b/include/asm-sh/unistd_32.h
index 0b07212..d010bd0 100644
--- a/include/asm-sh/unistd_32.h
+++ b/include/asm-sh/unistd_32.h
@@ -363,6 +363,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-sh/unistd_64.h b/include/asm-sh/unistd_64.h
index 9d21eab..d69090b 100644
--- a/include/asm-sh/unistd_64.h
+++ b/include/asm-sh/unistd_64.h
@@ -402,6 +402,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h
index 2338a02..c7e7123 100644
--- a/include/asm-sparc/unistd.h
+++ b/include/asm-sparc/unistd.h
@@ -365,6 +365,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h
index 77559da..891683c 100644
--- a/include/asm-sparc64/unistd.h
+++ b/include/asm-sparc64/unistd.h
@@ -370,6 +370,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-v850/unistd.h b/include/asm-v850/unistd.h
index 2241ed4..b030a78 100644
--- a/include/asm-v850/unistd.h
+++ b/include/asm-v850/unistd.h
@@ -226,6 +226,7 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-x86/unistd_32.h b/include/asm-x86/unistd_32.h
index 984123a..35f611e 100644
--- a/include/asm-x86/unistd_32.h
+++ b/include/asm-x86/unistd_32.h
@@ -358,6 +358,7 @@
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_SYSFS
/*
* "Conditional" syscalls
diff --git a/include/asm-x86/unistd_64.h b/include/asm-x86/unistd_64.h
index 3883ceb..6c46395 100644
--- a/include/asm-x86/unistd_64.h
+++ b/include/asm-x86/unistd_64.h
@@ -664,6 +664,7 @@ __SYSCALL(__NR_timerfd_gettime, sys_timerfd_gettime)
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_TIME
#define __ARCH_WANT_COMPAT_SYS_TIME
+#define __ARCH_WANT_SYS_SYSFS
#endif /* __NO_STUBS */
#ifdef __KERNEL__
diff --git a/include/asm-xtensa/unistd.h b/include/asm-xtensa/unistd.h
index c092c8f..0a1bdae 100644
--- a/include/asm-xtensa/unistd.h
+++ b/include/asm-xtensa/unistd.h
@@ -718,6 +718,7 @@ __SYSCALL(306, sys_eventfd, 1)
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_GETPGRP
+#define __ARCH_WANT_SYS_SYSFS
/*
* Ignore legacy system calls in the checksyscalls.sh script
--
1.5.3.5
View attachment "0001-Introduce-__ARCH_WANT_SYS_SYSFS.patch" of type "text/x-patch" (11024 bytes)
Powered by blists - more mailing lists