openwrt/staging/blogic.git
11 years agostaging:iio: Remove unnecessary casts for iio_push_to_buffers()
Lars-Peter Clausen [Sun, 15 Sep 2013 16:50:00 +0000 (17:50 +0100)]
staging:iio: Remove unnecessary casts for iio_push_to_buffers()

Now that iio_push_to_buffers() takes a void pointer for the data parameter we
can remove those casts to u8*.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: Remove unnecessary casts for iio_push_to_buffers()
Lars-Peter Clausen [Sun, 15 Sep 2013 16:50:00 +0000 (17:50 +0100)]
iio: Remove unnecessary casts for iio_push_to_buffers()

Now that iio_push_to_buffers() takes a void pointer for the data parameter we
can remove those casts to u8*.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: iio_push_to_buffers(): Change type of 'data' to const void *
Lars-Peter Clausen [Sun, 15 Sep 2013 16:50:00 +0000 (17:50 +0100)]
iio: iio_push_to_buffers(): Change type of 'data' to const void *

Change the type of the 'data' parameter for iio_push_to_buffers() from 'u8 *' to
'const void *'. Drivers typically use the correct type (e.g. __be16 *) for their
data buffer. When passing the buffer to iio_push_to_buffers() it needs to be
cast to 'u8 *' for the compiler to not complain (and also having to add __force
if we want to keep sparse happy as well). Since the buffer implementation should
not care about the data layout (except the size of one sample) using a void
pointer is the correct thing to do. Also make it const as the buffer
implementations are not supposed to modify it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio:buffer_cb: Constify iio_cb_access
Lars-Peter Clausen [Sun, 15 Sep 2013 16:09:00 +0000 (17:09 +0100)]
iio:buffer_cb: Constify iio_cb_access

The iio_cb_access struct is never modified so we can mark it as const.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: Fix tcs3472 buffer size
Peter Meerwald [Sun, 15 Sep 2013 15:52:00 +0000 (16:52 +0100)]
iio: Fix tcs3472 buffer size

and drop obsolete #define

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio:temperature:tmp006 put sampling_frequency in info_mask_shared_by_all
Jonathan Cameron [Sun, 8 Sep 2013 13:57:00 +0000 (14:57 +0100)]
iio:temperature:tmp006 put sampling_frequency in info_mask_shared_by_all

Doing this makes it possible to access this control from within the kernel.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Peter Meerwald <pmeerw@pmeerw.net>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
11 years agostaging:iio: dummy driver additions to show shared_by_dir infomask usage
Jonathan Cameron [Sun, 8 Sep 2013 13:57:00 +0000 (14:57 +0100)]
staging:iio: dummy driver additions to show shared_by_dir infomask usage

Note that as this driver has output as well as output channels an
example of info_mask_shared_by_all that makes any sense does not exist.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
11 years agoiio: add info_mask_[shared_by_dir/shared_by_all]
Jonathan Cameron [Sun, 8 Sep 2013 13:57:00 +0000 (14:57 +0100)]
iio: add info_mask_[shared_by_dir/shared_by_all]

These two additional info_mask bitmaps should allow all 'standard'
numeric attributes to be handled using the read_raw and write_raw
callbacks.  Whilst this should reduce code, the more important element
is that this makes these values easily accessible to in kernel users
of IIO devices.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
11 years agoiio: refactor info mask and ext_info attribute creation.
Jonathan Cameron [Sun, 8 Sep 2013 13:57:00 +0000 (14:57 +0100)]
iio: refactor info mask and ext_info attribute creation.

Introduce an enum to specify whether the attribute is separate or
shared.

Factor out the bitmap handling for loop into a separate function.

Tidy up error handling and add a NULL assignment to squish a false
positive warning from GCC.

Change ext_info shared type from boolean to enum and update in all
drivers.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
11 years agoiio: drop info_mask from struct iio_dev
Jonathan Cameron [Sun, 8 Sep 2013 13:57:00 +0000 (14:57 +0100)]
iio: drop info_mask from struct iio_dev

Somehow this got missed when dropping all the code that used it
prior to the split.  Remove it now, there are no users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
11 years agoiio:kfifo_buf: Use wake_up_interruptible_poll()
Lars-Peter Clausen [Sun, 15 Sep 2013 15:31:00 +0000 (16:31 +0100)]
iio:kfifo_buf: Use wake_up_interruptible_poll()

Use wake_up_interruptible_poll() instead of wake_up_interruptible() to only wake
up those threads that listen for input poll notifications.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio:buffer: Simplify iio_buffer_is_active()
Lars-Peter Clausen [Sun, 15 Sep 2013 15:31:00 +0000 (16:31 +0100)]
iio:buffer: Simplify iio_buffer_is_active()

We can skip having to loop through all the device's buffers to see if a certain
buffer is active, if we let the buffer's list head point to itself when the
buffer is inactive.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: use anon_inode_getfd() with O_CLOEXEC flag
Yann Droneaud [Fri, 6 Sep 2013 10:39:00 +0000 (11:39 +0100)]
iio: use anon_inode_getfd() with O_CLOEXEC flag

IIO uses anon_inode_get() to allocate file descriptors as part
of its ioctls. But those ioctls are lacking a flag argument
allowing userspace to choose options for the newly opened file
descriptor.

In such case it's advised to use O_CLOEXEC by default so that
userspace is allowed to choose, without race, if the file descriptor
is going to be inherited across exec().

KVM usage of anon_inode_getfd() was fixed in a previous patchset [1],
so IIO is the only subsystem using anon_inode_getfd() with a fixed set
of flags not including O_CLOEXEC.

This patch set O_CLOEXEC flag on the event file descriptor created
with anon_inode_getfd() to not leak file descriptors across exec().

Links:

- Secure File Descriptor Handling (Ulrich Drepper, 2008)
  http://udrepper.livejournal.com/20407.html

- Excuse me son, but your code is leaking !!! (Dan Walsh, March 2012)
  http://danwalsh.livejournal.com/53603.html

- [1] kvm: use anon_inode_getfd() with O_CLOEXEC flag
  http://lkml.kernel.org/r/cover.1377372576.git.ydroneaud@opteya.com

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: gp2ap020a00f: Add a driver for the device
Jacek Anaszewski [Mon, 9 Sep 2013 15:23:00 +0000 (16:23 +0100)]
iio: gp2ap020a00f: Add a driver for the device

Add a new driver for the ambient light/proximity sensor
device. The driver exposes three channels: light_clear
light_ir and proximity. It also supports triggered buffer,
high and low ambient light threshold event and proximity
detection events.

Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoDT: Add documentation for gp2ap020a00f sensor
Jacek Anaszewski [Wed, 21 Aug 2013 15:06:00 +0000 (16:06 +0100)]
DT: Add documentation for gp2ap020a00f sensor

This patch adds device tree binding documentation
for the gp2ap020a00f proximity/als sensor.

Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: Add tcs3472 color light sensor driver
Peter Meerwald [Sat, 14 Sep 2013 19:38:00 +0000 (20:38 +0100)]
iio: Add tcs3472 color light sensor driver

chip has four 16-bit channels for red, green, blue, clear color
intensity; driver supports the TCS3x7x family of devices and was
tested with a TCS34725 chip; further information here:
http://www.ams.com/eng/Products/Light-Sensors/Color-Sensor/TCS34725

v2 (thanks to Jonathan Cameron):
* drop dynamic buffer allocation, buffer is in tcs3472_data
* limit sysfs output to PAGE_SIZE
* check val2 == 0 when writing CALIBSCALE

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Cc: Jon Brenner <jon.brenner@ams.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: pressure-core: st: Allow for number of channels to vary
Lee Jones [Tue, 10 Sep 2013 12:49:00 +0000 (13:49 +0100)]
iio: pressure-core: st: Allow for number of channels to vary

At the moment the number of channels specified is dictated by the first
sensor supported by the driver. As we add support for more sensors this
is likely to vary. Instead of using the ARRAY_SIZE() of the LPS331AP's
channel specifier we'll use a new adaptable 'struct st_sensors' element
instead.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: pressure-core: st: Expand and rename LPS331AP's channel descriptor
Lee Jones [Tue, 10 Sep 2013 12:49:00 +0000 (13:49 +0100)]
iio: pressure-core: st: Expand and rename LPS331AP's channel descriptor

Due to the MACRO used, the task of reading, understanding and maintaining
the LPS331AP's channel descriptor is substantially difficult. This patch
is based on the view that it's better to have easy to read, maintainable
code than to save a few lines here and there. For that reason we're
expanding the array so initialisation is completed in full.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: pressure-core: st: Describe LPS331AP defines by name
Lee Jones [Tue, 10 Sep 2013 12:49:00 +0000 (13:49 +0100)]
iio: pressure-core: st: Describe LPS331AP defines by name

They're currently named *_1_*, for 'Sensor 1', but the code will be much
more readable if we use the naming convention *_LPS331AP_* instead.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: sensors-core: st: Clean-up error handling in st_sensors_read_info_raw()
Lee Jones [Tue, 10 Sep 2013 12:49:00 +0000 (13:49 +0100)]
iio: sensors-core: st: Clean-up error handling in st_sensors_read_info_raw()

Saving a few lines of code.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: sensors-core: st: Allow full-scale to be an optional feature
Lee Jones [Tue, 10 Sep 2013 12:49:00 +0000 (13:49 +0100)]
iio: sensors-core: st: Allow full-scale to be an optional feature

Some chips either don't support it or fail to provide adequate documentation,
so sometimes it's impossible to enable the feature even if it is supported.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: Add tsl4531 ambient light sensor driver
Peter Meerwald [Sun, 8 Sep 2013 15:20:00 +0000 (16:20 +0100)]
iio: Add tsl4531 ambient light sensor driver

driver for the TSL4531 family of 16-bit I2C ambient light
sensors; information is here:
http://www.ams.com/eng/Products/Light-Sensors/Ambient-Light-Sensor-ALS/TSL45315

the chip offers simple lux output

v3 (thanks Lars-Peter Clausen):
* add mutex to when updating integration time
* fix chip ID checking
* code cleanups
v2:
* rename to tsl4351
* use INT_TIME

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: adjd_s311: Use INT_TIME channel info
Peter Meerwald [Sun, 8 Sep 2013 15:20:00 +0000 (16:20 +0100)]
iio: adjd_s311: Use INT_TIME channel info

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: Add INT_TIME (integration time) channel info attribute
Peter Meerwald [Sun, 8 Sep 2013 15:20:00 +0000 (16:20 +0100)]
iio: Add INT_TIME (integration time) channel info attribute

Integration time is in seconds; it controls the measurement
time and influences the gain of a sensor.

There are two typical ways that scaling is implemented in a device:
1) input amplifier,
2) reference to the ADC is changed.
These both result in the accuracy of the ADC varying (by applying its
sampling over a more relevant range).

Integration time is a way of dealing with noise inherent in the analog
sensor itself.  In the case of a light sensor, a mixture of photon noise
and device specific noise.  Photon noise is dealt with by either improving
the efficiency of the sensor, (more photons actually captured) which is not
easily varied dynamically, or by integrating the measurement over a longer
time period.  Note that this can also be thought of as an averaging of a
number of individual samples and is infact sometimes implemented this way.
Altering integration time implies that the duration of a measurement changes,
a fact the device's user may be interested in.

Hence it makes sense to distinguish between integration time and simple
scale. In some devices both types of control are present and whilst they
will have similar effects on the amplitude of the reading, their effect
on the noise of the measurements will differ considerably.

Used by adjd_s311, tsl4531, tcs3472
The following drivers have similar controls (and could be adapted):
* tsl2563 (integration time is controlled via CALIBSCALE among other things)
* tsl2583 (has integration_time device_attr, but driver doesn't use channels yet)
* tsl2x7x (has integration_time attr)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Cc: Jon Brenner <jon.brenner@ams.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ade7854: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ade7854: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Barry Song <21cnbao@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ade7759: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ade7759: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Barry Song <21cnbao@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ade7758_core: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ade7758_core: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Barry Song <21cnbao@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ade7754: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ade7754: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Barry Song <21cnbao@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ade7753: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ade7753: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Barry Song <21cnbao@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad2s90: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ad2s90: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Graff Yang <graff.yang@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad2s1210: Use devm_iio_device_alloc
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ad2s1210: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Graff Yang <graff.yang@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad2s1200: Use dev_err instead of pr_err
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ad2s1200: Use dev_err instead of pr_err

dev_err is preferred over pr_err.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad2s1200: Use devm_* APIs
Sachin Kamat [Wed, 11 Sep 2013 09:55:00 +0000 (10:55 +0100)]
staging: iio: ad2s1200: Use devm_* APIs

devm_* APIs are device managed and make code simpler.
This patch also fixes the missing gpio_free call in remove.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Graff Yang <graff.yang@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: tsl2x7x_core: Remove redundant break
Sachin Kamat [Wed, 11 Sep 2013 10:20:00 +0000 (11:20 +0100)]
staging: iio: tsl2x7x_core: Remove redundant break

'break' after return is redundant. Remove it.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: dac: ad5686: Remove redundant break
Sachin Kamat [Wed, 11 Sep 2013 10:20:00 +0000 (11:20 +0100)]
iio: dac: ad5686: Remove redundant break

'break' after return is redundant. Remove it.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: gyro: adxrs450: Remove redundant break
Sachin Kamat [Wed, 11 Sep 2013 10:20:00 +0000 (11:20 +0100)]
iio: gyro: adxrs450: Remove redundant break

'break' after return is redundant. Remove it.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: gyro: adis16260: Remove redundant break
Sachin Kamat [Wed, 11 Sep 2013 10:20:00 +0000 (11:20 +0100)]
iio: gyro: adis16260: Remove redundant break

'break' after return is redundant. Remove it.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: gyro: adis16130: Remove redundant break
Sachin Kamat [Wed, 11 Sep 2013 10:20:00 +0000 (11:20 +0100)]
iio: gyro: adis16130: Remove redundant break

'break' after return is redundant. Remove it.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging:iio:hmc5843: Use devm_iio_device_alloc
Peter Meerwald [Tue, 3 Sep 2013 01:05:00 +0000 (02:05 +0100)]
staging:iio:hmc5843: Use devm_iio_device_alloc

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoMAINTAINERS: Update Jonathan's email address
Sachin Kamat [Wed, 11 Sep 2013 10:00:00 +0000 (11:00 +0100)]
MAINTAINERS: Update Jonathan's email address

Updated with the current one.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging:iio:adc:ad7606 remove unnecessary work pending test
Xie XiuQi [Fri, 6 Sep 2013 11:02:00 +0000 (12:02 +0100)]
staging:iio:adc:ad7606 remove unnecessary work pending test

Remove unnecessary work pending test before calling schedule_work().
It has been tested in queue_work_on() already. No functional changed.

Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
Reviewed-by: Tejun Heo <tj@kernel.org>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: mxs-lradc: Add MODULE_ALIAS
Fabio Estevam [Tue, 3 Sep 2013 00:48:00 +0000 (01:48 +0100)]
iio: mxs-lradc: Add MODULE_ALIAS

Add MODULE_ALIAS, so that auto module loading can work.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: mxs-lradc: Fix the order of resources removal
Fabio Estevam [Tue, 3 Sep 2013 00:48:00 +0000 (01:48 +0100)]
iio: mxs-lradc: Fix the order of resources removal

Fix the order of resources removal in the error path of mxs_lradc_probe()
and also in mxs_lradc_remove().

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: replace strict_strto*() with kstrto*()
Jingoo Han [Tue, 20 Aug 2013 02:31:00 +0000 (03:31 +0100)]
staging: iio: replace strict_strto*() with kstrto*()

The usage of strict_strto*() is not preferred, because
strict_strto*() is obsolete. Thus, kstrto*() should be
used.

Previously, there were only strict_strtol(), strict_strtoul(),
strict_strtoull(), and strict_strtoll(). Thus, when converting
to the variables, only long, unsigned long, unsigned long long,
and long long can be used.

However, kstrto*() provides various functions handling all types
of variables. Therefore, the types of variables can be changed
properly.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: adc: Add driver for Microchip MCP3422/3/4 high resolution ADC
Angelo Compagnucci [Mon, 2 Sep 2013 14:00:00 +0000 (15:00 +0100)]
iio: adc: Add driver for Microchip MCP3422/3/4 high resolution ADC

Sysfs access to all channels.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: hmc5843: Fix a trivial typo
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: hmc5843: Fix a trivial typo

Add a missing closing brace.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Shubhrajyoti Datta <shubhrajyoti@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: tsl2x7x_core: Fix sparse warning
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: tsl2x7x_core: Fix sparse warning

Silences the following warning:
drivers/staging/iio/light/tsl2x7x_core.c:553:70:
warning: Using plain integer as NULL pointer

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: J. August Brenner <jbrenner@taosinc.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: tsl2x7x_core: Use devm_* APIs
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: tsl2x7x_core: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: J. August Brenner <jbrenner@taosinc.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad9951: Use devm_iio_device_alloc
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad9951: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad9910: Use devm_iio_device_alloc
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad9910: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad9852: Use devm_iio_device_alloc
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad9852: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad9850: Use devm_iio_device_alloc
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad9850: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad9834: Use devm_* APIs
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad9834: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad9832: Use devm_* APIs
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad9832: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad5930: Use devm_iio_device_alloc
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad5930: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: tsl2583: Use devm_iio_device_alloc
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: tsl2583: Use devm_iio_device_alloc

devm_iio_device_alloc makes the code simple. While at it also
fixed an uninitialized return with -EINVAL.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: J. August Brenner <jbrenner@taosinc.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad5933: Use devm_* APIs
Sachin Kamat [Thu, 5 Sep 2013 09:29:00 +0000 (10:29 +0100)]
staging: iio: ad5933: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: adt7316: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: adt7316: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: lpc32xx_adc: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: lpc32xx_adc: Use devm_* APIs

devm_* APIs are device managed and make code simpler.
This also fixes an error in return type during clk_get
failure.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Roland Stigge <stigge@antcom.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad799x_core: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad799x_core: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad7816: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad7816: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad7780: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad7780: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad7606_core: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad7606_core: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad7291: Use devm_* APIs
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad7291: Use devm_* APIs

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad7280a: Use devm_iio_device_alloc
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad7280a: Use devm_iio_device_alloc

devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: iio: ad7192: Use devm_* APIs and fix a memory leak
Sachin Kamat [Sat, 31 Aug 2013 17:12:00 +0000 (18:12 +0100)]
staging: iio: ad7192: Use devm_* APIs and fix a memory leak

devm_* APIs are device managed and make code simpler.

The memory leak was a lack of freeing the iio_dev structure in the
remove function.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: Remove trailing ; from function definitions
Peter Meerwald [Tue, 20 Aug 2013 23:15:00 +0000 (00:15 +0100)]
iio: Remove trailing ; from function definitions

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: dwc2: make dwc2_core_params documentation more complete
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:23 +0000 (18:45 +0200)]
staging: dwc2: make dwc2_core_params documentation more complete

Some of the defaults were missing or unclear. In particular, I suspect
the defaults were documented assuming there were still module parameters
and taking the default module parameters into account. Now, the defaults
are the values that will get chosen when the params passed to
dwc2_hcd_init are all -1.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: validate the value for phy_utmi_width
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:22 +0000 (18:45 +0200)]
staging: dwc2: validate the value for phy_utmi_width

The HWCFG4 register stores the supported utmi width values (8, 16 or
both). This commit reads that value and validates the configured value
against that.

If no (valid) value is given, the parameter defaulted to 8 bits
previously.  However, the documentation for dwc2_core_params_struct
suggests that the default should have been 16. Also, the pci bindings
explicitely set the value to 16, so this commit changes the default to
16 bits (if supported, 8 bits otherwise).

With the default changed, the value set in pci.c is changed to -1 to
make it autodetected as well.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: interpret all hwcfg and related register at init time
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:21 +0000 (18:45 +0200)]
staging: dwc2: interpret all hwcfg and related register at init time

Before, the hwcfg registers were read at device init time, but
interpreted at various parts in the code. This commit unpacks the hwcfg
register values into a struct with properly labeled variables at init
time, which makes all the other code using these values more consise and
easier to read. Some values that were previously stored in the hsotg
struct are now moved into this new struct as well.

In addition to the hwcfg registers, the contents of some fifo size
registers are also unpacked. The hwcfg registers are read-only, so they
can be safely stored. The fifo size registers are read-write registers,
but their power-on values are significant: they give the maximum depth
of the fifo they describe.

This commit mostly moves code, but also attempts to simplify some
expressions from (val >> shift) & (mask >> shift) to
(val & mask) >> shift.

Finally, all of the parameters read from the hardware are debug printed
after unpacking them, so a bunch of debug prints can be removed from
other places.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: properly mask the GRXFSIZ register
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:20 +0000 (18:45 +0200)]
staging: dwc2: properly mask the GRXFSIZ register

Bits 16-31 are reserved, so the old code just reads the whole register to
get bits 0-15, assuming the reserved bits would be 0 (which seems true
on current hardware, but who knows...).

This commit properly masks out the reserved bits when reading and
doesn't touch the reserved bits while writing.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: remove redundant register reads
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:19 +0000 (18:45 +0200)]
staging: dwc2: remove redundant register reads

For calculating FIFO offsets, the sizes of preceding fifos need to be
known. For filling the GDFIFOCFG register, these fifo sizes were read
from hardware registers. However, these values were written to these
registers just a few lines before, so we can just use the values written
instead.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: re-use hptxfsiz variable
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:18 +0000 (18:45 +0200)]
staging: dwc2: re-use hptxfsiz variable

For some reason, the value of the HPTXFSIZ register was built in the
ptxfsiz variable, while there was also a hptxfsiz variable availble.
Better just use that and remove the (now unused) ptxfsiz variable.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: simplify debug output in dwc_hc_init
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:17 +0000 (18:45 +0200)]
staging: dwc2: simplify debug output in dwc_hc_init

The value of the hcchar register is built from individual values by
shifting and masking. Before, the debug output extracted the individual
values out of the complete hcchar register again by doing the reverse.
This commit makes the debug output use the original values instead.

One debug message got removed, since it would always print a fixed value
of zero.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: add missing shift
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:16 +0000 (18:45 +0200)]
staging: dwc2: add missing shift

This line extracted the available queue space without properly shifting
it. Since the code only cared wether it was zero or not, it worked as
expected without the shift, but adding shift makes the code cleaner.

While we're here, store the result in a helper variable that was already
declared to increase readability a bit more.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: simplify register shift expressions
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:15 +0000 (18:45 +0200)]
staging: dwc2: simplify register shift expressions

This commit changes expressions from (val >> shift) & (mask >> shift) to
(val & mask) >> shift.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: only read the snpsid register once
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:14 +0000 (18:45 +0200)]
staging: dwc2: only read the snpsid register once

This (read-only) register was read twice, storing it for later use the
second time. Now it is only read once, storing it right away.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: unshift non-bool register value constants
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:13 +0000 (18:45 +0200)]
staging: dwc2: unshift non-bool register value constants

Various register fields wider than one bit have constants defined for
their value. Previously, these registers would define the values as they
appear in the register, so shifted to the right to the position the
value appears in the register.

This commit changes those constants to their natural values (e.g, 0, 1,
2, etc.), as they are after shifting the register value to the right.
This also changes all relevant code to shift the values before comparing
them with constants.

This has the advantage that the values can be stored in smaller
variables (now they always require a u32) and makes the handling of
these values more consistent with other register fields that represent
natural numbers instead of enumerations (e.g., number of host channels).

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: fix off-by-one in check for max_packet_count parameter
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:12 +0000 (18:45 +0200)]
staging: dwc2: fix off-by-one in check for max_packet_count parameter

Previously, the max_packet_count could be set to 1 << x, where x is the
number of bits available (width + 4 in the code). Since 1 << x requires
x + 1 bits to represent, this will not work. The real maximum value is
(1 << x) - 1. This value is already used the default when the set value
is invalid, but the upper limit for the set value was off-by-one.

This change makes the check the same as the one for max_transfer_size,
which was already correct.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dwc2: remove specific fifo size constants
Matthijs Kooijman [Fri, 30 Aug 2013 16:45:11 +0000 (18:45 +0200)]
staging: dwc2: remove specific fifo size constants

A generic set of FIFOSIZE_* constants is defined which applies to all
fifo size and offset registers. It is already used for both the
GNPTXFSIZ and HPTXFSIZ registers, but it applies to DPTXFSIZN as well.
Some of these also had specific constants defined. This patch removes
the specific constants and documents to use the generic constants.

Note that the removed constants weren't actually used. Instead, most of
the related code uses hardcoded masks and shifts. But given that
subsequent patches will be moving that code around and introducing the
constants in the process, this patch leaves those untouched.

Also note that the GRXFSIZ register also contains a fifo size, but
there is no corresponding start address register (it is always the first
fifo in memory), the layout of the GRXFSIZ register is different and
cannot use the same constants.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoStaging:BCM:DDRInit.c:Renaming __FUNCTION__
Paul McQuade [Thu, 15 Aug 2013 19:00:50 +0000 (20:00 +0100)]
Staging:BCM:DDRInit.c:Renaming __FUNCTION__

__Function__ gets renamed with __func__

Signed-Off-By: Paul McQuade <paulmcquad@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: bcm: remove Version.h file.
navin patidar [Fri, 30 Aug 2013 07:01:51 +0000 (12:31 +0530)]
staging: bcm: remove Version.h file.

many of the macros defined in Version.h are not being used,
so we can remove the file.

Signed-off-by: navin patidar <navinp@cdac.in>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: rtl8188eu: off by one in rtw_set_802_11_add_wep()
Dan Carpenter [Thu, 29 Aug 2013 21:45:42 +0000 (00:45 +0300)]
staging: rtl8188eu: off by one in rtw_set_802_11_add_wep()

"keyid" is used as an offset into the ->dot11DefKey[] array.  The array
has 4 elements.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: r8188eu: copying one byte too much
Dan Carpenter [Thu, 29 Aug 2013 21:47:01 +0000 (00:47 +0300)]
staging: r8188eu: copying one byte too much

There is a copy and paste bug here so we copy 4 bytes instead of 3.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: rtl8188eu: || vs && typo
Dan Carpenter [Thu, 29 Aug 2013 21:46:14 +0000 (00:46 +0300)]
staging: rtl8188eu: || vs && typo

Obviously it's impossible for ->KeyLength to be both 5 and 13.  I assume
that && was intended here.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: r8188eu: off by one bugs
Dan Carpenter [Thu, 29 Aug 2013 21:45:06 +0000 (00:45 +0300)]
staging: r8188eu: off by one bugs

These should be "<" instead of "<=".  Also we can use the ARRAY_SIZE()
macro.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: crystalhd: Resolve sparse 'different base types' warnings.
Shaun Laing [Thu, 29 Aug 2013 14:27:22 +0000 (08:27 -0600)]
staging: crystalhd: Resolve sparse 'different base types' warnings.

The result from crystalhd_get_sgle_paddr and crystalhd_get_sgle_len are later
used in calculations, so the result should be in CPU byte ordering.

Signed-off-by: Shaun Laing <shaun@xresource.ca>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: r8188eu: Fix compiler warnings in os_dep/ioctl_linux.c
Larry Finger [Thu, 29 Aug 2013 02:12:25 +0000 (21:12 -0500)]
staging: r8188eu: Fix compiler warnings in os_dep/ioctl_linux.c

The 0-DAY kernel build testing backend reports the following compiler
warnings not shown on my compiler version/options:

   drivers/staging/rtl8188eu/os_dep/ioctl_linux.c: In function 'rtw_mp_efuse_get':
>> drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:5836:65: warning: iteration 16u invokes undefined behavior [-Waggressive-loop-optimizations]
        sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseInitMap[i+j]);
                                                                    ^
   drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:5830:3: note: containing loop
      for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
      ^
>> drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:6042:69: warning: iteration 16u invokes undefined behavior [-Waggressive-loop-optimizations]
        sprintf(extra, "%s %02X", extra, pEfuseHal->fakeEfuseModifiedMap[i+j]);
                                                                        ^
   drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:6036:3: note: containing loop
      for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
      ^

The problem is due to improper settings for some of the EFUSE_XXX defines such that
EFUSE_MAP_SIZE was larger than the sizes of the marked arrays. Thanks to
Fengguang Wu for helping me understand the root cause.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dgap: Add missing #include <linux/slab.h>
Geert Uytterhoeven [Thu, 29 Aug 2013 20:53:25 +0000 (22:53 +0200)]
staging: dgap: Add missing #include <linux/slab.h>

drivers/staging/dgap/dgap_driver.c: In function ‘dgap_cleanup_module’:
drivers/staging/dgap/dgap_driver.c:423: error: implicit declaration of function ‘kfree’
drivers/staging/dgap/dgap_driver.c: In function ‘dgap_driver_kzmalloc’:
drivers/staging/dgap/dgap_driver.c:940: error: implicit declaration of function ‘kmalloc’
drivers/staging/dgap/dgap_driver.c:940: warning: initialization makes pointer from integer without a cast

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: dgnc: adds TODO
Lidza Louina [Thu, 29 Aug 2013 23:00:37 +0000 (19:00 -0400)]
staging: dgnc: adds TODO

This patchs adds a TODO for the driver.

Signed-off-by: Lidza Louina <lidza.louina@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoMerge tag 'iio-for-3.12c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Greg Kroah-Hartman [Thu, 29 Aug 2013 21:33:17 +0000 (14:33 -0700)]
Merge tag 'iio-for-3.12c' of git://git./linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Third set of new drivers, cleanups and features for IIO in the 3.12 cycle.

New drivers

1) Bosh BMA180 accelerometer + a new sysfs abi element, power_mode to
   allow for device that trade off accuracy and power usage.

Cleanups

1) Another lot of devm_iio_device_alloc patches
2) An code ordering bug in the twl6030 driver introduced earlier in this
   cycle.

New features

1) at91 adc driver rework to support a wider range of parts and drop
   the necessity for some of the current device tree elements.  This is
   a precursor to introducing input support which is still under review.

11 years agoiio: at91: Use different prescal, startup mask in MR for different IP
Josh Wu [Tue, 27 Aug 2013 11:28:00 +0000 (12:28 +0100)]
iio: at91: Use different prescal, startup mask in MR for different IP

For at91 boards, there are different IPs for adc. Different IPs has different
STARTUP & PRESCAL mask in ADC_MR.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agoiio: at91: introduce the multiple compatible string for different IPs.
Josh Wu [Tue, 27 Aug 2013 11:28:00 +0000 (12:28 +0100)]
iio: at91: introduce the multiple compatible string for different IPs.

As use the multiple compatible string, we can remove hardware register in dt.

CC: devicetree@vger.kernel.org
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
11 years agostaging: vt6656: device.h Replace typedef struct _RCB
Malcolm Priestley [Wed, 28 Aug 2013 20:12:35 +0000 (21:12 +0100)]
staging: vt6656: device.h Replace typedef struct _RCB

Replace with struct vnt_rcb

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoStaging: crystalhd: fixed whitespace and string style issues
Robert Foss [Wed, 28 Aug 2013 18:51:47 +0000 (20:51 +0200)]
Staging: crystalhd: fixed whitespace and string style issues

Fixed 3 instances of user-visible string being broken into two string.
Fixed 2 instances of illegal whitespace.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: vt6656: baseband.h re: baseband.c:877:26: sparse: incorrect type in assignme...
Malcolm Priestley [Wed, 28 Aug 2013 19:52:23 +0000 (20:52 +0100)]
staging: vt6656: baseband.h re: baseband.c:877:26: sparse: incorrect type in assignment (different base types)

sparse warnings: (new ones prefixed by >>)
...
>> drivers/staging/vt6656/baseband.c:877:26: sparse: incorrect type in assignment (different base types)
   drivers/staging/vt6656/baseband.c:877:26:    expected unsigned short [unsigned] [usertype] len
   drivers/staging/vt6656/baseband.c:877:26:    got restricted __le16 [usertype] <noident>
>> drivers/staging/vt6656/baseband.c:880:26: sparse: incorrect type in assignment (different base types)
   drivers/staging/vt6656/baseband.c:880:26:    expected unsigned short [unsigned] [usertype] len
   drivers/staging/vt6656/baseband.c:880:26:    got restricted __le16 [usertype] <noident>

vnt_phy_field member len should be __le16.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Cc: kbuild-all@01.org
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: ozwpan: Return error, if PD is not connected.
Rupesh Gujare [Wed, 28 Aug 2013 11:43:16 +0000 (12:43 +0100)]
staging: ozwpan: Return error, if PD is not connected.

Return error if we receive write(), while PD is not connected.

Signed-off-by: Rupesh Gujare <rupesh.gujare@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: ozwpan: Change error number.
Rupesh Gujare [Wed, 28 Aug 2013 11:43:15 +0000 (12:43 +0100)]
staging: ozwpan: Change error number.

Incorrect error number was returned here (EPERM), ENXIO is more
appropriate.

Signed-off-by: Rupesh Gujare <rupesh.gujare@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: ozwpan: Increase ISOC IN buffer depth
Rupesh Gujare [Wed, 28 Aug 2013 11:43:14 +0000 (12:43 +0100)]
staging: ozwpan: Increase ISOC IN buffer depth

Buffer depth of 50 units is not sufficient when there is considerable delay
occuring on air due to interference, increase ISOC IN buffer depth to 100 units.

Signed-off-by: Rupesh Gujare <rupesh.gujare@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: rtl8188eu: Remove duplicate header inclusion in ioctl_linux.c
Sachin Kamat [Wed, 28 Aug 2013 05:55:02 +0000 (11:25 +0530)]
staging: rtl8188eu: Remove duplicate header inclusion in ioctl_linux.c

Removed the header files included twice.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>