GitHub/LineageOS/android_kernel_motorola_exynos9610.git
9 years agostaging: comedi: me4000: usleep_range is preferred over udelay
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:20 +0000 (10:45 -0700)]
staging: comedi: me4000: usleep_range is preferred over udelay

Fix checkpatch issue: "CHECK: usleep_range is preferred over udelay; see
Documentation/timers/timers-howto.txt".  `udelay()` is only used in the
firmware upload process.  Replace them with `usleep_range()` with a
reasonable upper limit.

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>
9 years agostaging: comedi: me4000: introduce me4000_ai_get_sample()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:19 +0000 (10:45 -0700)]
staging: comedi: me4000: introduce me4000_ai_get_sample()

The hardware returns two's complement values for the analog input
samples. These need to be converted to the unsigned binary format
that the comedi core expects. Introduce a helper function to handle
this.

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>
9 years agostaging: comedi: me4000: comedi_handle_events() will stop conversions
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:18 +0000 (10:45 -0700)]
staging: comedi: me4000: comedi_handle_events() will stop conversions

The irq handler does not need to manually stop conversions and disable
interrupts when "end-of-acquisition", "error", or "overflow" events are
detected. The comedi_handle_events() will call the subdevice (*cancel)
when these are detected and stop the acquisition.

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>
9 years agostaging: comedi: me4000: tidy up analog output subdevice init
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:17 +0000 (10:45 -0700)]
staging: comedi: me4000: tidy up analog output subdevice init

For aesthetics, add some white space to the analog output subdevice
initialization.

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>
9 years agostaging: comedi: me4000: fix me4000_detach()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:16 +0000 (10:45 -0700)]
staging: comedi: me4000: fix me4000_detach()

There is no real reason to reset the board when detaching. The comedi core
will ensure that any commands are canceled before the detach.

But the PLX interrupts should be disabled.

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>
9 years agostaging: comedi: me4000: only enable PLX interrupt if we have and irq
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:15 +0000 (10:45 -0700)]
staging: comedi: me4000: only enable PLX interrupt if we have and irq

Currently me4000_reset() always enables the PLX interrupt. Move the
enable of the interrupt into me4000_auto_attach() and only do the
enable if we actually have and irq.

Make sure the PLX interrupt is disabled in me4000_reset() before we
try to request the irq.

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>
9 years agostaging: comedi: me4000: introduce me4000_ai_reset()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:14 +0000 (10:45 -0700)]
staging: comedi: me4000: introduce me4000_ai_reset()

Introduce a helper function to stop any ai conversions and reset the
ai control register. This consolidates the common code in me4000_reset()
and me4000_ai_cancel().

Use the new helper in the ai (*insn_read) to ensure that the ai control
register is set to a known state after reading the samples.

The ai control register will now always be '0' after the (*cancel) of
a command or doing an (*insn_read). Knowing this the programming of
the register for single acquisition mode in the (*insn_read) can be
simplified.

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>
9 years agostaging: comedi: me4000: clear the ME4000_AI_CTRL_REG in me4000_reset()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:13 +0000 (10:45 -0700)]
staging: comedi: me4000: clear the ME4000_AI_CTRL_REG in me4000_reset()

Reset the analog input control register after ensuring that any active
conversions have been stopped. This mimics what the ai subdevice (*cancel)
does.

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>
9 years agostaging: comedi: me4000: remove unnecessary me4000_ai_cancel()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:12 +0000 (10:45 -0700)]
staging: comedi: me4000: remove unnecessary me4000_ai_cancel()

The comedi core ensures that the subdevice is not busy before it allows
starting a new command. The subdevice (*cancel) is called when the
subdevice is set to not busy. In this driver the me4000_ai_cancel()
is the ai (*cancel) so the extra call in the ai (*do_cmd) is not
necessary. Remove it.

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>
9 years agostaging: comedi: me4000: remove unnecessary ai control register reset
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:11 +0000 (10:45 -0700)]
staging: comedi: me4000: remove unnecessary ai control register reset

The me4000_ai_cancel() already reset this register.

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>
9 years agostaging: comedi: me4000: fix me4000_ai_cancel()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:10 +0000 (10:45 -0700)]
staging: comedi: me4000: fix me4000_ai_cancel()

The STOP and IMMEDIATE_STOP bits in the ME4000_AI_CTRL_REG should be set,
not cleared, to stop any running conversions.

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>
9 years agostaging: comedi: me4000: return void from me4000_ai_write_chanlist()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:09 +0000 (10:45 -0700)]
staging: comedi: me4000: return void from me4000_ai_write_chanlist()

This function always returns 0 and the return value is never checked.
Just return void.

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>
9 years agostaging: comedi: me4000: absorb ai_write_timer()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:08 +0000 (10:45 -0700)]
staging: comedi: me4000: absorb ai_write_timer()

This function is only called by me4000_ai_do_cmd(). Absorb it.

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>
9 years agostaging: comedi: me4000: absorb ai_prepare()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:07 +0000 (10:45 -0700)]
staging: comedi: me4000: absorb ai_prepare()

This function never fails and it's only called by me4000_ai_do_cmd().

Absorb it and remove the unnecessary failure check.

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>
9 years agostaging: comedi: me4000: simplify ai_prepare()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:06 +0000 (10:45 -0700)]
staging: comedi: me4000: simplify ai_prepare()

The ai (*do_cmd_test) validates the trigger sources in Step 2b to ensure
that they are compatible. Save the 'ai_ctrl_mode' that will be used in the
private data so that ai_prepare(), which is called by the ai (*do_cmd),
does not have to recheck the sources in order to figure it out.

Also, tidy up the stop trigger checks so that the ME4000_AI_CTRL_HF_IRQ
bit is set in the common code path.

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>
9 years agostaging: comedi: me4000: move ai command timing values into private data
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:05 +0000 (10:45 -0700)]
staging: comedi: me4000: move ai command timing values into private data

The ai (*do_cmd_test) calls me4000_ai_round_cmd_args() to calculate the
timing values needed to the command. The the command test passes, the
core will then call the ai (*do_cmd) which then has to call
me4000_ai_round_cmd_args() again in order to get the same values to
pass to ai_prepare() in order to program the timing.

Add members to the private data to allow the (*do_cmd_test) to calculate
and save to values needed by ai_prepare().

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>
9 years agostaging: comedi: me4000: return void from ai_round_cmd_args()
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:04 +0000 (10:45 -0700)]
staging: comedi: me4000: return void from ai_round_cmd_args()

This function always succeeds. Change the return type to void and
remove the unnecessary error check in me4000_ai_do_cmd().

Move the function call in me4000_ai_do_cmd_test() from before Step 1
to Step 3 where the arguments are validated. There is no reason to
get the values if the previous steps fail.

Rename the function so it has namespace associated with the driver.

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>
9 years agostaging: comedi: me4000: tidy up ME4000_DIO_CTRL_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:03 +0000 (10:45 -0700)]
staging: comedi: me4000: tidy up ME4000_DIO_CTRL_REG bit defines

Use the BIT() marco to define the bits of this register.

For aesthetics, rename all the defines to remove the '_BIT' from the
name.

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>
9 years agostaging: comedi: me4000: tidy up ME4000_AO_CTRL_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:02 +0000 (10:45 -0700)]
staging: comedi: me4000: tidy up ME4000_AO_CTRL_REG bit defines

Use the BIT() marco to define the bits of this register.

For aesthetics, rename all the defines to remove the '_BIT' from the
name.

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>
9 years agostaging: comedi: me4000: tidy up ME4000_AO_STATUS_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:01 +0000 (10:45 -0700)]
staging: comedi: me4000: tidy up ME4000_AO_STATUS_REG bit defines

Use the BIT() marco to define the bits of this register.

For aesthetics, rename all the defines to remove the '_BIT' from the
name.

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>
9 years agostaging: comedi: me4000: tidy up ME4000_IRQ_STATUS_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:45:00 +0000 (10:45 -0700)]
staging: comedi: me4000: tidy up ME4000_IRQ_STATUS_REG bit defines

Use the BIT() marco to define the bits of this register.

For aesthetics, rename all the defines to remove the '_BIT' from the
name.

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>
9 years agostaging: comedi: me4000: tidy up ME4000_AI_CTRL_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:59 +0000 (10:44 -0700)]
staging: comedi: me4000: tidy up ME4000_AI_CTRL_REG bit defines

Use the BIT() marco to define the bits of this register.

For aesthetics, rename all the defines to remove the '_BIT' from the
name.

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>
9 years agostaging: comedi: me4000: tidy up ME4000_AI_STATUS_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:58 +0000 (10:44 -0700)]
staging: comedi: me4000: tidy up ME4000_AI_STATUS_REG bit defines

Use the BIT() marco to define the bits of this register.

For aesthetics, rename all the defines to remove the '_BIT' from the
name. Also, use ME4000_AI_STATUS_REG instead of ME4000_AI_CTRL_REG
when reading the register (they happen to be the same).

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>
9 years agostaging: comedi: me4000: use comedi_range_is_bipolar() in ai (*insn_read)
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:57 +0000 (10:44 -0700)]
staging: comedi: me4000: use comedi_range_is_bipolar() in ai (*insn_read)

Use the helper function to check the range type instead of relying on the
value. For aesthetics, rename the local variable used for the range.

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>
9 years agostaging: comedi: me4000: use correct types for extracted chanspec values
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:56 +0000 (10:44 -0700)]
staging: comedi: me4000: use correct types for extracted chanspec values

The chanspec channel, range, and aref are unsigned int values. Use the
correct types when extracting them.

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>
9 years agostaging: comedi: me4000: fix me4000_ai_insn_read()
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:55 +0000 (10:44 -0700)]
staging: comedi: me4000: fix me4000_ai_insn_read()

The coemdi (*insn_read) functions are supposed to read insn->n values
from the hardware. Make this function work like the core expects.

Use the comedi_offset_munge() helper to munge the two's complement
values to offset binary.

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>
9 years agostaging: comedi: me4000: use comedi_timeout() to wait for ai (*insn_read)
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:54 +0000 (10:44 -0700)]
staging: comedi: me4000: use comedi_timeout() to wait for ai (*insn_read)

Use the comedi_timeout() helper to busy-wait for the analog input end-of-
conversion instead of the udelay().

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>
9 years agostaging: comedi: me4000: tidy up ME4000_AI_CHANNEL_LIST_REG bit defines
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:53 +0000 (10:44 -0700)]
staging: comedi: me4000: tidy up ME4000_AI_CHANNEL_LIST_REG bit defines

Use the BIT() macro to define the bits of this register.

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>
9 years agostaging: comedi: me4000: fix ai_write_chanlist()
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:52 +0000 (10:44 -0700)]
staging: comedi: me4000: fix ai_write_chanlist()

Rename this function so it has namespace associated with the driver.

The last entry of the chanlist needs the ME4000_AI_LIST_LAST_ENTRY bit
set to end the list. Fix the function and tidy if up a bit.

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>
9 years agostaging: comedi: me4000: simplify analog input range programming
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:51 +0000 (10:44 -0700)]
staging: comedi: me4000: simplify analog input range programming

The comedi_lrange table for the analog inputs is inverted compared
to the values that need to be written to the ME4000_AI_CHANNEL_LIST_REG
to select the range.

Create a macro, ME4000_AI_LIST_RANGE(), to handle the inversion. Remove
the old defines and simplify the code a bit.

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>
9 years agostaging: comedi: me4000: remove unnecessary ME4000_AI_LIST_INPUT_SINGLE_ENDED
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:50 +0000 (10:44 -0700)]
staging: comedi: me4000: remove unnecessary ME4000_AI_LIST_INPUT_SINGLE_ENDED

This define evaluates to 0 and is OR'ed with the 'entry' value that is
written to the ME4000_AI_CHANNEL_LIST_REG when the channel aref is a
single-ended type (AREF_GROUND or AREF_COMMON). OR'ing a zero value is
pretty silly, just remove it.

Remove the switch() in me4000_ai_insn_read() to simplify the code.

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>
9 years agostaging: comedi: me4000: rename local variables used for 'dev->private'
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:49 +0000 (10:44 -0700)]
staging: comedi: me4000: rename local variables used for 'dev->private'

In comedi drivers the local variable used for the dev->private pointer is
normally named 'devpriv'. For aesthetics, rename the variables in this
driver. Also, rename the struct to follow the norm.

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>
9 years agostaging: comedi: me4000: refactor 'ai_sh_nchan' boardinfo
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:48 +0000 (10:44 -0700)]
staging: comedi: me4000: refactor 'ai_sh_nchan' boardinfo

Some of the boards supported by this driver can do analog input sample &
hold on 8 of the channels. The 'ai_sh_nchan' member of the boardinfo is
used to indicate which boards support this feature. To save a bit of space,
convert this member to a bit-field, 'can_do_sh_ai'. Note, this feature is
not currently supported.

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>
9 years agostaging: comedi: me4000: refactor 'ao_fifo' boardinfo
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:47 +0000 (10:44 -0700)]
staging: comedi: me4000: refactor 'ao_fifo' boardinfo

This member of the boardinfo is always '4' for the boards that have an
analog output FIFO. Covert it to a bit-field, 'has_ao_fifo', to save a
bit of space.

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>
9 years agostaging: comedi: me4000: refactor 'ao_nchan' boardinfo
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:46 +0000 (10:44 -0700)]
staging: comedi: me4000: refactor 'ao_nchan' boardinfo

For the boards that have analog output capability, there are always
4 analog output channels. Convert the 'ao_nchan' member of the boardinfo
into a bit-field, 'has_ao', to save a bit of space and set the analog
output subdevice 'n_chan' to 4 when supported.

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>
9 years agostaging: comedi: me4000: refactor 'ai_diff_nchan' boardinfo
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:45 +0000 (10:44 -0700)]
staging: comedi: me4000: refactor 'ai_diff_nchan' boardinfo

This member of the boardinfo is only used as a flag indicating that the
board supports differential analog inputs. Convert the member to a bit-
field to save a bit of space. For aesthetics, rename the member to
'can_do_diff_ai'.

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>
9 years agostaging: comedi: me4000: make boardinfo flags bit-fields
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:44 +0000 (10:44 -0700)]
staging: comedi: me4000: make boardinfo flags bit-fields

Change the boardinfo 'has_counter' and 'ai_trig_analog' flags into
bit-fields to save a bit of space.

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>
9 years agostaging: comedi: me4000: remove 'board' from me4000_ai_check_chanlist()
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:43 +0000 (10:44 -0700)]
staging: comedi: me4000: remove 'board' from me4000_ai_check_chanlist()

The maximum differential channel is half the subdevice 'n_chan'. Use
that instead and remove the need for the 'board' variable.

Also, the comedi core does no validate the aref flags. Add a check
to ensure that the subdevice actually supports the AREF_DIFF mode.

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>
9 years agostaging: comedi: me4000: remove 'board' from me4000_ai_insn_read()
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:42 +0000 (10:44 -0700)]
staging: comedi: me4000: remove 'board' from me4000_ai_insn_read()

The 'board' pointer is only used in this function to verify that the
'chan' is valid for an aref of AREF_DIFF. For differential inputs, the
maximum channel is half the subdevice 'n_chan'. Use that instead and
remove the 'board' variable.

Also, the comedi core does not validate the aref flags. Add a check
to ensure that the subdevice actually supports the AREF_DIFF mode.

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>
9 years agostaging: comedi: me4000: remove 'chan' check in me4000_ai_insn_read()
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:41 +0000 (10:44 -0700)]
staging: comedi: me4000: remove 'chan' check in me4000_ai_insn_read()

The comedi core validates that the 'chan' is valid for the subdevice
before calling the (*insn_read) operation. Remove the unnecessary check.

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>
9 years agostaging: comedi: me4000: only set SDF_DIFF when supported
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:40 +0000 (10:44 -0700)]
staging: comedi: me4000: only set SDF_DIFF when supported

Some of the boards supported by this driver do not have differential analog
inputs. Only set the SDF_DIFF subdev_flag when the board supports it.

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>
9 years agostaging: comedi: me4000: all board types have analog inputs
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:39 +0000 (10:44 -0700)]
staging: comedi: me4000: all board types have analog inputs

All the boards supported by this driver have analog inputs. They just
differ in the number of channels (32 or 16).

Always initialize the analog input subdevice in me4000_auto_attach().

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>
9 years agostaging: comedi: me4000: remove 'dio_nchan' boardinfo
H Hartley Sweeten [Wed, 5 Aug 2015 17:44:38 +0000 (10:44 -0700)]
staging: comedi: me4000: remove 'dio_nchan' boardinfo

All the boards supported by this driver have 32 digital I/O channels.
Remove the unnecessary boardinfo.

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>
9 years agowilc1000: wilc_wfi_cfgoperations.c: Fixed initialization of global boolean.
Daniel Machon [Tue, 4 Aug 2015 22:09:35 +0000 (00:09 +0200)]
wilc1000: wilc_wfi_cfgoperations.c: Fixed initialization of global boolean.

Globals are initialized to zero or NULL by GCC. No need to explicitly initialize them.

Signed-off-by: Daniel Machon <dmachon.dev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: Fix style warning on header
Miguel Bernabeu Diaz [Wed, 5 Aug 2015 20:33:23 +0000 (22:33 +0200)]
staging: lustre: Fix style warning on header

Fix checkpatch.pl warning:
WARNING: Use #include <linux/io.h> instead of <asm/io.h>

Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: obdclass: Use kasprintf
Shraddha Barke [Tue, 4 Aug 2015 20:22:45 +0000 (01:52 +0530)]
Staging: lustre: obdclass: Use kasprintf

This patch uses kasprintf which combines kzalloc and sprintf.
kasprintf also takes care of the size calculation.

Semantic patch used is as follows:

@@
expression a,flag;
expression list args;
statement S;
@@

 a =
- \(kmalloc\|kzalloc\)(...,flag)
+ kasprintf (flag,args)
  <... when != a
  if (a == NULL || ...) S
  ...>
- sprintf(a,args);

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: mgc: Replace comma with a semicolon
Shraddha Barke [Tue, 4 Aug 2015 17:50:51 +0000 (23:20 +0530)]
Staging: lustre: mgc: Replace comma with a semicolon

Replace comma between expression statements by a semicolon.
The semantic patch used is as follows:

@@
expression e1,e2;
@@
e1
- ,
+ ;
e2;

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: netlogic: Replace comma with a semicolon
Shraddha Barke [Tue, 4 Aug 2015 17:50:52 +0000 (23:20 +0530)]
Staging: netlogic: Replace comma with a semicolon

Replace comma between expression statements by a semicolon.
The semantic patch used is as follows:

@@
expression e1,e2;
@@
e1
- ,
+ ;
e2;

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: libcfs: Replace comma with a semicolon
Shraddha Barke [Tue, 4 Aug 2015 17:50:50 +0000 (23:20 +0530)]
Staging: lustre: libcfs: Replace comma with a semicolon

Replace comma between expression statements by a semicolon.
The semantic patch used is as follows:

@@
expression e1,e2;
@@
e1
- ,
+ ;
e2;

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: osc: Drop unnecessary cast on void *
Shraddha Barke [Tue, 4 Aug 2015 17:32:34 +0000 (23:02 +0530)]
Staging: lustre: osc: Drop unnecessary cast on void *

 This patch does away with the cast on void * as it is unnecessary.

Semantic patch used is as follows:

@r@
expression x;
void* e;
type T;
identifier f;
@@
(
  *((T *)e)
|
  ((T *)x)[...]
|
  ((T *)x)->f
|
- (T *)
  e
)

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: lov: Drop unnecessary cast on void *
Shraddha Barke [Tue, 4 Aug 2015 17:32:35 +0000 (23:02 +0530)]
Staging: lustre: lov: Drop unnecessary cast on void *

This patch does away with the cast on void * as it is unnecessary.

Semantic patch used is as follows:

@r@
expression x;
void* e;
type T;
identifier f;
@@
(
  *((T *)e)
|
  ((T *)x)[...]
|
  ((T *)x)->f
|
- (T *)
  e
)

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: lustre: libcfs: Drop unnecessary cast on void*
Shraddha Barke [Tue, 4 Aug 2015 17:32:33 +0000 (23:02 +0530)]
Staging: lustre: libcfs: Drop unnecessary cast on void*

This patch does away with the cast on void * as it is unnecessary.

Semantic patch used is as follows:

@r@
expression x;
void* e;
type T;
identifier f;
@@
(
  *((T *)e)
|
  ((T *)x)[...]
|
  ((T *)x)->f
|
- (T *)
  e
)

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: visornic: Convert to using napi
Neil Horman [Tue, 4 Aug 2015 19:09:47 +0000 (15:09 -0400)]
staging: unisys: visornic: Convert to using napi

Switch the visornic over to use napi.  Currently there is a kernel
thread that sits and waits on a wait queue to get notified of incoming
virtual interrupts. It would be nice if we could handle frame reception
using the standard napi processing instead.  This patch creates our napi
instance and has the rx thread schedule it

Given that the unisys hypervisor currently requires that queue servicing
be done by a polling loop that wakes up every 2ms, lets instead also
convert that to a timer, which is simpler, and allows us to remove all
the thread starting and stopping code.

Signed-off-by: Neil Horman <nhorman@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agodrivers: staging: wilc1000: remove space after '('
Chandra S Gorentla [Wed, 5 Aug 2015 16:41:57 +0000 (22:11 +0530)]
drivers: staging: wilc1000: remove space after '('

The character ' ' is removed after the character '('.  This fixes the
checkpatch.pl error - "space prohibited after that open
parenthesis '('".

Signed-off-by: Chandra S Gorentla <csgorentla@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agodrivers: staging: wilc1000: use 'void' for no arguments functions
Chandra S Gorentla [Wed, 5 Aug 2015 16:41:55 +0000 (22:11 +0530)]
drivers: staging: wilc1000: use 'void' for no arguments functions

Added 'void' keyword in the paranthesis of function definitions, when
there are no arguments to the functions.  This fixes the checkpatch.pl
error - "Bad function definition 'function()' should probably be
function(void)".

Signed-off-by: Chandra S Gorentla <csgorentla@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: wilc1000: wilc_cfgoperations.c: Fixed coding styles issues.
Daniel Machon [Wed, 5 Aug 2015 06:18:31 +0000 (08:18 +0200)]
staging: wilc1000: wilc_cfgoperations.c: Fixed coding styles issues.

Fixed coding styles issues with braces.

Signed-off-by: Daniel Machon <dmachon.dev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: wilc1000: Remove typedefs for struct
Shraddha Barke [Tue, 4 Aug 2015 19:59:22 +0000 (01:29 +0530)]
Staging: wilc1000: Remove typedefs for struct

The Linux kernel coding style guidelines suggest not using typedefs for
structure and enum types. This patch gets rid of the typedefs for
Ack_session_info_t.

The following Coccinelle semantic patch detects the cases for struct type:

@tn@
identifier i;
type td;
@@

-typedef
 struct i { ... }
-td
 ;

@@
type tn.td;
identifier tn.i;
@@

-td
+ struct i

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: iio_simple_dummy: Fix indentation errors
Lars Svensson [Wed, 5 Aug 2015 12:15:12 +0000 (14:15 +0200)]
staging: iio_simple_dummy: Fix indentation errors

Fixing indentation errors in
drivers/staging/iio/iio_simple_dummy_events.c.

Signed-off-by: Lars Svensson <lars1.svensson@sonymobile.com>
Acked-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: vt6655: Fixed C99 style comment to C89 style.
Lior Pugatch [Tue, 4 Aug 2015 19:18:04 +0000 (22:18 +0300)]
staging: vt6655: Fixed C99 style comment to C89 style.

Patch created to satisfy checkpatch.pl

Signed-off-by: Lior Pugatch <buzz5800@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: fix up coding style warnings reported by checkpatch.pl.
Ting-Chih Hsiao [Tue, 4 Aug 2015 03:21:10 +0000 (11:21 +0800)]
staging: rtl8723au: fix up coding style warnings reported by checkpatch.pl.

remove spaces at the start of a line
align enum variable with other parameters

Signed-off-by: Ting-Chih Hsiao <s894330@hotmail.com>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Properly reference kthread_run instead of cfs_daemonize
Oleg Drokin [Tue, 4 Aug 2015 01:57:45 +0000 (21:57 -0400)]
staging/lustre: Properly reference kthread_run instead of cfs_daemonize

cfs_daemonize is long gone and replaced by a proper call to kthread_run,
so update the comment to reflect that fact.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre/ptlrpc: Remove stray cfs_daemonize comment
Oleg Drokin [Tue, 4 Aug 2015 01:57:44 +0000 (21:57 -0400)]
staging/lustre/ptlrpc: Remove stray cfs_daemonize comment

Ever since daemonize was removed in 3.18, there are no longer
any flags passed to kthread_run.
Most of the comments were deleted, but this one lingered on
until now.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: improve comedi_check_chanlist() documentation
Ian Abbott [Wed, 5 Aug 2015 17:13:26 +0000 (18:13 +0100)]
staging: comedi: improve comedi_check_chanlist() documentation

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: do not return -ENOSYS.
Ted Chen [Tue, 4 Aug 2015 17:18:46 +0000 (01:18 +0800)]
staging: comedi: do not return -ENOSYS.

fixed coding style issue by replacing ENOSYS
with EIO because it means 'invalid syscall nr'
and nothing else.

Signed-off-by: Ted Chen <tedc.37zngo@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: android: timed_gpio.c: fix coding style errors
Jandy Gou [Wed, 5 Aug 2015 02:09:02 +0000 (10:09 +0800)]
Staging: android: timed_gpio.c: fix coding style errors

remove extra space and replace tab to space after a variable

Signed-off-by: Jandy Gou <qingsong.gou@ck-telecom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8188eu/core: fixed code indentation warning as reported by checkpatch.pl
Mayank Bareja [Mon, 3 Aug 2015 11:23:01 +0000 (11:23 +0000)]
Staging: rtl8188eu/core: fixed code indentation warning as reported by checkpatch.pl

fixed code indentation warning as detected with checkpatch.pl.
Replaced spaces with tabs.

Signed-off-by: Mayank Bareja <mbareja@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rts5208: Fix code indentation warning as detected by checkpatch.pl
Yash Shah [Mon, 3 Aug 2015 11:18:31 +0000 (11:18 +0000)]
Staging: rts5208: Fix code indentation warning as detected by checkpatch.pl

Fixed code indentation warning as detected by checkpatch.pl.

Signed-off-by: Yash Shah <yshah1@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: service.c: make local functions static
Zoltán Lajos Kis [Sun, 2 Aug 2015 20:36:31 +0000 (22:36 +0200)]
staging: lustre: service.c: make local functions static

Makes functions that are not used outside the file in which they are defined
static, as reported by sparse:

drivers/staging/lustre/lustre/ptlrpc/service.c:72:35: warning: symbol
'ptlrpc_alloc_rqbd' was not declared. Should it be static?
1065 drivers/staging/lustre/lustre/ptlrpc/service.c:105:1: warning:
symbol 'ptlrpc_free_rqbd' was not declared. Should it be static?
1066 drivers/staging/lustre/lustre/ptlrpc/service.c:122:1: warning:
symbol 'ptlrpc_grow_req_bufs' was not declared. Should it be static?
1067 drivers/staging/lustre/lustre/ptlrpc/service.c:3055:5: warning:
symbol 'ptlrpc_svcpt_health_check' was not declared. Should it be
static?

Signed-off-by: Zoltán Lajos Kis <zoltan.lajos.kis@gmail.com>"
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: echo_client: fix sparse declaration warnings
Zoltán Lajos Kis [Sun, 2 Aug 2015 17:22:30 +0000 (19:22 +0200)]
staging: lustre: echo_client: fix sparse declaration warnings

Fixes the following sparse warnings:

drivers/staging/lustre/lustre/obdecho/echo_client.c:2142:5: warning: symbol 'echo_client_init' was not declared. Should it be static?
drivers/staging/lustre/lustre/obdecho/echo_client.c:2157:6: warning: symbol 'echo_client_exit' was not declared. Should it be static?

Signed-off-by: Zoltán Lajos Kis <zoltan.lajos.kis@gmail.com>"
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192u: r819xU_firmware: fix coding style
Kent Gustavsson [Sun, 2 Aug 2015 16:14:50 +0000 (18:14 +0200)]
staging: rtl8192u: r819xU_firmware: fix coding style

Line over 80 characters. This is for Eudyptula Challenge

Signed-off-by: Kent Gustavsson <kent@minoris.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Get rid of inode_dio_write_done and inode_dio_read
Oleg Drokin [Fri, 31 Jul 2015 23:42:59 +0000 (19:42 -0400)]
staging/lustre: Get rid of inode_dio_write_done and inode_dio_read

These primitives are long deprecated and unused.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Get rid of ll_pagevec_ macros
Oleg Drokin [Fri, 31 Jul 2015 23:42:58 +0000 (19:42 -0400)]
staging/lustre: Get rid of ll_pagevec_ macros

They are noop anyways.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Use hlist primitives directly
Oleg Drokin [Fri, 31 Jul 2015 23:42:57 +0000 (19:42 -0400)]
staging/lustre: Use hlist primitives directly

Get rid of ll_d_hlist* compat defines.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Drop FMODE_UNSIGNED_OFFSET define
Oleg Drokin [Fri, 31 Jul 2015 23:42:56 +0000 (19:42 -0400)]
staging/lustre: Drop FMODE_UNSIGNED_OFFSET define

It's not really used anywhere.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: remove unused ll_quota_on and ll_quota_off
Oleg Drokin [Fri, 31 Jul 2015 23:42:55 +0000 (19:42 -0400)]
staging/lustre: remove unused ll_quota_on and ll_quota_off

They are not used anywhere, so safe to drop.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre: Drop SEEK_* definition checks
Oleg Drokin [Fri, 31 Jul 2015 23:42:54 +0000 (19:42 -0400)]
staging/lustre: Drop SEEK_* definition checks

SEEK_DATA and SEEK_HOLE are always defined in the kernel,
drop the definition checks

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Rework EEPROM handling code
Mateusz Kulikowski [Thu, 30 Jul 2015 21:48:50 +0000 (23:48 +0200)]
staging: rtl8192e: Rework EEPROM handling code

Card configuration is stored in SPI EEPROM (93c46 or 93c56)
working in 128|256x16 mode.
Communication is handled using GPIO bitbang.

>From behaviour perspective, delay after read was removed.
It is not needed as we wait after reading GPIO mapped to
PCI-E register - it should have no side effects.

According to sample EEPROM datasheet (AT93Cx6), max frequency for
worst case scenario (1.8V supply) is 250kHZ (vs. 1MHz for 5V).
Driver generates ~50kHZ clock - margin should be big enough
even for devices from other vendors.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: unisys: visorchannel: Add peek function
Neil Horman [Fri, 31 Jul 2015 22:56:32 +0000 (18:56 -0400)]
staging: unisys: visorchannel: Add peek function

According to unisys, the s_par hypervisor has a bug in which it never
triggers an interrupt.  That makes the visornic effectively a 2ms poll
loop.  In order to just have the rx thread shceduling a napi poll every
2ms, lets instead give it the chance to check the response queue for
data before we schedule.  This helper provides that functionality

Signed-off-by: Neil Horman <nhorman@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: android: Allow compile test of GPIO consumers if !GPIOLIB
Geert Uytterhoeven [Sun, 2 Aug 2015 09:09:51 +0000 (11:09 +0200)]
staging: android: Allow compile test of GPIO consumers if !GPIOLIB

The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is
not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer
functionality only, can still be compiled if GPIOLIB is not enabled.

Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where
appropriate.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: fbtft: Allow compile test of GPIO consumers if !GPIOLIB
Geert Uytterhoeven [Sun, 2 Aug 2015 09:09:52 +0000 (11:09 +0200)]
staging: fbtft: Allow compile test of GPIO consumers if !GPIOLIB

The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is
not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer
functionality only, can still be compiled if GPIOLIB is not enabled.

Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where
appropriate.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: fbtft: core: Don't set device platform_data
Noralf Trønnes [Thu, 30 Jul 2015 17:55:01 +0000 (19:55 +0200)]
staging: fbtft: core: Don't set device platform_data

Pass platform_data as an argument to fbtft_framebuffer_alloc()
instead of using dev->platform_data.

This fixes an issue where the device comes from Device Tree
and fbtft_probe_common() sets dev->platform_data to allocated
memory. When the module is reloaded, dev->platform_data points
to freed memory.

Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: most: fix hdm-dim2 build error
Randy Dunlap [Mon, 3 Aug 2015 18:35:51 +0000 (11:35 -0700)]
staging: most: fix hdm-dim2 build error

Fix build of hdm-dim2. Since it calls a function that is provided
by AIM_NETWORK, make it depend on that symbol.

Also fix a misspelling in the Kconfig file.

drivers/built-in.o: In function `deliver_netinfo_thread':
dim2_hdm.c:(.text+0x3a9563): undefined reference to `most_deliver_netinfo'

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Jain Roy Ambi <JainRoy.Ambi@microchip.com>
Cc: Andrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: most: fix aim-sound build errors
Randy Dunlap [Mon, 3 Aug 2015 18:35:47 +0000 (11:35 -0700)]
staging: most: fix aim-sound build errors

Fix build errors: driver uses snd_pcm*() interfaces, so select
SND_PCM.

drivers/built-in.o: In function `audio_rx_completion':
sound.c:(.text+0x3cd376): undefined reference to `snd_pcm_period_elapsed'
drivers/built-in.o: In function `pcm_prepare':
sound.c:(.text+0x3cd3b0): undefined reference to `snd_pcm_format_physical_width'
sound.c:(.text+0x3cd3ce): undefined reference to `snd_pcm_format_big_endian'
sound.c:(.text+0x3cd42c): undefined reference to `snd_pcm_format_big_endian'
drivers/built-in.o: In function `pcm_hw_free':
sound.c:(.text+0x3cd50a): undefined reference to `snd_pcm_lib_free_vmalloc_buffer'
drivers/built-in.o: In function `pcm_hw_params':
sound.c:(.text+0x3cd54c): undefined reference to `_snd_pcm_lib_alloc_vmalloc_buffer'
drivers/built-in.o: In function `playback_thread':
sound.c:(.text+0x3cd6a0): undefined reference to `snd_pcm_period_elapsed'
drivers/built-in.o: In function `audio_probe_channel':
sound.c:(.text+0x3cdc0b): undefined reference to `snd_pcm_new'
sound.c:(.text+0x3cdc2b): undefined reference to `snd_pcm_set_ops'
drivers/built-in.o:(.data+0x952d0): undefined reference to `snd_pcm_lib_ioctl'
drivers/built-in.o:(.data+0x95318): undefined reference to `snd_pcm_lib_get_vmalloc_page'

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: most: avoid possible integer overflow
Christian Gromm [Mon, 3 Aug 2015 11:44:30 +0000 (13:44 +0200)]
Staging: most: avoid possible integer overflow

This patch prevents a potential integer overlow.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: probe: iounmap mmio when probe fails
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:47 +0000 (23:31 +0200)]
staging: rtl8192e: probe: iounmap mmio when probe fails

In case of probe failure, io memory was not released properly.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Drop large switch in rtl92e_config_rf
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:46 +0000 (23:31 +0200)]
staging: rtl8192e: Drop large switch in rtl92e_config_rf

The same steps were made for each RF path independently.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Fix IW_IOCTL macro
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:45 +0000 (23:31 +0200)]
staging: rtl8192e: Fix IW_IOCTL macro

Macro caused checkpatch complaints - replace [] braces with ()
and use [] braces as array initializers.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Remove phy_RF8256_Config_ParaFile
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:44 +0000 (23:31 +0200)]
staging: rtl8192e: Remove phy_RF8256_Config_ParaFile

Merge function into rtl92e_config_rf as having them
separated gives no benefit.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Simplify rtl92e_set_bandwidth
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:43 +0000 (23:31 +0200)]
staging: rtl8192e: Simplify rtl92e_set_bandwidth

Move phy version check outside of the loop.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Simplify rtl92e_is_halfn_supported_by_ap
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:42 +0000 (23:31 +0200)]
staging: rtl8192e: Simplify rtl92e_is_halfn_supported_by_ap

Function should return struct member - no extra logic is needed.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: MgntActSet_RF_State: remove ProtectOrNot parameter
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:41 +0000 (23:31 +0200)]
staging: rtl8192e: MgntActSet_RF_State: remove ProtectOrNot parameter

It is set at the very beginning of function to a constant value.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Remove rtl8192_data_hard_resume
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:40 +0000 (23:31 +0200)]
staging: rtl8192e: Remove rtl8192_data_hard_resume

Function is empty; rtllib checks if handler is NULL.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Remove rtl8192_data_hard_stop
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:39 +0000 (23:31 +0200)]
staging: rtl8192e: Remove rtl8192_data_hard_stop

Function is empty; rtllib checks if handler is NULL.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Remove ActUpdateChannelAccessSetting
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:38 +0000 (23:31 +0200)]
staging: rtl8192e: Remove ActUpdateChannelAccessSetting

Function is empty and called only once.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: Remove rtl8192_phy_updateInitGain
Mateusz Kulikowski [Tue, 28 Jul 2015 21:31:37 +0000 (23:31 +0200)]
staging: rtl8192e: Remove rtl8192_phy_updateInitGain

Function is empty and called only once.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das16: remove a duplicate condition
Dan Carpenter [Wed, 29 Jul 2015 21:36:32 +0000 (00:36 +0300)]
staging: comedi: das16: remove a duplicate condition

We checked that "it->options[3]" was non-zero on the line before so
there is no need to check again.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8192e: don't just print an error and continue
Dan Carpenter [Tue, 28 Jul 2015 15:49:25 +0000 (18:49 +0300)]
staging: rtl8192e: don't just print an error and continue

I was looking at how TOTAL_CAM_ENTRY is used and I saw this code.  We
print an error but continue writing "EntryNo" to a register as if it
were valid.  "EntryNo" is controlled by the user in rtl8192_ioctl() so
it definitely can be invalid.  I'm not positive what happens with the
invalid data but it can't be good.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: rtl8192e: array overflow in rtl92e_set_swcam()
Dan Carpenter [Tue, 28 Jul 2015 15:48:21 +0000 (18:48 +0300)]
Staging: rtl8192e: array overflow in rtl92e_set_swcam()

"EntryNo" is comes from the user in the ioctl and it's a number between
0-255.  The ieee->swcamtable[] array only has 32 elements so it can
result in memory corruption.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: panel: fix block comment usage
Alex Wilson [Fri, 31 Jul 2015 17:08:29 +0000 (11:08 -0600)]
staging: panel: fix block comment usage

Fixed two coding style warnings concerning multiline comments.

Signed-off-by: Alex Wilson <alex.david.wilson@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agodrivers: staging: Drop unlikely before IS_ERR(_OR_NULL)
Viresh Kumar [Fri, 31 Jul 2015 08:38:30 +0000 (14:08 +0530)]
drivers: staging: Drop unlikely before IS_ERR(_OR_NULL)

IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there
is no need to do that again from its callers. Drop it.

This also replaces an IS_ERR(x) + (x == NULL) check to IS_ERR_OR_NULL
check.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>