firefly-linux-kernel-4.4.55.git
11 years agostaging: comedi: addi_apci_3501: start defining i/o map
H Hartley Sweeten [Wed, 23 Jan 2013 19:43:35 +0000 (12:43 -0700)]
staging: comedi: addi_apci_3501: start defining i/o map

Create, and use, defines for the analog output and digital i/o
registers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: comedi: addi_apci_3501: remove dependency on addi_common.h
H Hartley Sweeten [Wed, 23 Jan 2013 19:43:14 +0000 (12:43 -0700)]
staging: comedi: addi_apci_3501: remove dependency on addi_common.h

Create a struct to hold the private data still used by this driver.
This removes the last dependencies on the addi-data "common" code
so we can also remove the #include of addi_common.h.

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>
11 years agostaging: comedi: addi_apci_3501: only allocate needed subdevices
H Hartley Sweeten [Wed, 23 Jan 2013 19:42:39 +0000 (12:42 -0700)]
staging: comedi: addi_apci_3501: only allocate needed subdevices

The addi-data "common" code always allocated 7 subdevices. This
driver only uses 5. 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>
11 years agostaging: comedi: addi_apci_3501: remove boardinfo
H Hartley Sweeten [Wed, 23 Jan 2013 19:42:20 +0000 (12:42 -0700)]
staging: comedi: addi_apci_3501: remove boardinfo

With the eeprom support code now local to this driver, we can
remove the boardinfo since it's not necessary.

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>
11 years agostaging: comedi: addi_apci_3501: simplify reading the eeprom
H Hartley Sweeten [Wed, 23 Jan 2013 19:42:02 +0000 (12:42 -0700)]
staging: comedi: addi_apci_3501: simplify reading the eeprom

The only value in the eeprom that is used by this driver is the
number of analog output channels.

Copy the necessary code from addi_eeprom.c to this driver and
refactor it so that we can get the value 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>
11 years agostaging: comedi: addi_apci_3501: board has an eeprom
H Hartley Sweeten [Wed, 23 Jan 2013 19:41:36 +0000 (12:41 -0700)]
staging: comedi: addi_apci_3501: board has an eeprom

The board supported by this driver has an on-board eeprom. Since
we need to read it to get the number of analog output channels,
expose the eeprom as a readable subdevice to the user.

Rename the i_ADDIDATA_InsnReadEeprom() function to give it 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>
11 years agostaging: comedi: addi_apci_3501: remove analog output boardinfo
H Hartley Sweeten [Wed, 23 Jan 2013 19:41:16 +0000 (12:41 -0700)]
staging: comedi: addi_apci_3501: remove analog output boardinfo

There is not need to pass the analog output subdevice information
in the boardinfo. Just initialize the subdevice directly.

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>
11 years agostaging: comedi: addi_apci_3501: analog output resolution is fixed
H Hartley Sweeten [Wed, 23 Jan 2013 19:40:50 +0000 (12:40 -0700)]
staging: comedi: addi_apci_3501: analog output resolution is fixed

The analog outputs of this board are always 14-bit. Remove this
information from the boardinfo and just set the 'maxdata' directly
in the subdevice init. Initialize with a hex value as that is more
standard in the comedi drivers.

Since devpriv->s_EeParameters.i_AoMaxdata is not longer being used,
don't bother initializing 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>
11 years agostaging: comedi: addi_apci_3501: don't read the unused PCI bars
H Hartley Sweeten [Wed, 23 Jan 2013 19:40:28 +0000 (12:40 -0700)]
staging: comedi: addi_apci_3501: don't read the unused PCI bars

This driver only uses PCI bar 0 and 1, 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>
11 years agostaging: comedi: addi_apci_3501: board does not support dma
H Hartley Sweeten [Wed, 23 Jan 2013 19:40:07 +0000 (12:40 -0700)]
staging: comedi: addi_apci_3501: board does not support dma

The board supported by this driver does not use dma. Remove the
unnecessary initialization of devpriv->s_EeParameters.i_Dma.

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>
11 years agostaging: comedi: addi_apci_3501: remove devpriv->iobase usage
H Hartley Sweeten [Wed, 23 Jan 2013 19:39:47 +0000 (12:39 -0700)]
staging: comedi: addi_apci_3501: 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>
11 years agostaging: comedi: addi_apci_3501: simplify the PCI bar reading
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>
11 years agostaging: comedi: addi_apci_3501: simplify eeprom read
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>
11 years agostaging: comedi: addi_apci_3501: absorb v_APCI3501_Interrupt()
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>
11 years agostaging: comedi: addi_apci_3501: absorb i_APCI3501_Reset()
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>
11 years agostaging: comedi: addi_apci_3501: board does not have analog inputs
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>
11 years agostaging: comedi: addi_apci_3501: cleanup the digital input subdevice
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>
11 years agostaging: comedi: addi_apci_3501: cleanup the digital output subdevice
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>
11 years agostaging: comedi: addi_apci_3501: board has a timer
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>
11 years agostaging: comedi: addi_apci_3501: board does not have ttl i/o
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>
11 years agostaging: comedi: addi_apci_3501: separate from addi_common.c
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>
11 years agostaging/comedi: use comedi_usb_driver_(un)register for init/deinit
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>
11 years agostaging: zcache: fix ppc64 and other arches where PAGE_SIZE!=4K
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>
11 years agostaging:ozwpan: Change email address.
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>
11 years agostaging:ozwpan: Removed myself (Chris Kelly) as maintainer.
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>
11 years agostaging: cxt1e1: buffer overflow in do_del_chan()
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>
11 years agostaging: vt6656: Revert: 64bit fixes: dpc.c incorrect addressing of void structure.
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>
11 years agostaging: vt6656: revert : 64 bit- Correctly address void structure.
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>
11 years agogoldfish: NAND flash driver
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>
11 years agogoldfish: audio support
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>
11 years agogoldfish: Add a FIXME note to the pipe driver
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>
11 years agogoldfish: add QEMU pipe driver
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>
11 years agogoldfish: add the goldfish virtual bus
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>
11 years agostaging: et131x: Fix all sparse warnings
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>
11 years agostaging: usbip: replace the interrupt safe spinlocks with common ones.
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>
11 years agostaging: usbip: use interrupt safe spinlock to avoid potential deadlock.
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>
11 years agostaging: et131x: Modify block comments to fit with networking style
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>
11 years agostaging: et131x: Trivial camel case fixes
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>
11 years agostaging: et131x: Fix endian bugs in et131x_get_regs()
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>
11 years agostaging: sep: remove assignment to i and j in sep_crypto_setup
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>
11 years agostaging: dgrp: check for a valid proc dir entry pointer
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>
11 years agostaging: comedi: addi_apci_16xx: add defines for the PCI device ids
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>
11 years agostaging: comedi: addi_apci_16xx: change the MODULE_DESCRIPTION
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>
11 years agostaging: comedi: addi_apci_16xx: remove unnecessary include
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>
11 years agostaging: comedi: addi_apci_16xx: add missing copyright comment
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>
11 years agostaging: comedi: addi_apci_16xx: rewrite low-level support code
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>
11 years agostaging: comedi: addi_apci_2200: change the MODULE_DESCRIPTION
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>
11 years agostaging: comedi: addi_apci_2200: only allocate needed subdevices
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>
11 years agostaging: comedi: addi_apci_2200: add missing copyright comment
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>
11 years agostaging: comedi: addi_apci_2200: remove unnecessary include
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>
11 years agostaging: comedi: addi_apci_2200: remove unnecessary boardinfo
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>
11 years agostaging: comedi: addi_apci_2200: remove devpriv allocation
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>
11 years agostaging: comedi: addi_apci_2200: use addi_watchdog module
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>
11 years agostaging: comedi: drivers (core): remove BUG_ON in comedi_auto_unconfig()
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>
11 years agostaging: comedi: drivers (core): don't BUG_ON due to faulty drivers
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>
11 years agostaging: comedi: drivers (core): factor out async subdevice postconfig
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>
11 years agostaging: comedi: drivers (core): remove forward declarations
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>
11 years agostaging: comedi: comedi_fops: remove last forward declaration
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>
11 years agostaging/comedi: remove workaround for !pci_driver.name
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>
11 years agostaging/comedi: Add pci_driver.name to skel driver
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>
11 years agostaging/comedi: Use bool initializations
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>
11 years agoStaging: comedi: enable it to build on all arches
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>
11 years agostaging: comedi: Allow comedi on ARM
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>
11 years agostaging: omap-thermal/omap-bandgap.c: adjust duplicate test
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>
11 years agostaging: tidspbridge/pmgr: another using strlcpy instead of strncpy
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>
11 years agostaging: tidspbridge/pmgr: use strlcpy instead of strncpy
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>
11 years agostaging: tidspbridge/pmgr: additional checking after return from strlen_user
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>
11 years agostaging: xgifb: delete pVBInfo->BaseAddr
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>
11 years agostaging: xgifb: do not use pVBInfo->BaseAddr
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>
11 years agostaging: xgifb: use XGIRegInit()
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>
11 years agoStaging: Comedi: daqboard2000: Fixed Coding Style Issue
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>
11 years agoStaging: Comedi: pcl818: Fixed Coding Style Issues
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>
11 years agostaging: line6: clean up line6_variax_process_message()
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>
11 years agostaging: line6: clean up line6_pod_process_message()
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>
11 years agostaging: line6: drop CONFIG_LINE6_USB_DUMP_PCM
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>
11 years agowlan-ng/prism2mgmt.c: formated too long lines
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>
11 years agowlan-ng/prism2mgmt.c: added parantheses to macro
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>
11 years agoStaging: Comedi: amplc_dio200: Fixed bracing issue
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>
11 years agostaging: zcache: fix uninitialized variable compile warning
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>
11 years agostaging: zcache: re-enable config/build of zcache after renaming
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>
11 years agostaging: zcache: adjustments to config/build files due to renaming
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>
11 years agostaging: zcache: rename ramster to zcache
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>
11 years agostaging: ramster: disable build in anticipation of renaming
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>
11 years agostaging: comedi: addi_apci_16xx: cleanup addi_find_boardinfo()
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>
11 years agostaging: comedi: addi_apci_16xx: redefine the boardinfo
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>
11 years agostaging: comedi: addi_apci_16xx: remove need for comedi_board()
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>
11 years agostaging: comedi: addi_apci_16xx: cleanup subdevice initialization
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>
11 years agostaging: comedi: addi_apci_16xx: only allocate needed subdevices
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>
11 years agostaging: comedi: addi_apci_16xx: remove devpriv->s_EeParameters usage
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>
11 years agostaging: comedi: addi_apci_16xx: remove devpriv->iobase usage
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>
11 years agostaging: comedi: addi_apci_16xx: remove unnecessary comments
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>
11 years agostaging: comedi: addi_apci_16xx: simplify PCI bar reading
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>
11 years agostaging: comedi: addi_apci_16xx: remove interrupt support code
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>
11 years agostaging: comedi: addi_apci_16xx: remove i_APCI16XX_Reset()
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>
11 years agostaging: comedi: addi_apci_16xx: remove eeprom support code
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>
11 years agostaging: comedi: addi_apci_16xx: board does not have a timer
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>
11 years agostaging: comedi: addi_apci_16xx: board does not have digital outputs
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>
11 years agostaging: comedi: addi_apci_16xx: board does not have digital inputs
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>
11 years agostaging: comedi: addi_apci_16xx: board does not have analog outputs
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>
11 years agostaging: comedi: addi_apci_16xx: board does not have analog inputs
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>