Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc17f255 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Add WLAN PD auxiliary minidump ID for MSS on trinket"

parents 04749e7f ce464fb1
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1181,6 +1181,7 @@
		qcom,pas-id = <4>;
		qcom,pas-id = <4>;
		qcom,smem-id = <421>;
		qcom,smem-id = <421>;
		qcom,minidump-id = <3>;
		qcom,minidump-id = <3>;
		qcom,aux-minidump-ids = <4>;
		qcom,complete-ramdump;
		qcom,complete-ramdump;


		/* Inputs from mss */
		/* Inputs from mss */
+26 −2
Original line number Original line Diff line number Diff line
@@ -43,6 +43,8 @@
#include <linux/input/mt.h>
#include <linux/input/mt.h>
#include "../input-compat.h"
#include "../input-compat.h"


static DEFINE_MUTEX(uinput_glb_mutex);

static int uinput_dev_event(struct input_dev *dev,
static int uinput_dev_event(struct input_dev *dev,
			    unsigned int type, unsigned int code, int value)
			    unsigned int type, unsigned int code, int value)
{
{
@@ -676,10 +678,18 @@ static unsigned int uinput_poll(struct file *file, poll_table *wait)
static int uinput_release(struct inode *inode, struct file *file)
static int uinput_release(struct inode *inode, struct file *file)
{
{
	struct uinput_device *udev = file->private_data;
	struct uinput_device *udev = file->private_data;
	int retval;

	retval = mutex_lock_interruptible(&uinput_glb_mutex);
	if (retval)
		return retval;


	uinput_destroy_device(udev);
	uinput_destroy_device(udev);
	file->private_data = NULL;
	kfree(udev);
	kfree(udev);


	mutex_unlock(&uinput_glb_mutex);

	return 0;
	return 0;
}
}


@@ -810,7 +820,7 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd,
				 unsigned long arg, void __user *p)
				 unsigned long arg, void __user *p)
{
{
	int			retval;
	int			retval;
	struct uinput_device	*udev = file->private_data;
	struct uinput_device	*udev;
	struct uinput_ff_upload ff_up;
	struct uinput_ff_upload ff_up;
	struct uinput_ff_erase  ff_erase;
	struct uinput_ff_erase  ff_erase;
	struct uinput_request   *req;
	struct uinput_request   *req;
@@ -818,10 +828,20 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd,
	const char		*name;
	const char		*name;
	unsigned int		size;
	unsigned int		size;


	retval = mutex_lock_interruptible(&udev->mutex);
	retval = mutex_lock_interruptible(&uinput_glb_mutex);
	if (retval)
	if (retval)
		return retval;
		return retval;


	udev = file->private_data;
	if (!udev) {
		retval = -EINVAL;
		goto unlock_glb_mutex;
	}

	retval = mutex_lock_interruptible(&udev->mutex);
	if (retval)
		goto unlock_glb_mutex;

	if (!udev->dev) {
	if (!udev->dev) {
		retval = uinput_allocate_device(udev);
		retval = uinput_allocate_device(udev);
		if (retval)
		if (retval)
@@ -1000,8 +1020,12 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd,
	}
	}


	retval = -EINVAL;
	retval = -EINVAL;

 out:
 out:
	mutex_unlock(&udev->mutex);
	mutex_unlock(&udev->mutex);

 unlock_glb_mutex:
	mutex_unlock(&uinput_glb_mutex);
	return retval;
	return retval;
}
}