Commit Graph

337098 Commits

Author SHA1 Message Date
Lars-Peter Clausen 891c8bcec1 staging:iio:ad7793: Move register definitions from header to source
The only user of the register definitions is the driver itself, so move them
from the header file to the driver source file. The header file now only
contains the platform data struct.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:08 +00:00
Lars-Peter Clausen dd2c101348 staging:iio:ad7793: Rework regulator handling
Rework the regulator handling of the driver to match more closely what we do in
other drivers. Make the regulator non-optional if a external reference is used.
Also dispose the option of specifying the reference voltage via platform data.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:07 +00:00
Lars-Peter Clausen d21f30c99e staging:iio:ad7793: Rework platform data
Currently the platform data for the ad7793 consist just out of the raw default
register settings. This has some downsides, for one we actually don't want to
make all bits configurable and secondly not all register settings are actually
valid. This patch exposes all the options which should be configurable via
platform data as induvidual platform data struct fields. This also allows us to
document the different settings via proper kernel doc.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:07 +00:00
Lars-Peter Clausen fe2e0d5228 staging:iio:ad7793: Use kstrtol instead of strict_strtol
strict_strtol is deprecated in favor of kstrtol.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:07 +00:00
Lars-Peter Clausen 3e4334f2d6 staging:iio:ad7793: Use usleep_range instead of msleep
It is recommended to use usleep_range instead of msleep for durations smaller
than a 20ms.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:06 +00:00
Lars-Peter Clausen e4ac728363 staging:iio:ad7793: Fix temperature scale
The temperature scale was off by a factor of 1000.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:06 +00:00
Lars-Peter Clausen 24b27fa109 staging:iio:ad7793: Fix VDD monitor scale
The VDD monitor scale was off by a factor of 10.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-11-30 12:57:06 +00:00
Dan Carpenter e143ef8f29 staging: gdm72xx: unlock on error in init_usb()
We recently added locking here and there was an error path which is
missing an unlock.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:16:15 -08:00
Dan Carpenter a171516c34 staging: panel: pass correct lengths to keypad_send_key()
We changed the sizeof() statements in 429ccf058b "staging:panel: Fixed
coding conventions." so that they could fit inside the 80 character
line limit.  Unfortunately, the new sizeof() statements are a smaller
size.  This reverts it.

There isn't a nice way to stay within the 80 character limit without
a re-work so I've gone over.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:16:15 -08:00
H Hartley Sweeten 05fcdcede0 staging: comedi: addi_apci_2032: fix interrupt support
This board supports two interrupt sources:

VCC : detects when the external supply voltage drops below 5V
CC  : over temperature diagnostic

Currently the interrupt support is tied into the digital output
subdevice. It's also broken since it does not follow the comedi
API.

Create a new digital input subdevice to handle the interrupts.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten b3b7dab758 staging: comedi: addi_apci_2032: move i_APCI2032_ConfigDigitalOutput()
For aesthetic reasons, move this function.

This function has nothing to do with the digital outputs. It's used
to enable the interrupt sources that the board can generate.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten 7c7c42cdf6 staging: comedi: addi_apci_2032: remove the timer s->range_table
The timer subdevice does not have a digital range. Its range of
0 to 0xff is the value used to set the reload timer.

Remove the setting of s->range_table. The comedi core will then
set it to range_unknown.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten cf11088242 staging: comedi: addi_apci_2032: cleanup the subdevice init
For aesthetic reasons, add some whitespace to the subdevice init.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten 23fb174746 staging: comedi: addi_apci_2032: fix the watchdog timer subdevice
The watchdog timer on this board functions exactly like the one on
the apci_1516 board. Fix the i_APCI2032_StartStopWriteWatchdog and
i_APCI2032_ConfigWatchdo functions so that the watchdog follows the
comedi API.

Rename the CamelCase function i_APCI2032_StartStopWriteWatchdog to
apci2032_wdog_insn_writ. This function is used to "ping" the watchdog.

Rename the CamelCase function i_APCI2032_ConfigWatchdog to
apci2032_wdog_insn_config. This function is used to enable/disable
the watchdog and set the timeout.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten f82a66132b staging: comedi: addi_apci_2032: remove need for addi-data/addi_common.h
Only the ADDIDATA_ENABLE define is used from this header. Just
open-code the value to remove the dependency and remove the include.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten dce10abc49 staging: comedi: addi_apci_2032: remove use of struct addi_private
The only data in addi_private used in this driver is:

tsk_Current - used with send_sig to signal userspace when an interrupt
has occurred. Interrupt support in this driver does not follow the
standard comedi API so this functionality is currently broken. This
will be addressed.

b_OutputMemoryStatus - used in the addi-data "common" code to enable
reading of the eeprom. Eeprom support is not needed by this driver
and has been removed.

Since this data is not needed, remove the use of struct addi_private.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:31 -08:00
H Hartley Sweeten 7b5dd1cc98 staging: comedi: addi_apci_2032: fix i_APCI2032_ReadWatchdog()
This function is used by the watchdog subdevice to read the status of
the watchdog. Rename the CamelCase function to apci2032_wdog_insn_read
and fix the function to return the status value insn->n times like
the comedi core expects.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten 7180eb30de staging: comedi: addi_apci_2032: cleanup register map defines
Cleanup the defines a bit and add the missing information for the
bits in the registers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten d02178b7fb staging: comedi: addi_apci_2032: merge in hwdrv_apci2032.c
Merge the code from hwdrv_apci2032.c into the driver and delete the
now unused file.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten 61034e002d staging: comedi: addi_apci_2032: cleanup the s->subdev_flags
The flags SDF_GROUND and SDF_COMMON only have meaning for analog
input/output subdevices. Remove these flags from the digital
output and timer subdevices in this driver.

The digital output subdevice does not need the SDF_READABLE flag.
Remove it.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten c0c3c7dfc1 staging: comedi: addi_apci_2032: remove boardinfo
This driver only supports a single board type. Remove the boardinfo
and just use the information directly where used.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten 0c33bdd01a staging: comedi: addi_apci_2032: only allocate needed subdevices
The addi-data "common" code always allocated 7 subdevices. This driver
only requires 2. Change the allocation and remove the unused subdevices.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten 490555966e staging: comedi: addi_apci_2032: remove use of devpriv->s_EeParameters
This driver no longer reads the eeprom to find the board specific data,
all the necessary data is in the boardinfo. Use the boardinfo directly
instead of passing through devpriv->s_EeParameters.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:30 -08:00
H Hartley Sweeten ff5eb17ef4 staging: comedi: addi_apci_2032: don't read the unused PCI bars
This driver only uses PCI bar 1 (dev->iobase), doon't bother reading
the unused PCI bars.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:29 -08:00
H Hartley Sweeten f5f760e1d3 staging: comedi: addi_apci_2032: remove devpriv->iobase usage
The iobase address stored in devpriv->iobase is also stored in dev->iobase.
Use that instead.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-29 18:05:29 -08:00