aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Medhurst <tixy@linaro.org>2015-10-29 10:35:43 +0000
committerJon Medhurst <tixy@linaro.org>2015-10-29 10:35:43 +0000
commitacd8379b9d088876ac2daabe39c364c4638573d3 (patch)
treec9c656e0f3bdd366c3caa5d6fd4a756e8ba8ddf6
parent20d7b59f60a4000287ee3d2008c143b77c939dcb (diff)
parent06f75d7d6ba7b5189ffc55c5b1bc9e6d009d6f56 (diff)
Merge branch 'linaro-fixes/android-3.18' of git://android.git.linaro.org/kernel/linaro-android into integration-lsk-3.18-armlt-android
Conflicts: drivers/usb/gadget/Kconfig
-rw-r--r--drivers/staging/android/binder.c22
-rw-r--r--drivers/staging/android/ion/Kconfig2
-rw-r--r--drivers/staging/android/ion/ion.c6
-rw-r--r--drivers/usb/gadget/Kconfig40
4 files changed, 49 insertions, 21 deletions
diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c
index 710393a72a8a..183748919ba6 100644
--- a/drivers/staging/android/binder.c
+++ b/drivers/staging/android/binder.c
@@ -26,7 +26,6 @@
#include <linux/miscdevice.h>
#include <linux/mm.h>
#include <linux/module.h>
-#include <linux/rtmutex.h>
#include <linux/mutex.h>
#include <linux/nsproxy.h>
#include <linux/poll.h>
@@ -43,7 +42,7 @@
#include "binder.h"
#include "binder_trace.h"
-static DEFINE_RT_MUTEX(binder_main_lock);
+static DEFINE_MUTEX(binder_main_lock);
static DEFINE_MUTEX(binder_deferred_lock);
static DEFINE_MUTEX(binder_mmap_lock);
@@ -423,14 +422,14 @@ static long task_close_fd(struct binder_proc *proc, unsigned int fd)
static inline void binder_lock(const char *tag)
{
trace_binder_lock(tag);
- rt_mutex_lock(&binder_main_lock);
+ mutex_lock(&binder_main_lock);
trace_binder_locked(tag);
}
static inline void binder_unlock(const char *tag)
{
trace_binder_unlock(tag);
- rt_mutex_unlock(&binder_main_lock);
+ mutex_unlock(&binder_main_lock);
}
static void binder_set_nice(long nice)
@@ -3592,13 +3591,24 @@ static int binder_transactions_show(struct seq_file *m, void *unused)
static int binder_proc_show(struct seq_file *m, void *unused)
{
+ struct binder_proc *itr;
struct binder_proc *proc = m->private;
int do_lock = !binder_debug_no_lock;
+ bool valid_proc = false;
if (do_lock)
binder_lock(__func__);
- seq_puts(m, "binder proc state:\n");
- print_binder_proc(m, proc, 1);
+
+ hlist_for_each_entry(itr, &binder_procs, proc_node) {
+ if (itr == proc) {
+ valid_proc = true;
+ break;
+ }
+ }
+ if (valid_proc) {
+ seq_puts(m, "binder proc state:\n");
+ print_binder_proc(m, proc, 1);
+ }
if (do_lock)
binder_unlock(__func__);
return 0;
diff --git a/drivers/staging/android/ion/Kconfig b/drivers/staging/android/ion/Kconfig
index 301948cc48bd..356e10969272 100644
--- a/drivers/staging/android/ion/Kconfig
+++ b/drivers/staging/android/ion/Kconfig
@@ -35,7 +35,7 @@ config ION_TEGRA
config ION_POOL_CACHE_POLICY
bool "Ion set page pool cache policy"
- depends on ION
+ depends on ION && X86
default y if X86
help
Choose this option if need to explicity set cache policy of the
diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index 8724ef89ce94..b1a3e1a2d936 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -1176,13 +1176,13 @@ struct ion_handle *ion_import_dma_buf(struct ion_client *client, int fd)
mutex_unlock(&client->lock);
goto end;
}
- mutex_unlock(&client->lock);
handle = ion_handle_create(client, buffer);
- if (IS_ERR(handle))
+ if (IS_ERR(handle)) {
+ mutex_unlock(&client->lock);
goto end;
+ }
- mutex_lock(&client->lock);
ret = ion_handle_add(client, handle);
mutex_unlock(&client->lock);
if (ret) {
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 23814ec22401..04ec74bceed4 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -401,7 +401,8 @@ config USB_CONFIGFS_F_ACC
config USB_CONFIGFS_F_AUDIO_SRC
boolean "Audio Source gadget"
depends on USB_CONFIGFS && USB_CONFIGFS_F_ACC
- depends on SND_PCM
+ depends on SND
+ select SND_PCM
select USB_F_AUDIO_SRC
help
USB gadget Audio Source support
@@ -415,18 +416,35 @@ config USB_CONFIGFS_UEVENT
three states: "CONNECTED/DISCONNECTED/CONFIGURED"
config USB_CONFIGFS_F_MIDI
- boolean "MIDI function"
- depends on USB_CONFIGFS
- depends on SND
+ boolean "MIDI function"
+ depends on USB_CONFIGFS
+ depends on SND
+ select SND_RAWMIDI
+ select USB_F_MIDI
+ help
+ The MIDI Function acts as a USB Audio device, with one MIDI
+ input and one MIDI output. These MIDI jacks appear as
+ a sound "card" in the ALSA sound system. Other MIDI
+ connections can then be made on the gadget system, using
+ ALSA's aconnect utility etc.
+
+config USB_G_ANDROID
+ boolean "Android Composite Gadget"
+ select USB_F_ACM
select USB_LIBCOMPOSITE
- select SND_RAWMIDI
- select USB_F_MIDI
+ select USB_U_SERIAL
+ help
+ The Android Composite Gadget supports multiple USB
+ functions: adb, acm, mass storage, mtp, accessory
+ and rndis.
+ Each function can be configured and enabled/disabled
+ dynamically from userspace through a sysfs interface.
+
+config USB_ANDROID_RNDIS_DWORD_ALIGNED
+ boolean "Use double word aligned"
+ depends on USB_G_ANDROID
help
- The MIDI Function acts as a USB Audio device, with one MIDI
- input and one MIDI output. These MIDI jacks appear as
- a sound "card" in the ALSA sound system. Other MIDI
- connections can then be made on the gadget system, using
- ALSA's aconnect utility etc.
+ Provides dword aligned for DMA controller.
source "drivers/usb/gadget/legacy/Kconfig"