staging: comedi: vmk80xx: remove usb_interface from private data
This driver uses the comedi auto attach mechanism so the comedi_device
will always have an associated usb_interface and usb_device.
Remove the unnecessary checks if the comedi_device has a usb_interface
attached. This also allows removing the usb_interface from 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>
Use the helper function to get a usb_device pointer from a
comedi_device pointer. This removes the need carring the
usb_device pointer 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>
staging: comedi: vmk80xx: don't pass the private data directly
Instead of passing the private data to the internal functions. pass
the comedi_device pointer and get the private data from 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>
staging: comedi: usbduxfast: use comedi_to_usb_dev()
Use the helper function to get a usb_device pointer from a
comedi_device pointer. This removes the need for also getting
the usb_interface pointer in some cases.
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>
Introduce a helper function to get a usb_device pointer from a
comedi_device pointer.
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>
Fabio Estevam [Tue, 21 May 2013 14:24:46 +0000 (11:24 -0300)]
imx-drm: parallel-display: Let device core handle pinctrl
Since commit ab78029 (drivers/pinctrl: grab default handles from device core)
we can rely on device core for handling pinctrl, so remove
devm_pinctrl_get_select_default() from the driver.
Fabio Estevam [Tue, 21 May 2013 14:24:45 +0000 (11:24 -0300)]
imx-drm: imx-tve: Let device core handle pinctrl
Since commit ab78029 (drivers/pinctrl: grab default handles from device core)
we can rely on device core for handling pinctrl, so remove
devm_pinctrl_get_select_default() from the driver.
Peter Huewe [Fri, 17 May 2013 21:51:58 +0000 (23:51 +0200)]
staging/btmtk_usb: Mark local functions as static
sparse complains about some local functions not being static:
drivers/staging/btmtk_usb/btmtk_usb.c:50:6:
warning: symbol 'hex_dump' was not declared. Should it be static?
drivers/staging/btmtk_usb/btmtk_usb.c:227:5:
warning: symbol 'checksume16' was not declared. Should it be static?
-> add the static keyword
Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch fixes the following checkpatch error and warning,
ERROR: space prohibited before open square bracket '['
WARNING: space prohibited before semicolon
Katja Collier [Fri, 17 May 2013 13:38:35 +0000 (15:38 +0200)]
staging: fixed spaces around parens in ft1000
Deleted extra spaces before and after parens, added a couple necessary
spaces before parens in
"/drivers/staging/ft1000/ft1000-usb/ft1000_debug.c" and
"/drivers/staging/ft1000/ft1000-usb/ft1000_ioctl.h".
Katja Collier [Fri, 17 May 2013 13:36:03 +0000 (15:36 +0200)]
staging: open braces in ft1000_debug.c and ioctl.h
Fixed open braces error in "/staging/ft1000/ft1000-usb/ft1000_ioctl.h"
and "/staging/ft1000/ft1000-usb/ft1000_debug.c" by moving braces to the
correct line.
Wei Yongjun [Fri, 17 May 2013 08:27:05 +0000 (16:27 +0800)]
staging: lustre: fix to use list_for_each_entry_safe() when delete items
Since we will remove items off the list using list_del_init() we need
to use a safe version of the list_for_each_entry() macro aptly named
list_for_each_entry_safe().
Wei Yongjun [Fri, 17 May 2013 08:43:15 +0000 (16:43 +0800)]
staging: wlags49_h2: fix error return code in wl_adapter_insert()
When return from wl_adapter_insert() in the register_netdev() error
handling case, 'ret' which is 0 is returned, but we should return a
negative error code instead, so fix to return the return value of
register_netdev().
Hema Prathaban [Fri, 17 May 2013 05:44:56 +0000 (11:14 +0530)]
staging: vt6655: Use alloc_etherdev() for kzalloc
Use alloc_etherdev() for kzalloc
Signed-off-by: Hema Prathaban <hemaklnce@gmail.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: ni_pcidio: use comedi_load_firmware()
Use comedi_load_firmware() instead of duplicating the code in a
private function.
This driver loads multiple firmware images to the device. Modify
comedi_load_firmware() to take a 'context' that is passed to the
firmware upload callback 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>
Xenia Ragiadakou [Fri, 17 May 2013 17:38:25 +0000 (20:38 +0300)]
staging: ozwpan: fix access byteorder for wMaxPacketSize in ozhcd.c
This patch fixes the access byteorder of wMaxPacketSize
which is __le16, following the USB standard, and needs to
be converted into native cpu byteorder in order to be accessed.
Instead of using le16_to_cpu(hep->desc.wMaxPacketSize),
it was used the usb_endpoint_maxp() function, defined in
<uapi/linux/usb/ch9.h>
Xenia Ragiadakou [Tue, 14 May 2013 00:07:28 +0000 (03:07 +0300)]
rtl8192u: remove whitespace after '(' and before ')' in r8192U_dm.c
This patch fixes the following checkpatch errors, in r8192U_dm.c:
ERROR: space prohibited after that open parenthesis '('
ERROR: space prohibited before that close parenthesis ')'
Xenia Ragiadakou [Tue, 14 May 2013 00:07:26 +0000 (03:07 +0300)]
rtl8192u: remove whitespace after '(' and before ')' in r8192U.h
This patch fixes the following checkpatch errors:
ERROR: space prohibited after that open parenthesis '('
ERROR: space prohibited before that close parenthesis ')'
Xenia Ragiadakou [Tue, 14 May 2013 00:07:25 +0000 (03:07 +0300)]
rtl8192u: remove whitespace after '(' and before ')' in r8190_rtl8256.c
This patch fixes the following checkpatch errors, in r8190_rtl8256.c:
ERROR: space prohibited after that open parenthesis '('
ERROR: space prohibited before that close parenthesis ')'
staging: comedi: dt9812: do not allow attaching to unsupported devices
The DT9812 is part of the ECONseries of USB Data Acquisition Modules.
This driver only supports the DT9812-10V and DT9812-2.5V versions of
the module. Do not attach to the device if an unsupported module is
detected.
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>
staging: comedi: dt9812: cleanup analog out subdevice (*insn_write)
For aesthetic reasons, rename the function to help with grepping and
rename some of the local vars.
The dt9812_analog_out() function can fail. Make sure to check for any
failure and return the errno.
The comedi core expects the (*insn_write) functions to return either
an errno or the number of samples written. Change the final return to
insn->n to make this clearer.
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>
staging: comedi: dt9812: cleanup analog out subdevice (*insn_read)
For aesthetic reasons, rename the function to help with grepping and
rename some of the local vars.
This function returns the current analog output value for the channel
that is cached in the private data. Absorb dt9812_analog_out_shadow()
into this function to make it more concise.
The comedi core expects the (*insn_read) functions to return either
an errno or the number of samples read. Change the final return to
insn->n to make this clearer.
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>
staging: comedi: dt9812: cleanup analog in subdevice (*insn_read)
For aesthetic reasons, rename the function to help with grepping and
rename some of the local vars.
dt9812_analog_in() can fail. Make sure to check for any failure and
return the errno.
The comedi core expects the (*insn_read) functions to return either
an errno or the number of samples read. Change the final return to
insn->n to make this clearer.
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>
staging: comedi: dt9812: convert digital out subdevice to (*insn_bits)
Currently the (*insn_write) function for the digital output subdevice
only sets the state for a single channel. It's more efficent to use
the (*insn_bits) function and allow setting the state for all the
channels.
The comedi core can use the (*insn_bits) to emulate the (*insn_write)
if needed.
Also, use the subdevice 'state' variable to hold the current state
of the channels instead of 'do_shadow' 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>
staging: comedi: dt9812: convert digital in subdevice to (*insn_bits)
Currently the (*insn_read) function for the digital input subdevice
returns the state for a single channel. It's more efficent to use
the (*insn_bits) function and return the state for all the channels.
The comedi core can use the (*insn_bits) to emulate the (*insn_read)
if needed.
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>
staging: comedi: dt9812: remove unused variables from private data
The vendor, product, and serial numbers read from the usb device
are only used for a dev_info() message about the device after it
is reset. Reading these values might not be required for the usb
device to function.
For now just remove the variables from the private data and just
use local variables.
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>
staging: comedi: dt9812: convert to use comedi (*auto_attach)
Converting this driver to use the comedi (*auto_attach) mechanism
allows pushing the usb (*probe) into the comedi (*auto_attach) and
the usb (disconnect) into the comedi (*detach). This removes the
disconnect between the usb driver and the comedi driver. Now when
the comedi driver is attached it will always have a usb device
associated with it.
This removes the 16 usb device limitation and allows bringing all
the private data into a single struct that can be kzalloc'ed when
the comedi driver is (*auto_attached). It also allows removing the
the sanity checks that make sure a usb device is connected to the
comedi device in the helper functions.
For aesthetic reasons, add some whitespace to the subdevice init.
Also, fix the analog out subdevice. There are 2 analog output
channels available on the usb device.
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>
staging: comedi: dt9812: factor the device reset out of dt9812_probe()
When this driver is converted to the comedi (*auto_attach) mechanism
the device reset will be done during the (*auto_attach). To make the
conversion cleaner, factor the device reset out of the (*probe).
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>
staging: comedi: dt9812: factor the endpoint setup out of dt9812_probe()
When this driver is converted to the comedi (*auto_attach) mechanism the
endpoint setup will be done during the (*auto_attach). To make the
conversion cleaner, factor the endpoint setup out of the (*probe).
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>
staging: comedi: dt9812: move shadow values to private data
The analog and digital out shadow values are only used by the
comedi_device. Move the variables from the usb private data to
the comedi private data. Also, rename them to something a bit
shorter.
Move the initialization of the shadow values from the usb probe
to the comedi attach. Also rename the flag used to determine the
initial value from 'range_2_5' to 'is_unipolar'.
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>
staging: comedi: dt9812: use module_comedi_usb_driver()
Now that the semaphore used by the comedi_driver is initialized
when the comedi_device private data is allocated, the module_init()
in this driver just clears the 'slot' data before calling
comedi_usb_driver_register(). This static data will already be
cleared when the driver is loaded.
Replace the module_{init,exit}() with the module_comedi_usb_driver()
macro to remove the boilerplate code.
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>
staging: comedi: dt9812: move the sempaphore used by the comedi_driver
The semaphore in the struct slot_dt9812 is used by the comedi_driver
when reading and writing to the usb device. It has no real association
with the 'slot'. The 'slot' is protected with a static semaphore in
the driver.
Move the semaphore into the comedi_device private data and initialize
it after the private data is allocated.
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>
staging: comedi: dt9812: pass the comedi_device * to dt9812_analog_out_shadow()
For aesthetic reasons, instead of passing the 'slot' pointer, pass the
comedi_device pointer to this function and rename the local var 'result'
to simply 'ret'.
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>
staging: comedi: dt9812: pass the comedi_device * to dt9812_analog_out()
For aesthetic reasons, instead of passing the struct usb_dt9812 pointer,
pass the comedi_device pointer to this function and rename the local
variable 'result' to simply 'ret'.
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>
staging: comedi: dt9812: pass the comedi_device * to dt9812_analog_in()
For aesthetic reasons, instead of passing the 'slot' pointer, pass the
comedi_device pointer to this function and rename the local var 'result'
to simply 'ret'.
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>
staging: comedi: dt9812: pass the comedi_device * to dt9812_digital_out_shadow()
For aesthetic reasons, instead of passing the 'slot' pointer, pass the
comedi_device pointer to this function and rename the local var 'result'
to simply 'ret'.
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>
staging: comedi: dt9812: pass the comedi_device * to dt9812_digital_out()
For aesthetic reasons, instead of passing the 'slot' pointer, pass the
comedi_device pointer to this function and rename the local var 'result'
to simply 'ret'.
Also, initialize the 'reg', and 'value' when they are declared.
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>
staging: comedi: dt9812: pass the comedi_device * to dt9812_digital_in()
For aesthetic reasons, instead of passing the 'slot' pointer, pass the
comedi_device pointer to this function and rename the local var 'result'
to simply 'ret'.
Remove the commented out printk().
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>
staging: comedi: dt9812: tidy up usb_bulk_msg() calls
To clarify the code, add a local variable for the struct usb_device
pointer used in the usb_blk_msg() calls.
It's not necessary to initialize the 'count' when writing to the
usb device. The 'count' variable is used to get back the number
of bytes actually sent.
Just return the usb_blk_msg() result when it is the last operation
in a 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>
staging: comedi: dt9812: remove attaching by serial number
Currently this driver supports attaching 16 usb devices to 16
comedi devices. The user can pass the 32-bit serial number of
the usb device when attaching to force a comedi device to attach
to a specific usb device.
It's also possible to attach a comedi device without having an
attached usb device. When the device is first opened the
comedi_device (*open) function in this driver then checks to
see if a usb device has been attached. If so the subdevice
information is updated based on the usb device and the comedi
device is then operational. If a usb device is not attached
the (*open) returns -ENODEV.
To simplify converting this driver to the comedi (*auto_attach)
mechanism, remove the attaching by serial number option.
Modify the usb (*probe) so that the first available slot is used.
If all the slots are used return -ENODEV.
Modify the comedi (*attach) so that the first unused slot that
has an attached usb device is used. If all the slots are used
return -ENODEV.
Since this ensures that the comedi device has an attached usb
device, remove the (*open) function and fully initialize the
subdevices during the (*attach).
Fix the comedi (*detach) so that the slot is made available
after detaching.
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>
staging: comedi: dt9812: rename 'comedi' variable in struct slot_dt9812
Because of the usb (*probe) and comedi (*attach) disconnect, the struct
slot_dt9812 is used to pass the device data between the usb_driver and
the comedi_driver. The variable 'comedi' in this struct is used during
the comedi (*attach) to indicate if a slot is currently being used.
For aesthetic reasons, rename the variable to 'devpriv' since that is
what is actually saved in the pointer.
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>