Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5069978imu; Tue, 25 Dec 2018 17:06:04 -0800 (PST) X-Google-Smtp-Source: ALg8bN6Hu4pJmdnagqot/rVivu30cPFYEM6vpWMYp7fC9oyramHTEjyee/C0OOArbvXZdro+fiH5 X-Received: by 2002:a63:504d:: with SMTP id q13mr17371992pgl.319.1545786364141; Tue, 25 Dec 2018 17:06:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545786364; cv=none; d=google.com; s=arc-20160816; b=lc3giBR8IQ4ucJI/Rzq/7+ia3zGcuvQPmNPtOoNnR5Tmx/fTprTSj1RZKtC8FmWLHF Yp4hArI9HdAwxdZmz0dutQpcT0jek0Fv6dF4r0KHuqT4FsBb0fqEHma2uE8H+O9QzWHO 81PKR6MrGNTROfLJ2sOQr/jnPaLwkG13u7mt9GzANVKqYsRo3TA14Le7jf1hvYCHr9+q 4k1NvAF/06H68XhoWXbZKRWfPrtTr4cK/QV5PvfKHnsw+I7pLnuGc0Zn2wubRJU6PMJe GhKU79m4vKAcr5BUuP+CeZv6pBTdW06HGohjwD+tm6qI61gI10ROeUrGnuKNQsxLxKKs z+vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:subject:from:references:in-reply-to :message-id:cc:to; bh=B63uyJtOg5h9JUxJbZJhL9+NoLW7TOOCEhJLDtE3HrI=; b=kAIZjqUNIpN777PqAvrIYrg3kFfDP45c9gSZmzqN2u67w8j0D3nkkrDN2mWFCFETYh Fwcr7d9dkNBRFkKkmGyX1OrM8SXZ3+gUlP0dCewC0dvb4rBqcak8mCispS0GLZgfHiRa UxNEEP5WG8Er3E9hbi5heZ2lrjZ97zAMcybzFp8HAma722vtb/5IbmF0c/scKWC1992f uHSbsNd6xjV21iKKPV8U8Fn3H3Ra27gEhoLKouazCkBJn6wZ/422MsHyWJOs8+EGTbHP kqcRILcVV2EJs/9cLiH+668XJxznbcfEt7eFr24m1m1Zl2vJbT1YjVQBpc30vJRSzMDS n/ZA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y15si31166378pgf.321.2018.12.25.17.05.32; Tue, 25 Dec 2018 17:06:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725991AbeLZAn7 (ORCPT + 99 others); Tue, 25 Dec 2018 19:43:59 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:57176 "EHLO kvm5.telegraphics.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725919AbeLZAn6 (ORCPT ); Tue, 25 Dec 2018 19:43:58 -0500 Received: by kvm5.telegraphics.com.au (Postfix, from userid 502) id B944929511; Tue, 25 Dec 2018 19:43:55 -0500 (EST) To: Arnd Bergmann , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linuxppc-dev@lists.ozlabs.org Message-Id: <1a58021364613c5ccb4c33bb0d7aeca9b47f46cb.1545784679.git.fthain@telegraphics.com.au> In-Reply-To: References: From: Finn Thain Subject: [PATCH v8 04/25] char/nvram: Re-order functions to remove forward declarations and #ifdefs Date: Wed, 26 Dec 2018 11:37:59 +1100 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Also give functions more sensible names: nvram_misc_* for misc device ops, nvram_proc_* for proc file ops and nvram_module_* for init and exit functions. This helps to distinguish them from struct nvram_ops methods. Signed-off-by: Finn Thain --- drivers/char/nvram.c | 167 +++++++++++++++++++------------------------ 1 file changed, 72 insertions(+), 95 deletions(-) diff --git a/drivers/char/nvram.c b/drivers/char/nvram.c index a9d4652f9e90..c660cff9faf4 100644 --- a/drivers/char/nvram.c +++ b/drivers/char/nvram.c @@ -55,11 +55,6 @@ static int nvram_open_mode; /* special open modes */ #define NVRAM_WRITE 1 /* opened for writing (exclusive) */ #define NVRAM_EXCL 2 /* opened with O_EXCL */ -#ifdef CONFIG_PROC_FS -static void pc_nvram_proc_read(unsigned char *contents, struct seq_file *seq, - void *offset); -#endif - /* * These functions are provided to be called internally or by other parts of * the kernel. It's up to the caller to ensure correct checksum before reading @@ -171,14 +166,14 @@ void nvram_set_checksum(void) * The are the file operation function for user access to /dev/nvram */ -static loff_t nvram_llseek(struct file *file, loff_t offset, int origin) +static loff_t nvram_misc_llseek(struct file *file, loff_t offset, int origin) { return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE, NVRAM_BYTES); } -static ssize_t nvram_read(struct file *file, char __user *buf, - size_t count, loff_t *ppos) +static ssize_t nvram_misc_read(struct file *file, char __user *buf, + size_t count, loff_t *ppos) { unsigned char contents[NVRAM_BYTES]; unsigned i = *ppos; @@ -206,8 +201,8 @@ static ssize_t nvram_read(struct file *file, char __user *buf, return -EIO; } -static ssize_t nvram_write(struct file *file, const char __user *buf, - size_t count, loff_t *ppos) +static ssize_t nvram_misc_write(struct file *file, const char __user *buf, + size_t count, loff_t *ppos) { unsigned char contents[NVRAM_BYTES]; unsigned i = *ppos; @@ -245,8 +240,8 @@ static ssize_t nvram_write(struct file *file, const char __user *buf, return -EIO; } -static long nvram_ioctl(struct file *file, unsigned int cmd, - unsigned long arg) +static long nvram_misc_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) { int i; @@ -286,7 +281,7 @@ static long nvram_ioctl(struct file *file, unsigned int cmd, } } -static int nvram_open(struct inode *inode, struct file *file) +static int nvram_misc_open(struct inode *inode, struct file *file) { spin_lock(&nvram_state_lock); @@ -308,7 +303,7 @@ static int nvram_open(struct inode *inode, struct file *file) return 0; } -static int nvram_release(struct inode *inode, struct file *file) +static int nvram_misc_release(struct inode *inode, struct file *file) { spin_lock(&nvram_state_lock); @@ -325,87 +320,6 @@ static int nvram_release(struct inode *inode, struct file *file) return 0; } -#ifndef CONFIG_PROC_FS -static int nvram_add_proc_fs(void) -{ - return 0; -} - -#else - -static int nvram_proc_read(struct seq_file *seq, void *offset) -{ - unsigned char contents[NVRAM_BYTES]; - int i = 0; - - spin_lock_irq(&rtc_lock); - for (i = 0; i < NVRAM_BYTES; ++i) - contents[i] = __nvram_read_byte(i); - spin_unlock_irq(&rtc_lock); - - pc_nvram_proc_read(contents, seq, offset); - - return 0; -} - -static int nvram_add_proc_fs(void) -{ - if (!proc_create_single("driver/nvram", 0, NULL, nvram_proc_read)) - return -ENOMEM; - return 0; -} - -#endif /* CONFIG_PROC_FS */ - -static const struct file_operations nvram_fops = { - .owner = THIS_MODULE, - .llseek = nvram_llseek, - .read = nvram_read, - .write = nvram_write, - .unlocked_ioctl = nvram_ioctl, - .open = nvram_open, - .release = nvram_release, -}; - -static struct miscdevice nvram_dev = { - NVRAM_MINOR, - "nvram", - &nvram_fops -}; - -static int __init nvram_init(void) -{ - int ret; - - ret = misc_register(&nvram_dev); - if (ret) { - printk(KERN_ERR "nvram: can't misc_register on minor=%d\n", - NVRAM_MINOR); - goto out; - } - ret = nvram_add_proc_fs(); - if (ret) { - printk(KERN_ERR "nvram: can't create /proc/driver/nvram\n"); - goto outmisc; - } - ret = 0; - printk(KERN_INFO "Non-volatile memory driver v" NVRAM_VERSION "\n"); -out: - return ret; -outmisc: - misc_deregister(&nvram_dev); - goto out; -} - -static void __exit nvram_cleanup_module(void) -{ - remove_proc_entry("driver/nvram", NULL); - misc_deregister(&nvram_dev); -} - -module_init(nvram_init); -module_exit(nvram_cleanup_module); - #ifdef CONFIG_PROC_FS static const char * const floppy_types[] = { @@ -483,7 +397,70 @@ static void pc_nvram_proc_read(unsigned char *nvram, struct seq_file *seq, return; } +static int nvram_proc_read(struct seq_file *seq, void *offset) +{ + unsigned char contents[NVRAM_BYTES]; + int i = 0; + + spin_lock_irq(&rtc_lock); + for (i = 0; i < NVRAM_BYTES; ++i) + contents[i] = __nvram_read_byte(i); + spin_unlock_irq(&rtc_lock); + + pc_nvram_proc_read(contents, seq, offset); + + return 0; +} #endif /* CONFIG_PROC_FS */ +static const struct file_operations nvram_misc_fops = { + .owner = THIS_MODULE, + .llseek = nvram_misc_llseek, + .read = nvram_misc_read, + .write = nvram_misc_write, + .unlocked_ioctl = nvram_misc_ioctl, + .open = nvram_misc_open, + .release = nvram_misc_release, +}; + +static struct miscdevice nvram_misc = { + NVRAM_MINOR, + "nvram", + &nvram_misc_fops, +}; + +static int __init nvram_module_init(void) +{ + int ret; + + ret = misc_register(&nvram_misc); + if (ret) { + pr_err("nvram: can't misc_register on minor=%d\n", NVRAM_MINOR); + return ret; + } + +#ifdef CONFIG_PROC_FS + if (!proc_create_single("driver/nvram", 0, NULL, nvram_proc_read)) { + pr_err("nvram: can't create /proc/driver/nvram\n"); + misc_deregister(&nvram_misc); + return -ENOMEM; + } +#endif + + pr_info("Non-volatile memory driver v" NVRAM_VERSION "\n"); + return 0; +} + +static void __exit nvram_module_exit(void) +{ +#ifdef CONFIG_PROC_FS + remove_proc_entry("driver/nvram", NULL); +#endif + misc_deregister(&nvram_misc); +} + +module_init(nvram_module_init); +module_exit(nvram_module_exit); + MODULE_LICENSE("GPL"); MODULE_ALIAS_MISCDEV(NVRAM_MINOR); -- 2.19.2