platform/kernel/linux-rpi.git
9 years agostaging: lustre: lnet: lnet: Module is LNet, not Portals
Mike Shuey [Tue, 19 May 2015 14:14:35 +0000 (10:14 -0400)]
staging: lustre: lnet: lnet: Module is LNet, not Portals

Fix the module version to match upstream development.

Signed-off-by: Mike Shuey <shuey@purdue.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: lnet: dead code - remove LNetSetAsync
Mike Shuey [Tue, 19 May 2015 14:14:34 +0000 (10:14 -0400)]
staging: lustre: lnet: dead code - remove LNetSetAsync

LNetSetAsync() returns 0, and is never called.  Doesn't exist in the Intel
tree, either.  Remove it.

Signed-off-by: Mike Shuey <shuey@purdue.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: lnet: dead code - remove lnet_fini_locks
Mike Shuey [Tue, 19 May 2015 14:14:33 +0000 (10:14 -0400)]
staging: lustre: lnet: dead code - remove lnet_fini_locks

lnet_fini_locks() does nothing.  Remove.

Signed-off-by: Mike Shuey <shuey@purdue.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: lnet: lnet: code cleanups - variable declarations
Mike Shuey [Tue, 19 May 2015 14:14:32 +0000 (10:14 -0400)]
staging: lustre: lnet: lnet: code cleanups - variable declarations

Unify variable declarations to use a single space, and any other obvious
spacing flaws.

Signed-off-by: Mike Shuey <shuey@purdue.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: Fixed typo
Adrian Remonda [Mon, 18 May 2015 18:34:50 +0000 (20:34 +0200)]
Staging: lustre: Fixed typo

In the explanation of the function the name of the function was incorrect

Signed-off-by: Adrian Remonda <adrianremonda@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre/llite: Fix wrong identing in ll_setxattr_common
Oleg Drokin [Sat, 16 May 2015 07:38:34 +0000 (03:38 -0400)]
staging/lustre/llite: Fix wrong identing in ll_setxattr_common

smatch has highlighted wrong indenting that results from
commit 7fc1f831d83f ("staging/lustre/llite: extended attribute cache")

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre/ptlrpc: Fix potential NULL pointer dereference
Oleg Drokin [Sat, 16 May 2015 07:38:33 +0000 (03:38 -0400)]
staging/lustre/ptlrpc: Fix potential NULL pointer dereference

In lov_unpackmd() there's this strange bit of code where we first try
to look inside of lmm striping pattern for it's type, and then
we check if the pattern is NULL which cannot be right.
Move the check under if (lmm) branch so that it's safe.

Found by Coverity version 6.6.1

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Reviewed-on: http://review.whamcloud.com/7827
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4049
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Signed-off: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre/ptlrpc: Fix wrong indenting in plain_authorize()
Oleg Drokin [Sat, 16 May 2015 07:38:32 +0000 (03:38 -0400)]
staging/lustre/ptlrpc: Fix wrong indenting in plain_authorize()

smatch highlighted a wrongly indented bit of code that almost
hides the extra assignment.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Only set INTERRUPTIBLE state before calling schedule
Oleg Drokin [Sat, 16 May 2015 07:38:31 +0000 (03:38 -0400)]
staging/lustre: Only set INTERRUPTIBLE state before calling schedule

In __l_wait_event the condition could be a complicated function that does
allocations and other potentialy blocking activities, so it sohuld
not be called in a task state other than RUNNABLE

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: remove useless comment
Luca Ceresoli [Tue, 19 May 2015 09:35:21 +0000 (11:35 +0200)]
staging: rtl8723au: remove useless comment

"step 2" does mean much as there is no "step 1" stated anywhere...

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Greg Kroah-Hartman <gregkh@linux.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: remove useless return value
Luca Ceresoli [Tue, 19 May 2015 09:35:20 +0000 (11:35 +0200)]
staging: rtl8723au: remove useless return value

The loadparam() function cannot fail, it's called only once and its return
value is ignored there.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Greg Kroah-Hartman <gregkh@linux.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: fix sparse warning
Juston Li [Sat, 23 May 2015 05:03:04 +0000 (22:03 -0700)]
staging: rtl8723au: fix sparse warning

change cast to __le16 to fix the following warning:
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:1488:20: warning: cast to restricted __le16

Signed-off-by: Juston Li <juston.h.li@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: remove redundant initialization
Gujulan Elango, Hari Prasath (H.) [Tue, 12 May 2015 10:01:18 +0000 (10:01 +0000)]
staging: rtl8723au: remove redundant initialization

The variable pHalData is initialized twice in this same function with
same value.So removing one of them.

Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@visteon.com>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Use roundup_pow_of_two() in LNetEQAlloc()
Pekka Enberg [Fri, 15 May 2015 18:40:20 +0000 (21:40 +0300)]
staging/lustre: Use roundup_pow_of_two() in LNetEQAlloc()

Use roundup_pow_of_two() and drop the private cfs_power2_roundup()
implementation.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Remove duplicate helpers from libcfs.h
Pekka Enberg [Fri, 15 May 2015 18:40:19 +0000 (21:40 +0300)]
staging/lustre: Remove duplicate helpers from libcfs.h

Remove bunch of duplicate helpers from libcfs.h that are guaranteed to
be present.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Remove __attribute__ definition from libcfs.h
Pekka Enberg [Fri, 15 May 2015 18:40:18 +0000 (21:40 +0300)]
staging/lustre: Remove __attribute__ definition from libcfs.h

Linux requires a GNU C compatible compiler so drop a pointless define.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: check kzalloc return value
Gujulan Elango, Hari Prasath (H.) [Wed, 13 May 2015 10:36:28 +0000 (10:36 +0000)]
staging: lustre: check kzalloc return value

check the return value of kzalloc before accessing the memory pointer

Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: Replace kzalloc and memcpy by kmemdup
Gunasundar, Balamanikandan (B.) [Tue, 12 May 2015 10:35:52 +0000 (10:35 +0000)]
Staging: lustre: Replace kzalloc and memcpy by kmemdup

This patch was generated by 'make coccicheck'

Signed-off-by: Balamanikandan Gunasundar <bgunasun@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: lclient: lcommon_cl.c fixing coding style issues
Ankit Garg [Wed, 6 May 2015 05:33:23 +0000 (11:03 +0530)]
staging: lustre: lclient: lcommon_cl.c fixing coding style issues

This patch fixes the checkpatch.pl warning:

WARNING: else is not generally useful after a break or return
+                       return result;
+               } else {

Signed-off-by: Ankit Garg <kerneldvlper@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agolustre: kill unused helper
Al Viro [Wed, 13 May 2015 22:25:57 +0000 (23:25 +0100)]
lustre: kill unused helper

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agolustre: kill unused macro (LOOKUP_CONTINUE)
Al Viro [Wed, 13 May 2015 22:25:56 +0000 (23:25 +0100)]
lustre: kill unused macro (LOOKUP_CONTINUE)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: off by one in wilc_wfi_cfg80211_mgmt_types
Sasha Levin [Thu, 28 May 2015 15:03:56 +0000 (11:03 -0400)]
staging: wilc1000: off by one in wilc_wfi_cfg80211_mgmt_types

NL80211_IFTYPE_MAX represents the largest interface type number defined,
so declaring the array with that size will actually leave out the last
interface.

This causes invalid memory access whenever this array is used, which starts
happening at boot.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: remove __DRIVER_VERSION__ macro
Arnd Bergmann [Fri, 29 May 2015 20:52:15 +0000 (22:52 +0200)]
staging: wilc1000: remove __DRIVER_VERSION__ macro

The driver version is meaningless, and in particular does not
have to be passed from the Makefile. This removes the macros,
but leaves the behavior of printing the 10.2 version untouched
for the moment.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: remove thread wrapper
Arnd Bergmann [Fri, 29 May 2015 20:52:14 +0000 (22:52 +0200)]
staging: wilc1000: remove thread wrapper

The wilc_thread code is a very thin wrapper around kthread,
so just remove it and use kthread directly.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: remove platform version checks
Arnd Bergmann [Fri, 29 May 2015 20:52:13 +0000 (22:52 +0200)]
staging: wilc1000: remove platform version checks

For code that is integrated into mainline Linux, checks for
the OS platform make no sense, because we know that we
are on Linux.

This removes all checks and the associated dead code.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: remove linux version checks
Arnd Bergmann [Fri, 29 May 2015 20:52:12 +0000 (22:52 +0200)]
staging: wilc1000: remove linux version checks

For code that is integrated into mainline Linux, checks for
the kernel version make no sense, because we know which version
we are compiling against.

This removes all checks and the associated dead code.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/wilc1000: fix Kconfig dependencies
Arnd Bergmann [Thu, 28 May 2015 14:35:42 +0000 (16:35 +0200)]
staging/wilc1000: fix Kconfig dependencies

The newly added wilc1000 driver lacks several Kconfig dependencies,
resulting in a multitude of randconfig build errors, e.g.:

drivers/built-in.o: In function `WILC_WFI_mgmt_tx_cancel_wait':
binder.c:(.text+0x12bd28): undefined reference to `cfg80211_remain_on_channel_expired'
drivers/built-in.o: In function `WILC_WFI_CfgSetChannel':
binder.c:(.text+0x12c9d8): undefined reference to `ieee80211_frequency_to_channel'
drivers/built-in.o: In function `WILC_WFI_CfgAlloc':
binder.c:(.text+0x132530): undefined reference to `wiphy_new_nm'
drivers/built-in.o: In function `wilc_netdev_init':
binder.c:(.text+0x1356d0): undefined reference to `register_inetaddr_notifier'
drivers/built-in.o: In function `linux_spi_init':
binder.c:(.text+0x210a68): undefined reference to `spi_register_driver'

This change ensures that we always have at least one of SPI or MMC
enabled, and are only able to pick an interface that works. It also
adds all the missing dependencies for networking infrastructure
(cfg80211, wext, and ipv4).

In order to make it readable, I also took the liberty of re-indenting
the Kconfig file to the normal conventions.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: Disable for S390
Guenter Roeck [Thu, 28 May 2015 04:32:43 +0000 (21:32 -0700)]
staging: wilc1000: Disable for S390

The wilc1000 driver uses definitions such as DEBUG_LEVEL, DEBUG,
and PRINT_INFO. This causes compile errors on S390 which has similar
definitions in its core code. Disable the driver for S390 instead
of giving the non-standard messaging code credit by trying to fix it.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: Include linux/gpio.h instead of asm/gpio.h
Guenter Roeck [Wed, 27 May 2015 20:02:16 +0000 (13:02 -0700)]
staging: wilc1000: Include linux/gpio.h instead of asm/gpio.h

Fix:

drivers/staging/wilc1000/linux_wlan.c:18:22: fatal error:
asm/gpio.h: No such file or directory

Not every architecture has asm/gpio.h. Include linux/gpio.h instead.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: MAINTAINERS: add maintainer for wilc1000 device
Johnny Kim [Mon, 11 May 2015 05:30:57 +0000 (14:30 +0900)]
staging: MAINTAINERS: add maintainer for wilc1000 device

Add myself as maintainer for atmel wilc1000

Signed-off-by: Johnny Kim <johnny.kim@atmel.com>
Signed-off-by: Rachel Kim <rachel.kim@atmel.com>
Signed-off-by: Dean Lee <dean.lee@atmel.com>
Signed-off-by: Chris Park <chris.park@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: Add SDIO/SPI 802.11 driver
Johnny Kim [Mon, 11 May 2015 05:30:56 +0000 (14:30 +0900)]
staging: wilc1000: Add SDIO/SPI 802.11 driver

This driver is for the wilc1000 which is a single chip IEEE 802.11
b/g/n device.
The driver works together with cfg80211, which is the kernel side of
configuration management for wireless devices because the wilc1000
chipset is fullmac where the MLME is managed in hardware.

The driver worked from kernel version 2.6.38 and being now ported
to several others since then.
A TODO file is included as well in this commit.

Signed-off-by: Johnny Kim <johnny.kim@atmel.com>
Signed-off-by: Rachel Kim <rachel.kim@atmel.com>
Signed-off-by: Dean Lee <dean.lee@atmel.com>
Signed-off-by: Chris Park <chris.park@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: panel: fix stackdump
Sudip Mukherjee [Tue, 12 May 2015 12:06:08 +0000 (17:36 +0530)]
staging: panel: fix stackdump

if we load the module, unload and then again try to load the module, we
will get a stackdump. In the module_exit function we are unregistering
the device and releasing the parport. So when we reach the detach
function parport is already null and the unregister_reboot_notifier()
is never called. When we again try to load the module it again tries
register_reboot_notifier() and gives us a stackdump as its earlier
registration is still not removed. It was caused by the
commit bb046fef9668 ('staging: panel: register reboot')
Fix this by moving all the unregistering and releasing in the detach
function, which should be the ideal case as the detach will be called if
we try to unregister the driver or if the parport is removed.

Fixes: bb046fef9668 ('staging: panel: register reboot')
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: sm750: Fix lynxfb_ops_imageblit() if image->depth != 1
Huacai Chen [Mon, 11 May 2015 03:08:22 +0000 (11:08 +0800)]
staging: sm750: Fix lynxfb_ops_imageblit() if image->depth != 1

If image->depth != 1, lynxfb_ops_imageblit() should fallback to call
cfb_imageblit(), not return directly. Otherwise it can't display the
boot logo.

Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Acked-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: sm750fb: use arch_phys_wc_add() and ioremap_wc()
Luis R. Rodriguez [Thu, 14 May 2015 14:07:55 +0000 (07:07 -0700)]
staging: sm750fb: use arch_phys_wc_add() and ioremap_wc()

The same area used for ioremap() is used for the MTRR area.
Convert the driver from using the x86 specific MTRR code to
the architecture agnostic arch_phys_wc_add(). arch_phys_wc_add()
will avoid MTRR if write-combining is available, in order to
take advantage of that also ensure the ioremap'd area is requested
as write-combining.

There are a few motivations for this:

a) Take advantage of PAT when available

b) Help bury MTRR code away, MTRR is architecture specific and on
   x86 its replaced by PAT

c) Help with the goal of eventually using _PAGE_CACHE_UC over
   _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
   de33c442e titled "x86 PAT: fix performance drop for glx,
   use UC minus for ioremap(), ioremap_nocache() and
   pci_mmap_page_range()")

The conversion done is expressed by the following Coccinelle
SmPL patch, it additionally required manual intervention to
address all the #ifdery and removal of redundant things which
arch_phys_wc_add() already addresses such as verbose message
about when MTRR fails and doing nothing when we didn't get
an MTRR.

@ mtrr_found @
expression index, base, size;
@@

-index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
+index = arch_phys_wc_add(base, size);

@ mtrr_rm depends on mtrr_found @
expression mtrr_found.index, mtrr_found.base, mtrr_found.size;
@@

-mtrr_del(index, base, size);
+arch_phys_wc_del(index);

@ mtrr_rm_zero_arg depends on mtrr_found @
expression mtrr_found.index;
@@

-mtrr_del(index, 0, 0);
+arch_phys_wc_del(index);

@ mtrr_rm_fb_info depends on mtrr_found @
struct fb_info *info;
expression mtrr_found.index;
@@

-mtrr_del(index, info->fix.smem_start, info->fix.smem_len);
+arch_phys_wc_del(index);

@ ioremap_replace_nocache depends on mtrr_found @
struct fb_info *info;
expression base, size;
@@

-info->screen_base = ioremap_nocache(base, size);
+info->screen_base = ioremap_wc(base, size);

@ ioremap_replace_default depends on mtrr_found @
struct fb_info *info;
expression base, size;
@@

-info->screen_base = ioremap(base, size);
+info->screen_base = ioremap_wc(base, size);

Generated-by: Coccinelle SmPL
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Suresh Siddha <sbsiddha@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Juergen Gross <jgross@suse.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: devel@driverdev.osuosl.org
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: I2O cleanup
Valentin Rothberg [Thu, 14 May 2015 13:43:59 +0000 (15:43 +0200)]
staging: I2O cleanup

Remove the last reference on menuconfig I20 that has been removed by
commit 4a72a7af462d ("staging: remove i2o subsystem").

Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: cleanup UNISYS_VISORUTIL
Valentin Rothberg [Thu, 14 May 2015 13:50:32 +0000 (15:50 +0200)]
staging: unisys: cleanup UNISYS_VISORUTIL

Commit 53490b545cb0 ("staging: unisys: move periodic_work.c into the
visorbus directory") removed the Kconfig option UNISYS_VISORUTIL, but
left one reference in a Kconfig select.  Remove this last reference.

Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Convert device functions to pass dev_info pointer around
Don Zickus [Wed, 13 May 2015 17:22:25 +0000 (13:22 -0400)]
staging: unisys: Convert device functions to pass dev_info pointer around

Most device functions pass bus_no and dev_no around and then do a lookup
inside each function to find the dev_info struct.  Instead just pass the
pointer.

This prepares us for a later conversion to using visor device.

No real technical changes.  Just function header changes and little
cleanups as a result.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Convert bus functions to pass bus_info pointer around
Don Zickus [Wed, 13 May 2015 17:22:24 +0000 (13:22 -0400)]
staging: unisys: Convert bus functions to pass bus_info pointer around

Most bus functions pass bus_no around and then do a lookup inside each
function to find the bus_info struct.  Instead just pass the pointer.

This prepares us for a later conversion to using visor_device.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Convert the device attributes to visor_device
Don Zickus [Wed, 13 May 2015 17:22:23 +0000 (13:22 -0400)]
staging: unisys: Convert the device attributes to visor_device

Convert the device attribute files to properly use visor_device.
This removes a whole bunch of checks and assumptions and simplifies
the code.  Everything is straightforward.

No testing down as I can't mimic channel info correctl.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Remove unused intr
Don Zickus [Wed, 13 May 2015 17:22:22 +0000 (13:22 -0400)]
staging: unisys: Remove unused intr

The conversion to visor_device caused some compile issues.The main
problem was the new fields in 'struct visor_device' were not public.
Remove one that wasn't being used for now.

struct irq_info intr

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Add checks for creation
Don Zickus [Wed, 13 May 2015 17:22:21 +0000 (13:22 -0400)]
staging: unisys: Add checks for creation

There was a bunch of channel creation checks before the
visorchannel_create function was called, moving some of those
checks inside.  This keeps the outside code cleaner and handles
the situation where a caller forgets to make these checks.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Add a function to set the clientpartition
Don Zickus [Wed, 13 May 2015 17:22:20 +0000 (13:22 -0400)]
staging: unisys: Add a function to set the clientpartition

This patch is an attempt to help hide the channel info behind
accessory functions.  I was trying to keep visorchannel as private
as possible.

The only function missing that seemed to be needed for now was
the ability to set the clientpartition.  So I expose that here.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Add visor device find routine
Don Zickus [Wed, 13 May 2015 17:22:19 +0000 (13:22 -0400)]
staging: unisys: Add visor device find routine

If we are going to remove the bus_info structs than we need a way
to find the devices when the *_create/destroy cmds are sent over
the vmchannel.

This function crudely impements what pci has.  It takes a bus_no
and dev_no and finds the matching 'struct visor_device'.

This function can/should be optimzed later once we get our heads
wrapped around its needs.  For now, I am using dev_no=0 to mean
the visorbus itself.

The function is limited to chipset.c only because it is only needed
to do the lookups upon receiving a vmchannel command.  Future patches
will make sure the resulting 'struct visor_device' is used every
where else.

Also allow visorbus_type to be more visible for use.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Prep for removing 'info' structs
Don Zickus [Wed, 13 May 2015 17:22:18 +0000 (13:22 -0400)]
staging: unisys: Prep for removing 'info' structs

The visorbus driver has three _info structs lying around
(device, bus, channel) that store subsets of info from the
bigger structs.

Having these structs around make resource handling very difficult
and more complicated than it needs to be.  Use the device
infrastructure and instead pass 'struct visor_device' all
over the place.

In order to do that 'struct visor_device' needs to get smarter.
This patch adds the pieces to prep for it.  The new elements
will be used in later patches.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Clean up device sysfs attributes
Don Zickus [Wed, 13 May 2015 17:22:17 +0000 (13:22 -0400)]
staging: unisys: Clean up device sysfs attributes

Properly hook into the struct device groups element.  This allows the
core infrastructure to manage the files instead of the bus layer.  And
makes the code easier to read.

I didn't clean up the _show functions just modified them a bit to handle
the different args for now and to prevent a build warning.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Remove dead kobj structs
Don Zickus [Wed, 13 May 2015 17:22:16 +0000 (13:22 -0400)]
staging: unisys: Remove dead kobj structs

Remove stale code.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Properly move version file into bus attr
Don Zickus [Wed, 13 May 2015 17:22:15 +0000 (13:22 -0400)]
staging: unisys: Properly move version file into bus attr

Simplify things by moving the version file handling into the core.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Move the visorbus device underneath devices
Don Zickus [Wed, 13 May 2015 17:22:14 +0000 (13:22 -0400)]
staging: unisys: Move the visorbus device underneath devices

Mimicing what other drivers do, this seems appropriate.  Yeah, it
is a bus, but it is a bus _device_.  This makes things work better
and smoother.  Now the sysfs looks like

[root@dhcp-17-174 visorbus]# ls -l /sys/bus/visorbus/devices/
total 0
lrwxrwxrwx. 1 root root 0 Apr 17 16:09 vbus1:dev2 ->
../../../devices/visorbus1/vbus1:dev2
lrwxrwxrwx. 1 root root 0 Apr 17 16:09 visorbus1 ->
../../../devices/visorbus1

Which looks correct.  All the attributes are still correct too, based on my
very minimal testing of 'ls -lR'. :-)

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Wire up proper device attr for bus
Don Zickus [Wed, 13 May 2015 17:22:13 +0000 (13:22 -0400)]
staging: unisys: Wire up proper device attr for bus

This patch moves the attributes to underneath the bus device correctly.
This will help remove a bunch of cruft from the code and let the kernel
infrastructure manage the sysfs files instead of the driver.

After the move remove all the leftover code.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Embed struct device for easier handling of attr
Don Zickus [Wed, 13 May 2015 17:22:12 +0000 (13:22 -0400)]
staging: unisys: Embed struct device for easier handling of attr

Handling the sysfs attributes become easier to deal with when you can just
run container_of(dev) to get devdata.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Remove temporarily added visorbus/ include in Makefile
Don Zickus [Wed, 13 May 2015 17:22:11 +0000 (13:22 -0400)]
staging: unisys: Remove temporarily added visorbus/ include in Makefile

Now that the header file movement is complete, remove the temporary ccflags
include

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: remove remaining utility headers
David Kershner [Wed, 13 May 2015 17:22:10 +0000 (13:22 -0400)]
staging: unisys: remove remaining utility headers

remove uisqueue.h, uisthread.h, and uisutils.h
replace HOSTADDRESS with u64
remove "uisutils.h" from header list in visorchipset.c

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: get rid of sparstop
David Kershner [Wed, 13 May 2015 17:22:09 +0000 (13:22 -0400)]
staging: unisys: get rid of sparstop

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Get rid of references to common-spar
David Kershner [Wed, 13 May 2015 17:22:08 +0000 (13:22 -0400)]
staging: unisys: Get rid of references to common-spar

Makefiles still had common-spar listed in ccflags.

This gets rid of them.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Move files out of common-spar
David Kershner [Wed, 13 May 2015 17:22:07 +0000 (13:22 -0400)]
staging: unisys: Move files out of common-spar

Move last three files out of common-spar

iochannel.h --> include (will be used by visorhba and visornic)
version.h --> moved to include
controlvmcompletionstatus.h --> moved to visorbus, part of
controlvmchannel.h

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Move diagchannel to include
David Kershner [Wed, 13 May 2015 17:22:06 +0000 (13:22 -0400)]
staging: unisys: Move diagchannel to include

Diagchannel needs to go to standard include.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: vbuschannel belonsg to visorbus
David Kershner [Wed, 13 May 2015 17:22:05 +0000 (13:22 -0400)]
staging: unisys: vbuschannel belonsg to visorbus

Move vbuschannel.h into visorbus.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Move channel.h to include. Controvlm to visorbus
David Kershner [Wed, 13 May 2015 17:22:04 +0000 (13:22 -0400)]
staging: unisys: Move channel.h to include. Controvlm to visorbus

Channel.h is used by all channels, it needs to be in include.
Controlvm Channel is only used by visorbus, it needs to just be there.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Move controlframework into controlvmchannel.h
David Kershner [Wed, 13 May 2015 17:22:03 +0000 (13:22 -0400)]
staging: unisys: Move controlframework into controlvmchannel.h

Controlframework was only needed by controlvmchannel, move the
structures into that header file.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: move hypervisor calls into visorbus
David Kershner [Wed, 13 May 2015 17:22:02 +0000 (13:22 -0400)]
staging: unisys: move hypervisor calls into visorbus

Move hypervisor calls into visorbus and move vbusdeviceinfo.h into
visorbus.
Drivers will call into that to update clientInfo field.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Temporarily add visorbus/ ccflags
Don Zickus [Wed, 13 May 2015 17:22:01 +0000 (13:22 -0400)]
staging: unisys: Temporarily add visorbus/ ccflags

To prep for the moving of include files, temporarily add the
visorbus/ as a ccflags -I.  Once the header files are all
transitioned, we can remove this.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Include missing headers
Jes Sorensen [Wed, 13 May 2015 17:22:00 +0000 (13:22 -0400)]
staging: unisys: Include missing headers

This preps for the possible build breakage in the next few
patches.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
[updated changelog to reflect new patch order; instead
of 'fixes' the patch 'prevents' - dcz]
Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Remove appos_subsystems.h
David Kershner [Wed, 13 May 2015 17:21:59 +0000 (13:21 -0400)]
staging: unisys: Remove appos_subsystems.h

Get rid of common-spar/include/diagnostics/appos_subsystems.h.

No one is using it.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Remove unused livedump_info
Jes Sorensen [Wed, 13 May 2015 17:21:58 +0000 (13:21 -0400)]
staging: unisys: Remove unused livedump_info

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: visorchipset_init(): Simplify initial checks
Jes Sorensen [Wed, 13 May 2015 17:21:57 +0000 (13:21 -0400)]
staging: unisys: visorchipset_init(): Simplify initial checks

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: Remove unused visorchipset_save_message()
Jes Sorensen [Wed, 13 May 2015 17:21:56 +0000 (13:21 -0400)]
staging: unisys: Remove unused visorchipset_save_message()

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: visorchipset_file_{init, cleanup}(): mark static
Jes Sorensen [Wed, 13 May 2015 17:21:55 +0000 (13:21 -0400)]
staging: unisys: visorchipset_file_{init, cleanup}(): mark static

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging:Android:ion - Fix for memory leak if ion device registration get failed.
Shailendra Verma [Tue, 19 May 2015 14:59:00 +0000 (20:29 +0530)]
Staging:Android:ion - Fix for memory leak if ion device registration get failed.

Fix to avoid possible memory leak if the ion device registration
get failed.Free the allocated device creation memory before return
in case the ion device registration get failed.

Signed-off-by: Shailendra Verma <shailendra.capricorn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: android: Add more help description on Kconfig
Jagan Teki [Mon, 18 May 2015 14:20:17 +0000 (19:50 +0530)]
staging: android: Add more help description on Kconfig

This patch adds more help description on android Kconfig for
- lowmemory killer
- Timed gpio (same for timed output)

Signed-off-by: Jagan Teki <jteki@openedev.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Brian Swetland <swetland@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: comedi: fix style for multi-line comments in cb_pcidas64.c
Amaury Denoyelle [Tue, 19 May 2015 17:57:50 +0000 (19:57 +0200)]
Staging: comedi: fix style for multi-line comments in cb_pcidas64.c

This patch reformat multi-line comments which are not properly written
according to the kernel coding style in cb_pcidas64.c

Signed-off-by: Amaury Denoyelle <amaury.denoyelle@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: comedi: fix line longer than 80 chars in cb_pcidas64.c
Amaury Denoyelle [Tue, 19 May 2015 17:57:49 +0000 (19:57 +0200)]
Staging: comedi: fix line longer than 80 chars in cb_pcidas64.c

This patch fixes coding style errors reported by checkpatch.pl for
cb_pcidas64.c, about too long source code lines.

Signed-off-by: Amaury Denoyelle <amaury.denoyelle@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoDrivers: staging: comedi: comedi: Fixed comment spelling error
Colin Cronin [Thu, 14 May 2015 01:05:15 +0000 (18:05 -0700)]
Drivers: staging: comedi: comedi: Fixed comment spelling error

Fixed a spelling error in a comment.

Signed-off-by: Colin Cronin <colinpatrickcronin@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoMerge tag 'iio-for-v4.2b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Greg Kroah-Hartman [Sun, 24 May 2015 18:45:21 +0000 (11:45 -0700)]
Merge tag 'iio-for-v4.2b' of git://git./linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second set of new driver, functionality and cleanups for IIO in the 4.2 cycle.

Core functionality
* i and q modifiers from quadrature channels.
* IIO_CHAN_INFO_OVERSAMPLING_RATIO added.
* High pass filter attributes added to mirror the existing low pass filter
  ones.

Core cleanups
* Make IIO tools building more cross compiler friendly.
* Substantial rework of the function __iio_update_buffers to greatly simplify
  a hideously evolved function.

New drivers and support
* ACPI0008 ambient light sensor driver. This one has been around a long time to
  will be good to finally get it into mainline.
* Berlin SOC ADC support.
* BMC150 magnetometer.  The accelerometer in the same package has been supported
  for quite some time, so good to have this half as well.
* m62332 DAC driver
* MEMSIC MMC35420 magnetometer.
* ROHM BH1710 and similar ambient light sensors.
* Sensortek STK3310 light sensor.
* Sensortek STK8312 accelerometer.
* Sensortek STK8BA50 accelerometer.
* ti-adc128s052 gains support form the adc122s021 2 channel ADC.

Driver cleanups and functionality.
* Allow various drivers to compile with !GPIOLIB if COMPILE_TEST enabled.
* bmc150 - decouple trigger from buffer to allow other triggers to be used.
* bmg160 - decouple trigger from buffer to allow other triggers to be used.
  Fix a trivial unused field.
* Constify a load of platform_device_id structures.
* inv_mpu6050 - device tree bindings.
* hid-sensors - fix a memory leak during probe if certain errors occur.
* ltr501 - illuminance channel derived (in an non obvious fashion) from the
  intensity channels.
* ltr501 - fix a boundary check on the proximity threshold.
* mlx90614 - drop a pointless return.
* mma8452 - Debugfs register access and fix a bug that had no effect (by
  coincidence)
* ti_am335x_adc - add device tree bindings for sample-delay, open-delay and
  averaging.  The ideal settings for these tend to be board design specific.

9 years agoiio: accel: Add support for Sensortek STK8BA50
Tiberiu Breana [Mon, 18 May 2015 11:49:50 +0000 (14:49 +0300)]
iio: accel: Add support for Sensortek STK8BA50

Minimal implementation of an IIO driver for the Sensortek
STK8BA50 3-axis accelerometer. Datasheet:
http://szgsensor.com/uploads/soft/141229/STK8BA50%D2%E5%BC%CE.pdf

Includes:
- ACPI support;
- read_raw for x,y,z axes;
- reading and setting the scale (range) parameter.
- power management

Signed-off-by: Tiberiu Breana <tiberiu.a.breana@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: __iio_update_buffers: Leave device in sane state on error
Lars-Peter Clausen [Mon, 18 May 2015 11:34:49 +0000 (13:34 +0200)]
iio: __iio_update_buffers: Leave device in sane state on error

Currently when something goes wrong at some step when disabling the buffers
we immediately abort. This has the effect that the enable/disable calls are
no longer balanced. So make sure that even if one step in the disable
sequence fails the other steps are still executed.

The other issue is that when either enable or disable fails buffers that
were active at that time stay active while the device itself is disabled.
This leaves things in a inconsistent state and can cause unbalanced
enable/disable calls. Furthermore when enable fails we restore the old scan
mask, but still keeps things disabled.

Given that verification of the configuration was performed earlier and it
is valid at the point where we try to enable/disable the most likely reason
of failure is a communication failure with the device or maybe a
out-of-memory situation. There is not really a good recovery strategy in
such a case, so it makes sense to leave the device disabled, but we should
still leave it in a consistent state.

What the patch does if disable/enable fails is to deactivate all buffers
and make sure that the device will be in the same state as if all buffers
had been manually disabled.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: __iio_update_buffers: Split enable and disable path into helper functions
Lars-Peter Clausen [Mon, 18 May 2015 11:34:48 +0000 (13:34 +0200)]
iio: __iio_update_buffers: Split enable and disable path into helper functions

__iio_update_buffers is already a rather large function with many different
error paths and it is going to get even larger. This patch factors out the
device enable and device disable paths into separate helper functions.

The patch also re-implements iio_disable_all_buffers() using the new
iio_disable_buffers() function removing a fair bit of redundant code.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: __iio_update_buffers: Verify configuration before starting to apply it
Lars-Peter Clausen [Mon, 18 May 2015 11:34:47 +0000 (13:34 +0200)]
iio: __iio_update_buffers: Verify configuration before starting to apply it

Currently __iio_update_buffers() verifies whether the new configuration
will work in the middle of the update sequence. This means if the new
configuration is invalid we need to rollback the changes already made. This
patch moves the validation of the new configuration at the beginning of
__iio_update_buffers() and will not start to make any changes if the new
configuration is invalid.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio:adc128s052: add support for adc122s021
Urs Fässler [Mon, 18 May 2015 13:22:44 +0000 (15:22 +0200)]
iio:adc128s052: add support for adc122s021

Signed-off-by: Urs Fässler <urs.fassler@bytesatwork.ch>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: Add I/Q modifiers
Lars-Peter Clausen [Fri, 22 May 2015 16:17:38 +0000 (18:17 +0200)]
iio: Add I/Q modifiers

I/Q modifiers can be used to denote signals which are represented by a
in-phase and a quadrature component.

The ABI documentation describes the I and Q modifiers for current and
voltage channels for now as those will be the most likely users.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoDocumentation: bindings: document the Berlin ADC driver
Antoine Tenart [Mon, 18 May 2015 09:19:19 +0000 (11:19 +0200)]
Documentation: bindings: document the Berlin ADC driver

Following the addition of a Berlin ADC driver, this patch adds the
corresponding bindings documentation.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: adc: add support for Berlin
Antoine Tenart [Mon, 18 May 2015 09:19:18 +0000 (11:19 +0200)]
iio: adc: add support for Berlin

This patch adds the support of the Berlin ADC, available on Berlin SoCs.
This ADC has 8 channels available, with one connected to a temperature
sensor.

The particularity here, is that the temperature sensor connected to the
ADC has its own registers, and both the ADC and the temperature sensor
must be configured when using it.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoMerge 4.1-rc4 into staging-next
Greg Kroah-Hartman [Mon, 18 May 2015 20:52:44 +0000 (13:52 -0700)]
Merge 4.1-rc4 into staging-next

We want the fixes in here for testing and merge issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoLinux 4.1-rc4
Linus Torvalds [Mon, 18 May 2015 17:13:47 +0000 (10:13 -0700)]
Linux 4.1-rc4

9 years agowatchdog: Fix merge 'conflict'
Peter Zijlstra [Mon, 18 May 2015 09:31:50 +0000 (11:31 +0200)]
watchdog: Fix merge 'conflict'

Two watchdog changes that came through different trees had a non
conflicting conflict, that is, one changed the semantics of a variable
but no actual code conflict happened. So the merge appeared fine, but
the resulting code did not behave as expected.

Commit 195daf665a62 ("watchdog: enable the new user interface of the
watchdog mechanism") changes the semantics of watchdog_user_enabled,
which thereafter is only used by the functions introduced by
b3738d293233 ("watchdog: Add watchdog enable/disable all functions").

There further appears to be a distinct lack of serialization between
setting and using watchdog_enabled, so perhaps we should wrap the
{en,dis}able_all() things in watchdog_proc_mutex.

This patch fixes a s2r failure reported by Michal; which I cannot
readily explain. But this does make the code internally consistent
again.

Reported-and-tested-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoMerge tag 'for-linus-20150516' of git://git.infradead.org/linux-mtd
Linus Torvalds [Mon, 18 May 2015 17:01:54 +0000 (10:01 -0700)]
Merge tag 'for-linus-20150516' of git://git.infradead.org/linux-mtd

Pull MTD fixes from Brian Norris:
 "Two MTD fixes for 4.1:

   - readtest: the signal-handling code was clobbering the error codes
     we should be handling/reporting in this test, rendering it useless.
     Noticed by Coverity.

   - the common SPI NOR flash DT binding (merged for 4.1-rc1) is being
     revised, so let's change that before 4.1 is minted"

* tag 'for-linus-20150516' of git://git.infradead.org/linux-mtd:
  Documentation: dt: mtd: replace "nor-jedec" binding with "jedec, spi-nor"
  mtd: readtest: don't clobber error reports

9 years agoiio: accel: Add support for Sensortek STK8312
Tiberiu Breana [Tue, 12 May 2015 15:48:42 +0000 (18:48 +0300)]
iio: accel: Add support for Sensortek STK8312

Minimal implementation of an IIO driver for the Sensortek
STK8312 3-axis accelerometer. Datasheet:
http://www.syi-group.com/uploadpic/data/201361817562681623.pdf

Includes:
- ACPI support;
- read_raw for x,y,z axes;
- reading and setting the scale (range) parameter.
- power management

Signed-off-by: Tiberiu Breana <tiberiu.a.breana@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: accel: bmc150: decouple buffer and triggers
Vlad Dogaru [Tue, 12 May 2015 14:03:24 +0000 (17:03 +0300)]
iio: accel: bmc150: decouple buffer and triggers

If the interrupt pins are not available, we should still be able to use
the buffer with an external trigger.  However, we won't be able to use
the hardware fifo since we have no means of signalling when the
watermark is reached.

I also added a comment to indicate that the timestamps in
bmc150_accel_data are only used for hardware fifo, since initially I was
confused about duplication with pf->timestamp.

Signed-off-by: Vlad Dogaru <vlad.dogaru@intel.com>
Reviewed-by: Octavian Purdila <octavian.purdila@intel.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: core: add high pass filter attributes
Martin Fuzzey [Wed, 13 May 2015 10:26:42 +0000 (12:26 +0200)]
iio: core: add high pass filter attributes

Add a high pass filter attribute for measurements
(like the existing low pass)

Also add both high and low pass attributes for events.

Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: mma8452: Add access to registers via DebugFS
Martin Fuzzey [Wed, 13 May 2015 10:26:40 +0000 (12:26 +0200)]
iio: mma8452: Add access to registers via DebugFS

Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: mma8452: Initialise before activating
Martin Fuzzey [Wed, 13 May 2015 10:26:38 +0000 (12:26 +0200)]
iio: mma8452: Initialise before activating

Many of the hardware configuration registers may only be modified while the
device is inactive.

Currently the probe code first activates the device and then modifies the
registers (eg to set the scale). This doesn't actually work but is not
noticed since the scale used is the default value.

While at it also issue a hardware reset command at probe time.

Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: gyro: bmg160: decouple buffer and triggers
Vlad Dogaru [Wed, 13 May 2015 13:30:09 +0000 (16:30 +0300)]
iio: gyro: bmg160: decouple buffer and triggers

Make it possible to use buffering with an external trigger, such as one
based on sysfs or hrtimer.

Signed-off-by: Vlad Dogaru <vlad.dogaru@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: gyro: bmg160: remove redundant field
Vlad Dogaru [Wed, 13 May 2015 13:30:08 +0000 (16:30 +0300)]
iio: gyro: bmg160: remove redundant field

Replace the 'timestamp' field in struct bmg160_data with the identically
named field in iio_poll_func and with calls to iio_get_time_ns().

The reported timestamps may be slightly different, but the advantage is
that we no longer assume that the buffer of bmg160 is triggered by its
own trigger.

Signed-off-by: Vlad Dogaru <vlad.dogaru@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: __iio_update_buffers: Perform request_update() only for new buffers
Lars-Peter Clausen [Wed, 13 May 2015 14:04:46 +0000 (16:04 +0200)]
iio: __iio_update_buffers: Perform request_update() only for new buffers

We only have to call the request_update() callback for a newly inserted
buffer. The configuration of the already previously active buffers will not
have changed.

This also allows us to move the request_update() call to the beginning of
__iio_update_buffers(), before any currently active buffers are stopped.
This makes the error handling a lot easier since no changes were made to
the buffer list and no rollback needs to be performed.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: __iio_update_buffers: Slightly refactor scan mask memory management
Lars-Peter Clausen [Wed, 13 May 2015 14:04:45 +0000 (16:04 +0200)]
iio: __iio_update_buffers: Slightly refactor scan mask memory management

Add a small helper function iio_free_scan_mask() that takes a mask and
frees its memory if the scan masks for the device are dynamically
allocated, otherwise does nothing. This means we don't have to open-code
the same check over and over again in __iio_update_buffers.

Also free compound_mask as soon a we are done using it. This constrains its
usage to a specific region of the function will make further refactoring
and splitting the function into smaller sub-parts more easier.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: Replace printk in __iio_update_buffers with dev_dbg
Lars-Peter Clausen [Wed, 13 May 2015 14:04:44 +0000 (16:04 +0200)]
iio: Replace printk in __iio_update_buffers with dev_dbg

While more verbose error messages are useful for debugging we should really
not put those error messages into the kernel log for normal errors that are
already reported to the application via the error code, when running in
non-debug mode.

Otherwise application authors might expect that this is part of the ABI and
to get the error they should scan the kernel log. Which would be rather
error prone itself since there is no direct mapping between a operation and
the error message so it is impossible to find out which error message
belongs to which error.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: add m62332 DAC driver
Dmitry Eremin-Solenikov [Thu, 14 May 2015 14:21:16 +0000 (17:21 +0300)]
iio: add m62332 DAC driver

m62332 is a simple 2-channel DAC used on several Sharp Zaurus boards to
control LCD voltage, backlight and sound. The driver use regulators to
control the reference voltage and enabling/disabling the DAC.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: ltr501: Add light channel support
Kuppuswamy Sathyanarayanan [Sat, 16 May 2015 01:23:21 +0000 (18:23 -0700)]
iio: ltr501: Add light channel support

Added support to calculate lux value from visible
and IR spectrum adc count values. Also added IIO_LIGHT
channel to enable user read the lux value directly
from device using illuminance input ABI.

Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: pressure: hid-sensor-press: Fix memory leak in probe()
Fabio Estevam [Wed, 13 May 2015 18:06:14 +0000 (15:06 -0300)]
iio: pressure: hid-sensor-press: Fix memory leak in probe()

'channels' is allocated via kmemdup and it is never freed in the
subsequent error paths.

Use 'indio_dev->channels' directly instead, so that we avoid such
memory leak problem.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: orientation: hid-sensor-rotation: Fix memory leak in probe()
Fabio Estevam [Wed, 13 May 2015 18:06:13 +0000 (15:06 -0300)]
iio: orientation: hid-sensor-rotation: Fix memory leak in probe()

'channels' is allocated via kmemdup and it is never freed in the
subsequent error paths.

Use 'indio_dev->channels' directly instead, so that we avoid such
memory leak problem.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
9 years agoiio: orientation: hid-sensor-incl-3d: Fix memory leak in probe()
Fabio Estevam [Wed, 13 May 2015 18:06:12 +0000 (15:06 -0300)]
iio: orientation: hid-sensor-incl-3d: Fix memory leak in probe()

'channels' is allocated via kmemdup and it is never freed in the
subsequent error paths.

Use 'indio_dev->channels' directly instead, so that we avoid such
memory leak problem.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>