lis3lv02d: remove calibaration functionality
Samu Onkalo [Tue, 15 Dec 2009 02:01:43 +0000 (18:01 -0800)]
Chip is calibrated by the manufacturer.  There is no need to calibarate it
at driver level.  If the chip is used as a joystick, calibaration can be
done using joystick device calibration mechanism.

Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com>
Acked-by: √Čric Piel <Eric.Piel@tremplin-utc.net>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

drivers/hwmon/lis3lv02d.c
drivers/hwmon/lis3lv02d.h

index 55ec883..02ac5fa 100644 (file)
@@ -350,19 +350,12 @@ static void lis3lv02d_joystick_poll(struct input_polled_dev *pidev)
        int x, y, z;
 
        lis3lv02d_get_xyz(&lis3_dev, &x, &y, &z);
-       input_report_abs(pidev->input, ABS_X, x - lis3_dev.xcalib);
-       input_report_abs(pidev->input, ABS_Y, y - lis3_dev.ycalib);
-       input_report_abs(pidev->input, ABS_Z, z - lis3_dev.zcalib);
+       input_report_abs(pidev->input, ABS_X, x);
+       input_report_abs(pidev->input, ABS_Y, y);
+       input_report_abs(pidev->input, ABS_Z, z);
        input_sync(pidev->input);
 }
 
-
-static inline void lis3lv02d_calibrate_joystick(void)
-{
-       lis3lv02d_get_xyz(&lis3_dev,
-               &lis3_dev.xcalib, &lis3_dev.ycalib, &lis3_dev.zcalib);
-}
-
 int lis3lv02d_joystick_enable(void)
 {
        struct input_dev *input_dev;
@@ -379,8 +372,6 @@ int lis3lv02d_joystick_enable(void)
        lis3_dev.idev->poll_interval = MDPS_POLL_INTERVAL;
        input_dev = lis3_dev.idev->input;
 
-       lis3lv02d_calibrate_joystick();
-
        input_dev->name       = "ST LIS3LV02DL Accelerometer";
        input_dev->phys       = DRIVER_NAME "/input0";
        input_dev->id.bustype = BUS_HOST;
@@ -436,20 +427,6 @@ static ssize_t lis3lv02d_position_show(struct device *dev,
        return sprintf(buf, "(%d,%d,%d)\n", x, y, z);
 }
 
-static ssize_t lis3lv02d_calibrate_show(struct device *dev,
-                               struct device_attribute *attr, char *buf)
-{
-       return sprintf(buf, "(%d,%d,%d)\n", lis3_dev.xcalib, lis3_dev.ycalib, lis3_dev.zcalib);
-}
-
-static ssize_t lis3lv02d_calibrate_store(struct device *dev,
-                               struct device_attribute *attr,
-                               const char *buf, size_t count)
-{
-       lis3lv02d_calibrate_joystick();
-       return count;
-}
-
 static ssize_t lis3lv02d_rate_show(struct device *dev,
                        struct device_attribute *attr, char *buf)
 {
@@ -458,14 +435,11 @@ static ssize_t lis3lv02d_rate_show(struct device *dev,
 
 static DEVICE_ATTR(selftest, S_IRUSR, lis3lv02d_selftest_show, NULL);
 static DEVICE_ATTR(position, S_IRUGO, lis3lv02d_position_show, NULL);
-static DEVICE_ATTR(calibrate, S_IRUGO|S_IWUSR, lis3lv02d_calibrate_show,
-       lis3lv02d_calibrate_store);
 static DEVICE_ATTR(rate, S_IRUGO, lis3lv02d_rate_show, NULL);
 
 static struct attribute *lis3lv02d_attributes[] = {
        &dev_attr_selftest.attr,
        &dev_attr_position.attr,
-       &dev_attr_calibrate.attr,
        &dev_attr_rate.attr,
        NULL
 };
index 166794c..1e9fb03 100644 (file)
@@ -216,9 +216,6 @@ struct lis3lv02d {
        struct input_polled_dev *idev;     /* input device */
        struct platform_device  *pdev;     /* platform device */
        atomic_t                count;     /* interrupt count after last read */
-       int                     xcalib;    /* calibrated null value for x */
-       int                     ycalib;    /* calibrated null value for y */
-       int                     zcalib;    /* calibrated null value for z */
        struct axis_conversion  ac;        /* hw -> logical axis */
 
        u32                     irq;       /* IRQ number */