Jonathan Cameron [Sat, 21 Apr 2012 09:09:34 +0000 (10:09 +0100)]
staging:iio: scan_index_timestamp move to iio_dev from buffer
This is just a locally cached value that is device specific (rather
than buffer specific.) Hence it wants to come out of the buffer before
we add multiple buffer support.
Jonathan Cameron [Sat, 21 Apr 2012 09:09:33 +0000 (10:09 +0100)]
staging:iio:buffer: pull computation of scan length into a utility function.
Principal reason is to make later patches more coherent and easier to review
but this set in itself separates a logical entity out nicely wihin the code.
staging: iio: light: isl29018: use regmap for register access
Using regmap for accessing register through i2c bus. This will
remove the code for caching registers, read-modify-write logics.
Also it will provide the debugfs feature to dump register
through regmap debugfs.
John Stultz [Tue, 24 Apr 2012 17:57:16 +0000 (10:57 -0700)]
staging: android-alarm: Switch from wakelocks to wakeup sources
In their current AOSP tree, the Android in-kernel wakelock
infrastructure has been reimplemented in terms of wakeup
sources:
http://git.linaro.org/gitweb?p=people/jstultz/android.git;a=commitdiff;h=e9911f4efdc55af703b8b3bb8c839e6f5dd173bb
The Android alarm driver currently has stubbed out calls
to wakelock functionality. So this patch simply converts
the stubbed out wakelock calls to wakeup source calls, and
removes the empty wakelock macros
Greg, would you mind queuing this in staging-next?
CC: Colin Cross <ccross@android.com> CC: Arve Hjønnevåg <arve@android.com> CC: Greg KH <gregkh@linuxfoundation.org> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Now that our module_init/exit path is just registering and unregistering
the usb driver, we can use module_usb_driver() instead. This also has
the nice side affect of removing the unneeded printk for the module
version number.
CC: Markus Grabner <grabner@icg.tugraz.at> CC: Stefan Hajnoczi <stefanha@gmail.com> CC: Julia Lawall <julia@diku.dk> CC: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Staging: line6: remove teardown code from module_exit path
These pcm values should all be stopped properly when the device is
removed from the system (i.e. when disconnect is called), so there's no
need to duplicate this when the module is unloaded as well.
CC: Markus Grabner <grabner@icg.tugraz.at> CC: Stefan Hajnoczi <stefanha@gmail.com> CC: Julia Lawall <julia@diku.dk> CC: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Staging: line6: only allocate a buffer if it is needed
Only allocate the version request buffer if it is needed, not when the
module starts up. This will let us make the module_init path much
smaller.
CC: Markus Grabner <grabner@icg.tugraz.at> CC: Stefan Hajnoczi <stefanha@gmail.com> CC: Julia Lawall <julia@diku.dk> CC: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Static variables are initialized to NULL, no need to do it again in the
module_init function.
CC: Markus Grabner <grabner@icg.tugraz.at> CC: Stefan Hajnoczi <stefanha@gmail.com> CC: Julia Lawall <julia@diku.dk> CC: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Fri, 20 Apr 2012 19:45:37 +0000 (14:45 -0500)]
staging: r8192e_pci: Change memcpy to memcmp
Routine rtllib_MlmeDisassociateRequest() has a comparison of memcpy()
with NULL, which makes no sense. Analysis of the code suggests that
memcmp() was intended.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Stultz [Fri, 20 Apr 2012 19:31:44 +0000 (12:31 -0700)]
staging: android-alarm: Convert ALARM_ELAPSED_REALTIME to use CLOCK_BOOTTIME
The ALARM_ELAPSED_REALTIME clock domain in Android pointed
to the need for something similar in linux system-wide
(instead of limited to just the alarm interface).
Thus CLOCK_BOOTTIME was introduced into the upstream kernel
in 2.6.39.
This patch attempts to convert the android alarm timer to utilize
the kernel's CLOCK_BOOTTIME clockid for ALARM_ELAPSED_REALTIME,
instead of managing it itself.
CC: Colin Cross <ccross@android.com> CC: Thomas Gleixner <tglx@linutronix.de> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Fri, 20 Apr 2012 11:46:27 +0000 (14:46 +0300)]
staging: comedi vmk80xx: lock held on error path
If the user passes an invalid command, then we don't drop the lock
before returning. The check for invalid commands doesn't need to be
done under lock so I moved it forward a couple lines.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Julia Lawall [Thu, 19 Apr 2012 11:03:58 +0000 (13:03 +0200)]
drivers/staging/wlags49_h2/wl_pci.c: add missing wl_device_dealloc and wl_remove
The need for wl_device_dealloc is motivated by the error-handling code for
the failure of wl_adapter_insert. The need for wl_remove in the third case
is motivated by the code in the definition of wl_pci_remove.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Wed, 18 Apr 2012 06:48:59 +0000 (09:48 +0300)]
Staging: wlan-ng: off by one in prism2mgmt_scan_results()
Count is used to cap "req->bssindex.data" which is used as an offset
into the hw->scanresults->info.hscanresult.result[] array. The array
has only HFA384x_SCANRESULT_MAX (31) elements so the 32 is off by one.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers: staging: vme: devices: Remove unneeded include version.h
The output of "make versioncheck" told us that:
drivers/staging/vme/devices/vme_pio2_core.c: 13 linux/version.h not needed.
drivers/staging/vme/devices/vme_pio2_gpio.c: 13 linux/version.h not needed.
If we take a look at these files, we will agree to remove it.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: <devel@driverdev.osuosl.org> Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Tue, 17 Apr 2012 06:47:25 +0000 (09:47 +0300)]
Staging: wlags49_h2: reading past the end of array
The original code had some confusion about the dimensions of the array.
It should have been an array of 2 element arrays but it was declared as
an array of 50 element arrays.
The limitter on the outside array should have been
ARRAY_SIZE(chan_freq_list) or 26 but instead 50 was used. It meant that
we read past the end. It's probably harmless but it's obviously worth
fixing.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Tue, 17 Apr 2012 20:37:31 +0000 (23:37 +0300)]
Staging: rtl8192u: fix some memory corruption
When we received a command we incremented a stat counter depending on
the type of message. The problem is there were 8 types of commands but
there were only 4 counters allocated so it corrupted memory past the
end of the rxcmdpkt[] array.
The fix is just to remove the counters because they aren't used.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> ACKed-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Randy Dunlap [Tue, 17 Apr 2012 01:01:24 +0000 (18:01 -0700)]
staging: fix android alarm.c printk format warnings
Fix printk format warnings by using 't' modifier for ptrdiff_t.
drivers/staging/android/alarm.c:344:2: warning: format '%ld' expects type 'long int', but argument 2 has type 'int'
drivers/staging/android/alarm.c:367:3: warning: format '%ld' expects type 'long int', but argument 2 has type 'int'
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Brian Swetland <swetland@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jonathan Cameron [Sun, 15 Apr 2012 16:41:30 +0000 (17:41 +0100)]
staging:iio: Make read / write attributes for channel values optional.
Until now all channels have had read/write attributes. This patch
allows for channels where we can't actually read the value (or for
output devices, write it!)
v2 introduces separate elements for processed and raw thus removing
some special case code from the core. Thanks to Lars-Peter for an
excellent suggestion!
Jonathan Cameron [Sun, 15 Apr 2012 16:41:22 +0000 (17:41 +0100)]
staging:iio:light Add IIO_CHAN_INFO_RAW/PROCESSED entries to all drivers.
Precursor to making value read / write attribute optional.
Note that minimal change route taken here. The read_raw callbacks
in both drivers could do fewer checks to identify the channel than
they now do.
Jonathan Cameron [Sun, 15 Apr 2012 16:41:16 +0000 (17:41 +0100)]
staging:iio: add a raw and processed elements to info_mask
This will allow us to have drivers where the channel value
may not be read or written but other information is available.
Also adds the ability to have both processed and raw access
to a given channel, though in most cases this doesn't make
sense.
Ultimately will lead to simpler code by allowing us to drop
the special case handling for the value reading cases.
W. Trevor King [Mon, 16 Apr 2012 17:25:18 +0000 (13:25 -0400)]
staging: comedi: COMEDI_CB_EOA is also used to report end-of-output.
Update comments in comedi.h accordingly.
Signed-off-by: W. Trevor King <wking@drexel.edu> Acked-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: iio: light: isl29028: fix correct mask value
The mask value in the read_raw/write_raw is absolute
value, not the bit position value.
Fixing this in the implemented function to check value,
not with the bit position value.
staging: as102: Remove redundant NULL check before release_firmware() and pointless comments
release_firmware() deals gracefullt with NULL pointers - it's
redundant to check for them before calling the function.
Also remove a few pointless comments - it's rather obvious from the
code that kfree() free's a buffer and that release_firmware() releases
firmware - comments just stating that add no value.
Ian Abbott [Fri, 13 Apr 2012 13:12:54 +0000 (14:12 +0100)]
staging: comedi: Add kernel config for default buffer sizes
Allow the default values for the module parameters for the default
initial buffer size and default maximum buffer size to be specified in
the kernel configuration.
I'm not sure what the defaults for the defaults for the defaults should
be, but 64 KiB seems to small, so I used values suggested by Bernd Porr,
which are 2048 KiB for the default initial buffer size and 20480 for the
default maximum buffer size.
Ian Abbott [Fri, 13 Apr 2012 13:12:53 +0000 (14:12 +0100)]
staging: comedi: Add module parameters for default buffer size
For comedi subdevices that support asynchronous transfer commands, the
initial buffer size and maximum buffer size for the transfer are both
set to 64 KiB when the comedi device is "attached" to the hardware
device. For many applications with reasonable fast sample rates and
slow user-space (e.g. Python) these sizes are a bit too small.
A task with CAP_SYS_ADMIN privileges can change the maximum buffer size
for a comedi subdevice with an ioctl call or by writing to a device
attribute file in sysfs, but that's not very convenient. For comedi
devices attached during system startup, this could be done by a start-up
script, but for hot-plugged devices it would require scripts run by udev
rules, etc.
Rather than use hardwired values, this patch introduces a couple of
module parameters to set the defaults for the initial buffer size
(comedi_default_buf_size_kb) and maximum buffer size
(comedi_default_buf_maxsize_kb). These values are applied in place of
the previous hard-wired values when the comedi device is "attached".
The module parameter values are in units of KiB for consistency with the
existing device attribute files.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Roese [Thu, 12 Apr 2012 09:05:35 +0000 (11:05 +0200)]
staging:iio:adc: Add SPEAr ADC driver
This patch implements the basic single data conversion support for
the SPEAr600 SoC ADC. The register layout of SPEAr600 differs a bit
from other SPEAr SoC variants (e.g. SPEAr3xx). These differences are
handled via DT compatible testing. Resulting in a multi-arch binary.
This driver is currently tested only on SPEAr600. Future patches may add
support for other SoC variants (SPEAr3xx) and features like software
buffer or DMA.
Signed-off-by: Stefan Roese <sr@denx.de> Acked-by: Jonathan Cameron <jic23@kernel.org> Acked-by: Viresh Kumar <viresh.kumar@st.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Intersil's ISL29028 is concurrent Ambient Light and
Proximity Sensor device.
Add driver to access the light and IR intensity and
proximity value via iio interface.
Jonathan Cameron [Fri, 13 Apr 2012 09:42:49 +0000 (10:42 +0100)]
staging:iio:accel:adis16204 unwind use of IIO_CHAN macro.
This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.
Note that previously the supply was not indexed. I have made
it indexed for consistency with other similar devices and
for internal consistency with the aux adc port.
Jonathan Cameron [Fri, 13 Apr 2012 09:24:20 +0000 (10:24 +0100)]
staging:iio:iio_core.h make less dependent on other included headers
There are a lot of pointers to structures used in here that are not
declared unless a particular header is included first. Deal with
the IIO specific ones by putting in forward declarations and the
other ones by including kernel.h and device.h.
Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jonathan Cameron [Fri, 13 Apr 2012 09:24:18 +0000 (10:24 +0100)]
staging:iio:light:tsl2563 channel spec buglet / always reading same adc.
The IIO_LIGHT channel was not marked as being a processed_val despite
clearly being in lux.
The IIO_INTENSITY channel reads were dependent on channel and that isn't
specified for either adc (as they now use modifiers). Hence use the
modifier instead.
Reported-by: Jon Brenner <jbrenner@taosinc.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
It was marked as BROKEN back in 2008. It is because the tty handling
in the driver is really broken.
There was some activity in January 2012 to fix the driver, but the
patch was commented to be bogus:
https://lkml.org/lkml/2012/1/29/160
and we have not heard back from the author since then:
https://lkml.org/lkml/2012/3/28/412
So since nobody stepped in and rewrote the driver, it is time to move
it out of line now. And drop it some time later if nobody comes up
with patches to fix the driver in staging.
Signed-off-by: Jiri Slaby <jslaby@suse.cz> Acked-by: David S. Miller <davem@davemloft.net> Cc: Alan Cox <alan@linux.intel.com> Cc: Andrea Shepard <andrea@persephoneslair.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jonathan Cameron [Tue, 10 Apr 2012 20:11:09 +0000 (21:11 +0100)]
staging:iio: use spi->irq valid rather than querying available modes
Given these drivers only try to add the trigger if a valid
irq is present it is clearer to check the same condition when
deciding whether to remove it on a later trigger.
Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When moving over to the new sw_ring_preenable I managed to add
this callback to only one of the two iio_info structures. As
such only some devices will currently work.
Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>