Commit Graph

361920 Commits

Author SHA1 Message Date
Al Viro
fa5fd36820 imm: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:16 -04:00
Al Viro
3e0552eebd gdth: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:16 -04:00
Al Viro
408bb25ba5 switch wd33c93 to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:15 -04:00
Al Viro
cab29b99df wd7000: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:15 -04:00
Al Viro
ee127fec44 sym53c8xx_2: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:15 -04:00
Al Viro
0ffddfbb83 scsi: saner replacements for ->proc_info()
It's still an obsolete interface; don't introduce those in new drivers.
However, it's saner than the ->proc_info() and commits after this one
will convert the existing ->proc_info() users to it.

The read side is ->show_info(seq_file *, struct Scsi_Host *); use
seq_... for generating contents.

The write side is ->write_info(struct Scsi_Host *, char *, int).

Again, this is driven by procfs needs; we are going to kill ->write_proc()
and ->read_proc() and this is the main obstacle to burying that piece of
shit.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:14 -04:00
Al Viro
b6cdc73103 procfs: don't allow to use proc_create, create_proc_entry, etc. for directories
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:14 -04:00
Al Viro
21ba37c9cf i2o: use proc_remove_subtree()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:13 -04:00
Al Viro
685e55eb51 silicom: bury bp_proc.c
It's a seriously rotten copy of parts of bp_mod.c; had been
ifdefed out all along, lacks a bunch of declarations that would
be needed if ifdef had been removed, all stuff in it is duplicated
in bp_mod.c anyway...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:13 -04:00
Al Viro
a01b0c576d silicom: switch to create_proc_data(), clean procfs side of things up
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:12 -04:00
Al Viro
121daf5f8b reiserfs: use proc_remove_subtree()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:12 -04:00
Al Viro
bdcecec324 silicom: untangle module_init
Helper functions are often useful.  So are local variables...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:12 -04:00
Al Viro
f1b68d4ba4 silicom: get_bypass_slave_pfs() open-codes lookup_port()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:11 -04:00
Al Viro
fb8004d39b silicom: unobfuscate get_{status,master}_port_fn()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:11 -04:00
Al Viro
7e1be8a501 silicom: helper functions are often useful...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:10 -04:00
Al Viro
e784788ddb get rid of a bunch of open-coded create_proc_read_entry()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:10 -04:00
Al Viro
96e7d9158f isp1362-hcd: don't reimplement proc_create_data()
... especially in a racy way

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:10 -04:00
Al Viro
5a787a6820 rtl8192u: don't play with reassigning ->proc_fops, just use proc_create()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:09 -04:00
Al Viro
895b5599ba dgrp procfs fixes, part 6: just use proc_create{,_data}
->permission() of its own is a rudiment of sysctl imitation;
normal procfs logics will do just fine here, no need to
mess with ->proc_iops at all.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:09 -04:00
Al Viro
af064cdde6 dgrp procfs fixes, part 5: per-node files
this "hooks" scheme is pointless - just make file_operations non-static
and consolidate initialiazation bits.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:08 -04:00
Al Viro
08f3d07ddd dgrp procfs fixes, part 4: get rid of sysctl-like machinery
racy and very overblown...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:08 -04:00
Al Viro
772317b53b dgrp procfs fixes, part 3: kill dead code
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:08 -04:00
Al Viro
878c68c6c2 dgrp procfs fixes, part 2
All table entries either have non-NULL ->proc_file_fops or
non-NULL child.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:07 -04:00
Al Viro
aa66d7bba7 dgrp procfs fixes, part 1
proc_create() has shat upon fops argument when mode is S_IFDIR.
Good thing, too, since fops passed to it is completely useless
for any directory.  Just use proc_mkdir(), damnit.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:07 -04:00
Sean MacLennan
f56e2947be The rtl8192e procfs-based debug interface seems very broken
The procfs debug code in rtl_debug.c is, ironically, very buggy: it lacks proper locking.
Since the most useful part of the code (the stats) are available through more
standard APIs, I think it is best to just delete the whole mess.

Signed-off-by: Sean MacLennan <seanm@seanm.ca>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:06 -04:00
Al Viro
c037773cc7 rtl8192e: switch to proc_create()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:06 -04:00
Al Viro
e3e7b40c19 rtl8192e: don't use create_proc_entry() for directories
proc_mkdir() is there for purpose...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:06 -04:00
Al Viro
021ada7dff procfs: switch /proc/self away from proc_dir_entry
Just have it pinned in dcache all along and let procfs ->kill_sb()
drop it before kill_anon_super().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:05 -04:00
Al Viro
0ecc833bac mode_t, whack-a-mole at 11...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:05 -04:00
Al Viro
aee0c612b1 snd_info_register: switch to proc_create_data/proc_mkdir_mode
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:04 -04:00
Al Viro
4d8e8d21de hysdn: stash pointer to card into proc_dir_entry->data
no need to search later - we know the card when we are
creating procfs entries

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:04 -04:00
Al Viro
03b642a701 atags_proc: switch to proc_create_data()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:03 -04:00
Al Viro
3273097ee9 gadgetfs: don't bother with fops->owner
filesystem module as whole is pinned down by its superblock, no need
to have opened files on it to add anything to that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:03 -04:00
Al Viro
c62c5a8877 ccg: don't bother with fops->owner
filesystem module as whole is pinned down by its superblock, no need
to have opened files on it to add anything to that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:03 -04:00
Al Viro
0b57b880e6 spufs: don't bother with fops->owner
filesystem module as whole is pinned down by its superblock, no need
to have opened files on it to add anything to that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:02 -04:00
Al Viro
4b8a8f1e4f get rid of the last free_pipe_info() callers
and rename __free_pipe_info() to free_pipe_info()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:02 -04:00
Al Viro
7bee130e22 get rid of alloc_pipe_info() argument
not used anymore

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:01 -04:00
Al Viro
6447a3cf19 get rid of pipe->inode
it's used only as a flag to distinguish normal pipes/FIFOs from the
internal per-task one used by file-to-file splice.  And pipe->files
would work just as well for that purpose...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:01 -04:00
Al Viro
ebec73f475 introduce variants of pipe_lock/pipe_unlock for real pipes/FIFOs
fs/pipe.c file_operations methods *know* that pipe is not an internal one;
no need to check pipe->inode for those callers.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:01 -04:00
Al Viro
de32ec4cfe pipe: set file->private_data to ->i_pipe
simplify get_pipe_info(), while we are at it

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:00 -04:00
Al Viro
72b0d9aacb pipe: don't use ->i_mutex
now it can be done - put mutex into pipe_inode_info, use it instead
of ->i_mutex

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:13:00 -04:00
Al Viro
ba5bb14733 pipe: take allocation and freeing of pipe_inode_info out of ->i_mutex
* new field - pipe->files; number of struct file over that pipe (all
  sharing the same inode, of course); protected by inode->i_lock.
* pipe_release() decrements pipe->files, clears inode->i_pipe when
  if the counter has reached 0 (all under ->i_lock) and, in that case,
  frees pipe after having done pipe_unlock()
* fifo_open() starts with grabbing ->i_lock, and either bumps pipe->files
  if ->i_pipe was non-NULL or allocates a new pipe (dropping and regaining
  ->i_lock) and rechecks ->i_pipe; if it's still NULL, inserts new pipe
  there, otherwise bumps ->i_pipe->files and frees the one we'd allocated.
  At that point we know that ->i_pipe is non-NULL and won't go away, so
  we can do pipe_lock() on it and proceed as we used to.  If we end up
  failing, decrement pipe->files and if it reaches 0 clear ->i_pipe and
  free the sucker after pipe_unlock().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:59 -04:00
Al Viro
18c03cfd40 pipe: preparation to new locking rules
* use the fact that file_inode(file)->i_pipe doesn't change
  while the file is opened - no locks needed to access that.
* switch to pipe_lock/pipe_unlock where it's easy to do

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:59 -04:00
Al Viro
fc7478a2bf pipe: switch wait_for_partner() and wake_up_partner() to pipe_inode_info
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:59 -04:00
Al Viro
599a0ac14e pipe: fold file_operations instances in one
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:58 -04:00
Al Viro
f776c73888 fold fifo.c into pipe.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:58 -04:00
Al Viro
2dd8c9ad37 lift sb_start_write out of ->splice_write()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:57 -04:00
Al Viro
17338fccb2 lift sb_start_write into default_file_splice_write()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:57 -04:00
Al Viro
03d95eb2f2 lift sb_start_write() out of ->write()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:56 -04:00
Al Viro
72ec35163f switch compat readv/writev variants to COMPAT_SYSCALL_DEFINE
... and take to fs/read_write.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09 14:12:56 -04:00