Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -232,13 +232,13 @@ static void hil_dev_handle_ptr_events(struct hil_dev *ptr)
|
||||
if (absdev) {
|
||||
val = lo + (hi << 8);
|
||||
#ifdef TABLET_AUTOADJUST
|
||||
if (val < input_abs_min(dev, ABS_X + i))
|
||||
if (val < input_abs_get_min(dev, ABS_X + i))
|
||||
input_abs_set_min(dev, ABS_X + i, val);
|
||||
if (val > input_abs_max(dev, ABS_X + i))
|
||||
if (val > input_abs_get_max(dev, ABS_X + i))
|
||||
input_abs_set_max(dev, ABS_X + i, val);
|
||||
#endif
|
||||
if (i % 3)
|
||||
val = input_abs_max(dev, ABS_X + i) - val;
|
||||
val = input_abs_get_max(dev, ABS_X + i) - val;
|
||||
input_report_abs(dev, ABS_X + i, val);
|
||||
} else {
|
||||
val = (int) (((int8_t) lo) | ((int8_t) hi << 8));
|
||||
@@ -388,11 +388,11 @@ static void hil_dev_pointer_setup(struct hil_dev *ptr)
|
||||
|
||||
#ifdef TABLET_AUTOADJUST
|
||||
for (i = 0; i < ABS_MAX; i++) {
|
||||
int diff = input_abs_max(input_dev, ABS_X + i) / 10;
|
||||
int diff = input_abs_get_max(input_dev, ABS_X + i) / 10;
|
||||
input_abs_set_min(input_dev, ABS_X + i,
|
||||
input_abs_min(input_dev, ABS_X + i) + diff)
|
||||
input_abs_get_min(input_dev, ABS_X + i) + diff);
|
||||
input_abs_set_max(input_dev, ABS_X + i,
|
||||
input_abs_max(input_dev, ABS_X + i) - diff)
|
||||
input_abs_get_max(input_dev, ABS_X + i) - diff);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -567,8 +567,6 @@ static int __devexit pxa27x_keypad_remove(struct platform_device *pdev)
|
||||
clk_put(keypad->clk);
|
||||
|
||||
input_unregister_device(keypad->input_dev);
|
||||
input_free_device(keypad->input_dev);
|
||||
|
||||
iounmap(keypad->mmio_base);
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
|
||||
@@ -811,6 +811,8 @@ static struct miscdevice uinput_misc = {
|
||||
.minor = UINPUT_MINOR,
|
||||
.name = UINPUT_NAME,
|
||||
};
|
||||
MODULE_ALIAS_MISCDEV(UINPUT_MINOR);
|
||||
MODULE_ALIAS("devname:" UINPUT_NAME);
|
||||
|
||||
static int __init uinput_init(void)
|
||||
{
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -138,8 +138,8 @@ static void mousedev_touchpad_event(struct input_dev *dev,
|
||||
|
||||
fx(0) = value;
|
||||
if (mousedev->touch && mousedev->pkt_count >= 2) {
|
||||
size = input_abs_get_min(dev, ABS_X) -
|
||||
input_abs_get_max(dev, ABS_X);
|
||||
size = input_abs_get_max(dev, ABS_X) -
|
||||
input_abs_get_min(dev, ABS_X);
|
||||
if (size == 0)
|
||||
size = 256 * 2;
|
||||
|
||||
@@ -155,8 +155,8 @@ static void mousedev_touchpad_event(struct input_dev *dev,
|
||||
fy(0) = value;
|
||||
if (mousedev->touch && mousedev->pkt_count >= 2) {
|
||||
/* use X size for ABS_Y to keep the same scale */
|
||||
size = input_abs_get_min(dev, ABS_X) -
|
||||
input_abs_get_max(dev, ABS_X);
|
||||
size = input_abs_get_max(dev, ABS_X) -
|
||||
input_abs_get_min(dev, ABS_X);
|
||||
if (size == 0)
|
||||
size = 256 * 2;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user