Subject: linux-next: manual merge of the char-misc tree with the block tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 21 Jan 2015 16:40:56 +1100

Hi all,

Today's linux-next merge of the char-misc tree got a conflict in
drivers/char/mem.c between commit b4caecd48005 ("fs: introduce
f_op->mmap_capabilities for nommu mmap support") from the block tree
and commit 73f0718e74e2 ("drivers: char: mem: Make /dev/mem an optional
device") from the char-misc tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc drivers/char/mem.c
index 9a6b63783a94,080273287c48..000000000000
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@@ -732,25 -717,17 +728,23 @@@ static const struct file_operations __m
  	.write		= write_mem,
  	.mmap		= mmap_mem,
  	.open		= open_mem,
 +#ifndef CONFIG_MMU
  	.get_unmapped_area = get_unmapped_area_mem,
 +	.mmap_capabilities = memory_mmap_capabilities,
 +#endif
  };
  
- #ifdef CONFIG_DEVKMEM
- static const struct file_operations kmem_fops = {
+ static const struct file_operations __maybe_unused kmem_fops = {
  	.llseek		= memory_lseek,
  	.read		= read_kmem,
  	.write		= write_kmem,
  	.mmap		= mmap_kmem,
  	.open		= open_kmem,
 +#ifndef CONFIG_MMU
  	.get_unmapped_area = get_unmapped_area_mem,
 +	.mmap_capabilities = memory_mmap_capabilities,
 +#endif
  };
- #endif
  
  static const struct file_operations null_fops = {
  	.llseek		= null_lseek,
@@@ -793,22 -775,24 +785,24 @@@ static const struct memdev 
  	const char *name;
  	umode_t mode;
  	const struct file_operations *fops;
 -	struct backing_dev_info *dev_info;
 +	fmode_t fmode;
  } devlist[] = {
+ #ifdef CONFIG_DEVMEM
 -	 [1] = { "mem", 0, &mem_fops, &directly_mappable_cdev_bdi },
 +	 [1] = { "mem", 0, &mem_fops, FMODE_UNSIGNED_OFFSET },
+ #endif
  #ifdef CONFIG_DEVKMEM
 -	 [2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi },
 +	 [2] = { "kmem", 0, &kmem_fops, FMODE_UNSIGNED_OFFSET },
  #endif
 -	 [3] = { "null", 0666, &null_fops, NULL },
 +	 [3] = { "null", 0666, &null_fops, 0 },
  #ifdef CONFIG_DEVPORT
 -	 [4] = { "port", 0, &port_fops, NULL },
 +	 [4] = { "port", 0, &port_fops, 0 },
  #endif
 -	 [5] = { "zero", 0666, &zero_fops, &zero_bdi },
 -	 [7] = { "full", 0666, &full_fops, NULL },
 -	 [8] = { "random", 0666, &random_fops, NULL },
 -	 [9] = { "urandom", 0666, &urandom_fops, NULL },
 +	 [5] = { "zero", 0666, &zero_fops, 0 },
 +	 [7] = { "full", 0666, &full_fops, 0 },
 +	 [8] = { "random", 0666, &random_fops, 0 },
 +	 [9] = { "urandom", 0666, &urandom_fops, 0 },
  #ifdef CONFIG_PRINTK
 -	[11] = { "kmsg", 0644, &kmsg_fops, NULL },
 +	[11] = { "kmsg", 0644, &kmsg_fops, 0 },
  #endif
  };