android_kernel_asus_sm8350/arch
David Howells e8eeded3c5 ppc: Clean up rtas_flash driver somewhat
Clean up some of the problems with the rtas_flash driver:

 (1) It shouldn't fiddle with the internals of the procfs filesystem (altering
     pde->count).

 (2) If pid namespaces are in effect, then you can get multiple inodes
     connected to a single pde, thereby rendering the pde->count > 2 test
     useless.

 (3) The pde->count fudging doesn't work for forked, dup'd or cloned file
     descriptors, so add static mutexes and use them to wrap access to the
     driver through read, write and release methods.

 (4) The driver can only handle one device, so allocate most of the data
     previously attached to the pde->data as static variables instead (though
     allocate the validation data buffer with kmalloc).

 (5) We don't need to save the pde pointers as long as we have the filenames
     available for removal.

 (6) Don't try to multiplex what the update file read method does based on the
     filename.  Instead provide separate file ops and split the function.

Whilst we're at it, tabulate the procfile information and loop through it when
creating or destroying them rather than manually coding each one.

[Folded fixes from Vasant Hegde <hegdevasant@linux.vnet.ibm.com>]

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
cc: Paul Mackerras <paulus@samba.org>
cc: Anton Blanchard <anton@samba.org>
cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-05-01 17:29:45 -04:00
..
alpha srm_env: don't bother with pointer to srm_env_t 2013-04-09 14:13:33 -04:00
arc ARC: split elf.h into uapi and export it for userspace 2013-02-27 20:00:26 +05:30
arm arm: Don't use create_proc_read_entry() 2013-04-29 15:42:00 -04:00
arm64 arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS 2013-03-19 16:19:19 +00:00
avr32 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
blackfin procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
c6x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
cris cris: Don't use create_proc_read_entry() 2013-04-29 15:41:59 -04:00
frv Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
h8300 h8300: Don't use create_proc_read_entry() 2013-04-29 15:41:59 -04:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
ia64 ia64: Don't use create_proc_read_entry() 2013-04-29 15:41:58 -04:00
m32r UAPI: fix endianness conditionals in M32R's asm/stat.h 2013-03-13 15:21:49 -07:00
m68k Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
metag metag: Inhibit NUMA balancing. 2013-03-04 10:29:19 +00:00
microblaze Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
mips proc: Split kcore bits from linux/procfs.h into linux/kcore.h 2013-04-29 15:42:02 -04:00
mn10300 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
openrisc openrisc: remove HAVE_VIRT_TO_BUS 2013-03-13 06:12:39 +01:00
parisc parisc: Don't use create_proc_read_entry() 2013-04-29 15:41:57 -04:00
powerpc ppc: Clean up rtas_flash driver somewhat 2013-05-01 17:29:45 -04:00
s390 Include missing linux/slab.h inclusions 2013-04-29 15:42:01 -04:00
score proc: Split kcore bits from linux/procfs.h into linux/kcore.h 2013-04-29 15:42:02 -04:00
sh sh: Don't use create_proc_read_entry() 2013-04-29 15:41:57 -04:00
sparc Include missing linux/slab.h inclusions 2013-04-29 15:42:01 -04:00
tile procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
um UM: Adjust printk in create_proc_mconsole() 2013-04-09 14:16:38 -04:00
unicore32 Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00
x86 proc: Split kcore bits from linux/procfs.h into linux/kcore.h 2013-04-29 15:42:02 -04:00
xtensa procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
.gitignore
Kconfig Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00