| From: Hans de Goede <hdegoede@redhat.com> |
| Subject: proc: make the proc_create[_data]() stubs static inlines |
| |
| Change the proc_create[_data]() stubs which are used when CONFIG_PROC_FS |
| is not set from #defines to a static inline stubs. |
| |
| Thix should fix clang -Werror builds failing due to errors like this: |
| |
| drivers/platform/x86/thinkpad_acpi.c:918:30: error: unused variable |
| 'dispatch_proc_ops' [-Werror,-Wunused-const-variable] |
| |
| Fixing this in include/linux/proc_fs.h should ensure that the same issue |
| is also fixed in any other drivers hitting the same -Werror issue. |
| |
| [akpm@linux-foundation.org: fix CONFIG_PROC_FS=n] |
| [akpm@linux-foundation.org: fix arch/sparc/kernel/led.c] |
| [akpm@linux-foundation.org: fix build] |
| Link: https://lkml.kernel.org/r/20211116131112.508304-1-hdegoede@redhat.com |
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> |
| Reported-by: kernel test robot <lkp@intel.com> |
| Acked-by: Christian Brauner <christian.brauner@ubuntu.com> |
| Cc: Alexander Viro <viro@zeniv.linux.org.uk> |
| Cc: Hans de Goede <hdegoede@redhat.com> |
| Cc: David Howells <dhowells@redhat.com> |
| Cc: Christoph Hellwig <hch@infradead.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| arch/sparc/kernel/led.c | 8 +++----- |
| include/linux/proc_fs.h | 12 ++++++++++-- |
| 2 files changed, 13 insertions(+), 7 deletions(-) |
| |
| --- a/arch/sparc/kernel/led.c~proc-make-the-proc_create-stubs-static-inlines |
| +++ a/arch/sparc/kernel/led.c |
| @@ -114,18 +114,16 @@ static const struct proc_ops led_proc_op |
| }; |
| #endif |
| |
| -static struct proc_dir_entry *led; |
| - |
| #define LED_VERSION "0.1" |
| |
| static int __init led_init(void) |
| { |
| timer_setup(&led_blink_timer, led_blink, 0); |
| |
| - led = proc_create("led", 0, NULL, &led_proc_ops); |
| - if (!led) |
| +#ifdef CONFIG_PROC_FS |
| + if (!proc_create("led", 0, NULL, &led_proc_ops)) |
| return -ENOMEM; |
| - |
| +#endif |
| printk(KERN_INFO |
| "led: version %s, Lars Kotthoff <metalhead@metalhead.ws>\n", |
| LED_VERSION); |
| --- a/include/linux/proc_fs.h~proc-make-the-proc_create-stubs-static-inlines |
| +++ a/include/linux/proc_fs.h |
| @@ -178,8 +178,16 @@ static inline struct proc_dir_entry *pro |
| #define proc_create_seq(name, mode, parent, ops) ({NULL;}) |
| #define proc_create_single(name, mode, parent, show) ({NULL;}) |
| #define proc_create_single_data(name, mode, parent, show, data) ({NULL;}) |
| -#define proc_create(name, mode, parent, proc_ops) ({NULL;}) |
| -#define proc_create_data(name, mode, parent, proc_ops, data) ({NULL;}) |
| + |
| +static inline struct proc_dir_entry * |
| +proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, |
| + const struct proc_ops *proc_ops) |
| +{ return NULL; } |
| + |
| +static inline struct proc_dir_entry * |
| +proc_create_data(const char *name, umode_t mode, struct proc_dir_entry *parent, |
| + const struct proc_ops *proc_ops, void *data) |
| +{ return NULL; } |
| |
| static inline void proc_set_size(struct proc_dir_entry *de, loff_t size) {} |
| static inline void proc_set_user(struct proc_dir_entry *de, kuid_t uid, kgid_t gid) {} |
| _ |