GitHub/LineageOS/android_kernel_samsung_universal7580.git
15 years agoMerge branch 'for-linus' of git://www.jni.nu/cris
Linus Torvalds [Tue, 23 Jun 2009 17:47:01 +0000 (10:47 -0700)]
Merge branch 'for-linus' of git://www.jni.nu/cris

* 'for-linus' of git://www.jni.nu/cris:
  CRISv10: remove redundant tests on unsigned
  CRISv32: irq.c - Move end brace outside #endif
  CRISv32: Fix potential null reference in cryptocop driver.
  CRISv32: Add arch optimized strcmp.
  CRIS: assignment/is equal confusion

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Tue, 23 Jun 2009 17:45:39 +0000 (10:45 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: hda - Make jack-plug notification selectable
  ALSA: ctxfi - Add PM support
  sound: seq_midi_event: fix decoding of (N)RPN events
  ALSA: hda - Add digital-mic support to ALC262 auto model
  ALSA: hda - Fix check of input source type for realtek codecs
  ALSA: hda - Add quirk for Sony VAIO Z21MN
  ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model
  ALSA: hda - Fix unsigned comparison in patch_sigmatel.c
  ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait
  sound: fix check for return value in snd_pcm_hw_refine
  ALSA: ctxfi - Allow unknown PCI SSIDs
  ASoC: Blackfin: update the bf5xx_i2s_resume parameters
  ASoC: Blackfin: keep better track of SPORT configuration state

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Tue, 23 Jun 2009 17:41:17 +0000 (10:41 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] wdt_pci.c: remove #ifdef CONFIG_WDT_501_PCI
  [WATCHDOG] hpwdt: Add NMI priority option
  [WATCHDOG] OMAP fixes: enable clock in probe, trigger timer reload
  [WATCHDOG] add bcm47xx watchdog driver
  [WATCHDOG] Freescale STMP: watchdog driver
  [WATCHDOG] twl4030 watchdog driver
  [WATCHDOG] U300 COH 901 327 watchdog driver
  [WATCHDOG] Add pnx833x_wdt

15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Tue, 23 Jun 2009 17:40:19 +0000 (10:40 -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: (62 commits)
  V4L/DVB (12131): BUGFIX: An incorrect Carrier Recovery Loop optimization table was being
  V4L/DVB (12130): Fix a redundant compiler warning
  V4L/DVB (12003): v4l2: Move bounding code outside I2C ifdef block
  V4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything
  V4L/DVB (11912): em28xx: Use v4l bounding/alignment function
  V4L/DVB (11911): cx231xx: Use v4l bounding/alignment function
  V4L/DVB (11910): mt9: Use v4l bounding/alignment function
  V4L/DVB (11909): cx23885: Use v4l bounding/alignment function
  V4L/DVB (11908): w8968cf: Use v4l bounding/alignment function
  V4L/DVB (11907): cx88: Use v4l bounding/alignment function
  V4L/DVB (11906): saa7134: Use v4l bounding/alignment function
  V4L/DVB (11905): vivi: Use v4l bounding/alignment function
  V4L/DVB (11904): zoran: Use v4l bounding/alignment functiob
  V4L/DVB (11903): sh_mobile_ceu_camera: Use v4l bounding/alignment function
  V4L/DVB (11902): pxa-camera: Use v4l bounding/alignment function
  V4L/DVB (11901): v4l2: Create helper function for bounding and aligning images
  V4L/DVB (12128): v4l2: update framework documentation.
  V4L/DVB (12125): v4l2: add new s_config subdev ops and v4l2_i2c_new_subdev_cfg/board calls
  V4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes
  V4L/DVB (12121): pvrusb2: Improve handling of routing schemes
  ...

15 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 23 Jun 2009 17:39:36 +0000 (10:39 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: don't set IORDY for reset
  sata_fsl: Add power mgmt support
  [libata] PATA driver for CF interface on AT91SAM9260 SoC
  [libata] beautify module parameters

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6
Linus Torvalds [Tue, 23 Jun 2009 17:39:00 +0000 (10:39 -0700)]
Merge git://git./linux/kernel/git/davem/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
  ide cmd64x: Remove serialize setting.
  ide: Take over as maintainer.

15 years agomm: fix incorrect page removal from LRU
KAMEZAWA Hiroyuki [Mon, 22 Jun 2009 23:57:55 +0000 (08:57 +0900)]
mm: fix incorrect page removal from LRU

The isolated page is "cursor_page" not "page".

This could cause LRU list corruption under memory pressure, caught by
CONFIG_DEBUG_LIST.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reviewed-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Tested-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoCRISv10: remove redundant tests on unsigned
Roel Kluin [Tue, 23 Jun 2009 08:04:14 +0000 (10:04 +0200)]
CRISv10: remove redundant tests on unsigned

Since dmanr is unsigned, negatives are wrapped and caught by the other test.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
15 years ago[WATCHDOG] wdt_pci.c: remove #ifdef CONFIG_WDT_501_PCI
Wim Van Sebroeck [Fri, 19 Jun 2009 09:32:57 +0000 (09:32 +0000)]
[WATCHDOG] wdt_pci.c: remove #ifdef CONFIG_WDT_501_PCI

Change the wdt_pci.c watchdog driver so that the code is the same for
both the PCI-WDT500 as the PCI-WDT501 card. The selection of the card
is now being done via the module parameter: 'type' instead of the
config option CONFIG_WDT_501_PCI.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
15 years ago[WATCHDOG] hpwdt: Add NMI priority option
Tom Mingarelli [Thu, 18 Jun 2009 23:28:57 +0000 (23:28 +0000)]
[WATCHDOG] hpwdt: Add NMI priority option

Add a priority option so that the user can choose if we do the NMI
first or last.

Signed-off-by: Thomas Mingarelli <thomas.mingarelli@hp.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
15 years ago[WATCHDOG] OMAP fixes: enable clock in probe, trigger timer reload
Ulrik Bech Hald [Fri, 12 Jun 2009 21:18:32 +0000 (16:18 -0500)]
[WATCHDOG] OMAP fixes: enable clock in probe, trigger timer reload

This patch contains two fixes:

1)In omap_wdt_probe() the watchdog is reset and disabled. This
requires register access and the clks needs to be enabled temporarily

2)In omap_wdt_open() the timer register needs to be reloaded
to trigger a new timer value (the default of 60s)

Tested on OMAP34xx platform (Zoom1)

Reviewed-by: Kevin Hilman <khilman@ti.deeprootsystems.com>
Signed-off-by: Ulrik Bech Hald <ubh@ti.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
15 years agoV4L/DVB (12131): BUGFIX: An incorrect Carrier Recovery Loop optimization table was...
Manu Abraham [Thu, 18 Jun 2009 07:50:53 +0000 (04:50 -0300)]
V4L/DVB (12131): BUGFIX: An incorrect Carrier Recovery Loop optimization table was being

loaded for a given chip version. This would cause the optimization in
tuning not to be applied and thus a failed expectation, in tuning speed
increment. The patch swaps the tables in use. It also fixes a possible
one in a million condition where state->dev_ver implies an older Cut
(Cut < 2.0, eventhough the driver doesn't attach to any Cut older than
2.0) or even negative (due to a bad I2C bus master driver) for the card
combination.

Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing
out the issue at large.

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12130): Fix a redundant compiler warning
Manu Abraham [Wed, 17 Jun 2009 19:48:17 +0000 (16:48 -0300)]
V4L/DVB (12130): Fix a redundant compiler warning

drivers/media/dvb/frontends/stv090x.c: In function ‘stv090x_optimize_carloop_short’:
drivers/media/dvb/frontends/stv090x.c:2677: warning: ‘short_crl’ may be used uninitialized in this function

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12003): v4l2: Move bounding code outside I2C ifdef block
Trent Piepho [Fri, 12 Jun 2009 19:31:29 +0000 (16:31 -0300)]
V4L/DVB (12003): v4l2: Move bounding code outside I2C ifdef block

On Fri, 12 Jun 2009, Randy Dunlap wrote:
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> Move v4l_bound_align_image() outside of an #ifdef CONFIG_I2C block
> so that it is always built.  Fixes a build error:

clamp_align() should be moved as well, since it's only used by
v4l_bound_align_image().  I'm attaching an alternate version that fixes
this.  Labeled the endif too.

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything

In the TRY_FMT handler the function get_scale() is called to find what the
scaler hardware will produce for a requested size.

The problem is that get_scale(struct cx231xx *dev, ..., unsigned int *vscale,
unsigned int *hscale) saves the calculated scale values into both the
pointer arguments and into dev's hscale and vscale fields.  TRY_FMT shouldn't
actually change anything in the device state.

The code to in get_scale() that writes to dev->[hv]scale can just be
deleted.  In all cases when dev's fields should be modified, get_scale()
was called with get_scale(dev, ..., &dev->hscale, &dev->vscale), so dev was
getting updated anyway.

This didn't actually cause a problem because nothing ever actually made use
of the hscale and vscale fields.  I changed cx231xx_resolution_set() to use
those fields rather than re-calculate them with a call to get_scale().

Updating [hv]scale in cx231xx_resolution_set() isn't necessary because
every call of cx231xx_resolution_set() was already preceded by a call to
get_scale() or setting the [hv]scale fields, so they will be always be
up-to-date w.r.t. width and height.

Removing the call to get_scale() from cx231xx_resolution_set() allowed
making get_scale() a static function, which is a good thing for something
with such a short name.  There is already another function with the same
name in the em28xx driver, but that one is static.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11912): em28xx: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11912): em28xx: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

It appears that the em2800 can only scale by 50% or 100%, i.e. the only
heights supported might be 240 and 480.  In that case the old code would
set any height other than 240 to 480.  Request 240 get 240, but request 239
and then you get 480.  Change it to round to the nearest supported value.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11911): cx231xx: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11911): cx231xx: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Cc: Srinivasa Deevi <srinivasa.deevi@conexant.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11910): mt9: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11910): mt9: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11909): cx23885: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11909): cx23885: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11908): w8968cf: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11908): w8968cf: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

The existing code was casting pointers to u32 and to unsigned int into
pointers to u16.  This could mess up if someone passed in an image size
greater than 65,535 and on big-endian platforms it won't work at all.

The existing bounding code would shrink an image if it was too big, but
returned ERANGE if it was too small.  The code will not shrink or expand as
necessary.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11907): cx88: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11907): cx88: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11906): saa7134: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11906): saa7134: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11905): vivi: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11905): vivi: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11904): zoran: Use v4l bounding/alignment functiob
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11904): zoran: Use v4l bounding/alignment functiob

The v4l function has a better algorithm for aligning image size.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11903): sh_mobile_ceu_camera: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11903): sh_mobile_ceu_camera: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11902): pxa-camera: Use v4l bounding/alignment function
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11902): pxa-camera: Use v4l bounding/alignment function

The v4l function has a better algorithm for aligning image size.

For instance the old code would change 159x243 into 156x240 to meet the
alignment requirements.  The new function will use 160x243, which is a lot
closer to what was asked for originally.

Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11901): v4l2: Create helper function for bounding and aligning images
Trent Piepho [Sun, 31 May 2009 00:45:46 +0000 (21:45 -0300)]
V4L/DVB (11901): v4l2: Create helper function for bounding and aligning images

Most hardware has limits on minimum and maximum image dimensions and also
requirements about alignment.  For example, image width must be even or a
multiple of four.  Some hardware has requirements that the total image size
(width * height) be a multiple of some power of two.

v4l_bound_align_image() will enforce min and max width and height, power of
two alignment on width and height, and power of two alignment on total
image size.

It uses an efficient algorithm that will try to find the "closest" image
size that meets the requirements.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12128): v4l2: update framework documentation.
Hans Verkuil [Tue, 9 Jun 2009 20:29:29 +0000 (17:29 -0300)]
V4L/DVB (12128): v4l2: update framework documentation.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12125): v4l2: add new s_config subdev ops and v4l2_i2c_new_subdev_cfg/board...
Hans Verkuil [Tue, 9 Jun 2009 20:12:33 +0000 (17:12 -0300)]
V4L/DVB (12125): v4l2: add new s_config subdev ops and v4l2_i2c_new_subdev_cfg/board calls

Add a new s_config core ops call: this is called with the irq and platform
data to be used to initialize the subdev.

Added new v4l2_i2c_new_subdev_cfg and v4l2_i2c_new_subdev_board calls
that allows you to pass these new arguments.

The existing v4l2_i2c_new_subdev functions were modified to also call
s_config.

In the future the existing v4l2_i2c_new_subdev functions will be replaced
by a single v4l2_i2c_new_subdev function similar to v4l2_i2c_new_subdev_cfg
but without the irq and platform_data arguments.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes
Mike Isely [Sat, 20 Jun 2009 17:57:24 +0000 (14:57 -0300)]
V4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes

This change does not change any outward behavior; it merely chops down
some large if-conditions with embedded assignments into something a
little more maintainable for others (I of course never had a problem
with this...).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12121): pvrusb2: Improve handling of routing schemes
Mike Isely [Sat, 20 Jun 2009 17:55:31 +0000 (14:55 -0300)]
V4L/DVB (12121): pvrusb2: Improve handling of routing schemes

The pvrusb2 driver has a concept of "routing scheme" which defines
which physical inputs should be connected based on application's
choice of logical input.  The correct "routing scheme" depends on the
specific device since different devices might wire up their muxes

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12120): pvrusb2: Change initial default frequency setting
Mike Isely [Sat, 20 Jun 2009 17:51:29 +0000 (14:51 -0300)]
V4L/DVB (12120): pvrusb2: Change initial default frequency setting

Change default frequency to be US Broadcast channel 3 - with the
transition to d igital the previous value has now become useless.
This change is PURELY to help with my testing (I need to set some kind
of default so it might as well be some thing usable).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12119): pvrusb2: Re-fix hardware scaling on video standard change
Mike Isely [Sat, 20 Jun 2009 17:50:14 +0000 (14:50 -0300)]
V4L/DVB (12119): pvrusb2: Re-fix hardware scaling on video standard change

The cx25840 module's VBI initialization logic uses the current video
standard as part of its internal algorithm.  This therefore means that
we probably need to make sure that the correct video standard has been
set before initializing VBI.  (Normally we would not care about VBI,
but as described in an earlier changeset, VBI must be initialized
correctly on the cx25840 in order for the chip's hardware scaler to
operate correctly.)

It's kind of messy to force the video standard to be set before
initializing VBI (mainly because we can't know what the app really
wants that early in the initialization process).  So this patch does
the next best thing: VBI is re-initialized after any point where the
video standard has been set.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12118): pvrusb2: Fix hardware scaling when used with cx25840
Mike Isely [Sat, 20 Jun 2009 17:45:52 +0000 (14:45 -0300)]
V4L/DVB (12118): pvrusb2: Fix hardware scaling when used with cx25840

The cx25840 module requires that its VBI initialization entry point be
called in order for hardware-scaled video capture to work properly -
even if we don't care about VBI.  Making this behavior even more
subtle is that if the capture resolution is set to 720x480 - which is
the default that the pvrusb2 driver sets up - then the cx25840
bypasses the hardware scaler.  Therefore this problem does not
manifest itself until some other resolution, e.g. 640x480, is tried.
MythTV typically defaults to 640x480 or 480x480, which means that
things break whenever the driver is used with MythTV.

This all has been known for a while (since at least Nov 2006), but
recent changes in the pvrusb2 driver (specifically in regards to
sub-device support) caused this to break again.  VBI initialization
must happen *after* the chip's firmware is loaded, not before.  With
this fix, 24xxx devices work correctly again.

A related fix that is part of this changeset is that now we
re-initialize VBI any time after we issue a reset to the cx25840
driver.  Issuing a chip reset erases the state that the VBI setup
previously did.  Until the HVR-1950 came along this subtlety went
unnoticed, because the pvrusb2 driver previously never issued such a
reset.  But with the HVR-1950 we have to do that reset in order to
correctly transition from digital back to analog mode - and since the
HVR-1950 always starts in digital mode (required for the DVB side to
initialize correctly) then this device has never had a chance to work
correctly in analog mode!  Analog capture on the HVR-1950 has been
broken this *ENTIRE* time.  I had missed it until now because I've
usually been testing at the default 720x480 resolution which does not
require scaling...  What fun.  By re-initializing VBI after a cx25840
chip reset, correct behavior is restored.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12116): cx23885: ensure correct IF freq is used on HVR1200 & HVR1700
Michael Krufky [Thu, 21 May 2009 15:49:28 +0000 (12:49 -0300)]
V4L/DVB (12116): cx23885: ensure correct IF freq is used on HVR1200 & HVR1700

Ensure that we're programming the tda18271 tuner with the correct
IF frequencies to match the programming of the TDA10048 DVB-T demod
for the HVR1200 and HVR1700 products.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12115): tda10048: add missing entry to pll_tab for 3.8 MHz IF
Michael Krufky [Fri, 19 Jun 2009 19:21:37 +0000 (16:21 -0300)]
V4L/DVB (12115): tda10048: add missing entry to pll_tab for 3.8 MHz IF

Thanks for Terry Wu for pointing out the missing entry.

Cc: Terry Wu <terrywu2009@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12112): cx231xx: fix uninitialized variable.
Hans Verkuil [Sat, 20 Jun 2009 12:21:37 +0000 (09:21 -0300)]
V4L/DVB (12112): cx231xx: fix uninitialized variable.

The variable 'rc' could be used uninitialized in the cx231xx_capture_start
function. Sri informed me that it should be initialized to -1.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12111): tcm825x: remove incorrect __exit_p wrapper
Hans Verkuil [Sat, 20 Jun 2009 12:18:34 +0000 (09:18 -0300)]
V4L/DVB (12111): tcm825x: remove incorrect __exit_p wrapper

tcm825x_remove is not necessarily called on module exit, it can also be
called when the i2c_adapter is removed. While the i2c adapter might never
be removed on an embedded system, in practice this sensor driver can also
be used in e.g. a USB webcam where this is a perfectly acceptable thing
to do.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12109): radio-tea5764: fix incorrect rxsubchans value
Hans Verkuil [Sat, 20 Jun 2009 09:29:12 +0000 (06:29 -0300)]
V4L/DVB (12109): radio-tea5764: fix incorrect rxsubchans value

rxsubchans was only set when stereo was detected, otherwise it was
left to 0 instead of setting it to mono.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12108): v4l2-i2c-drv.h: add comment describing when not to use this header.
Hans Verkuil [Sun, 14 Jun 2009 10:12:11 +0000 (07:12 -0300)]
V4L/DVB (12108): v4l2-i2c-drv.h: add comment describing when not to use this header.

Make it very clear that this header should not be used for i2c drivers that
do not need to be compiled for pre-2.6.26 kernels.

As soon as the minimum supported kernel in the v4l-dvb repository becomes
2.6.26 or up, then this header should be removed entirely.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12107): smscoreapi: fix compile warning
Hans Verkuil [Sun, 14 Jun 2009 09:47:35 +0000 (06:47 -0300)]
V4L/DVB (12107): smscoreapi: fix compile warning

gcc 4.3.1 generates this warning:

v4l/smscoreapi.c: In function 'smscore_gpio_configure':
v4l/smscoreapi.c:1481: warning: 'GroupNum' may be used uninitialized in this function
v4l/smscoreapi.c:1480: warning: 'TranslatedPinNum' may be used uninitialized in this function

While in practice this will not happen, it is something that the compiler
can't determine. Initializing these two local variables to 0 suppresses
this warning.

Cc: Udi Atar <udi.linuxtv@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12104): ivtv/cx18: fix regression: class controls are no longer seen
Hans Verkuil [Sun, 14 Jun 2009 08:20:21 +0000 (05:20 -0300)]
V4L/DVB (12104): ivtv/cx18: fix regression: class controls are no longer seen

A previous change (v4l2-common: remove v4l2_ctrl_query_fill_std) broke
the handling of class controls in VIDIOC_QUERYCTRL. The MPEG class control
was broken for all drivers that use the cx2341x module and the USER class
control was broken for ivtv and cx18.

This change adds back proper class control support.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube
Devin Heitmueller [Sun, 21 Jun 2009 00:34:42 +0000 (21:34 -0300)]
V4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube

Add an IR profile for the EVGA inDtube remote control (which is an NEC type
remote)

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12101): em28xx: add support for EVGA inDtube
Devin Heitmueller [Fri, 19 Jun 2009 03:33:54 +0000 (00:33 -0300)]
V4L/DVB (12101): em28xx: add support for EVGA inDtube

Add support for the EVGA inDtube.  Both ATSC and analog side validated as
fully functional.

Thanks to Jake Crimmins from EVGA for providing the correct GPIO info.
Thanks to Alan Hagge for doing all the device testing.
Thanks to Greg Williamson for providing hardware for testing.

Cc: Jake Crimmins <jcrimmins@evga.com>
Cc: Alan Hagge <ahagge@gmail.com>
Cc: Greg Williamson <cheeseboy16@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12100): em28xx: make sure the analog GPIOs are set if we used a card hint
Devin Heitmueller [Fri, 19 Jun 2009 03:20:28 +0000 (00:20 -0300)]
V4L/DVB (12100): em28xx: make sure the analog GPIOs are set if we used a card hint

In cases where the board had a default USB ID, we would not indentify the
board until after the call to em28xx_set_mode().  As a result, for those
boards the analog GPIOs were not being set before probing the i2c bus for
devices (the probe would occur with the GPIOs being all high).

Make a call to em28xx_set_mode() so that the GPIOs are set properly before
probing the i2c bus for devices.

This problem was detected with the EVGA inDtube, where the tvp5150 is not
powered on unless GPIO1 is pulled low.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12098): Create table for customize stv0900 ts registers.
Igor M. Liplianin [Fri, 19 Jun 2009 08:45:23 +0000 (05:45 -0300)]
V4L/DVB (12098): Create table for customize stv0900 ts registers.

Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12097): Implement reading uncorrected blocks for stv0900
Abylay Ospan [Mon, 8 Jun 2009 07:31:26 +0000 (04:31 -0300)]
V4L/DVB (12097): Implement reading uncorrected blocks for stv0900

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12096): Bug fix: stv0900 register read must using i2c in one transaction
Abylay Ospan [Sun, 14 Jun 2009 17:10:05 +0000 (14:10 -0300)]
V4L/DVB (12096): Bug fix: stv0900 register read must using i2c in one transaction

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12095): Change lnbh24 configure bits for NetUP card.
Igor M. Liplianin [Sun, 14 Jun 2009 16:17:15 +0000 (13:17 -0300)]
V4L/DVB (12095): Change lnbh24 configure bits for NetUP card.

Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12093): gspca_sonixj: Name saturation control saturation, not color
Hans de Goede [Thu, 18 Jun 2009 17:31:36 +0000 (14:31 -0300)]
V4L/DVB (12093): gspca_sonixj: Name saturation control saturation, not color

Name saturation control saturation, not color and make the default
less saturated (the old default was overdoing it).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12092): gspca_sonixj + ov7630: invert vflip control instead of changing...
Hans de Goede [Thu, 18 Jun 2009 17:29:20 +0000 (14:29 -0300)]
V4L/DVB (12092): gspca_sonixj + ov7630: invert vflip control instead of changing default

gspca_sonixj + ov7630 had the default value for flip enabled, as otherwise
the picture is upside down. It is better to instead invert the meaning
of the control in the set function, and have the default be no vflip,
as one would expect vflip enabled to be upside down.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12091): gspca_sonixj: Add light frequency control
Hans de Goede [Thu, 18 Jun 2009 10:35:36 +0000 (07:35 -0300)]
V4L/DVB (12091): gspca_sonixj: Add light frequency control

gspca_sonixj: Add light frequency control

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12090): gspca_sonixj: enable autogain control for the ov7620
Hans de Goede [Thu, 18 Jun 2009 09:05:07 +0000 (06:05 -0300)]
V4L/DVB (12090): gspca_sonixj: enable autogain control for the ov7620

gspca_sonixj: enable autogain control for the ov7620, and not only
make it enable autogain but also auto exposure (and do the
same for the ov7648).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12089): gspca_sonixj: increase 640x480 frame-buffersize
Hans de Goede [Thu, 18 Jun 2009 09:03:20 +0000 (06:03 -0300)]
V4L/DVB (12089): gspca_sonixj: increase 640x480 frame-buffersize

gspca_sonixj: increase 640x480 frame-buffersize, as I was getting buffer
overflows during my testing of a "Premier" 0c45:613e cam

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12088): Mark the v4l1 uvcvideo quickcam messenger driver as deprecated
Hans de Goede [Thu, 18 Jun 2009 08:20:51 +0000 (05:20 -0300)]
V4L/DVB (12088): Mark the v4l1 uvcvideo quickcam messenger driver as deprecated

Mark the v4l1 uvcvideo quickcam messenger driver as deprecated, the one
cam it supports, is now also supported by the v4l2 gspca stv06xx driver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12087): gspca_sonixj: enable support for 0c45:613e camera
Hans de Goede [Thu, 18 Jun 2009 08:14:42 +0000 (05:14 -0300)]
V4L/DVB (12087): gspca_sonixj: enable support for 0c45:613e camera

gspca_sonixj: enable support for 0c45:613e camera, and slightly tweak
the ov7630 register init values for a much better picture.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12086): gspca_sonixj: Fix control index numbering
Hans de Goede [Thu, 18 Jun 2009 08:08:11 +0000 (05:08 -0300)]
V4L/DVB (12086): gspca_sonixj: Fix control index numbering

The control index defines for the gspca_sonixj driver were numbered
wrong, causing us to disable the wrong controls on various sensors

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12085): gspca_ov519: constify ov518 inititial register value tables
Hans de Goede [Thu, 18 Jun 2009 08:03:16 +0000 (05:03 -0300)]
V4L/DVB (12085): gspca_ov519: constify ov518 inititial register value tables

gspca_ov519: constify ov518 inititial register value tables

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12084): ov511: mark as deprecated
Hans de Goede [Wed, 17 Jun 2009 21:50:10 +0000 (18:50 -0300)]
V4L/DVB (12084): ov511: mark as deprecated

Mark the v4l1 ov511 as deprecated as we now have ov511 support in
the gspca ov519 driver. Note we should really also keep track of this
in Documentation/feature-removal-schedule.txt, but that is not
part of the v4l-dvb tree.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12083): ov511: remove ov518 usb id's from the driver
Hans de Goede [Wed, 17 Jun 2009 21:41:01 +0000 (18:41 -0300)]
V4L/DVB (12083): ov511: remove ov518 usb id's from the driver

ov511: remove ov518 usb id's from the driver, as they have not been working
ever since the decompression code got removed from the kernel, and they
are no supported by the gspca_ov519 module.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12082): gspca_stv06xx: Add support for st6422 bridge and sensor
Hans de Goede [Wed, 17 Jun 2009 21:37:57 +0000 (18:37 -0300)]
V4L/DVB (12082): gspca_stv06xx: Add support for st6422 bridge and sensor

Add support for st6422 bridge and sensor to the stv06xx gspca sub driver,
tested with:
Logitech QuickCam Messenger     046d:08f0       ST6422  integrated
Logitech QuickCam Mess. Plus    046d:08f6       ST6422  integrated

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12081): gspca_ov519: Cleanup some sensor special cases
Hans de Goede [Sun, 14 Jun 2009 22:15:07 +0000 (19:15 -0300)]
V4L/DVB (12081): gspca_ov519: Cleanup some sensor special cases

gspca_ov519: Cleanup some sensor special cases

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12080): gspca_ov519: Fix ov518+ with OV7620AE (Trust spacecam 320)
Hans de Goede [Sun, 14 Jun 2009 22:10:40 +0000 (19:10 -0300)]
V4L/DVB (12080): gspca_ov519: Fix ov518+ with OV7620AE (Trust spacecam 320)

gspca_ov519: Fix ov518+ with OV7620AE (Trust spacecam 320)

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12079): gspca_ov519: add support for the ov511 bridge
Hans de Goede [Sun, 14 Jun 2009 09:45:50 +0000 (06:45 -0300)]
V4L/DVB (12079): gspca_ov519: add support for the ov511 bridge

gspca_ov519: add support for the ov511 bridge

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12078): gspca_ov519: Better default contrast for ov6630
Hans de Goede [Sun, 14 Jun 2009 09:32:52 +0000 (06:32 -0300)]
V4L/DVB (12078): gspca_ov519: Better default contrast for ov6630

Hmm, another one with an extra if (life sucks) the
default contrast really is no good for the ov6630, it
isn't even high enough in full daylight, this gives
the ov6630 a different initial value for a better out
of the box experience.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12077): gspca_ov519: Fix 320x240 with ov7660 sensor
Hans de Goede [Sun, 14 Jun 2009 09:26:49 +0000 (06:26 -0300)]
V4L/DVB (12077): gspca_ov519: Fix 320x240 with ov7660 sensor

As reported on the ov51x-jpeg list, and as I can confirm with my own cam
the ov7670 in 320x240 has a number of broken columns of pixels
at the left of the picture. This was not present in the old
driver as it always used 640x480 and did software
downscaling (took me a while to figure that one out).
The fix adds a sensor specific if in so far sensor
neutral code :( But this is the only way to fix this,
this cannot be fixed by only changing sensor registers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12076): gspca_ov519: Fix led inversion with some cams
Hans de Goede [Sun, 14 Jun 2009 09:25:06 +0000 (06:25 -0300)]
V4L/DVB (12076): gspca_ov519: Fix led inversion with some cams

My ov519 cam has it led inverted, the same has been
reported on the ov51x-jpeg list for another
creative cam. This patch fixes this without changing
the behaviour for other cams.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12075): gspca_ov519: check ov518 packet numbers
Hans de Goede [Sun, 14 Jun 2009 09:21:35 +0000 (06:21 -0300)]
V4L/DVB (12075): gspca_ov519: check ov518 packet numbers

Check ov518 packet numbers to detect dropped packets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12074): gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams
Hans de Goede [Sun, 14 Jun 2009 08:48:00 +0000 (05:48 -0300)]
V4L/DVB (12074): gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams

gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12073): gspca_ov519: limit ov6630 qvif uv swap fix to ov66308AF
Hans de Goede [Sun, 14 Jun 2009 08:28:17 +0000 (05:28 -0300)]
V4L/DVB (12073): gspca_ov519: limit ov6630 qvif uv swap fix to ov66308AF

The fix for the UV swapping in qcif mode with the ov6630, which I did
to fix this issue on a ov518 cam with an ov66308AF, causes UV swapping in
qcif with another cam of mine with the ov518 and an ov66308AE, so this
patch changes the code to differentiate between the ov66308AF and other
ov6630 versions, and restricts the UV swap fix to the ov66308AF.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12072): gspca-ov519: add extra controls
Hans de Goede [Sun, 14 Jun 2009 07:32:04 +0000 (04:32 -0300)]
V4L/DVB (12072): gspca-ov519: add extra controls

This patch adds autobrightness (so that it can
be turned off to make the already present brightness
control work) and light frequency filtering controls.

The lightfreq control needed 2 different entries
in the ctrls array, as the number of options differs
depending on the sensor. Always one of the 2 entires is
disabled ofcourse.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12071): gspca: fix NULL pointer deref in query_ctrl
Hans de Goede [Sat, 13 Jun 2009 21:56:22 +0000 (18:56 -0300)]
V4L/DVB (12071): gspca: fix NULL pointer deref in query_ctrl

gspca: fix NULL pointer deref in query_ctrl

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (12010): cx88: Properly support Leadtek TV2000 XP Global
Mauro Carvalho Chehab [Wed, 17 Jun 2009 02:55:44 +0000 (23:55 -0300)]
V4L/DVB (12010): cx88: Properly support Leadtek TV2000 XP Global

Fix Leadtek TV2000 XP Global entries and add missing PCI ID's.

Thanks to Terry Wu <terrywu2009@gmail.com> for pointing us for the proper settings.

Cc: Terry Wu <terrywu2009@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agolibata: don't set IORDY for reset
Tejun Heo [Thu, 11 Jun 2009 02:04:45 +0000 (11:04 +0900)]
libata: don't set IORDY for reset

Before issuing reset, libata configures xfermode to PIO0 which makes
some drivers turn on IORDY which may cause the controller to lock up
if the port is not occupied.  IORDY isn't necessary at this point
anyway.  Make ata_pio_need_iordy() return zero if it's being called
for reset.

This fixes bko#11703.  Reported and tracked down by Daniel Gnoutcheff
and Constantine Gavrilov.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Daniel Gnoutcheff <gnoutchd@union.edu>
Cc: Constantine Gavrilov <constantine.gavrilov@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agosata_fsl: Add power mgmt support
Dave Liu [Thu, 11 Jun 2009 03:53:37 +0000 (22:53 -0500)]
sata_fsl: Add power mgmt support

Signed-off-by: Dave Liu <daveliu@freescale.com>
Signed-off-by: Liu Yu <yu.liu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years ago[libata] PATA driver for CF interface on AT91SAM9260 SoC
Sergey Matyukevich [Fri, 19 Jun 2009 04:27:40 +0000 (08:27 +0400)]
[libata] PATA driver for CF interface on AT91SAM9260 SoC

This patch provides PATA driver for CompactFlash interface in True IDE
mode on AT91SAM9260 SoC.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years ago[libata] beautify module parameters
Evgeni Golov [Mon, 22 Jun 2009 07:46:20 +0000 (09:46 +0200)]
[libata] beautify module parameters

1. add defaults to description where possible
2. add value definition (off=0, on=1) where missing

v2: reformatted as per request by Jeff Garzik <jgarzik@pobox.com>
    "Enable foo (0=off, 1=on [default])"

Signed-off-by: Evgeni Golov <sargentd@die-welt.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier...
Linus Torvalds [Tue, 23 Jun 2009 04:49:16 +0000 (21:49 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/vapier/blackfin

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (27 commits)
  Blackfin: fix dma-mapping build errors
  Blackfin: hook up new perf_counter_open syscall
  Blackfin: drop BF535-specific text for exception 0x2A (unaligned instruction)
  Blackfin: fix early crash when booting on wrong cpu
  Blackfin: fix GPTMR0_CLOCKSOURCE dependency on BFIN_GPTIMERS
  Blackfin: drop unused ISP1760 port1_disable from board resources
  Blackfin: bf526-ezbrd: handle different SDRAM chips
  Blackfin: fix typo in TRAS define in mem_init.h header
  Blackfin: unify memory map headers
  Blackfin: stick the CPU name into boot image name
  Blackfin: update defconfigs
  Blackfin: decouple unrelated cache settings to get exact behavior
  Blackfin: update I-pipe patch level
  Blackfin: remove obsolete mcount support from I-pipe code
  Blackfin: allow CONFIG_TICKSOURCE_GPTMR0 with interrupt pipeline
  Blackfin: convert interrupt pipeline to irqflags
  Blackfin: allow people to select BF51x-0.1 silicon rev
  Blackfin: bf526-ezbrd: set SPI flash resources to SST device
  Blackfin: fix accidental reset in some boot modes
  Blackfin: abstract irq14 lowering in do_irq
  ...

15 years agoMerge git://git.infradead.org/~dwmw2/iommu-2.6.31
Linus Torvalds [Tue, 23 Jun 2009 04:38:22 +0000 (21:38 -0700)]
Merge git://git.infradead.org/~dwmw2/iommu-2.6.31

* git://git.infradead.org/~dwmw2/iommu-2.6.31:
  intel-iommu: Fix one last ia64 build problem in Pass Through Support
  VT-d: support the device IOTLB
  VT-d: cleanup iommu_flush_iotlb_psi and flush_unmaps
  VT-d: add device IOTLB invalidation support
  VT-d: parse ATSR in DMA Remapping Reporting Structure
  PCI: handle Virtual Function ATS enabling
  PCI: support the ATS capability
  intel-iommu: dmar_set_interrupt return error value
  intel-iommu: Tidy up iommu->gcmd handling
  intel-iommu: Fix tiny theoretical race in write-buffer flush.
  intel-iommu: Clean up handling of "caching mode" vs. IOTLB flushing.
  intel-iommu: Clean up handling of "caching mode" vs. context flushing.
  VT-d: fix invalid domain id for KVM context flush
  Fix !CONFIG_DMAR build failure introduced by Intel IOMMU Pass Through Support
  Intel IOMMU Pass Through Support

Fix up trivial conflicts in drivers/pci/{intel-iommu.c,intr_remapping.c}

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Tue, 23 Jun 2009 04:29:52 +0000 (21:29 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: new stack is no longer experimental
  firewire: net: better FIFO address range check and rcodes
  firewire: net: fix card driver reloading
  firewire: core: fix iso context shutdown on card removal
  firewire: core: fix DMA unmapping in iso buffer removal
  firewire: net: adjust net_device ops
  firewire: net: remove unused code
  firewire: net: allow for unordered unit discovery
  firewire: net: style changes
  firewire: net: add Kconfig item, rename driver
  firewire: add IPv4 support

15 years agoNFS: Correct the NFS mount path when following a referral
Trond Myklebust [Mon, 22 Jun 2009 19:09:14 +0000 (15:09 -0400)]
NFS: Correct the NFS mount path when following a referral

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoNFS: Fix nfs_path() to always return a '/' at the beginning of the path
Trond Myklebust [Mon, 22 Jun 2009 19:09:14 +0000 (15:09 -0400)]
NFS: Fix nfs_path() to always return a '/' at the beginning of the path

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoNFSv4: Replace nfs4_path_walk() with VFS path lookup in a private namespace
Trond Myklebust [Mon, 22 Jun 2009 19:09:14 +0000 (15:09 -0400)]
NFSv4: Replace nfs4_path_walk() with VFS path lookup in a private namespace

As noted in the previous patch, the NFSv4 client mount code currently
has several limitations. If the mount path contains symlinks, or
referrals, or even if it just contains a '..', then the client code in
nfs4_path_walk() will fail with an error.

This patch replaces the nfs4_path_walk()-based lookup with a helper
function that sets up a private namespace to represent the namespace on the
server, then uses the ordinary VFS and NFS path lookup code to walk down the
mount path in that namespace.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoVFS: Add VFS helper functions for setting up private namespaces
Trond Myklebust [Mon, 22 Jun 2009 19:09:13 +0000 (15:09 -0400)]
VFS: Add VFS helper functions for setting up private namespaces

The purpose of this patch is to improve the remote mount path lookup
support for distributed filesystems such as the NFSv4 client.

When given a mount command of the form "mount server:/foo/bar /mnt", the
NFSv4 client is required to look up the filehandle for "server:/", and
then look up each component of the remote mount path "foo/bar" in order
to find the directory that is actually going to be mounted on /mnt.
Following that remote mount path may involve following symlinks,
crossing server-side mount points and even following referrals to
filesystem volumes on other servers.

Since the standard VFS path lookup code already supports walking paths
that contain all these features (using in-kernel automounts for
following referrals) we would like to be able to reuse that rather than
duplicate the full path traversal functionality in the NFSv4 client code.

This patch therefore defines a VFS helper function create_mnt_ns(), that
sets up a temporary filesystem namespace and attaches a root filesystem to
it. It exports the create_mnt_ns() and put_mnt_ns() function for use by
filesystem modules.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoVFS: Uninline the function put_mnt_ns()
Trond Myklebust [Mon, 22 Jun 2009 19:09:13 +0000 (15:09 -0400)]
VFS: Uninline the function put_mnt_ns()

In order to allow modules to use it without having to export vfsmount_lock.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomm/init: cpu_hotplug_init() must be initialized before SLAB
Linus Torvalds [Tue, 23 Jun 2009 04:18:12 +0000 (21:18 -0700)]
mm/init: cpu_hotplug_init() must be initialized before SLAB

SLAB uses get/put_online_cpus() which use a mutex which is itself only
initialized when cpu_hotplug_init() is called.  Currently we hang suring
boot in SLAB due to doing that too late.

Reported by James Bottomley and Sachin Sant (and possibly others).
Debugged by Benjamin Herrenschmidt.

This just removes the dynamic initialization of the data structures, and
replaces it with a static one, avoiding this dependency entirely, and
removing one unnecessary special initcall.

Tested-by: Sachin Sant <sachinp@in.ibm.com>
Tested-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin: fix dma-mapping build errors
FUJITA Tomonori [Tue, 23 Jun 2009 01:48:37 +0000 (21:48 -0400)]
Blackfin: fix dma-mapping build errors

The recent deprecation of dma_sync_{sg,single} ironically broke Blackfin
systems.  This is because we don't define dma_sync_sg_for_cpu at all, so
until the DMA asm-generic conversion/cleanup is done after the next
release, simply stub out the dma_sync_sg_for_{cpu,device} functions.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: hook up new perf_counter_open syscall
Mike Frysinger [Fri, 19 Jun 2009 22:56:57 +0000 (18:56 -0400)]
Blackfin: hook up new perf_counter_open syscall

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: drop BF535-specific text for exception 0x2A (unaligned instruction)
Yi Li [Fri, 19 Jun 2009 08:51:11 +0000 (08:51 +0000)]
Blackfin: drop BF535-specific text for exception 0x2A (unaligned instruction)

We don't support the BF535 at all, and the exception 0x2A text specific to
it is pretty verbose and confusing (since the behavior is simply odd), so
punt it to keep the noise down.

Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: fix early crash when booting on wrong cpu
Robin Getz [Thu, 18 Jun 2009 22:53:43 +0000 (22:53 +0000)]
Blackfin: fix early crash when booting on wrong cpu

Make sure we process the kernel command line before poking the hardware,
so that we can process early printk.  This helps ensure that if you boot
a kernel configured for a different processor, something will be left in
the log buffer.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: fix GPTMR0_CLOCKSOURCE dependency on BFIN_GPTIMERS
Mike Frysinger [Thu, 18 Jun 2009 19:40:47 +0000 (19:40 +0000)]
Blackfin: fix GPTMR0_CLOCKSOURCE dependency on BFIN_GPTIMERS

The GPTMR0_CLOCKSOURCE Kconfig option requires the gptimers framework, so
make sure it is selected when this option is enabled.

Reported-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: drop unused ISP1760 port1_disable from board resources
Mike Frysinger [Thu, 18 Jun 2009 19:13:03 +0000 (19:13 +0000)]
Blackfin: drop unused ISP1760 port1_disable from board resources

The port1 disable stuff was dropped from the USB ISP1760, so update the
Blackfin boards accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: bf526-ezbrd: handle different SDRAM chips
Graf Yang [Thu, 18 Jun 2009 04:32:04 +0000 (04:32 +0000)]
Blackfin: bf526-ezbrd: handle different SDRAM chips

The BF526-EZBRD changed SDRAM chips between board revisions, so create a
timing table that can accommodate both.

Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: fix typo in TRAS define in mem_init.h header
Graf Yang [Thu, 18 Jun 2009 04:21:39 +0000 (04:21 +0000)]
Blackfin: fix typo in TRAS define in mem_init.h header

We defined SDRAM_tRAS to TRAS_4, but then wrongly defined SDRAM_tRAS_num
to 3.

Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: unify memory map headers
Mike Frysinger [Wed, 17 Jun 2009 15:25:06 +0000 (11:25 -0400)]
Blackfin: unify memory map headers

Many aspects of the Blackfin memory map is exactly the same across all
variants.  Rather than copy and paste all of these duplicated values in
each header, unify all of these into the common Blackfin memory map header
file.  In the process, push down BF561 SMP specific stuff to the BF561
specific header to keep the noise down.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: stick the CPU name into boot image name
Robin Getz [Wed, 17 Jun 2009 12:12:54 +0000 (08:12 -0400)]
Blackfin: stick the CPU name into boot image name

Rather than use "Linux" in the boot image name (as this is redundant --
the image type is already set to "linux"), use the CPU name.  This makes
it fairly obvious when a wrong image is accidentally booted.  Otherwise
there is no kernel output and you waste time scratching your head
wondering wtf just happened.

Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: update defconfigs
Mike Frysinger [Wed, 17 Jun 2009 07:11:42 +0000 (07:11 +0000)]
Blackfin: update defconfigs

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: decouple unrelated cache settings to get exact behavior
Jie Zhang [Tue, 16 Jun 2009 09:48:33 +0000 (09:48 +0000)]
Blackfin: decouple unrelated cache settings to get exact behavior

The current cache options don't really represent the hardware features.
They end up setting different aspects of the hardware so that the end
result is to turn on/off the cache.  Unfortunately, when we hit cache
problems with the hardware, it's difficult to test different settings to
root cause the problem.  The current settings also don't cleanly allow for
different caching behaviors with different regions of memory.

So split the configure options such that they properly reflect the settings
that are applied to the hardware.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: update I-pipe patch level
Philippe Gerum [Tue, 16 Jun 2009 03:25:54 +0000 (05:25 +0200)]
Blackfin: update I-pipe patch level

Signed-off-by: Philippe Gerum <rpm@xenomai.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoBlackfin: remove obsolete mcount support from I-pipe code
Philippe Gerum [Tue, 16 Jun 2009 03:25:50 +0000 (05:25 +0200)]
Blackfin: remove obsolete mcount support from I-pipe code

Signed-off-by: Philippe Gerum <rpm@xenomai.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>