summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-09-26staging: comedi: ni_mio_common: always lock in ni_ai_poll()Ian Abbott
`ni_ai_poll()` currently acquires (and later releases) the comedi device's spin-lock iff `in_interrupt()` returns 0. However, it is only called during processing of a `COMEDI_POLL` ioctl so `in_interrupt()` will always return 0 in this case. Remove this test and acquire/release the spin-lock unconditionally. This eliminates a sparse warning about different lock contexts for basic block. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: comedi: s626: add FIXME commentIan Abbott
`s626_enc_insn_config()` is the `insn_config()` handler for a counter subdevice. The `data[0]` value is supposed to be one of the `INSN_CONFIG_...` constants defined in "comedi.h" indicating the type of configuration instruction, but this function seems to be using it as a variable value to preload the counter with. Various values of `data[0]` are going to cause `check_insn_config_length()` in the comedi core ("comedi_fops.c") to return an error, and this function won't be called in those cases. Most other values will log a warning to the kernel log. It's not entirely clear what constant should be checked for in `data[0]`, so add a "FIXME" comment for now. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: comedi: s626: don't dereference insn->dataIan Abbott
`s626_enc_insn_config()` is incorrectly dereferencing `insn->data` which is a pointer to user memory. It should be dereferencing the separate `data` parameter that points to a copy of the data in kernel memory. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: comedi: s526: fix if() check in s526_gpct_winsn()H Hartley Sweeten
This if() check was flipped from a test for valid data params to a test for invalid params. As pointed out by Dan Carpenter, the orignal test was: if ((data[1] > data[0]) && (data[0] > 0)) { the flipped test should be: if (data[1] <= data[0]) ... Add the missing '='. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: comedi: s626: cleanup comments in s626_initialize()H Hartley Sweeten
Cleanup the comments to follow the coding style of the kernel. 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-09-26staging: comedi: s626: remove clear of kzalloc'ed dataH Hartley Sweeten
The private data is kzalloc'ed. There is no need to set any of the initial data to '0'. 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-09-26staging: comedi: s626: remove 'WDInterval' from private dataH Hartley Sweeten
This variable is never used in the driver. Just 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-09-26staging: comedi: s626: remove 'ChargeEnabled' from private dataH Hartley Sweeten
This variable is never used in the driver. Just 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-09-26staging: comedi: s626: remove 'IsBoardRevA' commentH Hartley Sweeten
IsBoardRevA is not defined in the driver. Remove the comment about 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-09-26staging: comedi: s626: #if 0 out the "SAA7146 BUG WORKAROUND"H Hartley Sweeten
Until it's determined if this workaround can be removed, block out the code with an #if 0/#endif and remove the individual comments on each line. 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-09-26staging: comedi: s626: remove 'allocatedBuf' from private dataH Hartley Sweeten
This variable is only used to count the number of dma buffers allocated during the attach. If an allocation fails, the attach function exits with -ENOMEM. When this variable is checked later it will always be == 2. Just remove the variable and the check. This allows bringing the code back an indent level in s626_initialize(). Note, coding style issues in this function are not addressed yet. 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-09-26staging: comedi: s626: add final attach messageH Hartley Sweeten
Add a simple dev_info() message after a successfull attach. Change the final return to '0' to indicate success. 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-09-26staging: comedi: s626: remove unneeded clear of private dataH Hartley Sweeten
The private data is kzalloc'ed. All the variables in it are initially '0'. 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-09-26staging: comedi: s626: factor out the board init codeH Hartley Sweeten
To make the attach a bit cleaner, factor the board init code out of attach_pci() into a new function. 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-09-26staging: comedi: s626: cleanup request_irq in s626_attach_pci()H Hartley Sweeten
Only set dev->irq if request_irq is successfull. Remove the kernel message noise. 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-09-26staging: comedi: s626: factor out the dma buffer allocationH Hartley Sweeten
To make the attach a bit cleaner, factor the dma buffer allocation out of attach_pci() into a new function. 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-09-26staging: comedi: s626: remove unnecessary checks of 'devpriv->base_addr'H Hartley Sweeten
'devpriv->base_addr' is valid from this point on in the attach_pci() function. Remove the unnecessary checks. 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-09-26staging: comedi: s626: cleanup ioremap()H Hartley Sweeten
The local variable 'resourceStart' is only used in the ioremap() to hold the PCI bar 0 base address. Just use the pci_resource_start() directly in the ioremap(). Also, instead of assuming the resource size for the ioremap, use pci_resource_len() to get the actual size. Remove the kernel noise when the ioremap fails and change the error code from -ENODEV to -ENOMEM. 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-09-26staging: comedi: s626: remove 'got_regions' from private dataH Hartley Sweeten
This variable is only used as a flag to indicate that the pci device has been enabled and needs to be disabled in the detach. Use the comedi_device 'iobase' for this and remove the private data variable. 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-09-26staging: comedi: s626: remove unneeded local variable in attach_pci()H Hartley Sweeten
The 'result' variable is only used to check the return from comedi_pci_enable(). Just reuse the 'ret' variable. Also, remove the kernel noise and use the error code from comedi_pci_enable() instead of returning -ENODEV. 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-09-26staging: comedi: s626: use dev->board_name for resource nameH Hartley Sweeten
Instead of the literal string "s626", use the dev->board_name for the resource name when enabling the PCI device and requesting the irq. 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-09-26staging: comedi: s626: store the pci_dev in the comedi_deviceH Hartley Sweeten
Use the hw_dev pointer in the comedi_device struct to hold the pci_dev instead of carrying it in the private data. 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-09-26staging: comedi: s626: use attach_pci callbackH Hartley Sweeten
Convert this PCI driver to use the comedi PCI auto config attach mechanism by adding an 'attach_pci' callback function. Since the driver does not require any external configuration options, and the legacy 'attach' callback is not optional, 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-09-26staging: comedi: s626: remove boardinfoH Hartley Sweeten
This driver only supports one board type. Move the used board info out of the boardinfo struct and 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-09-26staging: comedi: ni_daq_700: add AI subdeviceIan Abbott
Add subdevice 1 as an analog input (AI) subdevice. It currently only supports basic, software-triggered acquisitions. This is mostly the work of Fred Brooks (MODULE_AUTHOR), but he based his update on an older version of the driver. I applied the relevant changes with a few tweaks: adding an explicit `udelay(1)` in a timeout loop, replacing binary constants with hex, renaming functions, replacing `printk()` calls, removing exported symbols, removing (very) incomplete comedi "command" support, and making some coding-style changes. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: comedi: ni_daq_700: rename functions for DIO subdeviceIan Abbott
Rename `subdev_700_insn()` to `daq700_dio_insn_bits()` and `subdev_700_insn_config()` to `daq700_dio_insn_config()`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: comedi: ni_daq_700: use prefix daq700Ian Abbott
Rename a few functions and variables to use the prefix `daq700` instead of the prefix or suffix `dio700`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stCPacketClassificationRuleSI and call ↵Kevin McKinney
directly. This patch removes typedef for _stCPacketClassificationRuleSI, changes the name of the struct to bcm_packet_class_rules, and updates the comments appropriately . In addition, any calls to typedefs "CCPacketClassificationRuleSI, stCPacketClassificationRuleSI, or *pstCPacketClassificationRuleSI" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stPhsRuleSI and call directly.Kevin McKinney
This patch removes typedef for _stPhsRuleSI, changes the name of the struct to bcm_phs_rules, and updates the comments appropriately. In addition, any calls to typedefs "stPhsRuleSI, *pstPhsRuleSI, or CPhsRuleSI" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stConvergenceSLTypes and call directly.Kevin McKinney
This patch removes typedef for _stConvergenceSLTypes, changes the name of the struct to bcm_convergence_types, and updates the comments appropriately. In addition, any calls to typedefs "stConvergenceSLTypes, CConvergenceSLTypes, and *pstConvergenceSLTypes" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stServiceFlowParamSI and call directly.Kevin McKinney
This patch removes typedef for _stServiceFlowParamSI, changes the name of the struct to bcm_connect_mgr_params, and updates the comments appropriately. In addition, any calls to typedefs "stServiceFlowParamSI, *pstServiceFlowParamSI, and CServiceFlowParamSI" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stLocalSFAddRequest and call directly.Kevin McKinney
This patch removes typedef for _stLocalSFAddRequest, and changes the name of the struct to bcm_add_request. In addition, any calls to typedefs "stLocalSFAddRequest or *pstLocalSFAddRequest" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stLocalSFAddIndication and call directly.Kevin McKinney
This patch removes typedef for _stLocalSFAddIndication, and changes the name of the struct to bcm_add_indication. In addition, any calls to typedefs "stLocalSFAddIndication, *pstLocalSFAddIndication, stLocalSFChangeRequest, *pstLocalSFChangeRequest, stLocalSFChangeIndication, or *pstLocalSFChangeIndication " are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for _stLocalSFDeleteRequest and call directly.Kevin McKinney
This patch removes typedef for _stLocalSFDeleteRequest, and changes the name of the struct to bcm_del_request. In addition, any calls to typedefs "stLocalSFDeleteRequest or *pstLocalSFDeleteRequest" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: bcm: Remove typedef for stLocalSFDeleteIndication and call directly.Kevin McKinney
This patch removes typedef for stLocalSFDeleteIndication, and changes the name of the struct to bcm_del_indication. In addition, any calls to the following typedef "stLocalSFDeleteIndication" are changed to call the struct directly. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: rtl8712: fix foo* bar (foo*) errors reported by checkpatchDevendra Naga
fixes the following errors: drivers/staging/rtl8712/rtl871x_security.c:61: ERROR: "foo * bar" should be "foo *bar" drivers/staging/rtl8712/rtl871x_security.c:291: ERROR: "foo * bar" should be "foo *bar" drivers/staging/rtl8712/rtl871x_security.c:323: ERROR: "foo * bar" should be "foo *bar" drivers/staging/rtl8712/rtl871x_security.c:1371: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: rtl8712: fix a foo * bar errors reported by checkpatchDevendra Naga
fixes the following error: drivers/staging/rtl8712/rtl8712_xmit.c:379: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: rtl8712: remove assignment of 0 to a static global variableDevendra Naga
fixes the following checkpatch warning: drivers/staging/rtl8712/os_intfs.c:99: ERROR: do not initialise statics to 0 or NULL as statics are always initialised to 0. Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging: rts5139: use kzalloc() to close an info leakDan Carpenter
If we don't fill the whole buffer then there is information leaked to the user. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26staging "wlan-ng" Fix typos.Justin P. Mattock
Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: winbond: Removed undesired spaces, lines and tabsHarsh Kumar
checkpatch cleanup: Removed some undesired spaces, lines and tabs to comply with coding style. Signed-off-by: Harsh Kumar <harsh1kumar@gmail.com> Acked-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-26Staging: winbond: Changed c99 comments to c89 commentsHarsh Kumar
checkpatch cleanup: Changed c99 comments to c89 comments Signed-off-by: Harsh Kumar <harsh1kumar@gmail.com> Acked-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-25Merge tag 'iio-for-v3.7e' of ↵Greg Kroah-Hartman
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Fifth round of new drivers and device support for the IIO subsystem in the 3.7 cycle. Here we have a mixed bag of new stuff, minor fixes and more major fixes for drivers added earlier in this cycle. 1) A number of fixes for the HID sensors code added in previous pull request. Typical stuff that has become apparent as more eyes have looked at the code post merging. Similar case for the ad5755 dac. 2) Cleanups of error handing in inkern.c - again typical stuff to see as code comes into heavier use and people notice the naughty short cuts that snuck in originally and kindly fix them. 3) A series from Lars that removes some incorrect error handling from the remove functions of a number of drivers. These have been there for a very long time hence I'm not pushing these out for the 3.6 cycle. 4) Support for more parts in the ad7780 driver. 5) A driver for the adcs on the lp8788 power management unit 6) A client driver for IIO to allow it's ADCs to be used for battery status measurement. Note this driver has some dependencies on some utility functions added to IIO in this series, hence it is coming via this tree rather than Anton's. 7) A null pointer dereference bug in the 'fake' driver. I'm not doing this as a fix for the 3.6 cycle because it only effects 'fake' hardware and that code is typically only used by people investigating how IIO works as part of writing new drivers. Hence it's hardly a critical fix.
2012-09-25staging: winbond: Coding Style correction and removal of unused macroHarsh Kumar
Removed an unused macro. Plus, couple of grammatical and coding style fixes. 1) The macro _INLINE is not used anywhere. Anyways __inline is not portable. 2) Changed comment from "Not use" to "Unused" make it grammatically correct and to fit in 80 word limit. 3.) Removed space after * Signed-off-by: Harsh Kumar <harsh1kumar@gmail.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-25staging: sbe-2t3e3: fix error handling in t3e3_init_channel()Alexey Khoroshilov
t3e3_init_channel() incorrectly handles errors in several places: it returns zero and does not deallocate all required resources. The patch fixes that places. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-22staging:iio:dummy: Fix potential NULL pointer dereferenceLars-Peter Clausen
If the config contains CONFIG_IIO_BUFFER=y and CONFIG_IIO_SIMPLE_DUMMY_BUFFER=n iio_simple_dummy_configure_buffer() is stubbed out and iio_buffer_register() is not. As a result we try to register a buffer which has not been configured. This will causes a NULL pointer deref in iio_buffer_register. To solve this issue move the iio_buffer_register() call to iio_simple_dummy_configure_buffer(), so it will only be called if iio_simple_dummy_configure_buffer() has been called. Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-22power: battery: Generic battery driver using IIOanish kumar
Driver to allow use of the ADC drivers supported by the IIO subsystem for battery status monitoring. Connecting this driver to the relevant IIO device requires registration of the appropriate iio_map structure array by the IIO device driver (usually from platform data). If specified the driver will also make use of a gpio to provide interrupt driven notification that the battery is fully charged. In last version: Addressed concerns raised by lars: a. made the adc_bat per device. b. get the IIO channel using hardcoded channel names. c. Minor issues related to gpio_is_valid and some code refactoring. In V1: Addressed concerns raised by Anton: a. changed the struct name to gab(generic adc battery). b. Added some functions to neaten the code. c. Some minor coding guidelines changes. d. Used the latest function introduce by lars: iio_read_channel_processed to streamline the code. In V2: Addressed concerns by lars: a. No need of allocating memory for channels.Make it array. b. Code restructring, coding style and following kernel guidelines changes suggested by him. In V3: Addressed conerns by Anton: a. Added the copyright. b. Coding guidelines changes suggested by him. c. Added Makefile and Kconfig Signed-off-by: anish kumar <anish198519851985@gmail.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-22HID: hid-sensor-hub: Fix sensor_hub_probe error handlingAxel Lin
Fix below issues: 1. In the case of goto err_close, hid_hw_stop(hdev) is called twice. Fix it. 2. If fails to allocate MFD device name, we also need to free all successfully allocated names in previous iterations. 3. In sensor_hub_remove(), Call hid_hw_close() before hid_hw_stop(). 4. Adjust unnecessary change lines for hid_err. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-22HID: hid-sensor-hub: Remove hdev->claimed settingAxel Lin
Current implementation of hid_hw_start() allows connect_mask to be 0. Setting hdev->claimed = HID_CLAIMED_INPUT before calling hid_hw_start() is not necessary. Remove it. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-22iio: adc: add new lp8788 adc driverKim, Milo
TI LP8788 PMU provides regulators, battery charger, ADC, RTC, backlight driver and current sinks. This patch enables the LP8788 ADC functions. The LP8788 ADC has several ADC input selection and supports 12bit resolution. Internal operation of getting ADC is access to registers of LP8788. The LP8788 ADC uses exported functions for accessing these registers. (exported by LP8788 MFD device driver) This driver supports IIO_CHAN_INFO_RAW and SCALE. So the IIO consumer can calculate the value with raw and scale. The unit of scale is micro. (ADC Input Selection) Voltage: battery voltage (MAX 5.0, 5.5 and 6.0V) charger input voltage four general ADC inputs coin cell voltage Current: battery charging current Temperature: IC temperature (The IIO map for the IIO consumer) The ADC input is configurable in the platform side. Even though this platform data is not defined, the default IIO map is created for supporting the power supply driver. The battery voltage and temperature are used inside this driver. (History) Patch v6. (a) Fix scale value for each ADC input selection Voltage and current type are mili unit and temperature is degree. To calculate the IC temperature, temp = raw * scaleint + (raw * scalepart)/ 1000000, scaleint is always 0. = raw * 0.061050, raw: 0 ~ 4095 Then range of IC temperature(ADC result) is 0 ~ 250'C (b) Reorganization of the IIO channel Spec Remove address, scan_type and scan_index and rollback the datasheet name. The reason why 'address' field is unnecessary is no relation with each channel. Moreover, to get the raw ADC value, the address info is not only one register but also several registers. Therefore specific function(lp8788_get_adc_result) is called rather than using one 'address' field. (c) Fix coding style Remove duplicated checking routine while unregistering the IIO map. Fix code for space and parenthesis. Patch v5. Fix default consumer name as 'lp8788-charger'. Add mutex for ADC read operation. Reorganization on lp8788_adc_read_raw(). Patch v4. Fix adc_raw function: support RAW and SCALE channel info. Change LP8788 ADC platform data - iio map. Enables the default IIO map. Patch v3. Fix wrong size of allocating iio private data. Fix coding styles. Patch v2. Support RAW and SCALE interface for IIO consumer. Clean up the iio channel spec macro. Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>