Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5062324imu; Tue, 25 Dec 2018 16:53:03 -0800 (PST) X-Google-Smtp-Source: ALg8bN4S85nTo02w6kiFsmjC+YJDVI23tQobHNp0juPyMfoTMPAjGYyq6J6HLZdtyXWWH+81Hd5U X-Received: by 2002:a63:2b01:: with SMTP id r1mr16911541pgr.432.1545785583842; Tue, 25 Dec 2018 16:53:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545785583; cv=none; d=google.com; s=arc-20160816; b=Ui4LNKd6klqy1Hu/6kRNZvMctsio08lsWIiqNnEQTEpxASNrbzEhUD6eDab1tpo2es gssLG9m3I/VxsM19CcC5HiKfhBZunQ81UZ8OvEUTsHQZNnfWu6nxOxWDQ0Y3yDk5Dv8m WnVLYKI2YVleXPtfZ7mcrlfi24A9HoAlIVJGrDeKS2tIuabLWqDKXT39+5uTS7twbtUz lxY6IMVgpicf9E34+326Nu/KDcf0rehQiuKb8dzZFdak2ggLx0x3sxfGkyL1KgS25eEc lEm4YrAaBIeP2C9TM+VDpRbS49GAPeRQtmNbdf90MqUnLS1Yzkg/mgIXhjqwKjv4QR6q BHLw== 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=YRCA1tLb2wM38XtqB17qTO46symb4m7hMBIh4DdDO3Y=; b=MSQQr5L0ltXyfBVcspWKtr3vDh680VzdSZTBC0Tnsr31kVeQ/SdFqzZEfaiNZ6gvz8 f1ZafQiRAB/Gxa/grZXrbIAQgVatyCVMTWkcz5Nz0l/K+fcOy56zy0KwZrXqNMgBIEjX BBLjlX69dAWcv79dzZrKVXgHkdR526Z6dkF/NgoAjVK5c0eBv6RXbBQWJONet3D4PjZT znbPz2ws2DQ/59urafubX6dVlrycw0roj7lhKP2lktABFL/k478RvibP2vV/fPPlPxy5 R6XpANYPNTPZtOLbuOcyC8f0hXZunoMiEQk2cwehDKWWmXYo+kG2VHSFXHZhVGxFrgPr tv1g== 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 c1si13369301pld.194.2018.12.25.16.52.48; Tue, 25 Dec 2018 16:53:03 -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 S1729713AbeLZAo5 (ORCPT + 99 others); Tue, 25 Dec 2018 19:44:57 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:57332 "EHLO kvm5.telegraphics.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726765AbeLZAoB (ORCPT ); Tue, 25 Dec 2018 19:44:01 -0500 Received: by kvm5.telegraphics.com.au (Postfix, from userid 502) id 1C87C29530; Tue, 25 Dec 2018 19:43:57 -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: <464cbf22659dfc5a821f7f2389f07fb4cac06f05.1545784679.git.fthain@telegraphics.com.au> In-Reply-To: References: From: Finn Thain Subject: [PATCH v8 23/25] char/generic_nvram: Remove as unused 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 Thereby eliminating some twisted CONFIG_NVRAM logic. Signed-off-by: Finn Thain --- drivers/char/Makefile | 6 +- drivers/char/generic_nvram.c | 160 ----------------------------------- 2 files changed, 1 insertion(+), 165 deletions(-) delete mode 100644 drivers/char/generic_nvram.c diff --git a/drivers/char/Makefile b/drivers/char/Makefile index b8d42b4e979b..fbea7dd12932 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -26,11 +26,7 @@ obj-$(CONFIG_RTC) += rtc.o obj-$(CONFIG_HPET) += hpet.o obj-$(CONFIG_EFI_RTC) += efirtc.o obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap/ -ifeq ($(CONFIG_GENERIC_NVRAM),y) - obj-$(CONFIG_NVRAM) += generic_nvram.o -else - obj-$(CONFIG_NVRAM) += nvram.o -endif +obj-$(CONFIG_NVRAM) += nvram.o obj-$(CONFIG_TOSHIBA) += toshiba.o obj-$(CONFIG_DS1620) += ds1620.o obj-$(CONFIG_HW_RANDOM) += hw_random/ diff --git a/drivers/char/generic_nvram.c b/drivers/char/generic_nvram.c deleted file mode 100644 index 41b76bf9614e..000000000000 --- a/drivers/char/generic_nvram.c +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Generic /dev/nvram driver for architectures providing some - * "generic" hooks, that is : - * - * nvram_read_byte, nvram_write_byte, nvram_sync, nvram_get_size - * - * Note that an additional hook is supported for PowerMac only - * for getting the nvram "partition" informations - * - */ - -#define NVRAM_VERSION "1.1" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef CONFIG_PPC_PMAC -#include -#endif - -static DEFINE_MUTEX(nvram_mutex); -static ssize_t nvram_len; - -static loff_t nvram_llseek(struct file *file, loff_t offset, int origin) -{ - return generic_file_llseek_size(file, offset, origin, - MAX_LFS_FILESIZE, nvram_len); -} - -static ssize_t read_nvram(struct file *file, char __user *buf, - size_t count, loff_t *ppos) -{ - unsigned int i; - char __user *p = buf; - - if (!access_ok(VERIFY_WRITE, buf, count)) - return -EFAULT; - if (*ppos >= nvram_len) - return 0; - for (i = *ppos; count > 0 && i < nvram_len; ++i, ++p, --count) - if (__put_user(arch_nvram_ops.read_byte(i), p)) - return -EFAULT; - *ppos = i; - return p - buf; -} - -static ssize_t write_nvram(struct file *file, const char __user *buf, - size_t count, loff_t *ppos) -{ - unsigned int i; - const char __user *p = buf; - char c; - - if (!access_ok(VERIFY_READ, buf, count)) - return -EFAULT; - if (*ppos >= nvram_len) - return 0; - for (i = *ppos; count > 0 && i < nvram_len; ++i, ++p, --count) { - if (__get_user(c, p)) - return -EFAULT; - arch_nvram_ops.write_byte(c, i); - } - *ppos = i; - return p - buf; -} - -static int nvram_ioctl(struct file *file, unsigned int cmd, unsigned long arg) -{ - switch(cmd) { -#ifdef CONFIG_PPC_PMAC - case OBSOLETE_PMAC_NVRAM_GET_OFFSET: - printk(KERN_WARNING "nvram: Using obsolete PMAC_NVRAM_GET_OFFSET ioctl\n"); - case IOC_NVRAM_GET_OFFSET: { - int part, offset; - - if (!machine_is(powermac)) - return -EINVAL; - if (copy_from_user(&part, (void __user*)arg, sizeof(part)) != 0) - return -EFAULT; - if (part < pmac_nvram_OF || part > pmac_nvram_NR) - return -EINVAL; - offset = pmac_get_partition(part); - if (copy_to_user((void __user*)arg, &offset, sizeof(offset)) != 0) - return -EFAULT; - break; - } -#endif /* CONFIG_PPC_PMAC */ - case IOC_NVRAM_SYNC: - arch_nvram_ops.sync(); - break; - default: - return -EINVAL; - } - - return 0; -} - -static long nvram_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) -{ - int ret; - - mutex_lock(&nvram_mutex); - ret = nvram_ioctl(file, cmd, arg); - mutex_unlock(&nvram_mutex); - - return ret; -} - -const struct file_operations nvram_fops = { - .owner = THIS_MODULE, - .llseek = nvram_llseek, - .read = read_nvram, - .write = write_nvram, - .unlocked_ioctl = nvram_unlocked_ioctl, -}; - -static struct miscdevice nvram_dev = { - NVRAM_MINOR, - "nvram", - &nvram_fops -}; - -int __init nvram_init(void) -{ - int ret; - - if (arch_nvram_ops.get_size == NULL) - return -ENODEV; - - nvram_len = arch_nvram_ops.get_size(); - if (nvram_len < 0) - return nvram_len; - - ret = misc_register(&nvram_dev); - if (ret) - return ret; - - pr_info("Generic non-volatile memory driver v%s\n", NVRAM_VERSION); - - return 0; -} - -void __exit nvram_cleanup(void) -{ - misc_deregister( &nvram_dev ); -} - -module_init(nvram_init); -module_exit(nvram_cleanup); -MODULE_LICENSE("GPL"); -- 2.19.2