H Hartley Sweeten [Wed, 23 Jan 2013 19:39:27 +0000 (12:39 -0700)]
staging: comedi: addi_apci_3501: simplify the PCI bar reading
The board supported by this driver has an eeprom connected to an
AMCC S5933 PCI controller chip. Knowing this, we can simplify the
code that reads the PCI bars to get the iobase addresses used in
the driver.
Also, since the dw_AiBase is not ioremap'ed, we can remove the
iounmap in the detach.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:39:06 +0000 (12:39 -0700)]
staging: comedi: addi_apci_3501: simplify eeprom read
This driver needs to read the on-board eeprom to determine the
number of analog output channels (4 or 8) on the board. But,
sinde we know the board has an eeprom and the PCI controller
chip is an AMCC S5933, we can simplify the code and remove the
code that sets the extra wait state neede for the AMCC S5920.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:38:44 +0000 (12:38 -0700)]
staging: comedi: addi_apci_3501: absorb v_APCI3501_Interrupt()
This driver only has one 'interrupt' function. Absorb the
v_APCI3501_Interrupt() function from hwdrv_apci3501.c into
the driver.
Rename v_ADDI_Interrupt() to apci3501_interrupt() so that the
function has namespace associated with the driver.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:38:21 +0000 (12:38 -0700)]
staging: comedi: addi_apci_3501: absorb i_APCI3501_Reset()
This driver only has one 'reset' function. Absorb the i_APCI3501_Reset()
function from hwdrv_apci3501.c into the driver.
Rename i_ADDI_Reset() to apci3501_reset() so that the function has
namespace associated with the driver.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:37:59 +0000 (12:37 -0700)]
staging: comedi: addi_apci_3501: board does not have analog inputs
The board supported by this driver does not have analog inputs. Remove
the subdevice init for it.
Since the devpriv->s_EeParameters for the analog input subdevice are
not used, remove the initialization of them also.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:37:38 +0000 (12:37 -0700)]
staging: comedi: addi_apci_3501: cleanup the digital input subdevice
The board supported by this driver has 2 digital input. Remove the
conditional and always init the subdevice.
Also, move the subdevice insn_bits function pointer as well as the
n_chan out of the boardinfo and use them to initialize the subdevice
directly.
Since devpriv->s_EeParameters.i_NbrDiChannel for the digital input
subdevice is no longer being used, remove initialization of it also.
Copy the apci3501_di_insn_bits() function from hwrdv_apci3501.c into
the main driver file.
Fix the subdev_flags for the subdevice. The only required flag is
SDF_READABLE. The SDF_GROUND and SDF_COMMON flags only have meaning
for analog subdevices.
Remove the len_chanlist initialization, it only has meaning for subdevices
that support commands.
Remove the io_bits initialization, it only has meaning for digital i/o
subdevices that have configurable outputs.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:37:16 +0000 (12:37 -0700)]
staging: comedi: addi_apci_3501: cleanup the digital output subdevice
The board supported by this driver has 2 digital outputs. Remove the
conditional and always init the subdevice.
Also, move the subdevice insn_bits function pointer as well as the
n_chan out of the boardinfo and use them to initialize the subdevice
directly.
Since devpriv->s_EeParameters for the digital output subdevice are no
longer being used, remove initialization of them also.
Copy the apci3501_do_insn_bits() function from hwrdv_apci3501.c into
the main driver file.
Fix the subdev_flags for the subdevice. The only required flag is
SDF_WRITEABLE. The SDF_GROUND and SDF_COMMON flags only have meaning
for analog subdevices and the SDF_READABLE flag is not required.
Fix the maxdata for the subdevice. Digital outputs can only be 1 or 0.
Remove the len_chanlist initialization, it only has meaning for subdevices
that support commands.
Remove the io_bits initialization, it only has meaning for digital i/o
subdevices that have configurable outputs.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:36:38 +0000 (12:36 -0700)]
staging: comedi: addi_apci_3501: board has a timer
The board supported by this driver has a timer device. Remove the
conditional and always init the subdevice.
Also, move the subdevice insn_* function pointers out of the
boardinfo and use them to initialize the subdevice directly.
Since devpriv->s_EeParameters.i_Timer is not longer being used,
remove its initialization also.
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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:36:14 +0000 (12:36 -0700)]
staging: comedi: addi_apci_3501: board does not have ttl i/o
The board supported by this driver does not have ttl i/o. Remove the
subdevice init for 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>
H Hartley Sweeten [Wed, 23 Jan 2013 19:35:51 +0000 (12:35 -0700)]
staging: comedi: addi_apci_3501: separate from addi_common.c
This driver is for a simple analog output board with 4 or 8, 14-bit
outputs. The board also has 4 digital i/o channels (2 out/2 in) as
well as a watchdog or timer. Using the addi-data "common" code in
this driver introduces a lot of bloat.
Copy the code in addi_common.c to this driver and remove the #include
that caused it to be compiled with the driver. This will allow removing
the bloat.
Rename the auto_attach and detach functions so they have namespace
associated with this driver.
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>
Peter Huewe [Tue, 22 Jan 2013 20:07:32 +0000 (21:07 +0100)]
staging/comedi: use comedi_usb_driver_(un)register for init/deinit
Instead of coding calling comedi_driver_(un)register and
usb_(de)register directly we can use the comedi_usb_driver_(un)register
wrapper.
This removes some boilerplate and is less error prone.
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Magenheimer [Wed, 23 Jan 2013 21:46:30 +0000 (13:46 -0800)]
staging: zcache: fix ppc64 and other arches where PAGE_SIZE!=4K
Replace raw constant 12 with PAGE_SHIFT to fix non-x86 arches and
provoke build failure if PAGE_SHIFT is too big
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rupesh Gujare [Thu, 24 Jan 2013 18:14:51 +0000 (18:14 +0000)]
staging:ozwpan: Change email address.
As part of transition caused due to acquisition of Ozmo Devices by Atmel,
my email address is changed.
Signed-off-by: Rupesh Gujare <rgujare@ozmodevices.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chris Kelly [Thu, 24 Jan 2013 16:00:02 +0000 (16:00 +0000)]
staging:ozwpan: Removed myself (Chris Kelly) as maintainer.
Removed myself (ckelly@ozmodevices.com) as maintainer of ozwpan.
Removed my email address from the TODO file.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Thu, 24 Jan 2013 06:41:43 +0000 (09:41 +0300)]
staging: cxt1e1: buffer overflow in do_del_chan()
If we don't restrict "cp.channum" to 3 digits then the sprintf() will
overflow. I've added a check and changed the sprintf() to snprintf().
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Malcolm Priestley [Tue, 22 Jan 2013 20:13:34 +0000 (20:13 +0000)]
staging: vt6656: Revert: 64bit fixes: dpc.c incorrect addressing of void structure.
The patch was totally wrong and is reverted.
The problem was ultimately fixed by upstream commit.
1ee4c55fc9620451b2a825d793042a7e0775391b
staging: vt6656: Fix inconsistent structure packing
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Cc: stable@vger.kernel.org # 3.8
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Malcolm Priestley [Tue, 22 Jan 2013 20:12:34 +0000 (20:12 +0000)]
staging: vt6656: revert : 64 bit- Correctly address void structure.
The patch is wrong and is partially reverted.
The NULL check of pTransmitKey->pvKeyTable is kept.
The problem was ultimately fixed by upstream commit.
1ee4c55fc9620451b2a825d793042a7e0775391b
staging: vt6656: Fix inconsistent structure packing
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Cc: stable@vger.kernel.org # 3.8
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Arve Hjønnevåg [Thu, 24 Jan 2013 17:50:00 +0000 (17:50 +0000)]
goldfish: NAND flash driver
Fold together the NAND driver for Goldfish from Arve with cleanups by
Jun Nakajima and a tidy up to 3.7 and checkpatch.
This provides a virtual flash driver for the Goldfish Android Virtual Platform,
and which is normally used as the root file system when testing emulated
devices.
Signed-off-by: Mike A. Chan <mikechan@google.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
[Ported to handle x86]
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
[Ported to 3.4]
Signed-off-by: Tom Keel <thomas.keel@intel.com>
[Ported to 3.7 and tided for checkpatch etc]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alan Cox [Wed, 23 Jan 2013 14:13:52 +0000 (14:13 +0000)]
goldfish: audio support
(remove change to another file that escaped into the patch set)
From: Mike Lockwood <lockwood@google.com>
Provide a simple audio channel between the kernel and the emulator that host
sit. Queued for staging right now as this ought to be an ALSA driver not
just a dumb device of its own making.
Signed-off-by: Mike A. Chan <mikechan@google.com>
[x86 support]
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
[Clean up]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alan Cox [Wed, 23 Jan 2013 14:13:18 +0000 (14:13 +0000)]
goldfish: Add a FIXME note to the pipe driver
Note a point in the pipe driver that wants future attention
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David 'Digit' Turner [Mon, 21 Jan 2013 23:48:21 +0000 (23:48 +0000)]
goldfish: add QEMU pipe driver
A QEMU pipe is a very fast communication channel between the
guest system and the emulator. Usage from the guest is simply
something like;
// connect to special device
fd = open("/dev/qemu_pipe", O_RDWR);
// tell which service we want to talk to (must be zero-terminated)
write(fd, "pipeName", strlen("pipeName")+1);
// do read()/write() through fd now
...
// close channel
close(fd);
Signed-off-by: David 'Digit' Turner <digit@android.com>
[Added support for parameter buffers for speed]
igned-off-by: Xin, Xiaohui <xiaohui.xin@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Nakajima, Jun <jun.nakajima@intel.com>
[Ported to 3.6]
Signed-off-by: Tom Keel <thomas.keel@intel.com>
[Ported to 3.7, moved to platform/goldfish]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jun Nakajima [Mon, 21 Jan 2013 23:48:07 +0000 (23:48 +0000)]
goldfish: add the goldfish virtual bus
This imports the current Google code and cleans it up slightly to use pr_ and
to properly request its resources.
Goldfish is an emulator used for Android development. It has a virtual bus where
the emulator passes platform device information to the guest which then creates
the appropriate devices.
This part of the emulation is not architecture specific so should not be hiding
in architecture trees as it does in the Google Android tree. The constants it
uses do depend on the platform and the platform creates the bus device which then
talks to the emulator to ascertain the actual devices present.
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
[Moved out of x86, cleaned up headers]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mark Einon [Tue, 22 Jan 2013 17:10:10 +0000 (17:10 +0000)]
staging: et131x: Fix all sparse warnings
Dan Carpenter has pointed out that there are several sparse warnings
from et131x.c, listed below. This patch fixes all these errors.
drivers/staging/et131x/et131x.c:1870:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1870:33: expected unsigned int [usertype] *num_des
drivers/staging/et131x/et131x.c:1870:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1871:37: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1871:37: expected unsigned int [usertype] *full_offset
drivers/staging/et131x/et131x.c:1871:37: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1872:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1872:33: expected unsigned int [usertype] *min_des
drivers/staging/et131x/et131x.c:1872:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1873:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1873:33: expected unsigned int [usertype] *base_hi
drivers/staging/et131x/et131x.c:1873:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1874:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1874:33: expected unsigned int [usertype] *base_lo
drivers/staging/et131x/et131x.c:1874:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1876:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1876:33: expected unsigned int [usertype] *num_des
drivers/staging/et131x/et131x.c:1876:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1877:37: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1877:37: expected unsigned int [usertype] *full_offset
drivers/staging/et131x/et131x.c:1877:37: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1878:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1878:33: expected unsigned int [usertype] *min_des
drivers/staging/et131x/et131x.c:1878:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1879:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1879:33: expected unsigned int [usertype] *base_hi
drivers/staging/et131x/et131x.c:1879:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1880:33: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:1880:33: expected unsigned int [usertype] *base_lo
drivers/staging/et131x/et131x.c:1880:33: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:1898:24: warning: incorrect type in argument 2 (different address spaces)
drivers/staging/et131x/et131x.c:1898:24: expected void volatile [noderef] <asn:2>*addr
drivers/staging/et131x/et131x.c:1898:24: got unsigned int [usertype] *base_hi
drivers/staging/et131x/et131x.c:1900:24: warning: incorrect type in argument 2 (different address spaces)
drivers/staging/et131x/et131x.c:1900:24: expected void volatile [noderef] <asn:2>*addr
drivers/staging/et131x/et131x.c:1900:24: got unsigned int [usertype] *base_lo
drivers/staging/et131x/et131x.c:1901:60: warning: incorrect type in argument 2 (different address spaces)
drivers/staging/et131x/et131x.c:1901:60: expected void volatile [noderef] <asn:2>*addr
drivers/staging/et131x/et131x.c:1901:60: got unsigned int [usertype] *num_des
drivers/staging/et131x/et131x.c:1902:39: warning: incorrect type in argument 2 (different address spaces)
drivers/staging/et131x/et131x.c:1902:39: expected void volatile [noderef] <asn:2>*addr
drivers/staging/et131x/et131x.c:1902:39: got unsigned int [usertype] *full_offset
drivers/staging/et131x/et131x.c:1910:24: warning: incorrect type in argument 2 (different address spaces)
drivers/staging/et131x/et131x.c:1910:24: expected void volatile [noderef] <asn:2>*addr
drivers/staging/et131x/et131x.c:1910:24: got unsigned int [usertype] *min_des
drivers/staging/et131x/et131x.c:2583:32: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:2583:32: expected unsigned int [usertype] *offset
drivers/staging/et131x/et131x.c:2583:32: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:2585:32: warning: incorrect type in assignment (different address spaces)
drivers/staging/et131x/et131x.c:2585:32: expected unsigned int [usertype] *offset
drivers/staging/et131x/et131x.c:2585:32: got unsigned int [noderef] <asn:2>*<noident>
drivers/staging/et131x/et131x.c:2602:24: warning: incorrect type in argument 2 (different address spaces)
drivers/staging/et131x/et131x.c:2602:24: expected void volatile [noderef] <asn:2>*addr
drivers/staging/et131x/et131x.c:2602:24: got unsigned int [usertype] *offset
drivers/staging/et131x/et131x.c:4093:13: warning: symbol 'et131x_isr' was not declared. Should it be static?
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Harvey Yang [Tue, 22 Jan 2013 05:31:31 +0000 (13:31 +0800)]
staging: usbip: replace the interrupt safe spinlocks with common ones.
On the client side, we have a virtual hcd driver, there actually no
hardware interrupts, so we do not need worry about race conditions
caused by irq with spinlock held. Turning off irq is not good for system
performance after all. Just replace them with a non interrupt safe
version.
Signed-off-by: Harvey Yang <harvey.huawei.yang@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Harvey Yang [Tue, 22 Jan 2013 05:31:30 +0000 (13:31 +0800)]
staging: usbip: use interrupt safe spinlock to avoid potential deadlock.
The function 'usbip_event_add()' may be called in interrupt context on
the stub side:
'stub_complete'->'stub_enqueue_ret_unlink'->'usbip_event_add'.
In this function it tries to get the lock 'ud->lock', so we should
disable irq when we get this lock in process context.
Signed-off-by: Harvey Yang <harvey.huawei.yang@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mark Einon [Tue, 22 Jan 2013 14:29:49 +0000 (14:29 +0000)]
staging: et131x: Modify block comments to fit with networking style
In preparation for moving et131x to drivers/net, fixup the block
comments to match the preferred networking style - no /* on separate
line, but */ are on a seperate line.
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mark Einon [Tue, 22 Jan 2013 14:29:48 +0000 (14:29 +0000)]
staging: et131x: Trivial camel case fixes
Checkpatch now highlights some camel case flag names. Fix these issues.
Also fix some remaining lines > 80chars issues for completeness.
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mark Einon [Tue, 22 Jan 2013 14:29:47 +0000 (14:29 +0000)]
staging: et131x: Fix endian bugs in et131x_get_regs()
et131x_get_regs() calls et131x_mii_read(), passing the address of a u32
which is cast to a (u16 *). This works fine for little endian systems,
but not for big endian. Change so that the types are cast, not pointers
to the types.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Tue, 22 Jan 2013 08:56:08 +0000 (03:56 -0500)]
staging: sep: remove assignment to i and j in sep_crypto_setup
the i and j are used in for loop and they assigned to zeros in the
for loop, so no need to assign them to zeros again.
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Tue, 22 Jan 2013 08:38:17 +0000 (03:38 -0500)]
staging: dgrp: check for a valid proc dir entry pointer
while proc_create fails, the register_proc_table can do a derefernce of the
null pointer causing to oops the system, instead check for a valid pointer
at register and unregister
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 21 Jan 2013 23:02:20 +0000 (16:02 -0700)]
staging: comedi: addi_apci_16xx: add defines for the PCI device ids
The PCI device ids supported by this driver are used multiple
places in the code. To improve maintainability, create #define's
for them.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 23:01:47 +0000 (16:01 -0700)]
staging: comedi: addi_apci_16xx: change the MODULE_DESCRIPTION
Change the MODULE_DESCRIPTION to something more useful than the
generic "Comedi low-level driver" so that modinfo provides a
better description of the driver.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 23:01:28 +0000 (16:01 -0700)]
staging: comedi: addi_apci_16xx: remove unnecessary include
This driver does not use any of the functionality provided by
comedi_fc.h. 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>
H Hartley Sweeten [Mon, 21 Jan 2013 23:01:07 +0000 (16:01 -0700)]
staging: comedi: addi_apci_16xx: add missing copyright comment
Add the missing copyright information. This information was
originally in the hwdrv_apci16xx.c file.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 23:00:46 +0000 (16:00 -0700)]
staging: comedi: addi_apci_16xx: rewrite low-level support code
The current low-level support code in hwdrv_apci16xx.c is seriously
broken. Besides that, it's overly complicated.
Rewrite, and simplify, the low-level code so it complies with the
comedi API.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:19:52 +0000 (15:19 -0700)]
staging: comedi: addi_apci_2200: change the MODULE_DESCRIPTION
Change the MODULE_DESCRIPTION to something more useful than the
generic "Comedi low-level driver" so that modinfo provides a
better description of the driver.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:19:32 +0000 (15:19 -0700)]
staging: comedi: addi_apci_2200: only allocate needed subdevices
The addi-data "common" code always allocated 7 subdevices. This
driver only requires 3. Change the allocation and remove the
unused subdevices.
Update the comments for the initialization of each subdevice.
Also, update the subdevice that is passed to addi_watchdog_cleanup()
to match the new subdevice number.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:19:13 +0000 (15:19 -0700)]
staging: comedi: addi_apci_2200: add missing copyright comment
Add the missing copyright information. This information was
originally in the hwdrv_apci2200.c file.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:18:52 +0000 (15:18 -0700)]
staging: comedi: addi_apci_2200: remove unnecessary include
This driver does not use any of the support provided by comedi_fc.h.
Remove it's 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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:18:30 +0000 (15:18 -0700)]
staging: comedi: addi_apci_2200: remove unnecessary boardinfo
The boardinfo is not longer needed by this driver. Remove it
as well as the addi_find_boardinfo() function.
This removes the final ties to the addi-data "common" code so
remove the #include for 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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:17:40 +0000 (15:17 -0700)]
staging: comedi: addi_apci_2200: remove devpriv allocation
The 'devpriv' is not used in this driver. Remove it's allocation
in the auto_attach and the check for it in the detach.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 22:17:05 +0000 (15:17 -0700)]
staging: comedi: addi_apci_2200: use addi_watchdog module
The current watchdog support in hwdrv_apci2200.c does not conform
to the comedi API.
Use the addi_watchdog module to provide support for the watchdog
subdevice and remove the now unneeded hwdrv_apci2200.c file.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 21:37:46 +0000 (14:37 -0700)]
staging: comedi: drivers (core): remove BUG_ON in comedi_auto_unconfig()
comedi_find_board_minor() will always return a ninor number between
0 and < COMEDI_NUM_BOARD_MINORS, or -ENODEV if a minor is not found.
Remove the unnecessary BUG_ON().
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>
H Hartley Sweeten [Mon, 21 Jan 2013 21:37:15 +0000 (14:37 -0700)]
staging: comedi: drivers (core): don't BUG_ON due to faulty drivers
The postconfig for drivers that support async commands currently can
BUG_ON if the subdevice was improperly configured by the driver.
Change the BUG_ON so that a dev_warn() is output and the postconfig
returns -EINVAL. This will prevent the comedi core from attaching to
the faulty driver but does not BUG 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>
H Hartley Sweeten [Mon, 21 Jan 2013 21:36:40 +0000 (14:36 -0700)]
staging: comedi: drivers (core): factor out async subdevice postconfig
Factor the setup of an async subdevice out of postconfig(). This allows
bringing the code back a couple indents and makes the postconfig a bit
clearer.
For aesthetic reasons, rename postconfig() to __comedi_device_postconfig().
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>
H Hartley Sweeten [Mon, 21 Jan 2013 21:36:11 +0000 (14:36 -0700)]
staging: comedi: drivers (core): remove forward declarations
Move a couple of the functions to avoid the need for the forward
declarations.
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>
H Hartley Sweeten [Mon, 21 Jan 2013 21:02:59 +0000 (14:02 -0700)]
staging: comedi: comedi_fops: remove last forward declaration
There is still a forward declaration in this file for parse_insn().
Remove the need for it by moving do_insnlist_ioctl() down a bit.
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>
Peter Huewe [Mon, 21 Jan 2013 20:51:57 +0000 (21:51 +0100)]
staging/comedi: remove workaround for !pci_driver.name
All pci drivers in drivers/ have the pci_driver.name field set, so we
can remove this workaround and the accompanying todo.
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peter Huewe [Mon, 21 Jan 2013 21:23:46 +0000 (22:23 +0100)]
staging/comedi: Add pci_driver.name to skel driver
This patch adds the comedi_driver.name to pci_driver.name
to the skel driver, so we can remove the workaround in drivers.c
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peter Huewe [Mon, 21 Jan 2013 20:29:43 +0000 (21:29 +0100)]
staging/comedi: Use bool initializations
Found with coccicheck.
The semantic patch that makes this output is available
in scripts/coccinelle/misc/boolinit.cocci.
More information about semantic patching is available at
http://coccinelle.lip6.fr/
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Mon, 21 Jan 2013 22:19:45 +0000 (14:19 -0800)]
Staging: comedi: enable it to build on all arches
Hopefully all of the arch-specific problems are now resolved, so let's
let this subsystem be enabled on all arches. If there are problems
found, we will fix them up.
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hartleys@visionengravers.com>
Cc: Bernd Porr <mail@berndporr.me.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Mon, 21 Jan 2013 17:21:23 +0000 (17:21 +0000)]
staging: comedi: Allow comedi on ARM
Bernd Porr reports success getting comedi to work on ARM. He writes:
"""
comedi works nicely on the Raspberry PI. I've compiled the rpi kernel
with comedi enabled and it works with the USBDUX-sigma (need to test the
other boards). With comedirecord running I can plot one channel at 1kHz
without buffer overflow (resulting to 70% load).
So, I guess we just need to add "ARM" to Kconfig in the comedi subdir?
depends on BROKEN || FRV || M32R || MN10300 || SUPERH || TILE || X86 || ARM
I'm running just now 3.2.27 but also the development kernel compiles
with ARM enabled (haven't tested yet).
/Bernd
"""
Enable the COMEDI config option to be selected for ARM.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Cc: Bernd Porr <mail@berndporr.me.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Julia Lawall [Mon, 21 Jan 2013 13:02:47 +0000 (14:02 +0100)]
staging: omap-thermal/omap-bandgap.c: adjust duplicate test
Delete successive tests to the same location. There was a previous test on
ret and it has not been updated since then.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@s exists@
local idexpression y;
expression x,e;
@@
*if ( \(x == NULL\|IS_ERR(x)\|y != 0\) )
{ ... when forall
return ...; }
... when != \(y = e\|y += e\|y -= e\|y |= e\|y &= e\|y++\|y--\|&y\)
when != \(XT_GETPAGE(...,y)\|WMI_CMD_BUF(...)\)
*if ( \(x == NULL\|IS_ERR(x)\|y != 0\) )
{ ... when forall
return ...; }
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chen Gang [Mon, 21 Jan 2013 09:36:33 +0000 (17:36 +0800)]
staging: tidspbridge/pmgr: another using strlcpy instead of strncpy
The fields must be null-terminated,
or next strstr in dcd_get_objects, will cause issue
additoinal info:
nldr_create may call cod_get_base_name, let sz_zl_file to get name (sz_name)
and then call dcd_get_objects, passing sz_zl_file as a name string.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Cc: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chen Gang [Mon, 21 Jan 2013 09:35:00 +0000 (17:35 +0800)]
staging: tidspbridge/pmgr: use strlcpy instead of strncpy
The fields must be null-terminated,
or next strcpy in dbll_find_dsp_symbol, will cause issue
additoinal info:
dbll_find_dsp_symbol call find_symbol_callback to get name.
and then call strcpy to copy the name to upper caller.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Cc: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chen Gang [Mon, 21 Jan 2013 09:33:26 +0000 (17:33 +0800)]
staging: tidspbridge/pmgr: additional checking after return from strlen_user
strlen_user will return the length including final NUL.
and will return 0 if failed (for example: if user string not NUL terminated)
so need check whether it is an invalid parameter.
addtional info:
can reference the comments of strlen_user in lib/strnlen_user.c
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Cc: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Aaro Koskinen [Mon, 21 Jan 2013 00:57:49 +0000 (02:57 +0200)]
staging: xgifb: delete pVBInfo->BaseAddr
Delete redundant field.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Aaro Koskinen [Mon, 21 Jan 2013 00:57:48 +0000 (02:57 +0200)]
staging: xgifb: do not use pVBInfo->BaseAddr
Use pre-calculated register addresses instead of pVBInfo->BaseAddr.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Aaro Koskinen [Mon, 21 Jan 2013 00:57:47 +0000 (02:57 +0200)]
staging: xgifb: use XGIRegInit()
Avoid copy-paste and use XGIRegInit() to initialize registers addresses.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jake Champlin [Sat, 19 Jan 2013 02:44:07 +0000 (21:44 -0500)]
Staging: Comedi: daqboard2000: Fixed Coding Style Issue
Fixed Coding Style Warning
Signed-off-by: Jake Champlin <jake.champlin.27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jake Champlin [Sat, 19 Jan 2013 06:03:32 +0000 (01:03 -0500)]
Staging: Comedi: pcl818: Fixed Coding Style Issues
Fixed single line if statement brace issues as well as pointer errors from
checkpatch.pl
Signed-off-by: Jake Champlin <jake.champlin.27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Sat, 19 Jan 2013 10:18:44 +0000 (11:18 +0100)]
staging: line6: clean up line6_variax_process_message()
Previous versions of the line6 driver snooped MIDI traffic in order to
make device state accessible via sysfs attributes. This involved a lot
of logic in line6_variax_process_message() that has since been removed.
Drop unused conditionals in line6_variax_process_message().
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Sat, 19 Jan 2013 10:18:43 +0000 (11:18 +0100)]
staging: line6: clean up line6_pod_process_message()
Previous versions of the line6 driver snooped MIDI traffic in order to
make device state accessible via sysfs attributes. This involved a lot
of logic in line6_pod_process_message() that has since been removed.
Drop unused conditionals in line6_pod_process_message() and reduce the
levels of indentation. Only two MIDI messages are still tracked: the
POD version message on startup and monitor level changes originating
from the device.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Sat, 19 Jan 2013 08:59:00 +0000 (09:59 +0100)]
staging: line6: drop CONFIG_LINE6_USB_DUMP_PCM
The CONFIG_LINE6_USB_DUMP_PCM config option prints a hexdump of PCM
audio data as URBs are sent and received. The usbmon feature should be
used instead of manually dumping PCM URBs. There are a few advantages
to using usbmon:
* Can be turned on/off at runtime
* Provides full USB-level traffic
* tcpdump and wireshark support for powerful analysis
* No driver-specific code is required
This is the last user of line6_write_hexdump() so we drop it too.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sebastian Wankerl [Sun, 20 Jan 2013 15:30:54 +0000 (16:30 +0100)]
wlan-ng/prism2mgmt.c: formated too long lines
Formated pr_debug() calls
Signed-off-by: Sebastian Wankerl <sisewank@cip.cs.fau.de>
Signed-off-by: Sebastian Ehrenfels <qi50dube@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sebastian Wankerl [Sun, 20 Jan 2013 15:24:45 +0000 (16:24 +0100)]
wlan-ng/prism2mgmt.c: added parantheses to macro
Enclose the macro into braces so that it can be closed by a semicolon
Signed-off-by: Sebastian Wankerl <sisewank@cip.cs.fau.de>
Signed-off-by: Sebastian Ehrenfels <qi50dube@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jake Champlin [Sat, 19 Jan 2013 01:23:36 +0000 (20:23 -0500)]
Staging: Comedi: amplc_dio200: Fixed bracing issue
Fixed coding style error
Signed-off-by: Jake Champlin <jake.champlin.27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Magenheimer [Fri, 18 Jan 2013 21:24:27 +0000 (13:24 -0800)]
staging: zcache: fix uninitialized variable compile warning
[V2: no code changes, patchset now generated via git format-patch -M]
Fix unitialized variable in zcache which generates warning during build
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Magenheimer [Fri, 18 Jan 2013 21:24:26 +0000 (13:24 -0800)]
staging: zcache: re-enable config/build of zcache after renaming
In staging, re-enable config/build of zcache after ramster->zcache renaming.
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Magenheimer [Fri, 18 Jan 2013 21:24:25 +0000 (13:24 -0800)]
staging: zcache: adjustments to config/build files due to renaming
[V2: no code changes, patchset now generated via git format-patch -M]
In staging/zcache, adjust config/build due to ramster->zcache renaming
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Magenheimer [Fri, 18 Jan 2013 21:24:24 +0000 (13:24 -0800)]
staging: zcache: rename ramster to zcache
[V2: no code changes, patchset now generated via git format-patch -M]
In staging, rename ramster to zcache
The original zcache in staging was a "demo" version, and this new zcache
is a significant rewrite. While certain disagreements were being resolved,
both "old zcache" and "new zcache" needed to reside in the staging tree
simultaneously. In order to minimize code change and churn, the newer
version of zcache was temporarily merged into the "ramster" staging driver
which, prior to that, had at one time heavily leveraged the older version
of zcache. So, recently, "new zcache" resided in the ramster directory.
Got that? No? Sorry, temporary political compromises are rarely pretty.
The older version of zcache is no longer being maintained and has now
been removed from the staging tree. So now the newer version of zcache
can rightfully reclaim sole possession of the name "zcache".
FYI, this [PATCH 2/5] is simply a "git mv" generated by "git format-patch -M".
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Magenheimer [Fri, 18 Jan 2013 21:24:23 +0000 (13:24 -0800)]
staging: ramster: disable build in anticipation of renaming
[V2: no code changes, patchset now generated via git format-patch -M]
In staging, disable ramster build in anticipation of renaming to zcache
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Fri, 18 Jan 2013 17:48:25 +0000 (10:48 -0700)]
staging: comedi: addi_apci_16xx: cleanup addi_find_boardinfo()
This function was originally in the addi-data "common" code and
required using pointer math to access the boardinfo data using
the void * 'dev->driver->board_name'. Now that the function is
local to this driver we can access the boardinfo directly and
remove the pointer math.
Rename the function so it has namespace associated with this
driver.
Also, for aesthetic reasons, globally rename the local variable used
for the boardinfo pointer from 'this_board' to 'board',
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:47:48 +0000 (10:47 -0700)]
staging: comedi: addi_apci_16xx: redefine the boardinfo
Currently this driver uses the struct addi_board from the addi-data
"common" code to define the boardinfo. This struct contains a lot
of information that is not used in this driver.
Introduce a private struct in the driver that just contains the
needed information.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:47:19 +0000 (10:47 -0700)]
staging: comedi: addi_apci_16xx: remove need for comedi_board()
Currently this driver uses the total number of channels, stored
in the boardinfo, in a number of the subdevice insn_* functions.
This information is already available in the subdevice as 's->n_chan'.
Use that instead of needing to get the board pointer first.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:46:49 +0000 (10:46 -0700)]
staging: comedi: addi_apci_16xx: cleanup subdevice initialization
The comedi subdevice in this driver is a simple digital i/o
device.
Currently, the code abuses the comedi API by redefining the
COMEDI_SUBD_SERIAL type as COMEDI_SUBD_TTLIO and using that
for the 's->type'. Remove the defines and use the proper type,
COMEDI_SUBD_DIO.
The current code also sets the subdev_flags SDF_GROUND and SDF_COMMON
for the subdevice. These flags really only have meaning for analog
subdevices. Remove them.
All the boards supported by this driver use the same functions for
the subdevice 'insn_*' operations. Remove this information from
the boardinfo and set the s->insn_* operations directly in the 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:46:17 +0000 (10:46 -0700)]
staging: comedi: addi_apci_16xx: only allocate needed subdevices
The addi-data "common" code always allocated 7 subdevices. This
driver only uses 1. 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:45:55 +0000 (10:45 -0700)]
staging: comedi: addi_apci_16xx: remove devpriv->s_EeParameters usage
This information is not 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:45:34 +0000 (10:45 -0700)]
staging: comedi: addi_apci_16xx: 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:45:07 +0000 (10:45 -0700)]
staging: comedi: addi_apci_16xx: remove unnecessary comments
A lot of the comments in hwdrv_apci16xx.c have whitespace damage and
are simply unnecessary. Just remove them to make the code a bit more
readable.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:44:11 +0000 (10:44 -0700)]
staging: comedi: addi_apci_16xx: simplify PCI bar reading
The boards supported by this driver do not have an eeprom. Knowing
this information allows simplifying the code that reads the PCI
bars to get the iobase addresses.
The only 'iobase' actually used by this driver is found in PCI
bar 0. Don't bother reading the other PCI bars.
Also, since 'dw_AiBase' is not ioremap'ed we can remove the check
and iounmap in the detach.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:43:48 +0000 (10:43 -0700)]
staging: comedi: addi_apci_16xx: remove interrupt support code
The boards supported by this driver do not have any interrupt
capable devices. Remove the unused interrupt support 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:43:23 +0000 (10:43 -0700)]
staging: comedi: addi_apci_16xx: remove i_APCI16XX_Reset()
The 'reset' function for this driver doesn't do anything. 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:43:00 +0000 (10:43 -0700)]
staging: comedi: addi_apci_16xx: remove eeprom support code
Reading the eeprom on the boards supported by this driver is not
necessary. All the information required is in the boardinfo.
Remove the eeprom support code since it's not really interesting
or useful.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:42:35 +0000 (10:42 -0700)]
staging: comedi: addi_apci_16xx: board does not have a timer
The boards supported by this driver do not have a timer subdevice.
Remove the subdevice init for 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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:42:13 +0000 (10:42 -0700)]
staging: comedi: addi_apci_16xx: board does not have digital outputs
The boards supported by this driver do not have digital outputs.
Remove the subdevice init for them.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:41:52 +0000 (10:41 -0700)]
staging: comedi: addi_apci_16xx: board does not have digital inputs
The boards supported by this driver do not have digital inputs.
Remove the subdevice init for them.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:41:31 +0000 (10:41 -0700)]
staging: comedi: addi_apci_16xx: board does not have analog outputs
The boards supported by this driver do not have analog outputs.
Remove the subdevice init for them.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:41:07 +0000 (10:41 -0700)]
staging: comedi: addi_apci_16xx: board does not have analog inputs
The boards supported by this driver do not have analog inputs.
Remove the subdevice init for them.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 17:40:31 +0000 (10:40 -0700)]
staging: comedi: addi_apci_16xx: separate from addi_common.c
This driver is for two simple ttl digital output boards. One with
48 channels the other with 96. Using the addi-data "common" code
introduces a lot of bloat.
Copy the code in addi_common.c to this driver and remove the #include
that caused addi_common.c to be compiled with this driver. This will
allow removing the bloat.
Rename the auto_attach and detach functions so they have namespace
associated with this driver.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:41:25 +0000 (17:41 -0700)]
staging: comedi: addi_apci_2032: use addi_watchdog module
Use the addi_watchdog module to provide support for the watchdog
subdevice.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:41:01 +0000 (17:41 -0700)]
staging: comedi: introduce addi_watchdog driver
Many of the ADDI-DATA drivers have a "watchdog" subdevice that can
be used to monitor digital output activity. All the digital outputs
are released (set to 0) if the digital outputs are not accessed, or
the watchdog it not pinged, before the timeout of the watchdog
occurs. The only difference in the drivers for the watchdog subdevice
is the base address used to talk to the watchdog registers.
Instead of duplicating the code needed to support this watchdog,
introduce a helper module, similar to the 8255 module. This module
will be select'ed by the drivers that can use 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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:40:31 +0000 (17:40 -0700)]
staging: comedi: addi_apci_2200: cleanup digital output subdevice
The board supported by this driver always has a digital output subdevice.
Remove the boardinfo for it and just open-code the relevant data in the
subdevice init.
Remove the SDF_GROUND and SDF_COMMON from the subdevice 'subdev_flags'.
These flags only have meaning for analog input/output subdevices. Also,
remove the SDF_READABLE flag, it is not required by output only subdevices.
Remove the subdevice 'len_chanlist' initialization. This variable only
has meaning for subdevices that support asynchronous commands.
Remove the subdevice 'io_bits' initialization. Digital output subdevices
don't use this variable.
Remove the subdevice function pointers that evaluate to NULL based on the
boardinfo data.
Move the apci2200_do_insn_bits() function from the hwdrv_apci2200.c file
into the main driver file.
For aesthetic reasons, rename the #define used for the register used to
read/write the digital outputs..
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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:40:01 +0000 (17:40 -0700)]
staging: comedi: addi_apci_2200: cleanup digital input subdevice
The board supported by this driver always has a digital input subdevice.
Remove the boardinfo for it and just open-code the relevant data in the
subdevice init.
Remove the SDF_GROUND and SDF_COMMON from the subdevice 'subdev_flags'.
These flags only have meaning for analog input/output subdevices.
Remove the subdevice 'len_chanlist' initialization. This variable only
has meaning for subdevices that support asynchronous commands.
Remove the subdevice 'io_bits' initialization. Digital input subdevices
don't use this variable.
Remove the subdevice function pointers that evaluate to NULL based on the
boardinfo data.
Move the apci2200_di_insn_bits() function from the hwdrv_apci2200.c file
into the main driver file.
For aesthetic reasons, rename the #define used for the register used to
read the digital inputs.
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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:39:41 +0000 (17:39 -0700)]
staging: comedi: addi_apci_2200: remove interrupt support code
This board does not have any interrupt capable devices. Remove the
unused interrupt support 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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:39:24 +0000 (17:39 -0700)]
staging: comedi: addi_apci_2200: 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 it 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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:39:06 +0000 (17:39 -0700)]
staging: comedi: addi_apci_2200: don't read the unused PCI bars
This driver only uses PCI bar 1 (dev->iobase), don'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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:38:44 +0000 (17:38 -0700)]
staging: comedi: addi_apci_2200: 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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:38:25 +0000 (17:38 -0700)]
staging: comedi: addi_apci_2200: remove unnecessary info from boardinfo
Remove the information from the boardinfo that was only needed to
work out the usage of the 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>
H Hartley Sweeten [Fri, 18 Jan 2013 00:38:01 +0000 (17:38 -0700)]
staging: comedi: addi_apci_2200: simplify the PCI bar reading
The board supported by this driver has a 93x76 eeprom. Knowing this
information allows simplifying the code that reads the PCI bars to
get the iobase addresses.
Also, since the 'dw_AiBase' is not ioremap'ed we can remove the iounmap
in the detach.
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>