Commit 33442039 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: make sure input interfaces pin parent input devices
  Input: apm-power - fix crash when unloading modules
  Input: pxa27x - fix keypad KPC macros
parents 7731ce63 a7097ff8
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -63,8 +63,6 @@ static int apmpower_connect(struct input_handler *handler,
	handle->handler = handler;
	handle->name = "apm-power";

	handler->private = handle;

	error = input_register_handle(handle);
	if (error) {
		printk(KERN_ERR
@@ -87,11 +85,10 @@ static int apmpower_connect(struct input_handler *handler,
	return 0;
}

static void apmpower_disconnect(struct input_handle *handler)
static void apmpower_disconnect(struct input_handle *handle)
{
	struct input_handle *handle = handler->private;

	input_close_device(handle);
	input_unregister_handle(handle);
	kfree(handle);
}

+2 −4
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ static void evdev_free(struct device *dev)
{
	struct evdev *evdev = container_of(dev, struct evdev, dev);

	input_put_device(evdev->handle.dev);
	kfree(evdev);
}

@@ -853,9 +854,6 @@ static void evdev_cleanup(struct evdev *evdev)
	evdev_hangup(evdev);
	evdev_remove_chrdev(evdev);

	if (evdev->grab)
		evdev_ungrab(evdev, evdev->grab);

	/* evdev is marked dead so no one else accesses evdev->open */
	if (evdev->open) {
		input_flush_device(handle, NULL);
@@ -896,7 +894,7 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
	evdev->exist = 1;
	evdev->minor = minor;

	evdev->handle.dev = dev;
	evdev->handle.dev = input_get_device(dev);
	evdev->handle.name = evdev->name;
	evdev->handle.handler = handler;
	evdev->handle.private = evdev;
+2 −1
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ static void joydev_free(struct device *dev)
{
	struct joydev *joydev = container_of(dev, struct joydev, dev);

	input_put_device(joydev->handle.dev);
	kfree(joydev);
}

@@ -750,7 +751,7 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev,
	joydev->minor = minor;

	joydev->exist = 1;
	joydev->handle.dev = dev;
	joydev->handle.dev = input_get_device(dev);
	joydev->handle.name = joydev->name;
	joydev->handle.handler = handler;
	joydev->handle.private = joydev;
+3 −3
Original line number Diff line number Diff line
@@ -50,9 +50,9 @@
#define KPKDI           0x0048

/* bit definitions */
#define KPC_MKRN(n)	((((n) & 0x7) - 1) << 26) /* matrix key row number */
#define KPC_MKCN(n)	((((n) & 0x7) - 1) << 23) /* matrix key column number */
#define KPC_DKN(n)	((((n) & 0x7) - 1) << 6)  /* direct key number */
#define KPC_MKRN(n)	((((n) - 1) & 0x7) << 26) /* matrix key row number */
#define KPC_MKCN(n)	((((n) - 1) & 0x7) << 23) /* matrix key column number */
#define KPC_DKN(n)	((((n) - 1) & 0x7) << 6)  /* direct key number */

#define KPC_AS          (0x1 << 30)  /* Automatic Scan bit */
#define KPC_ASACT       (0x1 << 29)  /* Automatic Scan on Activity */
+2 −1
Original line number Diff line number Diff line
@@ -414,6 +414,7 @@ static void mousedev_free(struct device *dev)
{
	struct mousedev *mousedev = container_of(dev, struct mousedev, dev);

	input_put_device(mousedev->handle.dev);
	kfree(mousedev);
}

@@ -865,7 +866,7 @@ static struct mousedev *mousedev_create(struct input_dev *dev,

	mousedev->minor = minor;
	mousedev->exist = 1;
	mousedev->handle.dev = dev;
	mousedev->handle.dev = input_get_device(dev);
	mousedev->handle.name = mousedev->name;
	mousedev->handle.handler = handler;
	mousedev->handle.private = mousedev;
Loading