pandora-kernel.git
13 years agocompal-laptop: add JHL90, battery & hwmon interface
Roald Frederickx [Tue, 20 Jul 2010 22:19:39 +0000 (15:19 -0700)]
compal-laptop: add JHL90, battery & hwmon interface

The driver now supports the Compal JHL90 (which I use) and it has some
added features.  The biggest novelties are a battery interface
(power_supply) and a temperature and fan control interface (hmwon).  It
also adds a power-off feature to the backlight subsystem and it exports a
few files that can enable/disable wake_on_XXX events.

Much of the original code of the old features is still there, but I've
changed some names to keep the naming more coherent with the added
functionalities.  (Sorry for the huge patch)

Some technical stuff about the new driver:

First of all, I'm not sure if the extra features also work on the other
Compal boards.  Currently they only get enabled if the DMI data indicates
you are on a JHL90 board.

Secondly, I've noticed a quirk in my fan controller.  I have to re-send
the wanted pwm-level to the controller every so often.  If I don't do
this, the fanspeed will slowly rise until after a couple of minutes it's
at full speed.  (Note that every normal userland application will probably
update the pwm-level every so often anyway, based on temperature readings,
so this might not be an issue in practice) If this turns out to be a
problem with all the controllers, maybe we should implement a kernel timer
and have the driver re-send the pwm level every XX seconds to make this
transparent to userspace?  (However, I couldn't immediately find a way to
do this cleanly.)

Additional information can be found in the source comments.

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: add missing semicolon]
Signed-off-by: Roald Frederickx <roald.frederickx@gmail.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agocompal-laptop: uses hwmon interfaces, depends on HWMON
Randy Dunlap [Tue, 20 Jul 2010 22:19:39 +0000 (15:19 -0700)]
compal-laptop: uses hwmon interfaces, depends on HWMON

compal-laptop uses hwmon interfaces, so it should depend on HWMON.

compal-laptop.c:(.devinit.text+0x4071f): undefined reference to `hwmon_device_register'
compal-laptop.c:(.devexit.text+0x6ec0): undefined reference to `hwmon_device_unregister'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Roald Frederickx <roald.frederickx@gmail.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agofujitsu-laptop: remove unnecessary input_free_device calls
Axel Lin [Tue, 20 Jul 2010 22:19:34 +0000 (15:19 -0700)]
fujitsu-laptop: remove unnecessary input_free_device calls

input_free_device() should only be used if input_register_device() was not
called yet or if it failed.  This patch removes unnecessary
input_free_device calls.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Matthew Garrett <mjg@redhat.com>a
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacerhdf: add AO531 and many BIOS versions for 1410, 1810xx and packard bell netbooks
Peter Feuerer [Tue, 20 Jul 2010 22:19:33 +0000 (15:19 -0700)]
acerhdf: add AO531 and many BIOS versions for 1410, 1810xx and packard bell netbooks

Signed-off-by: Peter Feuerer <peter@piie.net>
Cc: Borislav Petkov <petkovbb@gmail.com>
Cc: Andreas Mohr <andi@lisas.de>
Cc: Len Brown <lenb@kernel.org>
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacerhdf: driver didn't verify the pointers in which it got product information
Rahul Chaturvedi [Tue, 20 Jul 2010 22:19:33 +0000 (15:19 -0700)]
acerhdf: driver didn't verify the pointers in which it got product information

Driver didn't verify the pointers in which it got product information back
from DMI; on QEMU one of the pointers came back null, which made the
driver crash and subsequently caused a kernel panic.

Signed-off-by: Rahul Chaturvedi <rkc@chromium.org>
Signed-off-by: Peter Feuerer <peter@piie.net>
Cc: Borislav Petkov <petkovbb@gmail.com>
Cc: Andreas Mohr <andi@lisas.de>
Cc: Len Brown <lenb@kernel.org>
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacerhdf: remove "chk_off" as it was only needed for T31 netbooks
Peter Feuerer [Tue, 20 Jul 2010 22:19:32 +0000 (15:19 -0700)]
acerhdf: remove "chk_off" as it was only needed for T31 netbooks

Remove "chk_off" as it was only needed for T31 netbooks.  But those
netbooks can also be handled just with "cmd_off" register (0x9e) for
reading the state back.

Signed-off-by: Peter Feuerer <peter@piie.net>
Cc: Borislav Petkov <petkovbb@gmail.com>
Cc: Andreas Mohr <andi@lisas.de>
Cc: Len Brown <lenb@kernel.org>
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacerhdf: add new BIOS versions
Peter Feuerer [Tue, 20 Jul 2010 22:19:30 +0000 (15:19 -0700)]
acerhdf: add new BIOS versions

Add new BIOS versions for Acer 1410 and 1810xx and Packard Bell netbooks.

Fixed registers of Acer AOA150 BIOS version v0.3114: Old registers caused
Fan to spin up at every temperature check.

Signed-off-by: Peter Feuerer <peter@piie.net>
Cc: Borislav Petkov <petkovbb@gmail.com>
Cc: Andreas Mohr <andi@lisas.de>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agohp-wmi: return -ENODEV if BIOS does not export any supported hp wmi guid
Thomas Renninger [Tue, 20 Jul 2010 22:19:29 +0000 (15:19 -0700)]
hp-wmi: return -ENODEV if BIOS does not export any supported hp wmi guid

Signed-off-by: Thomas Renninger <trenn@suse.de>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agotoshiba-acpi: Add an extra couple of keys
Matthew Garrett [Thu, 15 Jul 2010 18:23:42 +0000 (14:23 -0400)]
toshiba-acpi: Add an extra couple of keys

Thomas Bächler reports that his machine generates two keycodes for zooming
in and out. Add these to the default keymap.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: Thomas Bächler <thomas@archlinux.org>
13 years agosony-laptop: use platform_device_unregister in sony_pf_remove
Axel Lin [Thu, 1 Jul 2010 02:18:01 +0000 (10:18 +0800)]
sony-laptop: use platform_device_unregister in sony_pf_remove

platform_device_unregister calls platform_device_del and platform_device_put,
thus this change is logically equivalent to original code.

I made this change because the documents in platform.c shows that:
platform_device_del and platform_device_put must _only_ be externally called
in error cases.  All other usage is a bug.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agodell-wmi: fix a memory leak
Axel Lin [Wed, 30 Jun 2010 09:25:46 +0000 (17:25 +0800)]
dell-wmi: fix a memory leak

If dell_new_hk_type is true, dell_legacy_wmi_keymap will point to a memory
allocated in setup_new_hk_map().
In this case, the memory is not freed in current implementation.
This patch fixes the leak by kfree(dell_wmi_keymap) if dell_new_hk_type is true.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: make dmi_matched to return 1 instead of 0
Axel Lin [Wed, 30 Jun 2010 05:32:16 +0000 (13:32 +0800)]
acer-wmi: make dmi_matched to return 1 instead of 0

dmi_check_system() walks the table running matching functions until someone
returns non zero or we hit the end.

This patch makes dmi_matched to return 1 so dmi_check_system() return
immediately when a match is found.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: set permissions on interface file to S_IRUGO
Axel Lin [Wed, 30 Jun 2010 02:20:23 +0000 (10:20 +0800)]
acer-wmi: set permissions on interface file to S_IRUGO

The interface file is not writable, thus set permissions to S_IRUGO.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-laptop: fix a memory leak in asus_laptop_get_info error path
Axel Lin [Tue, 29 Jun 2010 03:09:47 +0000 (11:09 +0800)]
asus-laptop: fix a memory leak in asus_laptop_get_info error path

The callers of write_acpi_int_ret() pass ACPI_ALLOCATE_BUFFER,
the caller must kfree the returned buffer if AE_OK is returned.

This patch adds a missing kfree(buffer.pointer) before return -ENOMEM
if kstrdup fail.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agowmi: fix a memory leak in wmi_notify_debug
Axel Lin [Mon, 28 Jun 2010 01:30:45 +0000 (09:30 +0800)]
wmi: fix a memory leak in wmi_notify_debug

When acpi_evaluate_object() is passed ACPI_ALLOCATE_BUFFER,
the caller must kfree the returned buffer if AE_OK is returned.

The callers of wmi_get_event_data() pass ACPI_ALLOCATE_BUFFER,
and thus must check its return value before accessing
or kfree() on the buffer.

This patch adds return value checking for wmi_get_event_data()
and adds a missing kfree(obj) in the end of wmi_notify_debug

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agodell-wmi: Add support for eject key on Dell Studio 1555
Islam Amer [Thu, 24 Jun 2010 17:39:47 +0000 (13:39 -0400)]
dell-wmi: Add support for eject key on Dell Studio 1555

Fixes pressing the eject key on Dell Studio 1555 does not work and produces
message :

dell-wmi: Unknown key 0 pressed

Signed-off-by: Islam Amer <pharon@gmail.com>
13 years agorar: Move the RAR driver into the right place as its now clean
Alan Cox [Fri, 18 Jun 2010 13:05:52 +0000 (14:05 +0100)]
rar: Move the RAR driver into the right place as its now clean

We exit staging rar! rar! rar!...

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoacer-wmi/hp-wmi: use platform_device_unregister instead of platform_device_del in...
Axel Lin [Thu, 3 Jun 2010 07:18:03 +0000 (15:18 +0800)]
acer-wmi/hp-wmi: use platform_device_unregister instead of platform_device_del in module_exit

platform_device_unregister will also call platform_device_put() to drop reference count.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agowmi: fix memory leak in parse_wdg
Axel Lin [Thu, 3 Jun 2010 03:45:45 +0000 (11:45 +0800)]
wmi: fix memory leak in parse_wdg

This patch properly kfree out.pointer and gblock in error path.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agodell-laptop: Add another Dell laptop family to the DMI whitelist
Rezwanul Kabir [Wed, 23 Jun 2010 17:02:43 +0000 (12:02 -0500)]
dell-laptop: Add another Dell laptop family to the DMI whitelist

This is to support Precision M4500 and others.

Signed-off-by: Rezwanul Kabir <Rezwanul_Kabir@dell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: fix resource reclaim in acer_wmi_init error path
Axel Lin [Tue, 22 Jun 2010 08:17:38 +0000 (16:17 +0800)]
acer-wmi: fix resource reclaim in acer_wmi_init error path

This patch fixes the resource reclaim in acer_wmi_init error path.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoX86: intel_ips, check for kzalloc properly
Jiri Slaby [Mon, 21 Jun 2010 15:40:15 +0000 (17:40 +0200)]
X86: intel_ips, check for kzalloc properly

Stanse found that there are two NULL checks missing in ips_monitor. So
check their value too and bail out appropriately if the allocation
failed.

While at it, add one more kfree to the fail path. It is not necessary
now, but may be needed in the future when a new allocation is added.
And for completeness.

Also remove unneeded initialization of the variables. They are all set
right after their declaration.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
13 years agohp-wmi: add error handling for hp_wmi_init
Axel Lin [Thu, 10 Jun 2010 08:06:40 +0000 (16:06 +0800)]
hp-wmi: add error handling for hp_wmi_init

Current implementation in hp_wmi_init does not check any error and always
return success.
This patch properly handles recource reclaim and return err in error path.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agointel_scu_ipc: add definitions for vRTC related command
Feng Tang [Tue, 1 Jun 2010 12:07:34 +0000 (13:07 +0100)]
intel_scu_ipc: add definitions for vRTC related command

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoclassmate-laptop: should check for NULL as retval for rfkill_alloc
Thadeu Lima de Souza Cascardo [Wed, 9 Jun 2010 19:48:39 +0000 (16:48 -0300)]
classmate-laptop: should check for NULL as retval for rfkill_alloc

rfkill_alloc returns NULL when it fails if RFKILL is enabled. When RFKILL is
disabled, its return value of ERR_PTR(-ENODEV) is OK to use as all rfkill
functions will work with it, as they are simply empty stubs.

Reported-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: platform-driver-x86@vger.kernel.org
Cc: mjg@redhat.com
Cc: don@syst.com.br
Cc: rpurdie@rpsys.net
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoIPS driver: add GPU busy and turbo checking
Jesse Barnes [Thu, 20 May 2010 21:27:23 +0000 (14:27 -0700)]
IPS driver: add GPU busy and turbo checking

Be sure to enable GPU turbo by default at load time and check GPU busy
and MCP exceeded status correctly.  Also fix up CPU power comparison and
work around buggy MCH temp reporting.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agox86 platform driver: intelligent power sharing driver
Jesse Barnes [Fri, 14 May 2010 22:41:14 +0000 (15:41 -0700)]
x86 platform driver: intelligent power sharing driver

Intel Core i3/5 platforms with integrated graphics support both CPU and
GPU turbo mode.  CPU turbo mode is opportunistic: the CPU will use any
available power to increase core frequencies if thermal headroom is
available.  The GPU side is more manual however; the graphics driver
must monitor GPU power and temperature and coordinate with a core
thermal driver to take advantage of available thermal and power headroom
in the package.

The intelligent power sharing (IPS) driver is intended to coordinate
this activity by monitoring MCP (multi-chip package) temperature and
power, allowing the CPU and/or GPU to increase their power consumption,
and thus performance, when possible.  The goal is to maximize
performance within a given platform's TDP (thermal design point).

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agotimer: add on-stack deferrable timer interfaces
Jesse Barnes [Mon, 10 May 2010 21:26:20 +0000 (14:26 -0700)]
timer: add on-stack deferrable timer interfaces

In some cases (for instance with kernel threads) it may be desireable to
use on-stack deferrable timers to get their power saving benefits.  Add
interfaces to support this for the IPS driver.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoplatform/x86: msi-laptop depends on SERIO_I8042
Randy Dunlap [Sun, 23 May 2010 23:33:17 +0000 (16:33 -0700)]
platform/x86: msi-laptop depends on SERIO_I8042

msi-laptop uses i8042_*() interfaces, so it should depend on
SERIO_I8042.  E.g., when SERIO_I8042=m and MSI_LAPTOP=y:

msi-laptop.c:(.text+0x18a7fe): undefined reference to `i8042_install_filter'
msi-laptop.c:(.init.text+0xd69d): undefined reference to `i8042_remove_filter'
msi-laptop.c:(.exit.text+0x19c3): undefined reference to `i8042_remove_filter'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
13 years agoclassmate-laptop: depends on RFKILL or RFKILL=n
Thadeu Lima de Souza Cascardo [Wed, 26 May 2010 15:00:10 +0000 (12:00 -0300)]
classmate-laptop: depends on RFKILL or RFKILL=n

Randy Dunlap has reported that building classmate-laptop fails when
CONFIG_RFKILL=m and CONFIG_ACPI_CMPC=y. He suggested depending on
RFKILL, but, then, it will not be possible to select classmate-laptop
when RFKILL is off. There's no known problem with building and using
classmate-laptop with RFKILL off. So depend on RFKILL or RFKILL=n.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: platform-driver-x86@vger.kernel.org
Cc: Daniel Oliveira Nascimento <don@syst.com.br>
13 years agodrivers/platform/x86: Eliminate a NULL pointer dereference
Julia Lawall [Thu, 27 May 2010 16:32:15 +0000 (18:32 +0200)]
drivers/platform/x86: Eliminate a NULL pointer dereference

Give different error messages if device_enum is NULL or if its type field
has the wrong value.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression E,E1;
identifier f;
statement S1,S2,S3;
@@

if ((E == NULL && ...) || ...)
{
  ... when != if (...) S1 else S2
      when != E = E1
* E->f
  ... when any
  return ...;
}
else S3
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoX86 platform: hp-wmi Better match the HP WMI query interface
Thomas Renninger [Fri, 21 May 2010 14:42:40 +0000 (16:42 +0200)]
X86 platform: hp-wmi Better match the HP WMI query interface

- Improve error handling, by explictly return zero for success, error otherwise
- WMI query command can have arbitrary input sized params
- WMI query command can have specific output sized params (0, 4, 128,..) byte

I like to go on here, but this is a rather intrusive change that should
be looked at first. I am sure the one or other thing can be done better or
there might be typo/bug somewhere.

This did not get any testing yet, only compile tested.

Next steps could be:
  - Eventually introduce hp_wmi_perform_{read,write}_query macros
  - Introduce new wireless query interface (0x1B)
  - more

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: linux-acpi@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
13 years agox86 platform drivers: hp-wmi fix buffer size depending on ACPI version
Thomas Renninger [Fri, 21 May 2010 14:41:43 +0000 (16:41 +0200)]
x86 platform drivers: hp-wmi fix buffer size depending on ACPI version

Depending on ACPI version (1.0 -> 32 bit) an integer could be
32 or 64 bit long. _WED internal concatenates two integers and
the return value will be 8 byte (2* 32 bit) or 16 byte (2* 64 bit)
long, depending on the ACPI version.

Also the data send with the WMI event is defined to be splitted into:
  - Event ID -> 4 bytes
  - Event Data -> 4 bytes

This gets messed up with new ACPI versions.
But it's a HP BIOS bug that may get fixed in the future
-> Support both, 16 and 8 byte _WED buffers.

Also the wrong assumption that from the event data sent, only the
first byte is relevant got cleaned up that it fits event_id/event_data
as described above.

Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: robert.moore@intel.com
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: platform-driver-x86@vger.kernel.org
CC: linux-acpi@vger.kernel.org
13 years agox86 platform drivers: hp-wmi Set placeholder for unimplemented events
Thomas Renninger [Fri, 21 May 2010 14:18:13 +0000 (16:18 +0200)]
x86 platform drivers: hp-wmi Set placeholder for unimplemented events

Rather than print unknown events when we know what caused them

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: linux-acpi@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
13 years agox86 platform drivers: hp-wmi Add media key 0x20e8
Thomas Renninger [Fri, 21 May 2010 14:18:12 +0000 (16:18 +0200)]
x86 platform drivers: hp-wmi Add media key 0x20e8

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: linux-acpi@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
13 years agox86 platform drivers: hp-wmi Use consistent prefix string for messages.
Thomas Renninger [Fri, 21 May 2010 14:18:11 +0000 (16:18 +0200)]
x86 platform drivers: hp-wmi Use consistent prefix string for messages.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: linux-acpi@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
13 years agox86 platform drivers: hp-wmi Catch and log unkown event and key codes correctly
Thomas Renninger [Fri, 21 May 2010 14:18:10 +0000 (16:18 +0200)]
x86 platform drivers: hp-wmi Catch and log unkown event and key codes correctly

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: linux-acpi@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
13 years agox86 platform drivers: hp-wmi Reorder event id processing
Thomas Renninger [Fri, 21 May 2010 14:18:09 +0000 (16:18 +0200)]
x86 platform drivers: hp-wmi Reorder event id processing

Event id 0x4 defines the hotkey event.
No need (or even wrong) to query HPWMI_HOTKEY_QUERY if event id is != 0x4.

Reorder the eventcode conditionals and use switch case instead of if/else.
Use an enum for the event ids cases.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
CC: linux-acpi@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
13 years agointel_menlow: fix memory leaks in error path
Axel Lin [Fri, 21 May 2010 09:10:33 +0000 (17:10 +0800)]
intel_menlow: fix memory leaks in error path

This patch includes below fixes in error path:
1. fix a memory leak if device_create_file failed in
intel_menlow_add_one_attribute
2. properly free added attributes before return error in
intel_menlow_register_sensor error handler
3. properly call acpi_bus_unregister_driver before return error in
intel_menlow_module_init

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoUBIFS: fix a memory leak on error path.
Matthieu CASTET [Mon, 2 Aug 2010 09:36:06 +0000 (11:36 +0200)]
UBIFS: fix a memory leak on error path.

In 'mount_ubifs()', in case of 'ubifs_leb_unmap()' falure,
free allocated resources.

Signed-off-by: Matthieu CASTET <matthieu.castet@parrot.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
13 years agoMerge branch 'next' into for-linus
Dmitry Torokhov [Tue, 3 Aug 2010 01:35:17 +0000 (18:35 -0700)]
Merge branch 'next' into for-linus

13 years agoInput: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()
Dmitry Torokhov [Tue, 3 Aug 2010 01:33:26 +0000 (18:33 -0700)]
Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()

The kpad structure is assigned to i2c client via i2s_set_clientdata()
at the end of adp5588_probe(), but in adp5588_gpio_add() we tried to
access it (via dev_get_drvdata! which is not nice at all) causing an
oops.

Let's pass pointer to kpad directly into adp5588_gpio_add() and
adp5588_gpio_remove() to avoid accessing driver data before it is
set up.

Also split out building of gpiomap into a separate function to
clear the logic.

Reported-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
13 years agoV4L/DVB: sms: Convert IR support to use the Remote Controller core
Mauro Carvalho Chehab [Sun, 1 Aug 2010 20:19:29 +0000 (17:19 -0300)]
V4L/DVB: sms: Convert IR support to use the Remote Controller core

Rewrites the siano IR implementation. The previous implementation were
non-standard. As such, it has issues if more than one device registers IR,
as there used to have some static constants used during protocol decoding
phase. Also, it used to implement its on RAW decoder, and only for RC5.

The new code uses RC core subsystem for handling IR. This brings several
new features to the driver, including:
- Allow to dynamically replace the IR keycodes;
- Supports all existing raw decoders (JVC, NEC, RC-5, RC-6, SONY);
- Supports lirc dev;
- Doesn't have race conditions when more than one sms IR is
  registered;
- The code size for the IR implementation is very small;
- it exports the IR features via /sys/class/rc.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: sms: properly initialize IR phys and IR name
Mauro Carvalho Chehab [Sun, 1 Aug 2010 18:30:50 +0000 (15:30 -0300)]
V4L/DVB: sms: properly initialize IR phys and IR name

sms were using a non-compliant nomenclature for the USB devices. Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: standardize names at rc-dib0700 tables
Mauro Carvalho Chehab [Sun, 1 Aug 2010 16:48:20 +0000 (13:48 -0300)]
V4L/DVB: standardize names at rc-dib0700 tables

Use a more standard way to name those tables, as they're currently used
by the script that coverts those tables to be loaded via userspace.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: smsusb: enable IR port for Hauppauge WinTV MiniStick
Mauro Carvalho Chehab [Sun, 1 Aug 2010 16:01:40 +0000 (13:01 -0300)]
V4L/DVB: smsusb: enable IR port for Hauppauge WinTV MiniStick

Add the proper gpio port for WinTV MiniStick, with the information provided
by Michael.

Thanks-to: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dib0700: Fix RC protocol logic to properly handle NEC/NECx and RC-5
Mauro Carvalho Chehab [Sun, 1 Aug 2010 13:35:49 +0000 (10:35 -0300)]
V4L/DVB: dib0700: Fix RC protocol logic to properly handle NEC/NECx and RC-5

Simplifies the logic for handling firmware 1.20 RC messages, fixing the
logic.

While here, I tried to use a RC-6 remote controller from my TV set, but it
didn't work with dib0700. Not sure why, but maybe this never worked.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dib0700: properly implement IR change_protocol
Mauro Carvalho Chehab [Sun, 1 Aug 2010 12:37:23 +0000 (09:37 -0300)]
V4L/DVB: dib0700: properly implement IR change_protocol

This patch implements change_protocol callback. With this change,
there's no need for an extra modprobe parameter to specify the
protocol. When a table is loaded (either from in-kernel rc-map
tables or via ir-keytable program), the driver will automatically
change the protocol, in order to work with the given table.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dib0700: break keytable into NEC and RC-5 variants
Mauro Carvalho Chehab [Sun, 1 Aug 2010 11:02:35 +0000 (08:02 -0300)]
V4L/DVB: dib0700: break keytable into NEC and RC-5 variants

Instead of having one big keytable with 2 protocols inside, break it
into two separate tables, being one for NEC and another for RC-5 variants,
and properly identify what variant should be used at the boards entries.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dib0700: avoid bad repeat
Mauro Carvalho Chehab [Sun, 1 Aug 2010 02:37:19 +0000 (23:37 -0300)]
V4L/DVB: dib0700: avoid bad repeat

a 250ms delay is too low for this device. It ends by producing false
repeat events. Increase the delay time to 500 ms to avoid troubles.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: Port dib0700 to rc-core
Mauro Carvalho Chehab [Sun, 1 Aug 2010 01:56:00 +0000 (22:56 -0300)]
V4L/DVB: Port dib0700 to rc-core

Use the new rc-core handler at dvb-usb-remote for dib0700 driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: Add a keymap file with dib0700 table
Mauro Carvalho Chehab [Sat, 31 Jul 2010 22:24:49 +0000 (19:24 -0300)]
V4L/DVB: Add a keymap file with dib0700 table

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dvb-usb: add support for rc-core mode
Mauro Carvalho Chehab [Sat, 31 Jul 2010 22:07:55 +0000 (19:07 -0300)]
V4L/DVB: dvb-usb: add support for rc-core mode

Allows dvb-usb drivers to use rc-core, instead of the legacy
implementation.

No driver were ported yet to rc-core, so, some small adjustments
may be needed, when starting to migrate the drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dvb-usb: prepare drivers for using rc-core
Mauro Carvalho Chehab [Sat, 31 Jul 2010 21:04:09 +0000 (18:04 -0300)]
V4L/DVB: dvb-usb: prepare drivers for using rc-core

This is a big patch, yet trivial. It just move the RC properties
to a separate struct, in order to prepare the dvb-usb drivers to
use rc-core. There's no change on the behavior of the drivers.

With this change, it is possible to have both legacy and rc-core
based code inside the dvb-usb-remote, allowing a gradual migration
to rc-core, driver per driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dvb-usb: get rid of struct dvb_usb_rc_key
Mauro Carvalho Chehab [Sat, 31 Jul 2010 14:24:57 +0000 (11:24 -0300)]
V4L/DVB: dvb-usb: get rid of struct dvb_usb_rc_key

dvb-usb has its own IR handle code. Now that we have a Remote
Controller subsystem, we should start using it. So, remove this
struct, in favor of the similar struct defined at the RC subsystem.

This is a big, but trivial patch. It is a 3 line delect, plus
lots of rename on several dvb-usb files.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: rj54n1cb0c: fix a comment in the driver
Guennadi Liakhovetski [Tue, 20 Jul 2010 13:08:56 +0000 (10:08 -0300)]
V4L/DVB: rj54n1cb0c: fix a comment in the driver

RJ54N1CB0C is a Sharp camera sensor.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: V4L2: sh_vou: VOU does support the full PAL resolution too
Guennadi Liakhovetski [Thu, 29 Jul 2010 07:11:42 +0000 (04:11 -0300)]
V4L/DVB: V4L2: sh_vou: VOU does support the full PAL resolution too

SH7724 datasheet specifies 480 pixels as the VOU maximum vertical resolution.
This is a bug in the datasheet, VOU also supports the full PAL resolution: 576
lines. Adjust the driver accordingly.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2
Guennadi Liakhovetski [Mon, 26 Jul 2010 15:13:34 +0000 (12:13 -0300)]
V4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2

Using CEU with CSI2 on SH-Mobile requires some special configuration of the
former. We also have to switch from calling only one subdev .s_mbus_fmt and
.try_mbus_fmt to calling all subdevices. Take care to increment CSI2 driver
use count to prevent it from unloading, while in use.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms
Guennadi Liakhovetski [Mon, 26 Jul 2010 14:12:43 +0000 (11:12 -0300)]
V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms

Some SH-Mobile SoCs implement a MIPI CSI-2 controller, that can interface to
several video clients and send data to the CEU or to the Image Signal
Processor.  This patch implements a v4l2-subdevice driver for CSI-2 to be used
within the soc-camera framework, implementing the second subdevice in addition
to the actual video clients.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: V4L2: soc-camera: export soc-camera bus type for notifications
Guennadi Liakhovetski [Mon, 26 Jul 2010 14:37:13 +0000 (11:37 -0300)]
V4L/DVB: V4L2: soc-camera: export soc-camera bus type for notifications

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats
Guennadi Liakhovetski [Mon, 26 Jul 2010 13:41:55 +0000 (10:41 -0300)]
V4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats

These formats belong to the standard format set, defined by the MIPI CSI-2
specification.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: mediabus: fix ambiguous pixel code names
Guennadi Liakhovetski [Thu, 22 Jul 2010 19:52:51 +0000 (16:52 -0300)]
V4L/DVB: mediabus: fix ambiguous pixel code names

Endianness notation is meaningless for 8 bit YUYV codes. Switch pixel code
names to explicitly state the order of colour components in the data
stream.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: CodingStyle cleanups
Mauro Carvalho Chehab [Tue, 27 Jul 2010 21:44:45 +0000 (18:44 -0300)]
V4L/DVB: staging/lirc: CodingStyle cleanups

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: wire up Kconfig and Makefile bits
Jarod Wilson [Mon, 26 Jul 2010 23:34:23 +0000 (20:34 -0300)]
V4L/DVB: staging/lirc: wire up Kconfig and Makefile bits

Make the bits under staging/lirc/ buildable, and add a TODO note.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_zilog driver
Jarod Wilson [Mon, 26 Jul 2010 23:34:04 +0000 (20:34 -0300)]
V4L/DVB: staging/lirc: add lirc_zilog driver

Commonly found on several Hauppauge video capture devices.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_ttusbir driver
Jarod Wilson [Mon, 26 Jul 2010 23:33:09 +0000 (20:33 -0300)]
V4L/DVB: staging/lirc: add lirc_ttusbir driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_streamzap driver
Jarod Wilson [Mon, 26 Jul 2010 23:32:49 +0000 (20:32 -0300)]
V4L/DVB: staging/lirc: add lirc_streamzap driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_sir driver
Jarod Wilson [Mon, 26 Jul 2010 23:32:03 +0000 (20:32 -0300)]
V4L/DVB: staging/lirc: add lirc_sir driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_serial driver
Jarod Wilson [Mon, 26 Jul 2010 23:31:45 +0000 (20:31 -0300)]
V4L/DVB: staging/lirc: add lirc_serial driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_sasem driver
Jarod Wilson [Mon, 26 Jul 2010 23:31:11 +0000 (20:31 -0300)]
V4L/DVB: staging/lirc: add lirc_sasem driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_parallel driver
Jarod Wilson [Mon, 26 Jul 2010 23:30:51 +0000 (20:30 -0300)]
V4L/DVB: staging/lirc: add lirc_parallel driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_it87 driver
Jarod Wilson [Mon, 26 Jul 2010 23:30:02 +0000 (20:30 -0300)]
V4L/DVB: staging/lirc: add lirc_it87 driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_ite8709 driver
Jarod Wilson [Mon, 26 Jul 2010 23:30:25 +0000 (20:30 -0300)]
V4L/DVB: staging/lirc: add lirc_ite8709 driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_imon driver
Jarod Wilson [Mon, 26 Jul 2010 23:29:43 +0000 (20:29 -0300)]
V4L/DVB: staging/lirc: add lirc_imon driver

Nb: this is a very trimmed-down lirc_imon, which only supports the
oldest generation of imon devices that don't do onboard signal decoding
like the most recent generation imon devices -- those are now supported
by the ir-core imon driver.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_igorplugusb driver
Jarod Wilson [Mon, 26 Jul 2010 23:29:00 +0000 (20:29 -0300)]
V4L/DVB: staging/lirc: add lirc_igorplugusb driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging: Add an specific TODO note for lirc_i2c
Mauro Carvalho Chehab [Tue, 27 Jul 2010 20:56:24 +0000 (17:56 -0300)]
V4L/DVB: staging: Add an specific TODO note for lirc_i2c

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_i2c driver
Jarod Wilson [Mon, 26 Jul 2010 23:28:37 +0000 (20:28 -0300)]
V4L/DVB: staging/lirc: add lirc_i2c driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_ene0100 driver
Jarod Wilson [Mon, 26 Jul 2010 23:27:55 +0000 (20:27 -0300)]
V4L/DVB: staging/lirc: add lirc_ene0100 driver

[mchehab@redhat.com: fixed a few WARNING: please, no space before tabs]
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: staging/lirc: add lirc_bt829 driver
Jarod Wilson [Mon, 26 Jul 2010 23:26:53 +0000 (20:26 -0300)]
V4L/DVB: staging/lirc: add lirc_bt829 driver

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9005: use generic_bulk_ctrl_endpoint_response
Michael Krufky [Mon, 21 Jun 2010 04:49:42 +0000 (01:49 -0300)]
V4L/DVB: af9005: use generic_bulk_ctrl_endpoint_response

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Acked-by: Luca Olivetti <luca@ventoso.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: dvb: add support for kworld 340u and ub435-q to em28xx-dvb
Jarod Wilson [Sun, 7 Mar 2010 20:55:43 +0000 (17:55 -0300)]
V4L/DVB: dvb: add support for kworld 340u and ub435-q to em28xx-dvb

This adds support for the KWorld PlusTV 340U and KWorld UB345-Q ATSC
sticks, which are really the same device. The sticks have an eMPIA
em2870 usb bridge chipset, an LG Electronics LGDT3304 ATSC/QAM
demodulator and an NXP TDA18271HD tuner -- early versions of the 340U
have a a TDA18271HD/C1, later models and the UB435-Q have a C2.

The stick has been tested succesfully with both VSB_8 and QAM_256 signals.
Its using lgdt3304 support added to the lgdt3305 driver by a prior patch,
rather than the current lgdt3304 driver, as its severely lacking in
functionality by comparison (see said patch for details).

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: DVB: fix dvr node refcounting
Jiri Slaby [Sun, 18 Jul 2010 18:34:18 +0000 (15:34 -0300)]
V4L/DVB: DVB: fix dvr node refcounting

In dvb_dvr_release, there is a test dvbdev->users==-1, but users are
never negative. This error results in hung tasks:
  task                        PC stack   pid father
bash          D ffffffffa000c948     0  3264   3170 0x00000000
 ffff88003aec5ce8 0000000000000086 0000000000011f80 0000000000011f80
 ffff88003aec5fd8 ffff88003aec5fd8 ffff88003b848670 0000000000011f80
 ffff88003aec5fd8 0000000000011f80 ffff88003e02a030 ffff88003b848670
Call Trace:
 [<ffffffff813dd4a5>] dvb_dmxdev_release+0xc5/0x130
 [<ffffffff8107b750>] ? autoremove_wake_function+0x0/0x40
 [<ffffffffa00013a2>] dvb_usb_adapter_dvb_exit+0x42/0x70 [dvb_usb]
 [<ffffffffa0000525>] dvb_usb_exit+0x55/0xd0 [dvb_usb]
 [<ffffffffa00005ee>] dvb_usb_device_exit+0x4e/0x70 [dvb_usb]
 [<ffffffffa000a065>] af9015_usb_device_exit+0x55/0x60 [dvb_usb_af9015]
 [<ffffffff813a3f05>] usb_unbind_interface+0x55/0x1a0
 [<ffffffff81316000>] __device_release_driver+0x70/0xe0
...

So check against 1 there instead.

BTW why's the TODO there? Adding TODOs to the code without
descriptions is like adding nothing.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h
Laurent Pinchart [Sat, 10 Jul 2010 18:03:20 +0000 (15:03 -0300)]
V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h

The UVC host and gadget drivers both define constants and structures in
private header files. Move all those definitions to linux/usb/video.h
where they can be shared by the two drivers (and be available for
userspace applications).

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9013: fix comments
Antti Palosaari [Fri, 18 Jun 2010 00:19:13 +0000 (21:19 -0300)]
V4L/DVB: af9013: fix comments

Fix comments. It is demodulator driver not DVB USB -bridge.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9013: output fw version as four digit long
Antti Palosaari [Fri, 18 Jun 2010 00:16:12 +0000 (21:16 -0300)]
V4L/DVB: af9013: output fw version as four digit long

Firmware version is four digit long. Print all four digits instead of
three digits used earlier.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9013: af9013_read_status() refactoring
Antti Palosaari [Thu, 17 Jun 2010 23:56:27 +0000 (20:56 -0300)]
V4L/DVB: af9013: af9013_read_status() refactoring

Function af9013_read_status() refactoring. Read lock bits in different
order to save count of register reads.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9013: program tuner before demodulator
Antti Palosaari [Wed, 16 Jun 2010 19:43:40 +0000 (16:43 -0300)]
V4L/DVB: af9013: program tuner before demodulator

Program tuner before demodulator in case of channel set. Earlier it was
programmed during demodulator programming. This seems to resolve weird
error where demodulator misses sometimes ability to gain lock.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9015: support for AverMedia AVerTV Volar M (A815Mac)
Antti Palosaari [Sun, 23 May 2010 21:26:37 +0000 (18:26 -0300)]
V4L/DVB: af9015: support for AverMedia AVerTV Volar M (A815Mac)

Add USB ID 07ca:815a for AverMedia AVerTV Volar M (A815Mac).

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: get_dvb_firmware: update af9015
Antti Palosaari [Fri, 14 May 2010 18:24:28 +0000 (15:24 -0300)]
V4L/DVB: get_dvb_firmware: update af9015

New driver contains new firmware 5.1.0.0. Fix script to get that.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: af9013: add support for firmware 5.1.0.0
Antti Palosaari [Fri, 14 May 2010 16:59:50 +0000 (13:59 -0300)]
V4L/DVB: af9013: add support for firmware 5.1.0.0

Add support for new firmware version 5.1.0.0.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - vc032x: Move the first VC0321 settings to sd_init()
Jean-François Moine [Wed, 14 Jul 2010 10:09:50 +0000 (07:09 -0300)]
V4L/DVB: gspca - vc032x: Move the first VC0321 settings to sd_init()

The first VC0321 settings were done at webcam connection only. They must also
be done on resume after suspend.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - sonixj: Do the audio input work for webcams with a microphone
Jean-François Moine [Wed, 14 Jul 2010 09:33:51 +0000 (06:33 -0300)]
V4L/DVB: gspca - sonixj: Do the audio input work for webcams with a microphone

The bit 0x04 of the bridge register 02 (GPIO) is used for audio connection
in webcams containing the bridge SN9C105. This patch sets it correctly,
according to the presence of an audio device.

Tested-by: Kyle Baker <kyleabaker@gmail.com>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - main: Handle the audio device
Jean-François Moine [Wed, 14 Jul 2010 09:30:18 +0000 (06:30 -0300)]
V4L/DVB: gspca - main: Handle the audio device

When there is an audio device, use a lower alternate setting.
This patch does not fix correctly all audio and bandwidth problems.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - main: Adjust and remove some debug messages
Jean-François Moine [Wed, 14 Jul 2010 09:26:54 +0000 (06:26 -0300)]
V4L/DVB: gspca - main: Adjust and remove some debug messages

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - main: Remove useless audio ioctl's
Jean-François Moine [Wed, 14 Jul 2010 09:25:16 +0000 (06:25 -0300)]
V4L/DVB: gspca - main: Remove useless audio ioctl's

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: gspca - main: Fix a compilation warning
Jean-François Moine [Wed, 14 Jul 2010 09:21:16 +0000 (06:21 -0300)]
V4L/DVB: gspca - main: Fix a compilation warning

Reported-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: au0828: move dereference below sanity checks
Dan Carpenter [Fri, 23 Jul 2010 10:09:20 +0000 (07:09 -0300)]
V4L/DVB: au0828: move dereference below sanity checks

This function has sanity checks to make sure that "dev" is non-null.  I
moved the dereference down below the checks.  In the current code "dev"
is never actually null.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: media/IR: testing the wrong variable
Dan Carpenter [Fri, 23 Jul 2010 10:08:26 +0000 (07:08 -0300)]
V4L/DVB: media/IR: testing the wrong variable

There is a typo here.  We meant to test "rbuf" instead of "drv".  We
already tested "drv" earlier.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: drivers/video/omap2/displays: add missing mutex_unlock
Julia Lawall [Tue, 20 Jul 2010 22:22:44 +0000 (19:22 -0300)]
V4L/DVB: drivers/video/omap2/displays: add missing mutex_unlock

Add a mutex_unlock missing on the error paths.  The use of the mutex is
balanced elsewhere in the file.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression E1;
@@

* mutex_lock(E1,...);
  <+... when != E1
  if (...) {
    ... when != E1
*   return ...;
  }
  ...+>
* mutex_unlock(E1,...);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoV4L/DVB: "dib3000mc: reduce large stack usage" fix
Andrew Morton [Tue, 20 Jul 2010 22:22:42 +0000 (19:22 -0300)]
V4L/DVB: "dib3000mc: reduce large stack usage" fix

s/ENODEV/ENOMEM, per Andreas.

This fix got lost when someone merged "dib3000mc: reduce large stack
usage".  Please don't lose fixes.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>