firefly-linux-kernel-4.4.55.git
15 years agoide-cd: move setting REQ_FAILED flag out from 'end_request' exit path
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:03 +0000 (20:15 +0200)]
ide-cd: move setting REQ_FAILED flag out from 'end_request' exit path

Move setting REQ_FAILED flag out from 'end_request' exit path in
cdrom_newpc_intr() and also rename 'end_request' to 'out_end'.

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: unify ide_cd_do_request() exit paths
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:02 +0000 (20:15 +0200)]
ide-cd: unify ide_cd_do_request() exit paths

* Move cdrom_end_request() calls from cdrom_start_rw()
  and ide_cd_prepare_rw_request() to ide_cd_do_request().

* Unify ide_cd_do_request() exit paths.

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: factor out failed request completion from cdrom_end_request()
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:01 +0000 (20:15 +0200)]
ide-cd: factor out failed request completion from cdrom_end_request()

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: remove no longer needed 'ignore' module parameter
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:01 +0000 (20:15 +0200)]
ide-cd: remove no longer needed 'ignore' module parameter

ide-scsi is gone...

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: remove needless ide_dump_status_no_sense() wrapper
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:00 +0000 (20:15 +0200)]
ide-cd: remove needless ide_dump_status_no_sense() wrapper

It makes no sense to check for BSY bit being set as earlier OK_STAT()
check in cdrom_end_request() makes sure that BSY bit is cleared.

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: remove dead code from cdrom_decode_status()
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:00 +0000 (20:15 +0200)]
ide-cd: remove dead code from cdrom_decode_status()

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: use ide_end_rq() also for failed non-fs requests
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:15:00 +0000 (20:15 +0200)]
ide-cd: use ide_end_rq() also for failed non-fs requests

Use ide_end_rq() also for failed non-fs requests on completion
of REQUEST SENSE requests + use blk_rq_bytes() while at it.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-cd: remove dead URLs
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:14:59 +0000 (20:14 +0200)]
ide-cd: remove dead URLs

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide: use PageHighMem() instead of ifdefs in ide_pio_bytes()
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:14:59 +0000 (20:14 +0200)]
ide: use PageHighMem() instead of ifdefs in ide_pio_bytes()

Use PageHighMem() instead of ifdefs in ide_pio_bytes()
(=> local IRQs won't be disabled when not necessary).

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide: add support for arbitrary transfer lengths to ide_pio_bytes()
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:14:59 +0000 (20:14 +0200)]
ide: add support for arbitrary transfer lengths to ide_pio_bytes()

Add support for arbitrary transfer lengths to ide_pio_bytes()
and then inline ide_pio_multi() into ide_pio_datablock().

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide-atapi: start DMA after issuing a packet command
Borislav Petkov [Tue, 31 Mar 2009 18:14:58 +0000 (20:14 +0200)]
ide-atapi: start DMA after issuing a packet command

Apparently¹, some ATAPI devices want to see the packet command first
before enabling DMA otherwise they simply hang indefinitely. Reorder the
two steps and start DMA only after having issued the command first.

[1] http://marc.info/?l=linux-kernel&m=123835520317235&w=2

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Reported-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoat91_ide: fix ->ftf_flags handling
Bartlomiej Zolnierkiewicz [Tue, 31 Mar 2009 18:14:57 +0000 (20:14 +0200)]
at91_ide: fix ->ftf_flags handling

Fix some incorrect IDE_FTFLAG_* changes which slipped in commit
"ide: add "flagged" taskfile flags to struct ide_taskfile (v2)"
(commit 19710d25d50ae0be05eebe4231ed8918b1092d82) few days ago.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide: drivers/ide/ide-atapi.c needs <linux/scatterlist.h>
Geert Uytterhoeven [Tue, 31 Mar 2009 18:14:57 +0000 (20:14 +0200)]
ide: drivers/ide/ide-atapi.c needs <linux/scatterlist.h>

On m68k:
| drivers/ide/ide-atapi.c: In function 'ide_io_buffers':
| drivers/ide/ide-atapi.c:87: error: implicit declaration of function 'sg_page'
| drivers/ide/ide-atapi.c:87: warning: passing argument 1 of 'PageHighMem' makes pointer from integer without a cast
| drivers/ide/ide-atapi.c:91: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast
| drivers/ide/ide-atapi.c:96: error: implicit declaration of function 'sg_virt'
| drivers/ide/ide-atapi.c:96: warning: assignment makes pointer from integer without a cast
| drivers/ide/ide-atapi.c:107: error: implicit declaration of function 'sg_next'
| drivers/ide/ide-atapi.c:107: warning: assignment makes pointer from integer without a cast

[bart: Dmitri Vorobiev submitted similar patch fixing MIPS]

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide: Fix code dealing with sleeping devices in do_ide_request()
Elias Oltmanns [Tue, 31 Mar 2009 18:14:56 +0000 (20:14 +0200)]
ide: Fix code dealing with sleeping devices in do_ide_request()

Unfortunately, I missed a catch when reviewing the patch committed as
201bffa4. Here is the fix to the currently broken handling of sleeping
devices. In particular, this is required to get the disk shock
protection code working again.

Reported-by: Christian Thaeter <ct@pipapo.org>
Cc: stable@kernel.org
Signed-off-by: Elias Oltmanns <eo@nebensachen.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoMerge branch 'reiserfs-updates' from Jeff Mahoney
Linus Torvalds [Mon, 30 Mar 2009 19:29:21 +0000 (12:29 -0700)]
Merge branch 'reiserfs-updates' from Jeff Mahoney

* reiserfs-updates: (35 commits)
  reiserfs: rename [cn]_* variables
  reiserfs: rename p_._ variables
  reiserfs: rename p_s_tb to tb
  reiserfs: rename p_s_inode to inode
  reiserfs: rename p_s_bh to bh
  reiserfs: rename p_s_sb to sb
  reiserfs: strip trailing whitespace
  reiserfs: cleanup path functions
  reiserfs: factor out buffer_info initialization
  reiserfs: add atomic addition of selinux attributes during inode creation
  reiserfs: use generic readdir for operations across all xattrs
  reiserfs: journaled xattrs
  reiserfs: use generic xattr handlers
  reiserfs: remove i_has_xattr_dir
  reiserfs: make per-inode xattr locking more fine grained
  reiserfs: eliminate per-super xattr lock
  reiserfs: simplify xattr internal file lookups/opens
  reiserfs: Clean up xattrs when REISERFS_FS_XATTR is unset
  reiserfs: remove IS_PRIVATE helpers
  reiserfs: remove link detection code
  ...

Fixed up conflicts manually due to:
 - quota name cleanups vs variable naming changes:
fs/reiserfs/inode.c
fs/reiserfs/namei.c
fs/reiserfs/stree.c
        fs/reiserfs/xattr.c
 - exported include header cleanups
include/linux/reiserfs_fs.h

15 years agoreiserfs: rename [cn]_* variables
Jeff Mahoney [Mon, 30 Mar 2009 18:02:50 +0000 (14:02 -0400)]
reiserfs: rename [cn]_* variables

This patch renames n_, c_, etc variables to something more sane.  This
is the sixth in a series of patches to rip out some of the awful
variable naming in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rename p_._ variables
Jeff Mahoney [Mon, 30 Mar 2009 18:02:49 +0000 (14:02 -0400)]
reiserfs: rename p_._ variables

This patch is a simple s/p_._//g to the reiserfs code.  This is the
fifth in a series of patches to rip out some of the awful variable
naming in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rename p_s_tb to tb
Jeff Mahoney [Mon, 30 Mar 2009 18:02:48 +0000 (14:02 -0400)]
reiserfs: rename p_s_tb to tb

This patch is a simple s/p_s_tb/tb/g to the reiserfs code.  This is the
fourth in a series of patches to rip out some of the awful variable
naming in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rename p_s_inode to inode
Jeff Mahoney [Mon, 30 Mar 2009 18:02:47 +0000 (14:02 -0400)]
reiserfs: rename p_s_inode to inode

This patch is a simple s/p_s_inode/inode/g to the reiserfs code.  This
is the third in a series of patches to rip out some of the awful
variable naming in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rename p_s_bh to bh
Jeff Mahoney [Mon, 30 Mar 2009 18:02:46 +0000 (14:02 -0400)]
reiserfs: rename p_s_bh to bh

This patch is a simple s/p_s_bh/bh/g to the reiserfs code.  This is the
second in a series of patches to rip out some of the awful variable
naming in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rename p_s_sb to sb
Jeff Mahoney [Mon, 30 Mar 2009 18:02:45 +0000 (14:02 -0400)]
reiserfs: rename p_s_sb to sb

This patch is a simple s/p_s_sb/sb/g to the reiserfs code.  This is the
first in a series of patches to rip out some of the awful variable
naming in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: strip trailing whitespace
Jeff Mahoney [Mon, 30 Mar 2009 18:02:44 +0000 (14:02 -0400)]
reiserfs: strip trailing whitespace

This patch strips trailing whitespace from the reiserfs code.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: cleanup path functions
Jeff Mahoney [Mon, 30 Mar 2009 18:02:43 +0000 (14:02 -0400)]
reiserfs: cleanup path functions

This patch cleans up some redundancies in the reiserfs tree path code.

decrement_bcount() is essentially the same function as brelse(), so we use
that instead.

decrement_counters_in_path() is exactly the same function as pathrelse(), so
we kill that and use pathrelse() instead.

There's also a bit of cleanup that makes the code a bit more readable.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: factor out buffer_info initialization
Jeff Mahoney [Mon, 30 Mar 2009 18:02:42 +0000 (14:02 -0400)]
reiserfs: factor out buffer_info initialization

This is the first in a series of patches to make balance_leaf() not
quite so insane.

This patch factors out the open coded initializations of buffer_info
structures and defines a few initializers for the 4 cases they're used.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: add atomic addition of selinux attributes during inode creation
Jeff Mahoney [Mon, 30 Mar 2009 18:02:41 +0000 (14:02 -0400)]
reiserfs: add atomic addition of selinux attributes during inode creation

Some time ago, some changes were made to make security inode attributes
be atomically written during inode creation.  ReiserFS fell behind in
this area, but with the reworking of the xattr code, it's now fairly
easy to add.

The following patch adds the ability for security attributes to be added
automatically during inode creation.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: use generic readdir for operations across all xattrs
Jeff Mahoney [Mon, 30 Mar 2009 18:02:40 +0000 (14:02 -0400)]
reiserfs: use generic readdir for operations across all xattrs

The current reiserfs xattr implementation open codes reiserfs_readdir
and frees the path before calling the filldir function.  Typically, the
filldir function is something that modifies the file system, such as a
chown or an inode deletion that also require reading of an inode
associated with each direntry.  Since the file system is modified, the
path retained becomes invalid for the next run.  In addition, it runs
backwards in attempt to minimize activity.

This is clearly suboptimal from a code cleanliness perspective as well
as performance-wise.

This patch implements a generic reiserfs_for_each_xattr that uses the
generic readdir and a specific filldir routine that simply populates an
array of dentries and then performs a specific operation on them.  When
all files have been operated on, it then calls the operation on the
directory itself.

The result is a noticable code reduction and better performance.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: journaled xattrs
Jeff Mahoney [Mon, 30 Mar 2009 18:02:39 +0000 (14:02 -0400)]
reiserfs: journaled xattrs

Deadlocks are possible in the xattr code between the journal lock and the
xattr sems.

This patch implements journalling for xattr operations. The benefit is
twofold:
 * It gets rid of the deadlock possibility by always ensuring that xattr
   write operations are initiated inside a transaction.
 * It corrects the problem where xattr backing files aren't considered any
   differently than normal files, despite the fact they are metadata.

I discussed the added journal load with Chris Mason, and we decided that
since xattrs (versus other journal activity) is fairly rare, the introduction
of larger transactions to support journaled xattrs wouldn't be too big a deal.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: use generic xattr handlers
Jeff Mahoney [Mon, 30 Mar 2009 18:02:38 +0000 (14:02 -0400)]
reiserfs: use generic xattr handlers

Christoph Hellwig had asked me quite some time ago to port the reiserfs
xattrs to the generic xattr interface.

This patch replaces the reiserfs-specific xattr handling code with the
generic struct xattr_handler.

However, since reiserfs doesn't split the prefix and name when accessing
xattrs, it can't leverage generic_{set,get,list,remove}xattr without
needlessly reconstructing the name on the back end.

Update 7/26/07: Added missing dput() to deletion path.
Update 8/30/07: Added missing mark_inode_dirty when i_mode is used to
                represent an ACL and no previous ACL existed.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: remove i_has_xattr_dir
Jeff Mahoney [Mon, 30 Mar 2009 18:02:37 +0000 (14:02 -0400)]
reiserfs: remove i_has_xattr_dir

With the changes to xattr root locking, the i_has_xattr_dir flag
is no longer needed. This patch removes it.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: make per-inode xattr locking more fine grained
Jeff Mahoney [Mon, 30 Mar 2009 18:02:36 +0000 (14:02 -0400)]
reiserfs: make per-inode xattr locking more fine grained

The per-inode locking can be made more fine-grained to surround just the
interaction with the filesystem itself.  This really only applies to
protecting reads during a write, since concurrent writes are barred with
inode->i_mutex at the vfs level.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: eliminate per-super xattr lock
Jeff Mahoney [Mon, 30 Mar 2009 18:02:35 +0000 (14:02 -0400)]
reiserfs: eliminate per-super xattr lock

With the switch to using inode->i_mutex locking during lookups/creation
in the xattr root, the per-super xattr lock is no longer needed.

This patch removes it.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: simplify xattr internal file lookups/opens
Jeff Mahoney [Mon, 30 Mar 2009 18:02:34 +0000 (14:02 -0400)]
reiserfs: simplify xattr internal file lookups/opens

The xattr file open/lookup code is needlessly complex.  We can use
vfs-level operations to perform the same work, and also simplify the
locking constraints.  The locking advantages will be exploited in future
patches.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: Clean up xattrs when REISERFS_FS_XATTR is unset
Jeff Mahoney [Mon, 30 Mar 2009 18:02:33 +0000 (14:02 -0400)]
reiserfs: Clean up xattrs when REISERFS_FS_XATTR is unset

The current reiserfs xattr implementation will not clean up old xattr
files if files are deleted when REISERFS_FS_XATTR is unset.  This
results in inaccessible lost files, wasting space.

This patch compiles in basic xattr knowledge, such as how to delete them
and change ownership for quota tracking.  If the file system has never
used xattrs, then the operation is quite fast: it returns immediately
when it sees there is no .reiserfs_priv directory.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: remove IS_PRIVATE helpers
Jeff Mahoney [Mon, 30 Mar 2009 18:02:32 +0000 (14:02 -0400)]
reiserfs: remove IS_PRIVATE helpers

There are a number of helper functions for marking a reiserfs inode
private that were leftover from reiserfs did its own thing wrt to
private inodes.  S_PRIVATE has been in the kernel for some time, so this
patch removes the helpers and uses IS_PRIVATE instead.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: remove link detection code
Jeff Mahoney [Mon, 30 Mar 2009 18:02:31 +0000 (14:02 -0400)]
reiserfs: remove link detection code

Early in the reiserfs xattr development, there was a plan to use
hardlinks to save disk space for identical xattrs.  That code never
materialized and isn't going to, so this patch removes the detection
code.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: xattr reiserfs_get_page takes offset instead of index
Jeff Mahoney [Mon, 30 Mar 2009 18:02:30 +0000 (14:02 -0400)]
reiserfs: xattr reiserfs_get_page takes offset instead of index

This patch changes reiserfs_get_page to take an offset rather than an
index since no callers calculate the index differently.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: small variable cleanup
Jeff Mahoney [Mon, 30 Mar 2009 18:02:29 +0000 (14:02 -0400)]
reiserfs: small variable cleanup

This patch removes the xinode and mapping variables from
reiserfs_xattr_{get,set}.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: use reiserfs_error()
Jeff Mahoney [Mon, 30 Mar 2009 18:02:28 +0000 (14:02 -0400)]
reiserfs: use reiserfs_error()

This patch makes many paths that are currently using warnings to handle
the error.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: introduce reiserfs_error()
Jeff Mahoney [Mon, 30 Mar 2009 18:02:27 +0000 (14:02 -0400)]
reiserfs: introduce reiserfs_error()

Although reiserfs can currently handle severe errors such as journal failure,
it cannot handle less severe errors like metadata i/o failure. The following
patch adds a reiserfs_error() function akin to the one in ext3.

Subsequent patches will use this new error handler to handle errors more
gracefully in general.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rearrange journal abort
Jeff Mahoney [Mon, 30 Mar 2009 18:02:26 +0000 (14:02 -0400)]
reiserfs: rearrange journal abort

This patch kills off reiserfs_journal_abort as it is never called, and
combines __reiserfs_journal_abort_{soft,hard} into one function called
reiserfs_abort_journal, which performs the same work. It is silent
as opposed to the old version, since the message was always issued
after a regular 'abort' message.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rework reiserfs_panic
Jeff Mahoney [Mon, 30 Mar 2009 18:02:25 +0000 (14:02 -0400)]
reiserfs: rework reiserfs_panic

ReiserFS panics can be somewhat inconsistent.
In some cases:
 * a unique identifier may be associated with it
 * the function name may be included
 * the device may be printed separately

This patch aims to make warnings more consistent. reiserfs_warning() prints
the device name, so printing it a second time is not required. The function
name for a warning is always helpful in debugging, so it is now automatically
inserted into the output. Hans has stated that every warning should have
a unique identifier. Some cases lack them, others really shouldn't have them.
reiserfs_warning() now expects an id associated with each message. In the
rare case where one isn't needed, "" will suffice.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: add locking around error buffer
Jeff Mahoney [Mon, 30 Mar 2009 18:02:24 +0000 (14:02 -0400)]
reiserfs: add locking around error buffer

The formatting of the error buffer is race prone. It uses static buffers
for both formatting and output. While overwriting the error buffer
can product garbled output, overwriting the format buffer with incompatible
% directives can cause crashes.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: eliminate reiserfs_warning from uniqueness functions
Jeff Mahoney [Mon, 30 Mar 2009 18:02:23 +0000 (14:02 -0400)]
reiserfs: eliminate reiserfs_warning from uniqueness functions

uniqueness2type and type2uniquness issue a warning when the value is
unknown. When called from reiserfs_warning, this causes a re-entrancy
problem and deadlocks on the error buffer lock.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: prepare_error_buf wrongly consumes va_arg
Jeff Mahoney [Mon, 30 Mar 2009 18:02:22 +0000 (14:02 -0400)]
reiserfs: prepare_error_buf wrongly consumes va_arg

vsprintf will consume varargs on its own. Skipping them manually
results in garbage in the error buffer, or Oopses in the case of
pointers.

This patch removes the advancement and fixes a number of bugs where
crashes were observed as side effects of a regular error report.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: rework reiserfs_warning
Jeff Mahoney [Mon, 30 Mar 2009 18:02:21 +0000 (14:02 -0400)]
reiserfs: rework reiserfs_warning

ReiserFS warnings can be somewhat inconsistent.
In some cases:
 * a unique identifier may be associated with it
 * the function name may be included
 * the device may be printed separately

This patch aims to make warnings more consistent. reiserfs_warning() prints
the device name, so printing it a second time is not required. The function
name for a warning is always helpful in debugging, so it is now automatically
inserted into the output. Hans has stated that every warning should have
a unique identifier. Some cases lack them, others really shouldn't have them.
reiserfs_warning() now expects an id associated with each message. In the
rare case where one isn't needed, "" will suffice.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: make some warnings informational
Jeff Mahoney [Mon, 30 Mar 2009 18:02:20 +0000 (14:02 -0400)]
reiserfs: make some warnings informational

In several places, reiserfs_warning is used when there is no warning, just
a notice. This patch changes some of them to indicate that the message
is merely informational.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: use more consistent printk formatting
Jeff Mahoney [Mon, 30 Mar 2009 18:02:19 +0000 (14:02 -0400)]
reiserfs: use more consistent printk formatting

The output format between a warning/error/panic/info/etc changes with
which one is used.

The following patch makes the messages more internally consistent, but also
more consistent with other Linux filesystems.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: use buffer_info for leaf_paste_entries
Jeff Mahoney [Mon, 30 Mar 2009 18:02:18 +0000 (14:02 -0400)]
reiserfs: use buffer_info for leaf_paste_entries

This patch makes leaf_paste_entries more consistent with respect to the
other leaf operations.  Using buffer_info instead of buffer_head
directly allows us to get a superblock pointer for use in error
handling.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: audit transaction ids to always be unsigned ints
Jeff Mahoney [Mon, 30 Mar 2009 18:02:17 +0000 (14:02 -0400)]
reiserfs: audit transaction ids to always be unsigned ints

This patch fixes up the reiserfs code such that transaction ids are
always unsigned ints.  In places they can currently be signed ints or
unsigned longs.

The former just causes an annoying clm-2200 warning and may join a
transaction when it should wait.

The latter is just for correctness since the disk format uses a 32-bit
transaction id.  There aren't any runtime problems that result from it
not wrapping at the correct location since the value is truncated
correctly even on big endian systems.  The 0 value might make it to
disk, but the mount-time checks will bump it to 10 itself.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: add support for mount count incrementing
Jeff Mahoney [Mon, 30 Mar 2009 18:02:16 +0000 (14:02 -0400)]
reiserfs: add support for mount count incrementing

The following patch adds the fields for tracking mount counts and last
fsck timestamps to the superblock.  It also increments the mount count
on every read-write mount.

Reiserfsprogs 3.6.21 added support for these fields.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'x86-stage-3-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 30 Mar 2009 18:38:31 +0000 (11:38 -0700)]
Merge branch 'x86-stage-3-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-stage-3-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (190 commits)
  Revert "cpuacct: reduce one NULL check in fast-path"
  Revert "x86: don't compile vsmp_64 for 32bit"
  x86: Correct behaviour of irq affinity
  x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe
  x86: use default_cpu_mask_to_apicid for 64bit
  x86: fix set_extra_move_desc calling
  x86, PAT, PCI: Change vma prot in pci_mmap to reflect inherited prot
  x86/dmi: fix dmi_alloc() section mismatches
  x86: e820 fix various signedness issues in setup.c and e820.c
  x86: apic/io_apic.c define msi_ir_chip and ir_ioapic_chip all the time
  x86: irq.c keep CONFIG_X86_LOCAL_APIC interrupts together
  x86: irq.c use same path for show_interrupts
  x86: cpu/cpu.h cleanup
  x86: Fix a couple of sparse warnings in arch/x86/kernel/apic/io_apic.c
  Revert "x86: create a non-zero sized bm_pte only when needed"
  x86: pci-nommu.c cleanup
  x86: io_delay.c cleanup
  x86: rtc.c cleanup
  x86: i8253 cleanup
  x86: kdebugfs.c cleanup
  ...

15 years agoMerge branch 'bkl-removal' of git://git.lwn.net/linux-2.6
Linus Torvalds [Mon, 30 Mar 2009 18:31:47 +0000 (11:31 -0700)]
Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6

* 'bkl-removal' of git://git.lwn.net/linux-2.6:
  Fix a lockdep warning in fasync_helper()
  Add a missing unlock_kernel() in raw_open()

15 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Mon, 30 Mar 2009 17:36:35 +0000 (10:36 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (21 commits)
  MIPS: Alchemy: PB1200: use SMC91X platform data.
  MIPS: Alchemy: MIPS hazard workarounds are not required.
  MIPS: Alchemy: provide cpu feature overrides.
  MIPS: Alchemy: unify CPU model constants.
  MIPS: Make a needlessly global symbol static in arch/mips/kernel/smp.c
  MIPS: Fix global namespace pollution in arch/mips/kernel/smp-up.c
  MIPS: Malta: make a needlessly global integer variable static
  MIPS: Use BUG_ON() where possible.
  MIPS: Convert obsolete irq_desc_t to struct irq_desc
  MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms
  MIPS: EMMA2RH: Set UART mapbase
  MIPS: EMMA2RH: Use set_irq_chip_and_handler_name
  MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts
  MIPS: Mark Eins: Fix cascading interrupt dispatcher
  MIPS: Au1000: convert to using gpiolib
  MIPS: Stop using <asm-generic/int-l64.h>.
  MIPS: Cavium: Add -Werror
  MIPS: Makefile: Add simple make install target.
  MIPS: Compat: Zero upper 32-bit of offset_high and offset_low.
  MIPS: __raw_spin_lock() may spin forever on ticket wrap.
  ...

15 years agoMerge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Mon, 30 Mar 2009 17:23:53 +0000 (10:23 -0700)]
Merge branch 'next' of git://git./linux/kernel/git/benh/powerpc

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (180 commits)
  powerpc: clean up ssi.txt, add definition for fsl,ssi-asynchronous
  powerpc/85xx: Add support for the "socrates" board (MPC8544).
  powerpc: Fix bugs introduced by sysfs changes
  powerpc: Sanitize stack pointer in signal handling code
  powerpc: Add write barrier before enabling DTL flags
  powerpc/83xx: Update ranges in gianfar node to match other dts
  powerpc/86xx: Move gianfar mdio nodes under the ethernet nodes
  powerpc/85xx: Move gianfar mdio nodes under the ethernet nodes
  powerpc/83xx: Move gianfar mdio nodes under the ethernet nodes
  powerpc/83xx: Add power management support for MPC837x boards
  powerpc/mm: Introduce early_init_mmu() on 64-bit
  powerpc/mm: Add option for non-atomic PTE updates to ppc64
  powerpc/mm: Fix printk type warning in mmu_context_nohash
  powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c
  powerpc/mm: Merge various PTE bits and accessors definitions
  powerpc/mm: Tweak PTE bit combination definitions
  powerpc/cell: Fix iommu exception reporting
  powerpc/mm: e300c2/c3/c4 TLB errata workaround
  powerpc/mm: Used free register to save a few cycles in SW TLB miss handling
  powerpc/mm: Remove unused register usage in SW TLB miss handling
  ...

15 years agox86: fix mismerge in arch/x86/include/asm/timer.h
Stephen Rothwell [Mon, 30 Mar 2009 00:10:27 +0000 (11:10 +1100)]
x86: fix mismerge in arch/x86/include/asm/timer.h

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Mon, 30 Mar 2009 17:09:14 +0000 (10:09 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (707 commits)
  V4L/DVB (11316): saa7191: tuner ops wasn't set.
  V4L/DVB (11315): cx25840: fix 'unused variable' warning.
  V4L/DVB (11314): au8522: remove unused I2C_DRIVERID
  V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals.
  V4L/DVB (11312): tuner: remove V4L1 code from this driver.
  V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers
  V4L/DVB (11310): cx18: remove intermediate 'ioctl' step
  V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step
  V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there
  V4L/DVB (11305): cx88: prevent probing rtc and ir devices
  V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed.
  V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API
  V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API
  V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API
  V4L/DVB (11300): cx88: convert to v4l2_subdev.
  V4L/DVB (11298): cx25840: remove legacy code for old-style i2c API
  V4L/DVB (11297): cx23885: convert to v4l2_subdev.
  V4L/DVB (11296): cx23885: bugfix error message if firmware is not found
  V4L/DVB (11295): cx23885: convert to v4l2_device.
  V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT
  ...

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
Linus Torvalds [Mon, 30 Mar 2009 17:08:10 +0000 (10:08 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/mszeredi/fuse

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
  fuse: fix fuse_file_lseek returning with lock held

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Mon, 30 Mar 2009 17:05:43 +0000 (10:05 -0700)]
Merge git://git./linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (70 commits)
  ide: keep track of number of bytes instead of sectors in struct ide_cmd
  ide: remove ide_execute_pkt_cmd() (v2)
  ide: add ->dma_timer_expiry method and remove ->dma_exec_cmd one (v2)
  ide: set hwif->expiry prior to calling [__]ide_set_handler()
  ide: use do_rw_taskfile() for ATA_CMD_PACKET commands
  ide: pass command to ide_map_sg()
  ide: remove ide_end_request()
  ide: use ide_end_rq() in ide_complete_rq()
  ide: pass number of bytes to complete to ide_complete_rq()
  ide: remove BUG() from ide_complete_rq()
  ide: move rq->errors quirk out from ide_end_request()
  ide: pass error value to ide_complete_rq()
  ide: sanitize ide_end_rq()
  ide: add ide_end_rq() (v2)
  ide: make ide_special_rq() BUG() on unknown requests
  ide: sanitize ide_finish_cmd()
  ide: use ide_complete_cmd() for REQ_UNPARK_HEADS
  ide: use ide_complete_cmd() for head unload commands
  ide: task_error() -> task_error_cmd()
  ide: unify exit paths in task_pio_intr()
  ...

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Mon, 30 Mar 2009 17:02:36 +0000 (10:02 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  jfs: needs crc32_le
  jfs: Fix error handling in metapage_writepage()
  jfs: return f_fsid for statfs(2)
  jfs: remove xtLookupList()
  jfs: clean up a dangling comment

15 years agoV4L/DVB (11316): saa7191: tuner ops wasn't set.
Hans Verkuil [Mon, 30 Mar 2009 11:03:02 +0000 (08:03 -0300)]
V4L/DVB (11316): saa7191: tuner ops wasn't set.

The tuner ops pointer wasn't set, so s_std never worked here.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11315): cx25840: fix 'unused variable' warning.
Hans Verkuil [Mon, 30 Mar 2009 10:16:08 +0000 (07:16 -0300)]
V4L/DVB (11315): cx25840: fix 'unused variable' warning.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11314): au8522: remove unused I2C_DRIVERID
Hans Verkuil [Mon, 30 Mar 2009 10:08:30 +0000 (07:08 -0300)]
V4L/DVB (11314): au8522: remove unused I2C_DRIVERID

I2C_DRIVERIDs are no longer needed with v4l2_subdev and will be removed
from the kernel soon.

Cc: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals.
Hans Verkuil [Sun, 29 Mar 2009 22:23:16 +0000 (19:23 -0300)]
V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals.

These callbacks are needed for omap.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11312): tuner: remove V4L1 code from this driver.
Hans Verkuil [Mon, 30 Mar 2009 10:04:07 +0000 (07:04 -0300)]
V4L/DVB (11312): tuner: remove V4L1 code from this driver.

No i2c modules are called with the V4L1 API anymore, so this can be removed.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers
Hans Verkuil [Mon, 30 Mar 2009 09:55:27 +0000 (06:55 -0300)]
V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers

Replace 'VIDIOC_' references in v4l i2c drivers by their new v4l2_subdev
callback names.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11310): cx18: remove intermediate 'ioctl' step
Hans Verkuil [Mon, 30 Mar 2009 09:43:13 +0000 (06:43 -0300)]
V4L/DVB (11310): cx18: remove intermediate 'ioctl' step

The audio and vbi parts still used an 'ioctl'-like interface. Replace this
with normal functions.

Cc: Andy Walls <awalls@radix.net>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step
Hans Verkuil [Mon, 30 Mar 2009 09:26:40 +0000 (06:26 -0300)]
V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step

The audio and vbi functions where still called through an ioctl-like
interface, even though this is no longer needed with v4l2-subdev. Just
change each 'case' into a proper function and call that directly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there
Mauro Carvalho Chehab [Mon, 30 Mar 2009 11:18:10 +0000 (08:18 -0300)]
V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11305): cx88: prevent probing rtc and ir devices
Hans Verkuil [Sun, 29 Mar 2009 20:47:30 +0000 (17:47 -0300)]
V4L/DVB (11305): cx88: prevent probing rtc and ir devices

tuner-core.c contains a hack for cx88 board to prevent probing of certain
addresses:

        /* HACK: Ignore 0x6b and 0x6f on cx88 boards.
         * FusionHDTV5 RT Gold has an ir receiver at 0x6b
         * and an RTC at 0x6f which can get corrupted if probed.
         */

With the new i2c API this hack no longer works. So instead change the
list of tuner probe addresses in the cx88 driver itself, which is much
more clean.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer...
Hans Verkuil [Sun, 29 Mar 2009 12:19:09 +0000 (09:19 -0300)]
V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed.

Several i2c drivers still used v4l2_subdev_command, even though they were
converted to v4l2_subdev. Remove those unused .command callbacks.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11303): tda7432: remove legacy code for old-style i2c API
Hans Verkuil [Sun, 29 Mar 2009 12:06:00 +0000 (09:06 -0300)]
V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API

tda7432 is no longer used with the old-style i2c API, so I can remove
the support for that.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11302): tda9875: remove legacy code for old-style i2c API
Hans Verkuil [Sun, 29 Mar 2009 12:04:29 +0000 (09:04 -0300)]
V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API

tda9875 is no longer used with the old-style i2c API, so I can remove
the support for that.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11301): wm8775: remove legacy code for old-style i2c API
Hans Verkuil [Sun, 29 Mar 2009 11:50:31 +0000 (08:50 -0300)]
V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API

All drivers that use wm8775 are now converted to v4l2_subdev, so I can remove
the support for the old-style i2c API.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11300): cx88: convert to v4l2_subdev.
Hans Verkuil [Sun, 29 Mar 2009 11:26:01 +0000 (08:26 -0300)]
V4L/DVB (11300): cx88: convert to v4l2_subdev.

Convert cx88 to use v4l2_subdev since the old i2c autoprobing mechanism
will be removed.

Added code to explicitly load tvaudio where needed. Also fix the rtc-isl1208
support: since that driver no longer supports autoprobing it has to be
loaded using the new i2c API.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11298): cx25840: remove legacy code for old-style i2c API
Hans Verkuil [Sun, 29 Mar 2009 11:55:46 +0000 (08:55 -0300)]
V4L/DVB (11298): cx25840: remove legacy code for old-style i2c API

All drivers that use cx25840 are now converted to v4l2_subdev, so I can remove
the support for the old-style i2c API.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11297): cx23885: convert to v4l2_subdev.
Hans Verkuil [Sun, 29 Mar 2009 09:53:29 +0000 (06:53 -0300)]
V4L/DVB (11297): cx23885: convert to v4l2_subdev.

Convert this driver to v4l2_subdev. Note that currently the only card with
analog support in this driver is the HVR-1800. The analog tuner support in
this driver is limited to what is needed for this board. When analog support
is added for other cards, then the tuner load code will probably have to be
expanded to take care of those boards. For example, there is currently no
support for either radio tuners or tda9887 demods.

I'd like to thank Steven Toth for testing this on his HVR-1800.

Tested-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11296): cx23885: bugfix error message if firmware is not found
Steven Toth [Sat, 28 Mar 2009 16:58:28 +0000 (13:58 -0300)]
V4L/DVB (11296): cx23885: bugfix error message if firmware is not found

If the firmware failed to be found the error message indicated
the incorrect filename.

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11295): cx23885: convert to v4l2_device.
Hans Verkuil [Fri, 13 Mar 2009 11:02:43 +0000 (08:02 -0300)]
V4L/DVB (11295): cx23885: convert to v4l2_device.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT
Márton Németh [Fri, 27 Mar 2009 14:13:57 +0000 (11:13 -0300)]
V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT

When enumerating formats with VIDIOC_ENUM_FMT the uvcvideo driver does not
fill the reserved fields of the struct v4l2_fmtdesc with zeros as required by
V4L2 API revision 0.24 [1]. Add the missing initializations.

The patch was tested with v4l-test 0.10 [2] with CNF7129 webcam found on EeePC
901.

References:
[1] V4L2 API specification, revision 0.24
    http://v4l2spec.bytesex.org/spec/r8367.htm

[2] v4l-test: Test environment for Video For Linux Two API
    http://v4l-test.sourceforge.net/

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11292): uvcvideo: Add support for Syntek cameras found in JAOtech Smart...
Laurent Pinchart [Fri, 27 Mar 2009 13:46:49 +0000 (10:46 -0300)]
V4L/DVB (11292): uvcvideo: Add support for Syntek cameras found in JAOtech Smart Terminals

Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11290): Add Elgato EyeTV DTT to dibcom driver
Klaus Flittner [Sun, 29 Mar 2009 12:12:06 +0000 (09:12 -0300)]
V4L/DVB (11290): Add Elgato EyeTV DTT to dibcom driver

This patch introduces support for DVB-T for the following dibcom based card:
  Elgato EyeTV DTT (USB-ID: 0fd9:0021)

Signed-off-by: Klaus Flittner <klaus@flittner.org>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11289): Patch for Yuan MC770 DVB-T (1164:0871)
Xoan Loureiro [Sun, 29 Mar 2009 11:43:36 +0000 (08:43 -0300)]
V4L/DVB (11289): Patch for Yuan MC770 DVB-T (1164:0871)

This patch adds support for the Yuan MC770 DVB-T (1164:0871).

Thanks to Xoan Loureiro.

Signed-off-by: Xoan Loureiro <x04n2.0@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11288): Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 2/2
Uwe Bugla [Sun, 29 Mar 2009 11:13:01 +0000 (08:13 -0300)]
V4L/DVB (11288): Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 2/2

This is the second part of the code cleanup changing the usb and pci-driver cores.

Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11287): Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 1/2
Uwe Bugla [Sun, 29 Mar 2009 10:46:58 +0000 (07:46 -0300)]
V4L/DVB (11287): Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 1/2

This patch cleans up the source code of the b2c2 flexcop-driver. It is the first of a total of two.

The code is now passing the checkpatch-script.

Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11285): Remove unecessary udelay
Patrick Boettcher [Sat, 28 Feb 2009 13:30:20 +0000 (10:30 -0300)]
V4L/DVB (11285): Remove unecessary udelay

When resetting the PID-filter block a safety msleep(1) was injected. Now that the function is called from interrupt context, it was replaced with a udelay. It seems that this delay is not necessary at all, let's remove it for now and test a while.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11284): Fix i2c code of flexcop-driver for rare revisions
Patrick Boettcher [Sat, 28 Feb 2009 13:19:30 +0000 (10:19 -0300)]
V4L/DVB (11284): Fix i2c code of flexcop-driver for rare revisions

This patch adds a workaround in the i2c-code of the flexcop-driver to
fix support for SkyStar2 rev 2.7. There are not many devices out
there, that's why this bug was not revealed earlier.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11283): saa6588: remove legacy code.
Hans Verkuil [Sun, 29 Mar 2009 09:29:30 +0000 (06:29 -0300)]
V4L/DVB (11283): saa6588: remove legacy code.

saa6588 is now only used through v4l2_subdev, so we can remove the old legacy
code.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11282): saa7134: add RDS support.
Hans Verkuil [Sun, 29 Mar 2009 09:26:27 +0000 (06:26 -0300)]
V4L/DVB (11282): saa7134: add RDS support.

The Terratec Cinergy 600 TV MK3 supports the RDS decoder saa6588.
Add support to saa7134 for such devices.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11281): bttv: move saa6588 config to the helper chip config
Hans Verkuil [Sun, 29 Mar 2009 09:17:31 +0000 (06:17 -0300)]
V4L/DVB (11281): bttv: move saa6588 config to the helper chip config

saa6588 can also be used by other drivers than just bttv. Move it to a
new RDS decoders category and add it as helper chip to bttv.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11279): bttv: tda9875 is no longer used by bttv, so remove from bt8xx/Kconfig.
Hans Verkuil [Sat, 28 Mar 2009 11:55:11 +0000 (08:55 -0300)]
V4L/DVB (11279): bttv: tda9875 is no longer used by bttv, so remove from bt8xx/Kconfig.

Since tda9875 support was merged into tvaudio the bttv driver no
longer needs tda9875 as helper driver.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11278): bttv: convert to v4l2_subdev since i2c autoprobing will disappear.
Hans Verkuil [Sat, 28 Mar 2009 11:29:00 +0000 (08:29 -0300)]
V4L/DVB (11278): bttv: convert to v4l2_subdev since i2c autoprobing will disappear.

Since i2c autoprobing will disappear bttv needs to be converted to use
v4l2_subdev instead.

Without autoprobing the autoload module option has become obsolete. A warning
is generated if it is set, but it is otherwise ignored.

Since the bttv card definitions are of questionable value a new option was
introduced to allow the user to control which audio module is selected:
msp3400, tda7432 or tvaudio (or none at all).

By default bttv will use the card definitions and fallback on tvaudio as the
last resort.

If no audio device was found a warning is printed.

The saa6588 RDS device is now also explicitly probed since it is no longer
possible to autoprobe it. A new saa6588 module option was added to override
the card definition since I suspect more cards have this device than one
would guess from the card definitions.

Note that the probe addresses of the i2c modules are hardcoded in this
driver. Once all v4l drivers are converted to v4l2_subdev this will be
cleaned up. Such data belongs in an i2c driver header.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11277): tvaudio: always call init_timer to prevent rmmod crash.
Hans Verkuil [Thu, 19 Mar 2009 19:53:32 +0000 (16:53 -0300)]
V4L/DVB (11277): tvaudio: always call init_timer to prevent rmmod crash.

In the tvaudio_remove function del_timer_sync(&chip->wt) is called.
However, chip->wt isn't always initialized depending on the type of
audio chip. Since del_timer_sync hangs when given an uninitialized timer
we should always initialize it.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11276): tvaudio: add tda9875 support.
Hans Verkuil [Wed, 18 Mar 2009 17:02:36 +0000 (14:02 -0300)]
V4L/DVB (11276): tvaudio: add tda9875 support.

This change allows bttv to use tvaudio for this device. Since this device
has the same i2c address as the tda9874 we need to support both in the same
tvaudio driver. This makes it possible for tvaudio to detect which chip is
used. Originally the tda9875 was only available in the dedicated tda9875
driver, but that makes life very hard for bttv since loading tvaudio might
misdetect a tda9875 as a tda9874.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11275): tvaudio: fix mute and s/g_tuner handling
Hans Verkuil [Wed, 18 Mar 2009 16:59:34 +0000 (13:59 -0300)]
V4L/DVB (11275): tvaudio: fix mute and s/g_tuner handling

The mute control depends on CHIP_HAS_INPUTSEL, so test for that first.

The s/g_tuner code should check whether getmode/setmode is set at the
beginning instead of filling in the struct and discovering at
the end that this chip doesn't implement audiomodes after all (i.e. is
a simple muxer chip).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11272): zr364xx: Remove code for things already done by video_ioctl2
Trent Piepho [Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)]
V4L/DVB (11272): zr364xx: Remove code for things already done by video_ioctl2

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.  Checking the
buffer type can be removed from zr364xx_vidioc_(s|g|try|enum)_fmt_vid_cap().

The v4l2 core code in v4l2_ioctl will zero out the structure the driver is
supposed to fill in for read-only ioctls.  For read/write ioctls, all the
fields which aren't supplied from userspace will be zeroed out.

Zeroing code can be removed from zr364xx_vidioc_querycap(),
zr364xx_vidioc_enum_input(), zr364xx_vidioc_enum_fmt_vid_cap(), and
zr364xx_vidioc_g_fmt_vid_cap().

Cc: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11271): usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbuf
Trent Piepho [Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)]
V4L/DVB (11271): usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbuf

The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)buf() and vidioc_reqbufs().

Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be
removed from vidioc_reqbufs(), vidioc_qbuf(), and vidioc_dqbuf().

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.  So setting the
buffer type in vidioc_enum_fmt_vid_cap() can be removed.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11270): meye: Remove buffer type checks from XXX_fmt_vid_cap, XXXbuf
Trent Piepho [Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)]
V4L/DVB (11270): meye: Remove buffer type checks from XXX_fmt_vid_cap, XXXbuf

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.

The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)bufs() and vidioc_reqbufs().

Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be
removed from vidioc_reqbufs(), vidioc_querybuf(), vidioc_qbuf(), and
vidioc_dqbuf().  Also, the buffer index is unsigned so it's not necessary
to check if it is less than zero.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11269): cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_cap
Trent Piepho [Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)]
V4L/DVB (11269): cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_cap

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the 'type'
field since it must already be set to VIDEO_CAPTURE.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11268): cx23885-417: Don't need to zero ioctl parameter fields
Trent Piepho [Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)]
V4L/DVB (11268): cx23885-417: Don't need to zero ioctl parameter fields

The v4l2 core code in v4l2_ioctl will zero out the structure the driver is
supposed to fill in for read-only ioctls.  For read/write ioctls, all the
fields which aren't supplied from userspace will be zeroed out.

Zeroing code is removed from enum_input, g_tuner, g_frequency, querycap,
enum_fmt_vid_cap, g_fmt_vid_cap, and try_fmt_vid_cap.

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.

There also appeared to be a copy and paste error in
vidioc_try_fmt_vid_cap() that would set f->fmt.pix.sizeimage to zero.

Note that the s_fmt_vid_cap method doesn't appear to actually do anything.
Whatever parameters were requested are just silently ignored.  Was this
intentional?  Who knows, as the commit log entry for the driver just says,
"Add generic cx23417 hardware encoder support." There are no docs.  A
comment like "this driver totally ignores the v4l2 spec w.r.t.
VIDIOC_S_FMT because ..." would have gone a long way.

Cc: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11267): cafe_ccic: Remove buffer type check from XXXbuf
Trent Piepho [Sun, 29 Mar 2009 01:25:36 +0000 (22:25 -0300)]
V4L/DVB (11267): cafe_ccic: Remove buffer type check from XXXbuf

The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)bufs() and vidioc_reqbufs().

This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with cafe_vidioc_reqbufs(),
cafe_vidioc_querybuf(), cafe_vidioc_qbuf(), and cafe_vidioc_dqbuf().

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.  So the
check in cafe_vidioc_enum_fmt_vid_cap() can be removed.

The 'index' field of v4l2_buffer is unsigned so the checks for it being
less than zero can be removed too.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>