aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorRob Ward <robert.ward114@googlemail.com>2014-12-07 10:40:33 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-01-12 08:04:11 -0500
commit73f0718e74e25ac7381450a7a21257b8f26f43f0 (patch)
tree573cc25a7fa4ca6f31473f58a44cf1eebead3646 /drivers/char
parent769105aa740dc0428f2585ec99c457d30aaab364 (diff)
drivers: char: mem: Make /dev/mem an optional device
Adds Kconfig option CONFIG_DEVMEM that allows the /dev/mem device to be disabled. Option defaults to /dev/mem enabled. Signed-off-by: Rob Ward <robert.ward114@googlemail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/Kconfig9
-rw-r--r--drivers/char/mem.c4
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index efefd12a0f7b..a4af8221751e 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -6,6 +6,15 @@ menu "Character devices"
6 6
7source "drivers/tty/Kconfig" 7source "drivers/tty/Kconfig"
8 8
9config DEVMEM
10 bool "/dev/mem virtual device support"
11 default y
12 help
13 Say Y here if you want to support the /dev/mem device.
14 The /dev/mem device is used to access areas of physical
15 memory.
16 When in doubt, say "Y".
17
9config DEVKMEM 18config DEVKMEM
10 bool "/dev/kmem virtual device support" 19 bool "/dev/kmem virtual device support"
11 default y 20 default y
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 4c58333b4257..7d6778437be0 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -715,7 +715,7 @@ static int open_port(struct inode *inode, struct file *filp)
715#define open_mem open_port 715#define open_mem open_port
716#define open_kmem open_mem 716#define open_kmem open_mem
717 717
718static const struct file_operations mem_fops = { 718static const struct file_operations __maybe_unused mem_fops = {
719 .llseek = memory_lseek, 719 .llseek = memory_lseek,
720 .read = read_mem, 720 .read = read_mem,
721 .write = write_mem, 721 .write = write_mem,
@@ -785,7 +785,9 @@ static const struct memdev {
785 const struct file_operations *fops; 785 const struct file_operations *fops;
786 struct backing_dev_info *dev_info; 786 struct backing_dev_info *dev_info;
787} devlist[] = { 787} devlist[] = {
788#ifdef CONFIG_DEVMEM
788 [1] = { "mem", 0, &mem_fops, &directly_mappable_cdev_bdi }, 789 [1] = { "mem", 0, &mem_fops, &directly_mappable_cdev_bdi },
790#endif
789#ifdef CONFIG_DEVKMEM 791#ifdef CONFIG_DEVKMEM
790 [2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi }, 792 [2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi },
791#endif 793#endif