The patch titled
     Apple SMC driver: fix input device
has been removed from the -mm tree.  Its filename was
     apple-smc-driver-hardware-monitoring-and-control-fix.patch

This patch was dropped because it was folded into 
apple-smc-driver-hardware-monitoring-and-control.patch

------------------------------------------------------
Subject: Apple SMC driver: fix input device
From: Nicolas Boichat <[EMAIL PROTECTED]>

- Invert y axis on input device.
- Only activate the input device polling timer when the device is open.
- Others minor fixes asked by Dmitry Torokhov.

Signed-off-by: Nicolas Boichat <[EMAIL PROTECTED]>
Cc: Jean Delvare <[EMAIL PROTECTED]>
Cc: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
Cc: Paul Mackerras <[EMAIL PROTECTED]>
Acked-by: Dmitry Torokhov <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/hwmon/applesmc.c |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff -puN 
drivers/hwmon/applesmc.c~apple-smc-driver-hardware-monitoring-and-control-fix 
drivers/hwmon/applesmc.c
--- 
a/drivers/hwmon/applesmc.c~apple-smc-driver-hardware-monitoring-and-control-fix
+++ a/drivers/hwmon/applesmc.c
@@ -349,9 +349,22 @@ static void applesmc_calibrate(void)
 {
        applesmc_read_motion_sensor(SENSOR_X, &rest_x);
        applesmc_read_motion_sensor(SENSOR_Y, &rest_y);
+       rest_x = -rest_x;
 }
 
-static void applesmc_mousedev_poll(unsigned long unused)
+static int applesmc_idev_open(struct input_dev *dev)
+{
+       add_timer(&applesmc_timer);
+
+       return 0;
+}
+
+static void applesmc_idev_close(struct input_dev *dev)
+{
+       del_timer_sync(&applesmc_timer);
+}
+
+static void applesmc_idev_poll(unsigned long unused)
 {
        s16 x, y;
 
@@ -366,6 +379,7 @@ static void applesmc_mousedev_poll(unsig
        if (applesmc_read_motion_sensor(SENSOR_Y, &y))
                goto out;
 
+       x = -x;
        input_report_abs(applesmc_idev, ABS_X, x - rest_x);
        input_report_abs(applesmc_idev, ABS_Y, y - rest_y);
        input_sync(applesmc_idev);
@@ -739,23 +753,30 @@ static int applesmc_create_accelerometer
 
        /* initialize the input class */
        applesmc_idev->name = "applesmc";
+       applesmc_idev->id.bustype = BUS_HOST;
        applesmc_idev->cdev.dev = &pdev->dev;
        applesmc_idev->evbit[0] = BIT(EV_ABS);
+       applesmc_idev->open = applesmc_idev_open;
+       applesmc_idev->close = applesmc_idev_close;
        input_set_abs_params(applesmc_idev, ABS_X,
                        -256, 256, APPLESMC_INPUT_FUZZ, APPLESMC_INPUT_FLAT);
        input_set_abs_params(applesmc_idev, ABS_Y,
                        -256, 256, APPLESMC_INPUT_FUZZ, APPLESMC_INPUT_FLAT);
 
-       input_register_device(applesmc_idev);
+       ret = input_register_device(applesmc_idev);
+       if (ret)
+               goto out_idev;
 
        /* start up our timer for the input device */
        init_timer(&applesmc_timer);
-       applesmc_timer.function = applesmc_mousedev_poll;
+       applesmc_timer.function = applesmc_idev_poll;
        applesmc_timer.expires = jiffies + APPLESMC_POLL_PERIOD;
-       add_timer(&applesmc_timer);
 
        return 0;
 
+out_idev:
+       input_free_device(applesmc_idev);
+
 out:
        printk(KERN_WARNING "applesmc: driver init failed (ret=%d)!\n", ret);
        return ret;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

git-alsa.patch
apple-smc-driver-hardware-monitoring-and-control.patch
apple-smc-driver-hardware-monitoring-and-control-fix.patch
apple-smc-driver-standardize-and-sanitize-sysfs-tree.patch
apple-smc-driver-implement-key-enumeration.patch
applesmc-fix-crash-when-activating-a-led-trigger-on-the-keyboard-backlight-use-a-workqueue.patch
applesmc-fix-crash-when-activating-a-led-trigger-on-the-keyboard-backlight-use-a-workqueue-fix.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to