GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
11 years agortl8187se: Use a dir under /proc/net/r8180/
David Howells [Fri, 12 Apr 2013 01:59:48 +0000 (02:59 +0100)]
rtl8187se: Use a dir under /proc/net/r8180/

Create a dir under /proc/net/r8180/ named for the device and create that
device's files under there.  This means that there won't be a problem for
multiple devices in the system (if such is possible) and it means we don't
need to save the 'device directory' PDE any more as we can just do a proc
subtree removal.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Maxim Mikityanskiy <maxtram95@gmail.com>
cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Add proc_mkdir_data()
David Howells [Fri, 12 Apr 2013 01:48:30 +0000 (02:48 +0100)]
proc: Add proc_mkdir_data()

Add proc_mkdir_data() to allow procfs directories to be created that are
annotated at the time of creation with private data rather than doing this
post-creation.  This means no access is then required to the proc_dir_entry
struct to set this.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Neela Syam Kolli <megaraidlinux@lsi.com>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: linux-scsi@vger.kernel.org
cc: devel@driverdev.osuosl.org
cc: linux-wireless@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
David Howells [Fri, 12 Apr 2013 01:29:19 +0000 (02:29 +0100)]
proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}

Move some bits from linux/proc_fs.h to linux/of.h, signal.h and tty.h.

Also move proc_tty_init() and proc_device_tree_init() to fs/proc/internal.h as
they're internal to procfs.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
cc: devicetree-discuss@lists.ozlabs.org
cc: linux-arch@vger.kernel.org
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jri Slaby <jslaby@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Move PDE_NET() to fs/proc/proc_net.c
David Howells [Fri, 12 Apr 2013 01:09:03 +0000 (02:09 +0100)]
proc: Move PDE_NET() to fs/proc/proc_net.c

Move PDE_NET() to fs/proc/proc_net.c as that's where the only user is.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Split the namespace stuff out into linux/proc_ns.h
David Howells [Fri, 12 Apr 2013 00:50:06 +0000 (01:50 +0100)]
proc: Split the namespace stuff out into linux/proc_ns.h

Split the proc namespace stuff out into linux/proc_ns.h.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: netdev@vger.kernel.org
cc: Serge E. Hallyn <serge.hallyn@ubuntu.com>
cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Move proc_fd() to fs/proc/fd.h
David Howells [Fri, 12 Apr 2013 00:42:56 +0000 (01:42 +0100)]
proc: Move proc_fd() to fs/proc/fd.h

Move proc_fd() to fs/proc/fd.h.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Uninline pid_delete_dentry()
David Howells [Fri, 12 Apr 2013 00:08:50 +0000 (01:08 +0100)]
proc: Uninline pid_delete_dentry()

Uninline pid_delete_dentry() as it's only used by three function pointers.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Supply PDE attribute setting accessor functions
David Howells [Thu, 11 Apr 2013 23:38:51 +0000 (00:38 +0100)]
proc: Supply PDE attribute setting accessor functions

Supply accessor functions to set attributes in proc_dir_entry structs.

The following are supplied: proc_set_size() and proc_set_user().

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
cc: linuxppc-dev@lists.ozlabs.org
cc: linux-media@vger.kernel.org
cc: netdev@vger.kernel.org
cc: linux-wireless@vger.kernel.org
cc: linux-pci@vger.kernel.org
cc: netfilter-devel@vger.kernel.org
cc: alsa-devel@alsa-project.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Split kcore bits from linux/procfs.h into linux/kcore.h
David Howells [Thu, 11 Apr 2013 23:10:25 +0000 (00:10 +0100)]
proc: Split kcore bits from linux/procfs.h into linux/kcore.h

Split kcore bits from linux/procfs.h into linux/kcore.h.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
cc: linux-mips@linux-mips.org
cc: sparclinux@vger.kernel.org
cc: x86@kernel.org
cc: linux-mm@kvack.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoInclude missing linux/magic.h inclusions
David Howells [Thu, 11 Apr 2013 22:55:54 +0000 (23:55 +0100)]
Include missing linux/magic.h inclusions

Include missing linux/magic.h inclusions where the source file is currently
expecting to get magic numbers through linux/proc_fs.h.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-efi@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoInclude missing linux/slab.h inclusions
David Howells [Thu, 11 Apr 2013 22:51:01 +0000 (23:51 +0100)]
Include missing linux/slab.h inclusions

Include missing linux/slab.h inclusions where the source file is currently
expecting to get kmalloc() and co. through linux/proc_fs.h.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-s390@vger.kernel.org
cc: sparclinux@vger.kernel.org
cc: linux-efi@vger.kernel.org
cc: linux-mtd@lists.infradead.org
cc: devel@driverdev.osuosl.org
cc: x86@kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Delete create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 02:20:50 +0000 (03:20 +0100)]
proc: Delete create_proc_read_entry()

Delete create_proc_read_entry() as it no longer has any users.

Also delete read_proc_t, write_proc_t, the read_proc member of the
proc_dir_entry struct and the support functions that use them.  This saves a
pointer for every PDE allocated.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoarm: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 02:05:01 +0000 (03:05 +0100)]
arm: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Russell King <linux@arm.linux.org.uk>
cc: Kevin Hilman <khilman@deeprootsystems.com>
cc: Tony Lindgren <tony@atomide.com>
cc: linux-arm-kernel@lists.infradead.org
cc: linux-omap@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoARM: OMAP1: Replace PM debug create_proc_read_entry() with debugfs
Tony Lindgren [Thu, 11 Apr 2013 18:03:41 +0000 (11:03 -0700)]
ARM: OMAP1: Replace PM debug create_proc_read_entry() with debugfs

There's no need to keep this entry in proc, it is PM
related debug only entry. Let's move it into debugfs.

Based on an earlier patch David Howells <dhowells@redhat.com>
to use seq_printf and to update to use create_proc_read_entry().

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocris: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 02:04:20 +0000 (03:04 +0100)]
cris: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
cc: Mikael Starvik <starvik@axis.com>
cc: linux-cris-kernel@axis.com
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoh8300: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 01:32:46 +0000 (02:32 +0100)]
h8300: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoia64: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 00:28:40 +0000 (01:28 +0100)]
ia64: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Tony Luck <tony.luck@intel.com>
cc: Fenghua Yu <fenghua.yu@intel.com>
cc: linux-ia64@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomips: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 23:21:15 +0000 (00:21 +0100)]
mips: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Ralf Baechle <ralf@linux-mips.org>
cc: linux-mips@linux-mips.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoparisc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 23:11:51 +0000 (00:11 +0100)]
parisc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
cc: Helge Deller <deller@gmx.de>
cc: linux-parisc@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosh: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 23:01:27 +0000 (00:01 +0100)]
sh: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Paul Mundt <lethal@linux-sh.org>
cc: linux-sh@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomegaraid: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 12:33:21 +0000 (13:33 +0100)]
megaraid: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Neela Syam Kolli <megaraidlinux@lsi.com>
cc: James E.J. Bottomley <JBottomley@parallels.com>
cc: linux-scsi@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohostap: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 20:13:23 +0000 (21:13 +0100)]
hostap: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jouni Malinen <j@w1.fi>
cc: John W. Linville <linville@tuxdriver.com>
cc: Johannes Berg <johannes@sipsolutions.net>
cc: linux-wireless@vger.kernel.org
cc: netdev@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoatmel: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:50:58 +0000 (16:50 +0100)]
atmel: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Simon Kelley <simon@thekelleys.org.uk>
cc: John W. Linville <linville@tuxdriver.com>
cc: linux-wireless@vger.kernel.org
cc: netdev@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agods1620: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:48:39 +0000 (16:48 +0100)]
ds1620: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoefirtc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:21:08 +0000 (16:21 +0100)]
efirtc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agogenrtc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:11:53 +0000 (16:11 +0100)]
genrtc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohp_sdc_rtc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 14:52:18 +0000 (15:52 +0100)]
hp_sdc_rtc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Brian S. Julin <bri@calyx.com>
cc: Helge Deller <deller@gmx.de>
cc: linux-m68k@lists.linux-m68k.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agonubus: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 14:05:38 +0000 (15:05 +0100)]
nubus: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-m68k@lists.linux-m68k.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agofsl_udc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 12:23:50 +0000 (13:23 +0100)]
fsl_udc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Li Yang <leoli@freescale.com>
cc: Felipe Balbi <balbi@ti.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-usb@vger.kernel.org
cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agogoku_udc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 10:51:21 +0000 (11:51 +0100)]
goku_udc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Felipe Balbi <balbi@ti.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-usb@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agowlags49_h2: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 22:26:53 +0000 (23:26 +0100)]
wlags49_h2: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Henk de Groot <pe1dnn@amsat.org>
cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-wireless@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocxt1e1: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 21:47:46 +0000 (22:47 +0100)]
cxt1e1: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Bob Beers <bob.beers@gmail.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocsr: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 15:50:22 +0000 (16:50 +0100)]
csr: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Randy Dunlap <rdunlap@xenotime.net>
cc: Priit Laes <plaes@plaes.org>
cc: devel@driverdev.osuosl.org
cc: Mikko Virkkilä <mikko.virkkila@bluegiga.com>
cc: Lauri Hintsala <Lauri.Hintsala@bluegiga.com>
cc: Riku Mettälä <riku.mettala@bluegiga.com>
cc: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocomedi: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 15:39:33 +0000 (16:39 +0100)]
comedi: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: David Schleef <ds@schleef.org>
cc: Ian Abbott <abbotti@mev.co.uk>
cc: Mori Hess <fmhess@users.sourceforge.net>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: H Hartley Sweeten <hsweeten@visionengravers.com>
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoft1000: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 15:06:20 +0000 (16:06 +0100)]
ft1000: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marek Belisko <marek.belisko@gmail.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Ondrej Zary <linux@rainbow-software.org>
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8187se: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 14:48:07 +0000 (15:48 +0100)]
rtl8187se: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.  Whilst we're at it, reduce the
number of show functions where we can share them.

Question: Do any of the registers read by proc_get_registers() have side
effects upon reading?  If so, locking will be required.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Maxim Mikityanskiy <maxtram95@gmail.com>
cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
cc: Bill Pemberton <wfp5p@virginia.edu>
cc: Andrea Merello <andreamrl@tiscali.it>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8192u: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 14:17:33 +0000 (15:17 +0100)]
rtl8192u: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.  Whilst we're at it, reduce the
number of show functions where we can share them.

Note: proc_get_stats_ap() should probably use seq_file iteration rather than
list_for_each_entry().

Further note: There appears to be a lot of locking missing in this file to
defend against concurrent access by the driver doing normal operations.
Notably, ieee->network_list traversal and RWCAM/RCAMO command/response access.
Further, do any of the registers read have side effects upon reading?

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: Mauro Carvalho Chehab <mchehab@redhat.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: Mark create_proc_read_entry deprecated
David Howells [Tue, 9 Apr 2013 20:11:47 +0000 (21:11 +0100)]
procfs: Mark create_proc_read_entry deprecated

Mark create_proc_read_entry deprecated.  proc_create[_data]() should be used
instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoxt_hashlimit: allocate a copy of name explicitly, don't rely on procfs guts
Al Viro [Fri, 19 Apr 2013 10:43:33 +0000 (06:43 -0400)]
xt_hashlimit: allocate a copy of name explicitly, don't rely on procfs guts

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: grabbing/dropping reference to THIS_MODULE in open/release is racy
Al Viro [Mon, 15 Apr 2013 21:27:11 +0000 (17:27 -0400)]
mISDN: grabbing/dropping reference to THIS_MODULE in open/release is racy

... when you have no ->owner set.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix mISDN_read()/mISDN_read() race
Al Viro [Mon, 15 Apr 2013 21:18:17 +0000 (17:18 -0400)]
mISDN: fix mISDN_read()/mISDN_read() race

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix misdn_add_timer()/misdn_del_timer() race
Al Viro [Mon, 15 Apr 2013 21:04:04 +0000 (17:04 -0400)]
mISDN: fix misdn_add_timer()/misdn_del_timer() race

do add_timer() *before* unlocking dev->lock, or unpleasant things can
happen if misdn_del_timer() on another CPU finds the sucker, calls
del_timer_sync() (which does nothing, since we hadn't started the
timer yet) and frees it, just as we get around to add_timer()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix races between misdn_del_timer() and timer callback
Al Viro [Mon, 15 Apr 2013 20:55:41 +0000 (16:55 -0400)]
mISDN: fix races between misdn_del_timer() and timer callback

mark the victim with negative ->id if misdn_del_timer() finds it on
the list, have timer callback *not* move ones so marked to dev->expired

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix the races with timers going off just as they are deleted
Al Viro [Mon, 15 Apr 2013 20:31:13 +0000 (16:31 -0400)]
mISDN: fix the races with timers going off just as they are deleted

timer callback in timerdev.c both accesses struct mISDNtimer it's
called for *and* moves it to dev->expired.  We need del_timer_sync(),
or we risk kfree() freeing it right under dev_expire_timer() *and*
dev->expired getting corrupted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodvb_frontend: don't mess with ->f_op in ->release()
Al Viro [Mon, 15 Apr 2013 17:58:21 +0000 (13:58 -0400)]
dvb_frontend: don't mess with ->f_op in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodvb_net: don't mess with ->f_op in ->release()
Al Viro [Mon, 15 Apr 2013 17:56:11 +0000 (13:56 -0400)]
dvb_net: don't mess with ->f_op in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolis3lv02d: don't wank with fasync() on ->release()
Al Viro [Mon, 15 Apr 2013 17:34:22 +0000 (13:34 -0400)]
lis3lv02d: don't wank with fasync() on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agompt3sas: don't wank with fasync on ->release()
Al Viro [Mon, 15 Apr 2013 17:31:14 +0000 (13:31 -0400)]
mpt3sas: don't wank with fasync on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agompt2sas: don't wank with fasync on ->release()
Al Viro [Mon, 15 Apr 2013 17:30:33 +0000 (13:30 -0400)]
mpt2sas: don't wank with fasync on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agofix a leak in /proc/schedstats
Al Viro [Mon, 15 Apr 2013 17:29:15 +0000 (13:29 -0400)]
fix a leak in /proc/schedstats

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agopmcraid: don't wank with fasync in ->release()
Al Viro [Mon, 15 Apr 2013 14:29:11 +0000 (10:29 -0400)]
pmcraid: don't wank with fasync in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomptctl: don't wank with fasync in ->release()
Al Viro [Mon, 15 Apr 2013 14:28:20 +0000 (10:28 -0400)]
mptctl: don't wank with fasync in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolpfc: fix races for miscdevice open vs. rmmod
Al Viro [Mon, 15 Apr 2013 02:39:37 +0000 (22:39 -0400)]
lpfc: fix races for miscdevice open vs. rmmod

mind you, I'm not sure WTF would anybody _need_ that miscdevice
at all - no IO is possible for it, opening it only pins the module
down and is seriously racy, at that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoyurex: don't wank with fasync on ->release()...
Al Viro [Mon, 15 Apr 2013 01:23:06 +0000 (21:23 -0400)]
yurex: don't wank with fasync on ->release()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agofanotify: don't wank with FASYNC on ->release()
Al Viro [Mon, 15 Apr 2013 00:01:50 +0000 (20:01 -0400)]
fanotify: don't wank with FASYNC on ->release()

... it's done already by __fput()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosock_close() couldn't have been called with NULL inode since at least 2.1.early
Al Viro [Sun, 14 Apr 2013 21:22:17 +0000 (17:22 -0400)]
sock_close() couldn't have been called with NULL inode since at least 2.1.early

... if not since 0.99 or so.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agotomoyo_close_control: don't bother with return value
Al Viro [Sun, 14 Apr 2013 20:59:00 +0000 (16:59 -0400)]
tomoyo_close_control: don't bother with return value

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodmasound_core: saner arguments for sq_fsync()
Al Viro [Sun, 14 Apr 2013 20:49:33 +0000 (16:49 -0400)]
dmasound_core: saner arguments for sq_fsync()

it is not (and it has never been) an ->fsync() instance...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohppfs: get rid of ->fsync()
Al Viro [Sun, 14 Apr 2013 19:35:44 +0000 (15:35 -0400)]
hppfs: get rid of ->fsync()

it has grown by accident - directories there do *not* use page cache, so
there's nothing to write.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohppfs: fix the leaks on close()
Al Viro [Sun, 14 Apr 2013 19:34:01 +0000 (15:34 -0400)]
hppfs: fix the leaks on close()

we need to close the underlying procfs file and free ->private_data

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agonew helper: read_code()
Al Viro [Sun, 14 Apr 2013 00:31:37 +0000 (20:31 -0400)]
new helper: read_code()

switch binfmts that use ->read() to that (and to kernel_read()
in several cases in binfmt_flat - sure, it's nommu, but still,
doing ->read() into kmalloc'ed buffer...)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocx25821: sanitize cx25821_openfile_audio() a bit...
Al Viro [Sat, 13 Apr 2013 20:48:24 +0000 (16:48 -0400)]
cx25821: sanitize cx25821_openfile_audio() a bit...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocx25821: sanitize cx25821_get_audio_data() a bit
Al Viro [Sat, 13 Apr 2013 20:35:35 +0000 (16:35 -0400)]
cx25821: sanitize cx25821_get_audio_data() a bit

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agotry a saner locking for pde_opener...
Al Viro [Thu, 4 Apr 2013 20:28:47 +0000 (16:28 -0400)]
try a saner locking for pde_opener...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodeal with races between remove_proc_entry() and proc_reg_release()
Al Viro [Wed, 3 Apr 2013 23:57:00 +0000 (19:57 -0400)]
deal with races between remove_proc_entry() and proc_reg_release()

* serialize the call of ->release() on per-pdeo mutex
* don't remove pdeo from per-pde list until we are through with it

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: preparations for remove_proc_entry() race fixes
Al Viro [Wed, 3 Apr 2013 23:07:30 +0000 (19:07 -0400)]
procfs: preparations for remove_proc_entry() race fixes

* leave ->proc_fops alone; make ->pde_users negative instead
* trim pde_opener
* move relevant code in fs/proc/inode.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: Clean up huge if-statement in __proc_file_read()
David Howells [Thu, 4 Apr 2013 15:32:28 +0000 (16:32 +0100)]
procfs: Clean up huge if-statement in __proc_file_read()

Switch huge if-statement in __proc_file_read() around.  This then puts the
single line loop break immediately after the if-statement and allows us to
de-indent the huge comment and make it take fewer lines.  The code following
the if-statement then follows naturally from the call to dp->read_proc().

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agovt6655: slightly clean reading config file
Al Viro [Sat, 6 Apr 2013 22:11:22 +0000 (18:11 -0400)]
vt6655: slightly clean reading config file

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agovt6656: slightly sanitized reading config
Al Viro [Sat, 6 Apr 2013 22:00:07 +0000 (18:00 -0400)]
vt6656: slightly sanitized reading config

Just reading - parsing the results is left alone (and unspeakably
lousy).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosound_firmware: don't bother with filp_close()
Al Viro [Sat, 6 Apr 2013 17:53:56 +0000 (13:53 -0400)]
sound_firmware: don't bother with filp_close()

it's opened read-only and never installed into any descriptor tables;
fput() will do just as well.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agopxa3xx-gcu: stop embedding file_operations into device-private object
Al Viro [Sat, 6 Apr 2013 00:44:08 +0000 (20:44 -0400)]
pxa3xx-gcu: stop embedding file_operations into device-private object

no need to do that anymore...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agopxa3xx-gcu: quite playing silly buggers with ->f_op
Al Viro [Sat, 6 Apr 2013 00:39:36 +0000 (20:39 -0400)]
pxa3xx-gcu: quite playing silly buggers with ->f_op

misc device gets ->private_data pointing to struct miscdevice
on open(), so we can use that to get to per-device structure
instead of relying on file_operations being copied into it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosilicom-bypass: Remove device_open/close()
David Howells [Thu, 4 Apr 2013 19:36:00 +0000 (20:36 +0100)]
silicom-bypass: Remove device_open/close()

Remove device_open/close() functions as they don't really do anything and
remove Device_Open as it isn't counted atomically and the value isn't used.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoproc: Kill create_proc_entry()
David Howells [Thu, 4 Apr 2013 16:02:03 +0000 (17:02 +0100)]
proc: Kill create_proc_entry()

Kill create_proc_entry() in favour of create_proc_read_entry(), proc_create()
and proc_create_data().

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agowlags49_h2: Don't use create_proc_entry()
David Howells [Thu, 4 Apr 2013 15:49:26 +0000 (16:49 +0100)]
wlags49_h2: Don't use create_proc_entry()

create_proc_entry() shouldn't be used.  Rather proc_create_data() should be
used.  The proc_write() function is only used by #if'd out code, so delete it
for now.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agonubus: Don't use create_proc_entry()
David Howells [Thu, 4 Apr 2013 15:44:51 +0000 (16:44 +0100)]
nubus: Don't use create_proc_entry()

Don't use create_proc_entry() in nubus_proc_subdir().  The files created aren't
given any way to use them, so for the moment use create_proc_read_entry() with
a NULL accessor and generate a compile-time warning.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoUM: Adjust printk in create_proc_mconsole()
David Howells [Thu, 4 Apr 2013 15:58:25 +0000 (16:58 +0100)]
UM: Adjust printk in create_proc_mconsole()

Adjust printk in create_proc_mconsole() to reflect it is now using
proc_create() not create_proc_mconsole().

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoconstify a bunch of struct file_operations instances
Al Viro [Thu, 4 Apr 2013 23:09:41 +0000 (19:09 -0400)]
constify a bunch of struct file_operations instances

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: kill unused fops field in struct bt_sock_list
Al Viro [Thu, 4 Apr 2013 23:18:04 +0000 (19:18 -0400)]
bluetooth: kill unused fops field in struct bt_sock_list

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: fix race in bt_procfs_init()
Al Viro [Thu, 4 Apr 2013 23:16:06 +0000 (19:16 -0400)]
bluetooth: fix race in bt_procfs_init()

use proc_create_data() rather than set ->data after the file has
been created

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: kill unused 'module' argument of bt_procfs_init()
Al Viro [Thu, 4 Apr 2013 23:14:33 +0000 (19:14 -0400)]
bluetooth: kill unused 'module' argument of bt_procfs_init()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: don't bother with ->owner for procfs fops
Al Viro [Thu, 4 Apr 2013 23:12:06 +0000 (19:12 -0400)]
bluetooth: don't bother with ->owner for procfs fops

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agox25: use proc_remove_subtree()
Al Viro [Wed, 3 Apr 2013 04:04:51 +0000 (00:04 -0400)]
x25: use proc_remove_subtree()

... and don't bother with ->owner, while we are at it - procfs fops
do not need it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocreate_proc_cpu_mask() doesn't need an argument...
Al Viro [Tue, 2 Apr 2013 00:48:34 +0000 (20:48 -0400)]
create_proc_cpu_mask() doesn't need an argument...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolparcfg: don't bother saving pointer to proc_dir_entry
Al Viro [Mon, 1 Apr 2013 03:21:50 +0000 (23:21 -0400)]
lparcfg: don't bother saving pointer to proc_dir_entry

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprominfo_proc fixes
Al Viro [Mon, 1 Apr 2013 02:50:16 +0000 (22:50 -0400)]
prominfo_proc fixes

* check for proc_mkdir() failures
* use remove_proc_subtree()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosrm_env: don't bother with pointer to srm_env_t
Al Viro [Mon, 1 Apr 2013 01:45:09 +0000 (21:45 -0400)]
srm_env: don't bother with pointer to srm_env_t

Since the only thing in it the methods actually care about is
variable id, just store that directly.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosrm_env: use proc_remove_subtree()
Al Viro [Sun, 31 Mar 2013 22:29:51 +0000 (18:29 -0400)]
srm_env: use proc_remove_subtree()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: new helper - PDE_DATA(inode)
Al Viro [Sun, 31 Mar 2013 22:16:14 +0000 (18:16 -0400)]
procfs: new helper - PDE_DATA(inode)

The only part of proc_dir_entry the code outside of fs/proc
really cares about is PDE(inode)->data.  Provide a helper
for that; static inline for now, eventually will be moved
to fs/proc, along with the knowledge of struct proc_dir_entry
layout.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolast_radio_log: switch to proc_create()
Al Viro [Sun, 31 Mar 2013 19:41:41 +0000 (15:41 -0400)]
last_radio_log: switch to proc_create()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: kill ->write_proc()
Al Viro [Sun, 31 Mar 2013 19:30:40 +0000 (15:30 -0400)]
procfs: kill ->write_proc()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobfin_adv7393: switch to proc_create_data()
Al Viro [Sun, 31 Mar 2013 19:29:21 +0000 (15:29 -0400)]
bfin_adv7393: switch to proc_create_data()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoxtensa simdisk: switch to proc_create_data()
Al Viro [Sun, 31 Mar 2013 19:18:19 +0000 (15:18 -0400)]
xtensa simdisk: switch to proc_create_data()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8192u: switch to proc_create()
Al Viro [Sun, 31 Mar 2013 19:07:00 +0000 (15:07 -0400)]
rtl8192u: switch to proc_create()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoscsi_proc: make proc_scsi_host_open() preallocate a bigger buffer
Al Viro [Sun, 31 Mar 2013 17:50:52 +0000 (13:50 -0400)]
scsi_proc: make proc_scsi_host_open() preallocate a bigger buffer

Some of the ->show_info() instances really spew a lot; it's not a problem
wrt correctness (seq_read() will grow buffer and call the sucker again),
but in this case it makes sense to start with a somewhat bigger one -
they often do exceed one page worth of output.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agonew helper: single_open_size()
Al Viro [Sun, 31 Mar 2013 17:43:23 +0000 (13:43 -0400)]
new helper: single_open_size()

Same as single_open(), but preallocates the buffer of given size.
Doesn't make any sense for sizes up to PAGE_SIZE and doesn't make
sense if output of show() exceeds PAGE_SIZE only rarely - seq_read()
will take care of growing the buffer and redoing show().  If you
_know_ that it will be large, it might make more sense to look into
saner iterator, rather than go with single-shot one.  If that's
impossible, single_open_size() might be for you.

Again, don't use that without a good reason; occasionally that's really
the best way to go, but very often there are better solutions.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoscsi: bury ->proc_info()
Al Viro [Sun, 31 Mar 2013 17:27:56 +0000 (13:27 -0400)]
scsi: bury ->proc_info()

all users converted to ->show_info()/->write_info()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoatari_scsi: switch to ->show_info()
Al Viro [Sun, 31 Mar 2013 17:24:44 +0000 (13:24 -0400)]
atari_scsi: switch to ->show_info()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoaix7xxx_old: switch to ->show_info()
Al Viro [Sun, 31 Mar 2013 16:53:53 +0000 (12:53 -0400)]
aix7xxx_old: switch to ->show_info()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosata_svw: switch to ->show_info()
Al Viro [Sun, 31 Mar 2013 16:46:43 +0000 (12:46 -0400)]
sata_svw: switch to ->show_info()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>