gpu: pvr: Update to DDK 1.9.RC1.JB@2113614

Change-Id: Id62b25908d2cd0519c4d5126193ac9b18135a971
scripts/Kbuild.include: Fix portability problem of "echo -e"

"echo -e" is a GNU extension. When cross-compiling the kernel on a
BSD-like operating system (Mac OS X in my case), this doesn't work.

One could install a GNU version of echo, put that in the $PATH before
the system echo and use "/usr/bin/env echo", but the solution with
printf is simpler.

Since it is no disadvantage on Linux, I hope that gets accepted even if
cross-compiling the Linux kernel on another Unix operating system is
quite a rare use case.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Andreas Bießmann <andreas@biessmann.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Tuna bluetooth: set rfkill state before register it

rfkill_register was turning on bluetooth module by accident because
rfkill state was not set. The default setting was used which happened to
be turning on bluetooth.
Also remove a uncessary poweroff call.

Signed-off-by: Matthew Xie <mattx@google.com>
net: wireless: bcmdhd: Use correct time from boot for TSF

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
netfilter: xt_IDLETIMER: Rename INTERFACE to LABEL in netlink notification.

Signed-off-by: Ashish Sharma <ashishsharma@google.com>
Merge branch 'android-3.0' into android-omap-3.0
Merge branch 'android-omap-3.0' into android-omap-tuna-3.0
net: wireless: bcm4329: Remove obsolete files

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Revert "gpu: pvr: Update to DDK 1.9.RC1.JB@2113614"

This reverts commit 19aecca9756540787ff2057f07ca327b9baf4dde.

Change-Id: I9be7eaddf893f58fbbe23dcd936f15daa8b306b8
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Revert "OMAP4: hsmmc: fix race conditions in suspend/resume path"

This reverts commit 1b8153cc8ca36697f4d1dbf36916fbe506d6cd95.

Change-Id: I31ffd48debe6562a29d640554e6fe4a563aa4ad3
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Merge branch 'android-3.0' into android-omap-3.0
Merge branch 'linux-omap-3.0' into android-omap-3.0
Merge branch 'android-omap-3.0' into android-omap-tuna-3.0
mmc: Make sure host is disabled on suspend

Change-Id: Ie0bf2004e173cef8dad66722a152658d7727ab65
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
OMAP4: hsmmc: fix race conditions in suspend/resume path

This reverts commit a15bf22cba9eec27a008331c4b8a095fc43ea6b7.

Change-Id: I92f37aaa0a5b323b229c2e51b4176f837a5e1494
HID: uhid: introduce user-space I/O driver support for HID

This adds a dummy driver that will support user-space I/O drivers for the
HID subsystem. This allows to write transport-level drivers like USB-HID
and Bluetooth-HID in user-space.

Low-Energy Bluetooth needs this to feed HID data that is parsed in
user-space back into the kernel.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
HID: uhid: add internal message buffer

When receiving messages from the HID subsystem, we need to process them
and store them in an internal buffer so user-space can read() on the char
device to retrieve the messages.

This adds a static buffer for 32 messages to each uhid device. Each
message is dynamically allocated so the uhid_device structure does not get
too big.

uhid_queue() adds a message to the buffer. If the buffer is full, the
message is discarded. uhid_queue_event() is an helper for messages without
payload.

This also adds a public header: uhid.h. It contains the declarations for
the user-space API. It is built around "struct uhid_event" which contains
a type field which specifies the event type and each event can then add a
variable-length payload. For now, there is only a dummy event but later
patches will add new event types and payloads.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
HID: uhid: allow poll()'ing on uhid devices

As long as the internal buffer is not empty, we return POLLIN to
user-space.

uhid->head and uhid->tail are no atomics so the comparison may return
inexact results. However, this doesn't matter here as user-space would
need to poll() in two threads simultaneously to trigger this. And in this
case it doesn't matter if a cached result is returned or the exact new
result as user-space does not know which thread returns first from poll()
and the following read(). So it is safe to compare the values without
locking.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
HID: uhid: implement read() on uhid devices

User-space can use read() to get a single event from uhid devices. read()
does never return multiple events. This allows us to extend the event
structure and still keep backwards compatibility.

If user-space wants to get multiple events in one syscall, they should use
the readv()/writev() syscalls which are supported by uhid.

This introduces a new lock which helps us synchronizing simultaneous reads
from user-space. We also correctly return -EINVAL/-EFAULT only on errors
and retry the read() when some other thread captured the event faster than
we did.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
HID: uhid: implement write() on uhid devices

Similar to read() you can only write() a single event with one call to an
uhid device. To write multiple events use writev() which is supported by
uhid.

We currently always return -EOPNOTSUPP but other events will be added in
later patches.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>