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

Commit cc491e27 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: i8042 - fix device removal on unload
  Input: bcm5974 - adjust major/minor to scale
  Input: MT - initialize slots to unused
  Input: use PIT_TICK_RATE in vt beep ioctl
  Input: wacom - fix mousewheel handling for old wacom tablets
parents 2c20130f af045b86
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -533,11 +533,14 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
	case KIOCSOUND:
		if (!perm)
			goto eperm;
		/* FIXME: This is an old broken API but we need to keep it
		   supported and somehow separate the historic advertised
		   tick rate from any real one */
		/*
		 * The use of PIT_TICK_RATE is historic, it used to be
		 * the platform-dependent CLOCK_TICK_RATE between 2.6.12
		 * and 2.6.36, which was a minor but unfortunate ABI
		 * change.
		 */
		if (arg)
			arg = CLOCK_TICK_RATE / arg;
			arg = PIT_TICK_RATE / arg;
		kd_mksound(arg, 0);
		break;

@@ -553,11 +556,8 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
		 */
		ticks = HZ * ((arg >> 16) & 0xffff) / 1000;
		count = ticks ? (arg & 0xffff) : 0;
		/* FIXME: This is an old broken API but we need to keep it
		   supported and somehow separate the historic advertised
		   tick rate from any real one */
		if (count)
			count = CLOCK_TICK_RATE / count;
			count = PIT_TICK_RATE / count;
		kd_mksound(count, ticks);
		break;
	}
+9 −2
Original line number Diff line number Diff line
@@ -1599,11 +1599,14 @@ EXPORT_SYMBOL(input_free_device);
 * @dev: input device supporting MT events and finger tracking
 * @num_slots: number of slots used by the device
 *
 * This function allocates all necessary memory for MT slot handling
 * in the input device, and adds ABS_MT_SLOT to the device capabilities.
 * This function allocates all necessary memory for MT slot handling in the
 * input device, and adds ABS_MT_SLOT to the device capabilities. All slots
 * are initially marked as unused iby setting ABS_MT_TRACKING_ID to -1.
 */
int input_mt_create_slots(struct input_dev *dev, unsigned int num_slots)
{
	int i;

	if (!num_slots)
		return 0;

@@ -1614,6 +1617,10 @@ int input_mt_create_slots(struct input_dev *dev, unsigned int num_slots)
	dev->mtsize = num_slots;
	input_set_abs_params(dev, ABS_MT_SLOT, 0, num_slots - 1, 0, 0);

	/* Mark slots as 'unused' */
	for (i = 0; i < num_slots; i++)
		dev->mt[i].abs[ABS_MT_TRACKING_ID - ABS_MT_FIRST] = -1;

	return 0;
}
EXPORT_SYMBOL(input_mt_create_slots);
+8 −4
Original line number Diff line number Diff line
@@ -337,10 +337,14 @@ static void report_finger_data(struct input_dev *input,
			       const struct bcm5974_config *cfg,
			       const struct tp_finger *f)
{
	input_report_abs(input, ABS_MT_TOUCH_MAJOR, raw2int(f->force_major));
	input_report_abs(input, ABS_MT_TOUCH_MINOR, raw2int(f->force_minor));
	input_report_abs(input, ABS_MT_WIDTH_MAJOR, raw2int(f->size_major));
	input_report_abs(input, ABS_MT_WIDTH_MINOR, raw2int(f->size_minor));
	input_report_abs(input, ABS_MT_TOUCH_MAJOR,
			 raw2int(f->force_major) << 1);
	input_report_abs(input, ABS_MT_TOUCH_MINOR,
			 raw2int(f->force_minor) << 1);
	input_report_abs(input, ABS_MT_WIDTH_MAJOR,
			 raw2int(f->size_major) << 1);
	input_report_abs(input, ABS_MT_WIDTH_MINOR,
			 raw2int(f->size_minor) << 1);
	input_report_abs(input, ABS_MT_ORIENTATION,
			 MAX_FINGER_ORIENTATION - raw2int(f->orientation));
	input_report_abs(input, ABS_MT_POSITION_X, raw2int(f->abs_x));
+1 −1
Original line number Diff line number Diff line
@@ -1485,8 +1485,8 @@ static int __init i8042_init(void)

static void __exit i8042_exit(void)
{
	platform_driver_unregister(&i8042_driver);
	platform_device_unregister(i8042_platform_device);
	platform_driver_unregister(&i8042_driver);
	i8042_platform_exit();

	panic_blink = NULL;
+2 −2
Original line number Diff line number Diff line
@@ -243,10 +243,10 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
			if (features->type == WACOM_G4 ||
					features->type == WACOM_MO) {
				input_report_abs(input, ABS_DISTANCE, data[6] & 0x3f);
				rw = (signed)(data[7] & 0x04) - (data[7] & 0x03);
				rw = (data[7] & 0x04) - (data[7] & 0x03);
			} else {
				input_report_abs(input, ABS_DISTANCE, data[7] & 0x3f);
				rw = -(signed)data[6];
				rw = -(signed char)data[6];
			}
			input_report_rel(input, REL_WHEEL, rw);
		}