GitHub/exynos8895/android_kernel_samsung_universal8895.git
13 years agoarm: Reorder irq_set_ function calls
Thomas Gleixner [Thu, 24 Mar 2011 12:29:39 +0000 (13:29 +0100)]
arm: Reorder irq_set_ function calls

Reorder
irq_set_chip()
irq_set_chip_data()
irq_set_handler()

to

irq_set_chip()
irq_set_handler()
irq_set_chip_data()

so the next patch can combine irq_set_chip() and irq_set_handler() to
irq_set_chip_and_handler().

Automated conversion with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Cleanup the irq namespace
Thomas Gleixner [Thu, 24 Mar 2011 12:25:22 +0000 (13:25 +0100)]
arm: Cleanup the irq namespace

Convert to the new function names. Automated with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Use generic show_interrupts()
Thomas Gleixner [Thu, 24 Mar 2011 11:02:11 +0000 (12:02 +0100)]
arm: Use generic show_interrupts()

Use the generic version and just keep the arch specific output.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: dove: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:33:40 +0000 (12:33 +0100)]
arm: dove: Use proper irq accessor functions

Remove the obsolete desc_handle_irq() helper.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: gic: Use proper accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:48:54 +0000 (12:48 +0100)]
arm: gic: Use proper accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: at91: Cleanup irq chip
Thomas Gleixner [Thu, 24 Mar 2011 11:48:18 +0000 (12:48 +0100)]
arm: at91: Cleanup irq chip

Avoid the whole lazy disable dance in the demux handler by providing a
irq_disable() callback.

Use the proper accessor functions and tidy up gpio_irq_handler()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: davinci: Cleanup irq chip code
Thomas Gleixner [Thu, 24 Mar 2011 11:47:04 +0000 (12:47 +0100)]
arm: davinci: Cleanup irq chip code

Make use of the new functionality which ensures that irq_set_type is
called with the chip masked. Unmask is only done when the interrupt is
not disabled.

Retrieve the trigger type from irq_data in unmask

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: ep93xx: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:45:56 +0000 (12:45 +0100)]
arm: ep93xx: Use proper irq accessor functions

No need to write the flow type. Core code does already.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: gemini: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:44:54 +0000 (12:44 +0100)]
arm: gemini: Use proper irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: mxc: Use generic_handle_irq()
Thomas Gleixner [Thu, 24 Mar 2011 11:43:25 +0000 (12:43 +0100)]
arm: mxc: Use generic_handle_irq()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: vt8500: Use proper irq accessors
Thomas Gleixner [Thu, 24 Mar 2011 11:42:50 +0000 (12:42 +0100)]
arm: vt8500: Use proper irq accessors

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: msm: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:41:27 +0000 (12:41 +0100)]
arm: msm: Use proper irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: plat-omap: Cleanup irq_desc access
Thomas Gleixner [Thu, 24 Mar 2011 11:40:15 +0000 (12:40 +0100)]
arm: plat-omap: Cleanup irq_desc access

1) Core code stores the flow type already
2) Flow type is accessible in irq_data

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: nomadik: Use local irq state
Thomas Gleixner [Thu, 24 Mar 2011 11:38:50 +0000 (12:38 +0100)]
arm: nomadik: Use local irq state

Store the enabled mask in the local state, so there is no need to
fiddle in the irq descriptor.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: stmp3xxx: Use generic_handle_irq()
Thomas Gleixner [Thu, 24 Mar 2011 11:38:17 +0000 (12:38 +0100)]
arm: stmp3xxx: Use generic_handle_irq()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: plat-samsung: Use proper irq accessor functions
Thomas Gleixner [Thu, 24 Mar 2011 11:36:46 +0000 (12:36 +0100)]
arm: plat-samsung: Use proper irq accessor functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Cleanup irq_desc access
Thomas Gleixner [Thu, 24 Mar 2011 11:35:19 +0000 (12:35 +0100)]
arm: Cleanup irq_desc access

Use the proper wrappers and use the flow type in irq_data.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: msm: Convert to new irq chip functions
Thomas Gleixner [Thu, 24 Mar 2011 10:58:31 +0000 (11:58 +0100)]
arm: msm: Convert to new irq chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Use irq flag setter function
Thomas Gleixner [Mon, 7 Feb 2011 21:30:49 +0000 (22:30 +0100)]
arm: Use irq flag setter function

Use the proper accessor function instead of fiddling in the status
bits directly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
13 years agoarm: Use genirq lockdep helper to set lock class
Thomas Gleixner [Tue, 22 Mar 2011 16:11:09 +0000 (17:11 +0100)]
arm: Use genirq lockdep helper to set lock class

Remove the open coded access to irq_desc which will fail on sparse irq
and use the proper wrappers.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: tegra: Remove unused bogus irq enable/disable magic
Thomas Gleixner [Wed, 9 Feb 2011 15:46:14 +0000 (16:46 +0100)]
arm: tegra: Remove unused bogus irq enable/disable magic

The core code handles thees already.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Colin Cross <ccross@android.com>
Cc: linux-tegra@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
13 years agoarm: h720x: Fix irq conversion fallout
Thomas Gleixner [Mon, 28 Mar 2011 08:54:40 +0000 (10:54 +0200)]
arm: h720x: Fix irq conversion fallout

The conversion missed, that one of the irq functions is called from
the init code. Split it out, so the irq number based call works.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: nomadik: Remove non existing cpu id check
Thomas Gleixner [Mon, 28 Mar 2011 11:12:20 +0000 (13:12 +0200)]
arm: nomadik: Remove non existing cpu id check

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: ns9xxx: Remove non exisiting machine checks
Thomas Gleixner [Mon, 28 Mar 2011 10:11:46 +0000 (12:11 +0200)]
arm: ns9xxx: Remove non exisiting machine checks

The machine id cleanup missed to remove the checks for now removed
ids.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: dove: Use correct GPIO_BASE and remove orion_gpio_init() leftover
Thomas Gleixner [Mon, 28 Mar 2011 09:26:09 +0000 (11:26 +0200)]
arm: dove: Use correct GPIO_BASE and remove orion_gpio_init() leftover

commit 9eac6d0 (ARM: Remove dependency of plat-orion GPIO code on mach
directory includes) missed to convert one instance of
DOVE_GPIO_VIRT_BASE and left the orion_gpio_init() in mpp.c

Fix it up.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: at91: at572d940hf: Fix SDRAMC define
Thomas Gleixner [Mon, 28 Mar 2011 10:32:39 +0000 (12:32 +0200)]
arm: at91: at572d940hf: Fix SDRAMC define

That wants to be AT91_SDRAMC0

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: footbridge: Make cksrc_dc21285_disable() void
Thomas Gleixner [Mon, 28 Mar 2011 09:25:40 +0000 (11:25 +0200)]
arm: footbridge: Make cksrc_dc21285_disable() void

This clocksource function needs to be void.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: bios32: Remove non exisiting machine code
Thomas Gleixner [Sun, 27 Mar 2011 17:45:00 +0000 (19:45 +0200)]
arm: bios32: Remove non exisiting machine code

The id removal left this machine check in which breaks the build on
some platforms. Remove it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agogenirq: Fix harmless typo
Thomas Gleixner [Tue, 29 Mar 2011 09:36:05 +0000 (11:36 +0200)]
genirq: Fix harmless typo

The late night fixup missed to convert the data type from irq_desc to
irq_data, which results in a harmless but annoying warning.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agomd: Fix integrity registration error when no devices are capable
Martin K. Petersen [Tue, 29 Mar 2011 00:09:12 +0000 (20:09 -0400)]
md: Fix integrity registration error when no devices are capable

We incorrectly returned -EINVAL when none of the devices in the array
had an integrity profile.  This in turn prevented mdadm from starting
the metadevice.  Fix this so we only return errors on mismatched
profiles and memory allocation failures.

Reported-by: Giacomo Catenazzi <cate@cateee.net>
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 29 Mar 2011 00:51:27 +0000 (17:51 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
  selinux: Fix regression for Xorg

13 years agoARM: mx51_efika: fix build error due to new mfd changes
Andres Salomon [Tue, 29 Mar 2011 00:22:30 +0000 (17:22 -0700)]
ARM: mx51_efika: fix build error due to new mfd changes

MFD changes in 4ec1b54c ('mfd: mfd_cell is now implicitly available to
mc13xxx drivers') changed the mc13xxx_platform_data struct layout.

At the time all users were changed, but this driver was introduced in
another tree at the same time.  This updates the mc13xxx_platform_data
user, fixing a build error.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branches 'irq-cleanup-for-linus' and 'irq-fixes-for-linus' of git://git.kernel...
Linus Torvalds [Tue, 29 Mar 2011 00:39:54 +0000 (17:39 -0700)]
Merge branches 'irq-cleanup-for-linus' and 'irq-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  vlynq: Convert irq functions

* 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq; Fix cleanup fallout
  genirq: Fix typo and remove unused variable
  genirq: Fix new kernel-doc warnings
  genirq: Add setter for AFFINITY_SET in irq_data state
  genirq: Provide setter inline for IRQD_IRQ_INPROGRESS
  genirq: Remove handle_IRQ_event
  arm: Ns9xxx: Remove private irq flow handler
  powerpc: cell: Use the core flow handler
  genirq: Provide edge_eoi flow handler
  genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data
  genirq: Split irq_set_affinity() so it can be called with lock held.
  genirq: Add chip flag for restricting cpu_on/offline calls
  genirq: Add chip hooks for taking CPUs on/off line.
  genirq: Add irq disabled flag to irq_data state
  genirq: Reserve the irq when calling irq_set_chip()

13 years agogenirq; Fix cleanup fallout
Thomas Gleixner [Mon, 28 Mar 2011 19:59:37 +0000 (21:59 +0200)]
genirq; Fix cleanup fallout

I missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity
related functions and the IRQ_LEVEL propagation into irq_data
state. Did not pop up on my main test platforms. :(

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: David Daney <ddaney@caviumnetworks.com>
13 years agoselinux: Fix regression for Xorg
Stephen Smalley [Fri, 25 Mar 2011 14:13:43 +0000 (10:13 -0400)]
selinux: Fix regression for Xorg

Commit 6f5317e730505d5cbc851c435a2dfe3d5a21d343 introduced a bug in the
handling of userspace object classes that is causing breakage for Xorg
when XSELinux is enabled.  Fix the bug by changing map_class() to return
SECCLASS_NULL when the class cannot be mapped to a kernel object class.

Reported-by: "Justin P. Mattock" <justinmattock@gmail.com>
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
13 years agomemstick: make enable_dma less generic in r592
Stephen Rothwell [Mon, 28 Mar 2011 23:24:29 +0000 (16:24 -0700)]
memstick: make enable_dma less generic in r592

Fixes this build error:

  drivers/memstick/host/r592.c:26: error: 'enable_dma' redeclared as different kind of symbol
  arch/powerpc/include/asm/dma.h:189: note: previous definition of 'enable_dma' was here

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Alex Dubov <oakad@yahoo.com>
Acked-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
Linus Torvalds [Mon, 28 Mar 2011 22:51:02 +0000 (15:51 -0700)]
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

* 'for-linus' of git://oss.sgi.com/xfs/xfs:
  xfs: stop using the page cache to back the buffer cache
  xfs: register the inode cache shrinker before quotachecks
  xfs: xfs_trans_read_buf() should return an error on failure
  xfs: introduce inode cluster buffer trylocks for xfs_iflush
  vmap: flush vmap aliases when mapping fails
  xfs: preallocation transactions do not need to be synchronous

Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_buf.c due to plug removal.

13 years agoRelax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo
Roland Dreier [Mon, 28 Mar 2011 21:13:35 +0000 (14:13 -0700)]
Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo

Commit da48524eb206 ("Prevent rt_sigqueueinfo and rt_tgsigqueueinfo
from spoofing the signal code") made the check on si_code too strict.
There are several legitimate places where glibc wants to queue a
negative si_code different from SI_QUEUE:

 - This was first noticed with glibc's aio implementation, which wants
   to queue a signal with si_code SI_ASYNCIO; the current kernel
   causes glibc's tst-aio4 test to fail because rt_sigqueueinfo()
   fails with EPERM.

 - Further examination of the glibc source shows that getaddrinfo_a()
   wants to use SI_ASYNCNL (which the kernel does not even define).
   The timer_create() fallback code wants to queue signals with SI_TIMER.

As suggested by Oleg Nesterov <oleg@redhat.com>, loosen the check to
forbid only the problematic SI_TKILL case.

Reported-by: Klaus Dittrich <kladit@arcor.de>
Acked-by: Julien Tinnes <jln@google.com>
Cc: <stable@kernel.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'for-linus' of git://www.jni.nu/cris
Linus Torvalds [Mon, 28 Mar 2011 22:44:06 +0000 (15:44 -0700)]
Merge branch 'for-linus' of git://www.jni.nu/cris

* 'for-linus' of git://www.jni.nu/cris:
  Correct auto-restart of syscalls via restartblock
  CRISv10: Fix return before mutex_unlock in pcf8563
  Drop the CRISv32 version of pcf8563

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs...
Linus Torvalds [Mon, 28 Mar 2011 22:43:25 +0000 (15:43 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ecryptfs/ecryptfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
  eCryptfs: write lock requested keys
  eCryptfs: move ecryptfs_find_auth_tok_for_sig() call before mutex_lock
  eCryptfs: verify authentication tokens before their use
  eCryptfs: modified size of keysig in the ecryptfs_key_sig structure
  eCryptfs: removed num_global_auth_toks from ecryptfs_mount_crypt_stat
  eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix
  eCryptfs: Unlock page in write_begin error path
  ecryptfs: modify write path to encrypt page in writepage
  eCryptfs: Remove ECRYPTFS_NEW_FILE crypt stat flag
  eCryptfs: Remove unnecessary grow_file() function

13 years agoMerge branch 'for-linus-unmerged' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 28 Mar 2011 22:31:05 +0000 (15:31 -0700)]
Merge branch 'for-linus-unmerged' of git://git./linux/kernel/git/mason/btrfs-unstable

* 'for-linus-unmerged' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (45 commits)
  Btrfs: fix __btrfs_map_block on 32 bit machines
  btrfs: fix possible deadlock by clearing __GFP_FS flag
  btrfs: check link counter overflow in link(2)
  btrfs: don't mess with i_nlink of unlocked inode in rename()
  Btrfs: check return value of btrfs_alloc_path()
  Btrfs: fix OOPS of empty filesystem after balance
  Btrfs: fix memory leak of empty filesystem after balance
  Btrfs: fix return value of setflags ioctl
  Btrfs: fix uncheck memory allocations
  btrfs: make inode ref log recovery faster
  Btrfs: add btrfs_trim_fs() to handle FITRIM
  Btrfs: adjust btrfs_discard_extent() return errors and trimmed bytes
  Btrfs: make btrfs_map_block() return entire free extent for each device of RAID0/1/10/DUP
  Btrfs: make update_reserved_bytes() public
  btrfs: return EXDEV when linking from different subvolumes
  Btrfs: Per file/directory controls for COW and compression
  Btrfs: add datacow flag in inode flag
  btrfs: use GFP_NOFS instead of GFP_KERNEL
  Btrfs: check return value of read_tree_block()
  btrfs: properly access unaligned checksum buffer
  ...

Fix up trivial conflicts in fs/btrfs/volumes.c due to plug removal in
the block layer.

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platf...
Linus Torvalds [Mon, 28 Mar 2011 22:16:10 +0000 (15:16 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/mjg59/platform-drivers-x86

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (81 commits)
  xo15-ebook: Remove device.wakeup_count
  ips: use interruptible waits in ips-monitor
  acer-wmi: does not poll device status when WMI event is available
  acer-wmi: does not set persistence state by rfkill_init_sw_state
  platform-drivers: x86: fix common misspellings
  acer-wmi: use pr_<level> for messages
  asus-wmi: potential NULL dereference in show_call()
  asus-wmi: signedness bug in read_brightness()
  platform-driver-x86: samsung-laptop: make dmi_check_cb to return 1 instead of 0
  platform-driver-x86: fix wrong merge for compal-laptop.c
  msi-laptop: use pr_<level> for messages
  Platform: add Samsung Laptop platform driver
  acer-wmi: Fix WMI ID
  acer-wmi: deactive mail led when power off
  msi-laptop: send out touchpad on/off key
  acer-wmi: set the touchpad toggle key code to KEY_TOUCHPAD_TOGGLE
  platform-driver-x86: intel_mid_thermal: fix unterminated platform_device_id table
  sony-laptop: potential null dereference
  sony-laptop: handle allocation failures
  sony-laptop: return negative on failure in sony_nc_add()
  ...

13 years agoMerge branch 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
Linus Torvalds [Mon, 28 Mar 2011 22:14:45 +0000 (15:14 -0700)]
Merge branch 'for-torvalds' of git://git./linux/kernel/git/linusw/linux-stericsson

* 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  mach-ux500: configure board for the TPS61052 regulator v2
  mach-ux500: provide ab8500 init vector
  mach-ux500: board support for AB8500 GPIO driver
  gpio: driver for 42 AB8500 GPIO pins

13 years agoMerge branch 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 28 Mar 2011 22:08:48 +0000 (15:08 -0700)]
Merge branch 's5p-fixes-for-linus' of git://git./linux/kernel/git/kgene/linux-samsung

* 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: Suspend: Fix dependency of ARCH_SUSPEND_POSSIBLE
  ARM: SAMSUNG: Fix CPU idmask
  ARM: EXYNOS4: Fix addruart macro
  ARM: EXYNOS4: Fix smsc9215 irq polarity on SMDKC210
  ARM: EXYNOS4: Fix smsc9215 irq polarity on SMDKV310
  ARM: EXYNOS4: Fix build warning on regarding SATA_AHCI_PLATFORM
  ARM: S5PV210: Remove duplicated inclusion
  ARM: S5PV210: Fix security engine interrupt names
  ARM: S5P64X0: Fix iodesc array size for S5P6450

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Mon, 28 Mar 2011 20:07:49 +0000 (13:07 -0700)]
Merge git://git./linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: aesni-intel - fixed problem with packets that are not multiple of 64bytes

13 years agoMerge branch 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score
Linus Torvalds [Mon, 28 Mar 2011 20:06:32 +0000 (13:06 -0700)]
Merge branch 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score

* 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score:
  score: Use generic show_interrupts()
  score: Convert to new irq function names
  score: lost a semicolon in asm/irqflags.h
  score: Select GENERIC_HARDIRQS_NO_DEPRECATED
  score: Convert irq_chip to new functions

13 years agoacpi: Remove sysfs_create_link from video driver
Matthew Garrett [Mon, 28 Mar 2011 12:46:02 +0000 (12:46 +0000)]
acpi: Remove sysfs_create_link from video driver

The acpi video driver attempts to explicitly create a sysfs link between
the acpi device and the associated PCI device. However, we're now also
doing this from the backlight core, which means that we get a backtrace
caused by a duplicate file. Remove the code and leave it up to the
backlight core.

Reported-by: Jeff Chua <jeff.chua.linux@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Alessandro Suardi <alessandro.suardi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec...
Linus Torvalds [Mon, 28 Mar 2011 20:03:31 +0000 (13:03 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jlbec/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (39 commits)
  Treat writes as new when holes span across page boundaries
  fs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.
  ocfs2/dlm: Move kmalloc() outside the spinlock
  ocfs2: Make the left masklogs compat.
  ocfs2: Remove masklog ML_AIO.
  ocfs2: Remove masklog ML_UPTODATE.
  ocfs2: Remove masklog ML_BH_IO.
  ocfs2: Remove masklog ML_JOURNAL.
  ocfs2: Remove masklog ML_EXPORT.
  ocfs2: Remove masklog ML_DCACHE.
  ocfs2: Remove masklog ML_NAMEI.
  ocfs2: Remove mlog(0) from fs/ocfs2/dir.c
  ocfs2: remove NAMEI from symlink.c
  ocfs2: Remove masklog ML_QUOTA.
  ocfs2: Remove mlog(0) from quota_local.c.
  ocfs2: Remove masklog ML_RESERVATIONS.
  ocfs2: Remove masklog ML_XATTR.
  ocfs2: Remove masklog ML_SUPER.
  ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.c
  ocfs2: Remove mlog(0) from fs/ocfs2/slot_map.c
  ...

Fix up trivial conflict in fs/ocfs2/super.c

13 years agogenirq: Fix typo and remove unused variable
Thomas Gleixner [Mon, 28 Mar 2011 18:28:56 +0000 (20:28 +0200)]
genirq: Fix typo and remove unused variable

Sigh, I'm overworked.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agogenirq: Fix new kernel-doc warnings
Randy Dunlap [Fri, 18 Mar 2011 16:33:56 +0000 (09:33 -0700)]
genirq: Fix new kernel-doc warnings

Fix new irq-related kernel-doc warnings in 2.6.38:

Warning(kernel/irq/manage.c:149): No description found for parameter 'mask'
Warning(kernel/irq/manage.c:149): Excess function parameter 'cpumask' description in 'irq_set_affinity'
Warning(include/linux/irq.h:161): No description found for parameter 'state_use_accessors'
Warning(include/linux/irq.h:161): Excess struct/union/enum/typedef member 'state_use_accessor' description in 'irq_data'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
LKML-Reference: <20110318093356.b939558d.randy.dunlap@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agovlynq: Convert irq functions
Thomas Gleixner [Fri, 25 Mar 2011 20:56:37 +0000 (21:56 +0100)]
vlynq: Convert irq functions

Convert to the new irq_chip functions and the new namespace.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Florian Fainelli <florian@openwrt.org>
LKML-Reference: <alpine.LFD.2.00.1103252150180.31464@localhost6.localdomain6>

13 years agoTreat writes as new when holes span across page boundaries
Goldwyn Rodrigues [Thu, 17 Feb 2011 15:44:40 +0000 (09:44 -0600)]
Treat writes as new when holes span across page boundaries

When a hole spans across page boundaries, the next write forces
a read of the block. This could end up reading existing garbage
data from the disk in ocfs2_map_page_blocks. This leads to
non-zero holes. In order to avoid this, mark the writes as new
when the holes span across page boundaries.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.de>
Signed-off-by: jlbec <jlbec@evilplan.org>
13 years agoMerge branch 'mlog_replace_for_39' of git://repo.or.cz/taoma-kernel into ocfs2-merge...
Joel Becker [Mon, 28 Mar 2011 16:44:26 +0000 (09:44 -0700)]
Merge branch 'mlog_replace_for_39' of git://repo.or.cz/taoma-kernel into ocfs2-merge-window-fix

13 years agofs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.
Rakib Mullick [Fri, 18 Mar 2011 11:01:08 +0000 (17:01 +0600)]
fs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.

When CONFIG_DEBUG_FS=y and CONFIG_OCFS2_FS_STATS=n, we get the
following warning:

fs/ocfs2/cluster/tcp.c:213:16: warning: ‘o2net_get_func_run_time’
defined but not used

Since o2net_get_func_run_time is only called from
o2net_update_recv_stats, so move it under CONFIG_OCFS2_FS_STATS.

Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
Signed-off-by: jlbec <jlbec@evilplan.org>
13 years agogenirq: Add setter for AFFINITY_SET in irq_data state
Thomas Gleixner [Mon, 28 Mar 2011 15:11:13 +0000 (17:11 +0200)]
genirq: Add setter for AFFINITY_SET in irq_data state

Some archs want to prevent the default affinity being set on their
chips in the reqeust_irq() path.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agogenirq: Provide setter inline for IRQD_IRQ_INPROGRESS
Thomas Gleixner [Mon, 28 Mar 2011 14:41:14 +0000 (16:41 +0200)]
genirq: Provide setter inline for IRQD_IRQ_INPROGRESS

Special function for demultiplexing handlers which can be disabled via
disable_irq().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agogenirq: Remove handle_IRQ_event
Thomas Gleixner [Mon, 28 Mar 2011 14:27:31 +0000 (16:27 +0200)]
genirq: Remove handle_IRQ_event

Last user gone.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agoarm: Ns9xxx: Remove private irq flow handler
Thomas Gleixner [Wed, 2 Feb 2011 21:41:27 +0000 (21:41 +0000)]
arm: Ns9xxx: Remove private irq flow handler

handle_prio_irq is almost identical with handle_fasteoi_irq. The
subtle differences are

1) The handler checks for IRQ_DISABLED after the device handler has
   been called. In case it's set it masks the interrupt.

2) When the handler sees IRQ_DISABLED on entry it masks the interupt
   in the same way as handle_fastoei_irq, but does not set the
   IRQ_PENDING flag.

3) Instead of gracefully handling a recursive interrupt it crashes the
   kernel.

#1 is just relevant when a device handler calls disable_irq_nosync()
   and it does not matter whether we mask the interrupt right away or
   not. We handle lazy masking for disable_irq anyway, so there is no
   real reason to have this extra mask in place.

#2 will prevent the resend of a pending interrupt, which can result in
   lost interrupts for edge type interrupts. For level type interrupts
   the resend is a noop in the generic code. According to the
   datasheet all interrupts are level type, so marking them as such
   will result in the exact same behaviour as the private
   handle_prio_irq implementation.

#3 is just stupid. Crashing the kernel instead of handling a problem
   gracefully is just wrong. With the current semantics- all handlers
   run with interrupts disabled - this is even more wrong.

Rename ack to eoi, remove the unused mask_ack, switch to
handle_fasteoi_irq and remove the private function.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Acked-by: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
LKML-Reference: <20110202212552.299898447@linutronix.de>

13 years agopowerpc: cell: Use the core flow handler
Thomas Gleixner [Mon, 28 Mar 2011 14:23:12 +0000 (16:23 +0200)]
powerpc: cell: Use the core flow handler

The core handler is a full equivalent replacement.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agogenirq: Provide edge_eoi flow handler
Thomas Gleixner [Mon, 28 Mar 2011 14:13:24 +0000 (16:13 +0200)]
genirq: Provide edge_eoi flow handler

This is a replacment for the cell flow handler which is in the way of
cleanups. Must be selected to avoid general bloat.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 years agogenirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data
Thomas Gleixner [Mon, 28 Mar 2011 12:10:52 +0000 (14:10 +0200)]
genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data

We really need these flags for some of the interrupt chips. Move it
from internal state to irq_data and provide proper accessors.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Daney <ddaney@caviumnetworks.com>
13 years agoMerge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
Linus Torvalds [Mon, 28 Mar 2011 14:52:58 +0000 (07:52 -0700)]
Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
  NFS: Ensure that rpc_release_resources_task() can be called twice.
  NFS: Don't leak RPC clients in NFSv4 secinfo negotiation
  NFS: Fix a hang in the writeback path

13 years agoMFD: allow cs5535-mfd to build on X86 only
Andres Salomon [Mon, 28 Mar 2011 04:26:03 +0000 (21:26 -0700)]
MFD: allow cs5535-mfd to build on X86 only

Stephen ran into the following build error:

  drivers/mfd/cs5535-mfd.c:30:22: error: asm/olpc.h: No such file or directory

olpc.h exists only on x86 (and in the future, ARM).  Rather than
wrapping the include in an #ifdef, just change cs5535-mfd to only build
on x86.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agodrbd: fix up merge error
Linus Torvalds [Mon, 28 Mar 2011 14:42:58 +0000 (07:42 -0700)]
drbd: fix up merge error

In commit 95a0f10cddbf ("drbd: store in-core bitmap little endian,
regardless of architecture") drbd had made the sane choice to use
little-endian bitmap functions everywhere.  However, it used the
horrible old functions names from <asm-generic/bitops/le.h>, that were
never really meant to be exported.

In the meantime, things got cleaned up, and in commit c4945b9ed472
("asm-generic: rename generic little-endian bitops functions") we
renamed the LE bitops to something sane, exactly so that they could be
used in random code without people gouging their eyes out when seeing
the crazy jumble of letters that were the old internal names.

As a result the drbd thing merged cleanly (commit 8d49a77568d1: "Merge
branch 'for-2.6.39/drivers' of git://git.kernel.dk/linux-2.6-block"),
since there was no data conflict - but the end result obviously doesn't
actually compile.

Reported-and-tested-by: Ingo Molnar <mingo@elte.hu>
Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'x86-platform-next' into x86-platform
Matthew Garrett [Mon, 28 Mar 2011 10:47:38 +0000 (06:47 -0400)]
Merge branch 'x86-platform-next' into x86-platform

13 years agoxo15-ebook: Remove device.wakeup_count
Matthew Garrett [Mon, 28 Mar 2011 10:40:23 +0000 (06:40 -0400)]
xo15-ebook: Remove device.wakeup_count

This is handled automatically now.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoips: use interruptible waits in ips-monitor
Jesse Barnes [Mon, 28 Mar 2011 10:36:30 +0000 (06:36 -0400)]
ips: use interruptible waits in ips-monitor

This is what I intended to do since:
  1) the driver handles variable waits just fine, and
  2) interruptible waits aren't reported as load in the load avg.

Reported-and-tested-by: Andreas Hartmann <andihartmann@freenet.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: does not poll device status when WMI event is available
Lee, Chun-Yi [Mon, 28 Mar 2011 10:34:13 +0000 (06:34 -0400)]
acer-wmi: does not poll device status when WMI event is available

Acer WMI hotkey event's result include current device status, just
need sync the status to killswitch after acer-wmi driver receive
hotkey event but not always poll device status. This is good for
performance.

But, if use EC raw mode, Acer BIOS will not emit wmi event and
leave EC to control device status. So, still startup polling job
when doesn't detect WMI event GUID or user choice to use ec_raw_mode.

Tested on Acer TravelMate 8572 notebook.

Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Thomas Renninger <trenn@suse.de>
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: does not set persistence state by rfkill_init_sw_state
Lee, Chun-Yi [Mon, 28 Mar 2011 08:52:02 +0000 (16:52 +0800)]
acer-wmi: does not set persistence state by rfkill_init_sw_state

Acer BIOS keeps devices state when system reboot, but reset to default
device states (Wlan on, Bluetooth off, wwan on) if system cold boot.
That means BIOS's initial state is not always real persistence.

So, removed rfkill_init_sw_state because it sets initial state to
persistence then replicate to other new killswitch when rfkill-input
enabled.
After removed it, acer-wmi set initial soft-block state after rfkill
register, and doesn't allow set_block until rfkill initial finished.

Reference: bko#31002
https://bugzilla.kernel.org/show_bug.cgi?id=31002

Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: OldÅ\99ich JedliÄ\8dka <oldium.pro@seznam.cz>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoplatform-drivers: x86: fix common misspellings
Lucas De Marchi [Thu, 17 Mar 2011 20:18:22 +0000 (17:18 -0300)]
platform-drivers: x86: fix common misspellings

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: use pr_<level> for messages
Lee, Chun-Yi [Wed, 16 Mar 2011 10:52:36 +0000 (18:52 +0800)]
acer-wmi: use pr_<level> for messages

acer-wmi: use pr_<level> for messages

Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: potential NULL dereference in show_call()
Dan Carpenter [Tue, 15 Mar 2011 07:07:37 +0000 (10:07 +0300)]
asus-wmi: potential NULL dereference in show_call()

In the earlier check we assumed that "obj" could be NULL.  I looked at
some of the other places that call evaluate_object() and they check
for NULL as well.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: signedness bug in read_brightness()
Dan Carpenter [Tue, 15 Mar 2011 07:06:23 +0000 (10:06 +0300)]
asus-wmi: signedness bug in read_brightness()

"err" needs to be signed for the error handling to work.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoplatform-driver-x86: samsung-laptop: make dmi_check_cb to return 1 instead of 0
Axel Lin [Mon, 14 Mar 2011 10:56:18 +0000 (18:56 +0800)]
platform-driver-x86: samsung-laptop: make dmi_check_cb 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_check_cb 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 agoplatform-driver-x86: fix wrong merge for compal-laptop.c
Axel Lin [Mon, 14 Mar 2011 10:53:14 +0000 (18:53 +0800)]
platform-driver-x86: fix wrong merge for compal-laptop.c

I found the commit 80183a4b
"compal-laptop/fujitsu-laptop/msi-laptop: make dmi_check_cb to return 1 instead of 0"
has wrong patch merge.

The original patch change the return value for dmi_check_cb():
https://lkml.org/lkml/2010/7/2/88
But commit 80183a4b changed the return value for set_backlight_level.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agomsi-laptop: use pr_<level> for messages
Joey Lee [Wed, 16 Mar 2011 07:55:19 +0000 (01:55 -0600)]
msi-laptop: use pr_<level> for messages

msi-laptop: use pr_<level> for messages

Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoPlatform: add Samsung Laptop platform driver
Greg Kroah-Hartman [Fri, 11 Mar 2011 17:41:19 +0000 (12:41 -0500)]
Platform: add Samsung Laptop platform driver

This adds the samsung-laptop driver to the kernel.  It now supports
all known Samsung laptops that use the SABI interface.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: Fix WMI ID
Pali Rohár [Fri, 11 Mar 2011 17:36:43 +0000 (12:36 -0500)]
acer-wmi: Fix WMI ID

This patch change WMI ID to upper characters. With this patch module
acer-wmi is automatically loaded when WMI ID is detected.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: deactive mail led when power off
Pali Rohár [Sat, 26 Feb 2011 20:18:58 +0000 (21:18 +0100)]
acer-wmi: deactive mail led when power off

This patch deactive mail led when laptop is going to hibernete/suspend
or power off. After resume from hibernate/suspend correctly restore
mail led state.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agomsi-laptop: send out touchpad on/off key
Lee, Chun-Yi [Mon, 7 Mar 2011 07:46:28 +0000 (15:46 +0800)]
msi-laptop: send out touchpad on/off key

MSI BIOS's raw behavior is send out KEY_TOUCHPAD_TOGGLE key when user
pressed touchpad hotkey.

Actually, we can capture the real touchpad status by read 0xE4 EC address
on MSI netbook/notebook. So, add msi-laptop input device for send out
KEY_TOUCHPAD_ON or KEY_TOUCHPAD_OFF key when user pressed Fn+F3 touchpad
hotkey. It leave userland applications to know the real touchpad status.

Tested on MSI netbook U-100, U-115, U160(N051), U160DX, N014, N034
Tested on MSI notebook CR620

Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoacer-wmi: set the touchpad toggle key code to KEY_TOUCHPAD_TOGGLE
Lee, Chun-Yi [Tue, 1 Mar 2011 17:07:11 +0000 (01:07 +0800)]
acer-wmi: set the touchpad toggle key code to KEY_TOUCHPAD_TOGGLE

Set the touchpad toggle key code from F22 to KEY_TOUCHPAD_TOGGLE,
and userspace should use udev's key re-mapping facilities while X
is unable to process keycodes above 255 to adjust to the keycode.

Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoplatform-driver-x86: intel_mid_thermal: fix unterminated platform_device_id table
Axel Lin [Sat, 26 Feb 2011 15:03:34 +0000 (23:03 +0800)]
platform-driver-x86: intel_mid_thermal: fix unterminated platform_device_id table

The platform_device_id table is supposed to be zero-terminated.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agosony-laptop: potential null dereference
Dan Carpenter [Sun, 27 Feb 2011 14:13:25 +0000 (17:13 +0300)]
sony-laptop: potential null dereference

In the original code, if "device_enum" was NULL then it would
dereference it when it printed the error message.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agosony-laptop: handle allocation failures
Dan Carpenter [Sat, 26 Feb 2011 12:55:24 +0000 (15:55 +0300)]
sony-laptop: handle allocation failures

Return -ENOMEM if kzalloc() fails.  The callers already handle error
returns.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agosony-laptop: return negative on failure in sony_nc_add()
Dan Carpenter [Sat, 26 Feb 2011 12:54:57 +0000 (15:54 +0300)]
sony-laptop: return negative on failure in sony_nc_add()

There were two places in sony_nc_add() where we returned zero on failure
instead of a negative error code.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agosony-laptop: make a couple variables static
Dan Carpenter [Sat, 26 Feb 2011 12:54:27 +0000 (15:54 +0300)]
sony-laptop: make a couple variables static

Sparse complains that these variables should be static.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoeeepc-wmi: set the touchpad toggle key code to KEY_TOUCHPAD_TOGGLE
Keng-Yu Lin [Tue, 1 Mar 2011 04:56:13 +0000 (12:56 +0800)]
eeepc-wmi: set the touchpad toggle key code to KEY_TOUCHPAD_TOGGLE

Signed-off-by: Keng-Yu Lin <keng-yu.lin@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoideapad: read brightness setting on brightness key notify
Ike Panhc [Wed, 23 Feb 2011 13:39:59 +0000 (21:39 +0800)]
ideapad: read brightness setting on brightness key notify

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=25922
On ideapad Y530, the brightness key notify will be blocked if the last notify
is not responsed by getting the brightness value. Read value when we get the
notify shall fix the problem and will not have any difference on other ideapads.

Signed-off-by: Ike Panhc <ike.pan@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoeeepc-wmi: kconfig changes to fix build errors
Randy Dunlap [Tue, 22 Feb 2011 21:47:35 +0000 (13:47 -0800)]
eeepc-wmi: kconfig changes to fix build errors

Fix eeepc-wmi build when CONFIG_HOTPLUG_PCI is not enabled:

eeepc-wmi.c:(.text+0x3bc5e9): undefined reference to `pci_hp_deregister'
eeepc-wmi.c:(.text+0x3bcca4): undefined reference to `__pci_hp_register'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoeeepc-wmi: restore KEY_CAMERA_* keys lost in 190ca27
Corentin Chary [Sat, 26 Feb 2011 09:20:43 +0000 (10:20 +0100)]
eeepc-wmi: restore KEY_CAMERA_* keys lost in 190ca27

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: add hwmon interface and pwm1
Corentin Chary [Sat, 26 Feb 2011 09:20:42 +0000 (10:20 +0100)]
asus-wmi: add hwmon interface and pwm1

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: add some common device ids and method ids
Corentin Chary [Sat, 26 Feb 2011 09:20:41 +0000 (10:20 +0100)]
asus-wmi: add some common device ids and method ids

I also found some leds ids (0x00020011-0x00020016 and 0x00040015),
but since they are not really present on the notebook,
I can't guess their name .

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-nb-wmi: Asus Notebooks WMI Driver
Corentin Chary [Sat, 26 Feb 2011 09:20:40 +0000 (10:20 +0100)]
asus-nb-wmi: Asus Notebooks WMI Driver

Introduce a new driver for Asus Notebooks shipped with
a WMI device instead of the old ACPI device. The WMI
device is almost the same as the one present in Eee PC,
but the event guid and the keymap are different.

The keymap comes from asus-laptop module.

On Asus notebooks, when you call the WMI device, you always
need a 64bit buffer, even if you only want to get the state
of a device (tested on a G73).

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: allow debugfs interface to call arbitrary method
Corentin Chary [Sat, 26 Feb 2011 09:20:39 +0000 (10:20 +0100)]
asus-wmi: allow debugfs interface to call arbitrary method

Also add some # format flags to debugfs output.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: add calls to INIT, SPEC and SFUN on init
Corentin Chary [Sat, 26 Feb 2011 09:20:38 +0000 (10:20 +0100)]
asus-wmi: add calls to INIT, SPEC and SFUN on init

INIT() call is needed to enable hotkeys on G73
SPEC() and SFUN() allow us to know more about
available features.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: fix and clean backlight code
Corentin Chary [Sat, 26 Feb 2011 09:20:37 +0000 (10:20 +0100)]
asus-wmi: fix and clean backlight code

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: try to guess the right DSTS methods
Corentin Chary [Sat, 26 Feb 2011 09:20:36 +0000 (10:20 +0100)]
asus-wmi: try to guess the right DSTS methods

This is tricky, new WMI aware notebooks seems to use
0x53545344 while Eee PCs are using 0x53544344. But there
is no way to know if there is an Eee PC in that wild that is
using 0x53545344 or a notebook using 0x53544344. So the
driver try to guess the available DSTS method ... But most Eee PCs
never return 0xFFFFFFFE when a method is not available, they return
0 instead (and that's useless).

So, first, try 0x53544344 then 0x53545344. We will find
a better way when we got more data.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: factorise wmi_evaluate_method call
Corentin Chary [Sat, 26 Feb 2011 09:20:35 +0000 (10:20 +0100)]
asus-wmi: factorise wmi_evaluate_method call

This patch create a single function to call the
WMI methods. This function handle inexistent methods (when
implemented by the WMI devices, and this is not the case on
Eee PCs), ACPI errors, etc..

Also pack struct bios_arg, and make sure that we always send
a 64bit buffer when calling a WMI method, because this is
needed on Asus notebooks.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: handle "unknown status" bit
Corentin Chary [Sat, 26 Feb 2011 09:20:34 +0000 (10:20 +0100)]
asus-wmi: handle "unknown status" bit

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
13 years agoasus-wmi: introduce struct asus_rfkill
Corentin Chary [Sat, 26 Feb 2011 09:20:33 +0000 (10:20 +0100)]
asus-wmi: introduce struct asus_rfkill

First, this allow use to remove the custom asusrfkill_wlan_query,
but this will also allow us to give struct asus_wmi * to
get_devstate/set_devstate later.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <mjg@redhat.com>