From: David Howells <dhowells@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: viro@ZenIV.linux.org.uk
Subject: [PATCH 00/26] Eliminate create_proc_read_entry() [RFC]
Date: Thu, 11 Apr 2013 14:27:40 +0100 [thread overview]
Message-ID: <20130411132739.32763.82609.stgit@warthog.procyon.org.uk> (raw)
Here is a series of patches to eliminate create_proc_read_entry(), replacing it
with proc_create() and proc_create_data() and the use of seq_file facilities.
This requires file_operations structs and open methods to be provided in most
cases, though single_open() and single_open_size() suffice for the actual
translation into the seq_file environment. I did try and reduce the number of
file_operations structs and open methods added by placing the show function
pointer into seq_file::private in some places.
Certain places (hostap most notably) required conversion of some files into
full seq_file iterators to handle the possibility that large lists might
overrun a single buffer full of data.
This reduces the size of the proc_dir_entry by the removal of the read_proc
pointer, plus the support mechanisms for these have been removed from the
procfs code.
These patches have been compile tested as best I can (apart from SH for which I
don't have a working compiler). No runtime testing has been done outside of
the core procfs code as I don't have the requisite hardware.
These patches can be seen here also:
http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=vfs-experimental
David
---
David Howells (26):
procfs: Mark create_proc_read_entry deprecated
rtl8192u: Don't use create_proc_read_entry()
rtl8187se: Don't use create_proc_read_entry()
ft1000: Don't use create_proc_read_entry()
comedi: Don't use create_proc_read_entry()
csr: Don't use create_proc_read_entry()
cxt1e1: Don't use create_proc_read_entry()
wlags49_h2: Don't use create_proc_read_entry()
goku_udc: Don't use create_proc_read_entry()
fsl_udc: Don't use create_proc_read_entry()
nubus: Don't use create_proc_read_entry()
hp_sdc_rtc: Don't use create_proc_read_entry()
genrtc: Don't use create_proc_read_entry()
efirtc: Don't use create_proc_read_entry()
ds1620: Don't use create_proc_read_entry()
atmel: Don't use create_proc_read_entry()
hostap: Don't use create_proc_read_entry()
megaraid: Don't use create_proc_read_entry()
sh: Don't use create_proc_read_entry()
parisc: Don't use create_proc_read_entry()
mips: Don't use create_proc_read_entry()
ia64: Don't use create_proc_read_entry()
h8300: Don't use create_proc_read_entry()
cris: Don't use create_proc_read_entry()
arm: Don't use create_proc_read_entry()
proc: Delete create_proc_read_entry()
arch/arm/kernel/swp_emulate.c | 42 -
arch/arm/mach-omap1/pm.c | 58 -
arch/cris/arch-v10/kernel/fasttimer.c | 299 +++---
arch/cris/arch-v32/kernel/fasttimer.c | 296 +++---
arch/h8300/kernel/gpio.c | 34 -
arch/ia64/kernel/palinfo.c | 502 +++++-----
arch/ia64/kernel/salinfo.c | 39 -
arch/ia64/sn/kernel/sn2/prominfo_proc.c | 108 +-
arch/mips/kernel/smtc-proc.c | 64 -
arch/mips/pci/ops-pmcmsp.c | 95 +-
arch/mips/sibyte/sb1250/bus_watcher.c | 81 +-
arch/parisc/kernel/pdc_chassis.c | 47 -
arch/sh/drivers/dma/dma-api.c | 28 -
drivers/char/ds1620.c | 33 -
drivers/char/efirtc.c | 83 +-
drivers/char/genrtc.c | 48 -
drivers/input/misc/hp_sdc_rtc.c | 58 -
drivers/net/wireless/atmel.c | 69 +
drivers/net/wireless/hostap/hostap_ap.c | 375 ++++---
drivers/net/wireless/hostap/hostap_download.c | 68 +
drivers/net/wireless/hostap/hostap_hw.c | 38 -
drivers/net/wireless/hostap/hostap_proc.c | 589 ++++++-----
drivers/net/wireless/hostap/hostap_wlan.h | 3
drivers/nubus/nubus.c | 55 -
drivers/nubus/proc.c | 81 +-
drivers/scsi/megaraid.c | 1041 +++++++-------------
drivers/scsi/megaraid.h | 17
drivers/staging/comedi/proc.c | 52 +
drivers/staging/csr/csr_wifi_hip_udi.c | 353 ++-----
drivers/staging/csr/csr_wifi_hip_unifi_udi.h | 17
drivers/staging/csr/io.c | 151 +--
drivers/staging/cxt1e1/Makefile | 3
drivers/staging/cxt1e1/sbeproc.c | 460 +++------
drivers/staging/cxt1e1/sbeproc.h | 14
drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c | 132 +--
drivers/staging/ft1000/ft1000-usb/ft1000_proc.c | 131 +--
drivers/staging/rtl8187se/r8180_core.c | 135 +--
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c | 21
drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 44 -
drivers/staging/rtl8192e/rtllib_crypt_wep.c | 6
drivers/staging/rtl8192u/r8192U_core.c | 215 ++--
drivers/staging/wlags49_h2/wl_main.c | 320 +++---
drivers/usb/gadget/fsl_udc_core.c | 124 +-
drivers/usb/gadget/goku_udc.c | 89 +-
fs/proc/generic.c | 168 ---
fs/proc/inode.c | 35 -
fs/proc/internal.h | 2
include/linux/nubus.h | 4
include/linux/proc_fs.h | 14
include/net/lib80211.h | 4
net/wireless/lib80211_crypt_ccmp.c | 29 -
net/wireless/lib80211_crypt_tkip.c | 44 -
net/wireless/lib80211_crypt_wep.c | 5
53 files changed, 3003 insertions(+), 3820 deletions(-)
next reply other threads:[~2013-04-11 13:27 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-11 13:27 David Howells [this message]
2013-04-11 13:27 ` [PATCH 01/26] procfs: Mark create_proc_read_entry deprecated [RFC] David Howells
2013-04-11 13:27 ` [PATCH 02/26] rtl8192u: Don't use create_proc_read_entry() [RFC] David Howells
2013-04-11 13:28 ` [PATCH 03/26] rtl8187se: " David Howells
2013-04-11 13:28 ` [PATCH 04/26] ft1000: " David Howells
2013-04-11 13:28 ` [PATCH 05/26] comedi: " David Howells
2013-04-11 15:07 ` Ian Abbott
2013-04-11 15:15 ` David Howells
2013-04-11 19:05 ` Greg Kroah-Hartman
2013-04-12 10:56 ` Ian Abbott
2013-04-11 13:28 ` [PATCH 06/26] csr: " David Howells
2013-04-11 13:28 ` [PATCH 07/26] cxt1e1: " David Howells
2013-04-11 13:28 ` [PATCH 08/26] wlags49_h2: " David Howells
2013-04-11 13:28 ` [PATCH 09/26] goku_udc: " David Howells
2013-04-11 13:29 ` [PATCH 10/26] fsl_udc: " David Howells
2013-04-11 13:29 ` [PATCH 11/26] nubus: " David Howells
2013-04-11 13:29 ` [PATCH 12/26] hp_sdc_rtc: " David Howells
2013-04-11 13:29 ` [PATCH 13/26] genrtc: " David Howells
2013-04-11 13:29 ` [PATCH 14/26] efirtc: " David Howells
2013-04-11 13:29 ` [PATCH 15/26] ds1620: " David Howells
2013-04-11 13:29 ` [PATCH 16/26] atmel: " David Howells
2013-04-11 13:30 ` [PATCH 18/26] megaraid: " David Howells
2013-04-12 8:56 ` Hannes Reinecke
2013-04-11 13:30 ` [PATCH 19/26] sh: " David Howells
2013-04-16 6:11 ` Simon Horman
2013-04-16 6:28 ` Al Viro
2013-04-16 18:42 ` Paul Mundt
2013-04-17 0:41 ` Simon Horman
2013-04-11 13:30 ` [PATCH 20/26] parisc: " David Howells
2013-04-11 13:30 ` [PATCH 21/26] mips: " David Howells
2013-04-11 13:30 ` [PATCH 22/26] ia64: " David Howells
2013-04-11 13:30 ` [PATCH 23/26] h8300: " David Howells
2013-04-11 13:30 ` [PATCH 24/26] cris: " David Howells
2013-04-12 10:58 ` Jesper Nilsson
2013-04-11 13:30 ` [PATCH 25/26] arm: " David Howells
2013-04-11 15:48 ` Tony Lindgren
2013-04-11 16:45 ` David Howells
2013-04-11 16:57 ` Tony Lindgren
2013-04-11 18:03 ` Tony Lindgren
2013-04-11 13:31 ` [PATCH 26/26] proc: Delete " David Howells
2013-04-11 14:11 ` [PATCH 00/26] Eliminate " Arnd Bergmann
[not found] ` <20130411132952.32763.3184.stgit@warthog.procyon.org.uk>
2013-04-11 19:06 ` [PATCH 17/26] hostap: Don't use " Greg Kroah-Hartman
2013-04-11 19:07 ` [PATCH 00/26] Eliminate " Greg KH
2013-04-11 22:34 ` David Howells
2013-04-12 20:12 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130411132739.32763.82609.stgit@warthog.procyon.org.uk \
--to=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@ZenIV.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®