For all the switch statements where all three enum values are handled,
remove the unreachable BUG(). Move the default case so it is handled
the same as ni_gpct_variant_e_series.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch cleans up the style, error handling, and string handling in the sysfs
functions recently added to visorchipset:
- Use of sscanf() was changed to type-appropriate kstrto*() functions
- error handling was simplified
- the error return value of visorchannel_write() was corrected
- switch use of driver-specific types to kernel types
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeff Oczek [Fri, 25 Jul 2014 00:19:43 +0000 (20:19 -0400)]
staging: rtl8188eu: Fix static symbol sparse warnings
Fix sparse warnings:
drivers/staging/rtl8188eu/core/rtw_cmd.c:52:5: warning:
symbol '_rtw_enqueue_cmd' was not declared. Should it be static?
drivers/staging/rtl8188eu/core/rtw_wlan_util.c:1225:5: warning:
symbol 'wifirate2_ratetbl_inx' was not declared. Should it be static?
drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c:25:4: warning:
symbol 'ODM_GetRightChnlPlaceforIQK' was not declared. Should it be static?
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:3109:5: warning:
symbol 'rtw_ioctl' was not declared. Should it be static?
Signed-off-by: Jeff Oczek <jeffoczek@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Benjamin Romer [Thu, 24 Jul 2014 18:08:43 +0000 (14:08 -0400)]
staging: unisys: move chipsetready to sysfs
Move the chipsetready proc entry to sysfs under a new directory guest. This
entry is used by Unisys application software on the guest to acknowledge
completion of specific events for integration purposes, but these
acknowledgements are not required for the guest to operate correctly.
The store function is simplified as well, to use scanf() instead of copying
the buffer and using strsep().
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Benjamin Romer [Thu, 24 Jul 2014 18:08:42 +0000 (14:08 -0400)]
staging: unisys: move installer to sysfs and split fields
The installer entry in /proc/visorchipset/installer was composed of three
separate fields as one entry. This patch removes the proc entry and associated
functions, and creates new fields with distinct entries under sysfs in the
visorchipset/install directory. The fields are:
textid: used to send the ID of a string that should be displayed on
s-Par's automatic installation progress screen. Setting this
field when not in installation mode (boottotool was set on
the previous guest boot) has no effect.
remaining_steps: used to set the value of the progress bar on the
s-Par automatic installation progress screen. This field has
no effect if not in installation mode.
error: used to send the ID of a string that should be displayed on
s-Par's automatic installation progress screen when an error
is encountered during installation. This field has no effect
if not in installation mode.
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: usbduxfast: adding missing break in case statement
Added a missing "break" which forced the board to acquire 16
channels even when only 3 had been requested.
Thanks for Hartley Sweeten to spot this bug.
Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Reported-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 23 Jul 2014 09:41:21 +0000 (10:41 +0100)]
staging: comedi: ni_65xx: disable edge detection on initialization
When the hardware is being initialized, the edge detection interrupts
are cleared and disabled. Also disable edge detection for all channels
at this time so they start off in a known state.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 23 Jul 2014 09:41:20 +0000 (10:41 +0100)]
staging: comedi: ni_65xx: support INSN_CONFIG_DIGITAL_TRIG
The "edge detection interrupt" subdevice supports the
`INSN_CONFIG_CHANGE_NOTIFY` comedi instruction which is only supported
by one other driver. It is limited to the first 32 channels, but boards
supported by this driver support edge detection on all digital I/O,
digital input and digital output channels. The
`INSN_CONFIG_DIGITAL_TRIG` comedi instruction is more flexible as it
supports more than 32 channels (with multiple instructions). It can
also support level detection, but the hardware does not support that.
Add partial support for the `INSN_CONFIG_DIGITAL_TRIG` instruction, but
only for edge detection.
Since `INSN_CONFIG_CHANGE_NOTIFY` can only deal with 32 channels, make
it disable edge detection for any remaining channels.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Refactor the code that updates the rising and falling edge detection
registers into new function `ni_65xx_update_edge_detection()`. This
updates the rising and falling edge detection registers for up to 32
channels starting at an arbitrary channel. Call it from the code that
handles the `INSN_CONFIG_CHANGE_NOTIFY` instruction, which is limited to
the first 32 channels.
(For the purposes of edge detection, the channels are in the natural
port order of the board, 8 channels per port. In practice, this is all
the digital I/O channels (if any), followed by all the digital input
channels (if any), followed by all the digital output channels (if any).
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The driver hasn't been cleaned up and it doesn't look like anyone is
working on it anymore (including the original author). So remove the
driver from the kernel. If someone wants to work on cleaning it up and
moving it out of staging, this commit can be reverted.
The driver hasn't been cleaned up and it doesn't look like anyone is
working on it anymore (including the original author). So remove the
driver from the kernel. If someone wants to work on cleaning it up and
moving it out of staging, this commit can be reverted.
Merge tag 'iio-for-3.17d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Fourth round of IIO new drivers, functionality and cleanups for the 3.17 cycle
New functionality
* A new modifier to indicate that a rotation is relative to either
true or magnetic north. This is to be used by some magnetometers
that provide data in this way.
* hid magnetometer now supports output rotations from various variants on
North
* HMC5843 driver converted to regmap and reworked to allow easy support
of other similar devices. Support for HMC5983 added via both i2c and SPI.
* Rework of Exynos driver to simplify extension to support more devices.
* Addition of support for the Exynos3250 ADC (which requires an additional
clock) Support for quite a few more devices on its way.
Cleanups
* ad7997 - a number of cleanups and tweaks to how the events are controlled
to make it more intuitive.
* kxcjk - cleanups and minor fixes for this new driver.
The driver hasn't been fully cleaned up and it doesn't look like anyone
is working on it anymore (including the original author). So remove the
driver and all references to it. If someone wants to finish cleaning
the driver up and moving it out of staging, this commit can be reverted.
The driver hasn't been cleaned up and it doesn't look like anyone is
working on it anymore (including the original author). So remove the
driver from the kernel. If someone wants to work on cleaning it up and
moving it out of staging, this commit can be reverted.
Signed-off-by: Kristina Martšenko <kristina.martsenko@gmail.com> Cc: David Täht <d@teklibre.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The state of the driver hasn't improved much since it was added to
staging, and no one with the hardware is currently working on it, so
remove it. This commit can be reverted if someone wants to clean the
driver up and move it to its proper place in the kernel.
The issue was reported by static analysis.
The value holding flags was &-ed with 0x02, being compared to 0x01
(TRUE) after that. Such comparsion is always false.
Resolution: drop the comparsion to TRUE in the condition.
&-ing with 0x02 is right, according to result variable name
(reporting_mode) and description in drivers/staging/bcm/target_params.h
("bit 1 = 1: CINR reporting in Idlemode Msg").
ARM: dts: Fix wrong compatible string for Exynos3250 ADC
This patchset fix wrong compatible string for Exynos3250 ADC. Exynos3250 SoC
need to control only special clock for ADC. Exynos SoC except for Exynos3250
has not included special clock for ADC. The exynos ADC driver can control
special clock if compatible string is 'exynos3250-adc-v2'.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
iio: adc: exynos_adc: Control special clock of ADC to support Exynos3250 ADC
This patch control special clock for ADC in Exynos series's FSYS block.
If special clock of ADC is registerd on clock list of common clk framework,
Exynos ADC drvier have to control this clock.
Exynos3250/Exynos4/Exynos5 has 'adc' clock as following:
- 'adc' clock: bus clock for ADC
Exynos3250 has additional 'sclk_adc' clock as following:
- 'sclk_adc' clock: special clock for ADC which provide clock to internal ADC
Exynos 4210/4212/4412 and Exynos5250/5420 has not included 'sclk_adc' clock
in FSYS_BLK. But, Exynos3250 based on Cortex-A7 has only included 'sclk_adc'
clock in FSYS_BLK.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
iio: adc: exynos_adc: Add exynos_adc_data structure to improve readability
This patchset add 'exynos_adc_data' structure which includes some functions
to control ADC operation and specific data according to ADC version (v1 or v2).
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Josef Gajdusek [Tue, 22 Jul 2014 15:03:00 +0000 (16:03 +0100)]
staging:iio:hmc5843: Add support for spi hmc5983
This patch adds support for the hmc5983 spi interface.
This chip is almost identical to the hmc5883. The difference being added
temperature compensation, additional available sample rate (220Hz) and an SPI
interface.
Signed-off-by: Josef Gajdusek <atx@atx.name> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Josef Gajdusek [Tue, 22 Jul 2014 15:02:00 +0000 (16:02 +0100)]
staging:iio:hmc5843: Add support for i2c hmc5983
This patch adds support for the hmc5983 i2c interface.
This chip is almost identical to the hmc5883. The difference being added
temperature compensation, additional available sample rate (220Hz) and an SPI
interface.
Signed-off-by: Josef Gajdusek <atx@atx.name> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Josef Gajdusek [Tue, 22 Jul 2014 15:02:00 +0000 (16:02 +0100)]
staging:iio:hmc5843: register <-> value arrays now can have different lengths
Changed structure of struct hmc5843_chip_info to include length of translation
arrays. Code previously using #defined constant has been changed accordingly.
This allows to integrate devices which do have different amounts of available
rates/scales.
Signed-off-by: Josef Gajdusek <atx@atx.name> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Josef Gajdusek [Tue, 22 Jul 2014 15:01:00 +0000 (16:01 +0100)]
staging:iio:hmc5843: Split hmc5843.c to multiple files
This patch splits hmc5843.c to multiple files - the interface-agnostic
hmc5843_core.c, i2c specific hmc5843_i2c.c and header file hmc5843.h. This is
another step to add support of SPI-enabled hmc5983.
Signed-off-by: Josef Gajdusek <atx@atx.name> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Josef Gajdusek [Tue, 22 Jul 2014 15:00:00 +0000 (16:00 +0100)]
staging:iio:hmc5843: Added regmap support
This patch changes hmc5843.c to use regmap. This provides transparent caching
to the code as well as abstraction necessary to add support for SPI-based
hmc5983.
Signed-off-by: Josef Gajdusek <atx@atx.name> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Benjamin Romer [Tue, 22 Jul 2014 13:56:26 +0000 (09:56 -0400)]
staging: unisys: move boottotool out of proc to sysfs
Move the proc entry controlling the boottotool flag to procfs. The field
appears in /sys/devices/platform/visorchipset/install/boottotool.
The boottotool flag controls s-Par behavior on the next boot of this guest.
Setting the flag will cause the guest to boot from the utility and installation
image, which will use the value in the toolaction field to determine what
operation is being requested.
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Benjamin Romer [Tue, 22 Jul 2014 13:56:25 +0000 (09:56 -0400)]
staging: unisys: add toolaction to sysfs
Move the proc entry for controlling the toolaction field to sysfs. The field
appears in /sys/devices/platform/visorchipset/install/toolaction.
This field is used to tell s-Par which type of recovery tool action to perform
on the next guest boot-up. The meaning of the value is dependent on the type
of installation software used to commission the guest.
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>