The 'get' usually implies increasing a reference count of an object.
These function return a pointer but do not do any reference counting.
For aesthetic reasons, rename the functions to better represent what
they do.
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>
The 'get' usually implies increasing a reference count of an object.
This function returns a pointer but does not do any reference counting.
For aesthetic reasons, rename the function to better represent what
its doing.
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>
For aesthetic reasons, rename this struct to comedi_file_info. It's
a bit shorter and allows fixing some of the ugly line breaks used
to keep the lines < 80 chars.
Also, consistently use the local variable name 'info' instead of the
longer 'dev_file_info' to also fix some ugly line breaks.
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>
This structure is only used in comedi_fops.c as part of handling
the file operations and sysfs files. Remove it's defenition from
comedidev.h so it's not exposed to the comedi drivers.
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>
Remove the need to export comedi_get_device_file_info() by using the
new helper comedi_dev_from_minor(). This will also allow us to make
the comedi_device_file_info struct 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>
A number of functions have to call comedi_get_device_file_info()
to get the comedi_device_file_info pointer for a given minor. That
pointer is only used to get the actual comedi_device pointer for
the minor.
Introduce a new helper function, comedi_dev_from_minor(), to simplify
this operation. This will also allow us to make the comedi_device_file_info
struct 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>
This module is built whenever CONFIG_COMEDI is enabled but it is
only used by the pcmmio and pcmuio drivers. The pcm_common module
consists of one exported function. Put a local copy of the function
in the pcmmio and pcmuio drivers.
This removes the need for the pcm_common module and the now unused
pcm_common.[ch] files can be deleted and removed from the Makefile.
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>
Ian Abbott [Mon, 3 Dec 2012 18:15:47 +0000 (18:15 +0000)]
staging: comedi: addi_apci_2032: support stop_src == TRIG_COUNT
When setting up asynchronous commands on the special interrupt
subdevice, support the `TRIG_COUNT` stop source to allow the command to
stop automatically after a specified number of scans.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Initialize the special interrupt subdevice as a digital input subdevice
even if the interrupt handler cannot be registered. It's `insn_bits`
handler will still read the interrupt status register. This hardware
status bits in this register might be valid even if they haven't been
enabled in the interrupt control register, but this needs to be checked.
In any case, initializing the subdevice as a digital input subdevice is
harmless.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Mon, 3 Dec 2012 18:15:45 +0000 (18:15 +0000)]
staging: comedi: addi_apci_2032: use channel list
When setting up asynchronous commands for the special interrupt
subdevice, use the channel list to decide which interrupt sources to
enable. Set the maximum length of the channel list to be the same as
the number of channels (2). Normally, the channel list would include
channel 0, channel 1 or both.
When reading the scan data in the interrupt routine, the readings from
each channel in the channel list will be packed into a single unsigned
short data value. Make each bit in this value correspond to an index in
the channel list.
Since all the channels in the channel list are read at the same time,
insist that the scan end argument is the length of the channel list and
that the conversion source is `TRIG_NOW`.
Allocate some private data for the special interrupt subdevice to hold a
spin-lock, the channels to be enabled and an indication of whether the
command is still active. Stop the command if a buffer overflow occurs.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Mon, 3 Dec 2012 18:15:44 +0000 (18:15 +0000)]
staging: comedi: addi_apci_2032: only disable triggered interrupts
The interrupt handler disables all interrupt sources when a valid
interrupt occurs. Just disable the triggered interrupt source so we can
still get interrupts for the other interrupt source.
Also add a comment indicating why the triggered interrupt source is
disabled. The interrupt sources are level-sensitive and indicate
hardware errors that are likely to be persistent, so if we reenabled
them they would just keep triggering repeatedly.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Mon, 3 Dec 2012 18:15:43 +0000 (18:15 +0000)]
staging: comedi: addi_apci_2032: make insn_bits read live data
The `insn_bits` handler for the special digital input subdevice used for
interrupts currently uses `s->state` for the data value, which is set to
the value of the APCI2032_INT_STATUS_REG register when a valid interrupt
occurs. Just read the live register contents in the `insn_bits` handler
instead of relying on the interrupt service routine to read it for us.
The register contains a couple of hardware error status bits. They
might also be valid even when the corresponding bits have not been
enabled in the APCI_INT_CTRL_REG register in which case this would be
useful for checking for hardware errors without using interrupts, but
this needs to be checked.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Mon, 3 Dec 2012 18:15:42 +0000 (18:15 +0000)]
staging: comedi: addi_apci_2032: set COMEDI_CB_OVERFLOW
If the call to `comedi_buf_put()` fails in the interrupt routine, set
the `COMEDI_CB_OVERFLOW` event flag. Note that the `COMEDI_CB_ERROR`
flag will have also been set by `comedi_buf_put()` in this case.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The subdevice type and flags are initialized incorrectly for the
interrupt subdevice - the SDF_CMD_READ value belongs in the subdevice
flags. Fix it. Also set the number of channels to 2 since there are 2
interrupt sources each with its own status bit.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Put the hardware into a safe state before enabling the interrupt. In
the interrupt routine, check the device has been fully configured by
checking `dev->attached`. In particular, `dev->read_subdev` could be
NULL early on and although the hardware's status register should
indicate no interrupt has occurred (since it's been put into a safe
state), it's better not to rely on it.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cyril Roelandt [Tue, 4 Dec 2012 20:41:07 +0000 (21:41 +0100)]
staging: csr: remove unneeded call to memset().
In uf_send_pkt_to_encrypt(), the memory area zeroed by this call to memset() is
overwritten by a call to memcpy() a few instructions later, so it is not needed.
Laurent Navet [Fri, 30 Nov 2012 10:57:32 +0000 (11:57 +0100)]
staging: line6: pcm.c fix checkpatch issues
fix those checkpatch issues
drivers/staging/line6/pcm.c:84:
WARNING: simple_strtoul is obsolete, use kstrtoul instead
call to obsolete simple_strtoul() replaced by kstrtoint()
drivers/staging/line6/pcm.c:423:
ERROR: switch and case should be at the same indent
realigns comments
YAMANE Toshiaki [Fri, 30 Nov 2012 13:01:24 +0000 (22:01 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/dot11d.c
The following errors and warnings fixed.
- WARNING: braces {} are not necessary for single statement blocks
- ERROR: that open brace { should be on the previous line
- ERROR: space required before the open parenthesis '('
- ERROR: space prohibited after that open parenthesis '('
YAMANE Toshiaki [Fri, 30 Nov 2012 13:00:52 +0000 (22:00 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/dot11d.c
The following errors fixed.
- ERROR: spaces required around that '=' (ctx:VxV)
- ERROR: spaces required around that '<=' (ctx:VxV)
- ERROR: space required after that ',' (ctx:VxV)
YAMANE Toshiaki [Thu, 29 Nov 2012 13:36:07 +0000 (22:36 +0900)]
staging/rtl8187se: Use netdev_ printks in ieee80211/ieee80211_wx.c
The following warnings fixed.
-WARNING: Prefer netdev_warn(netdev, ... then dev_warn(dev, ... then pr_warn(... to printk(KERN_WARNING ...
-WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ...
YAMANE Toshiaki [Thu, 29 Nov 2012 13:35:51 +0000 (22:35 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/ieee80211_wx.c
The following errors fixed.
-ERROR: spaces required around that '<' (ctx:VxV)
-ERROR: spaces required around that '?' (ctx:VxV)
-ERROR: spaces required around that ':' (ctx:VxV)
-ERROR: spaces required around that '>' (ctx:VxV)
YAMANE Toshiaki [Thu, 29 Nov 2012 13:35:37 +0000 (22:35 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/ieee80211_wx.c
The following errors fixed.
-ERROR: that open brace { should be on the previous line
-ERROR: space required before the open parenthesis '('
-ERROR: else should follow close brace '}'
-ERROR: space required before the open brace '{'
YAMANE Toshiaki [Thu, 29 Nov 2012 13:34:39 +0000 (22:34 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/ieee80211_wx.c
The following errors and warnings fixed.
- ERROR: code indent should use tabs where possible
- WARNING: please, no spaces at the start of a line
- WARNING: please, no space before tabs
Ilija Hadzic [Fri, 7 Dec 2012 21:49:44 +0000 (16:49 -0500)]
staging: usbip: userspace: suppress a bogus error
If mkdir() of VHCI_STATE_PATH fails because the directory
already exists, that's not an error. This patch fixes
annoying "record connection" errors that would typically
come up on attach.
Ilija Hadzic [Fri, 7 Dec 2012 21:49:43 +0000 (16:49 -0500)]
staging: usbip: userspace: add option to turn fortify on or off
This comes handy when hacking with different cross
compilers, some of which may or may not have
_FORTIFY_SOURCE turned on by default. This patch
allows us to turn _FORTIFY_SOURCE on by specifying
--with-fortify option at configuration time (or
to turn it off by specifying --without-fortify).
If nothing is specified, default compiler behavior
is assumed.
USBIP daemon relies on functions available in glib2 library
to spawn handler code for incoming connection. This makes the
whole program dependent on glib2 library, which is a GNOME library
that on systems that don't have GNOME results in pulling more
dependency, only to be able to run a relatively trivial
socket-based program.
While this may not seem to be a problem on full-blown desktops
that already have the necessary libraries, it is a big issue
on small embedded systems (think USB hub with an Ethernet port)
that only have bare essentials in their file systems.
This patch eliminates glib2 dependency by reworking the
code to use lower level system calls to dispatch connection
handler. Instead of using glib2-style event loop and dispatching
mechanism, just do a ppoll(2) system call in our own loop and call
accept(2) followed by fork(2) on the socket that has incoming
connection. Stevens' books taught us that more than twenty
years ago. No need for anything smarter in a simple server, such
as usbipd.
Ilija Hadzic [Fri, 7 Dec 2012 21:49:40 +0000 (16:49 -0500)]
staging: usbip: userspace: fix build breakage in doc directory
File doc/usbip_bind_driver.8 does not exist any more but it is
listed in dist_man_MANS. This breaks the build of the userspace.
Remove the file from the list.
Kurt Kanzenbach [Wed, 5 Dec 2012 19:03:35 +0000 (20:03 +0100)]
Staging: ft1000-usb: Fix call to obsolete function
strict_strtoul is obsolete and should be replaced with
kstrto* function as reported by checkpatch.pl.
pInfo->CardNumber is a u8. This is why kstrtou8 should be
used here.
Signed-off-by: Kurt Kanzenbach <shifty91@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: vt6656: change baseband/mac/wcmd/wctl to new structures.
This patch also cleans up function declarations, definitions and local variables
were appropriate replacing types defined in "ttype.h" with linux/types.h.
staging: vt6656: card/main_usb/device use new structure names
This patch also cleans up function declarations, definitions and local variables
were appropriate replacing types defined in "ttype.h" with linux/types.h.
staging: vt6656: create new structure names to remove typedefs.
This patch and the next 8 patches remove the old structure names and
replace;
struct vnt_private for DEVICE_INFO and PSDevice
struct vnt_manager for SMgmtObject
struct vnt_rx_mgmt for SRxMgmtPacket and PSRxMgmtPacket
struct vnt_tx_mgmt for STxMgmtPacket and PSTxMgmtPacket
and
struct vnt_manager vnt_mgmt
to replace
SMgmtObject sMgmtObj;
Applied after patch staging: vt6656: dpc.c :RXbBulkInProcessData clean up RSC
This minor change simply removes quotations from within a comment
so that the checkpatch.pl tool won't complain about a malformed
include filename anymore.
Signed-off-by: Johan Meiring <johanmeiring@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>