Op 10-11-09 13:41, Samu Onkalo schreef: > 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@xxxxxxxxx> Acked-by: Éric Piel <eric.piel@xxxxxxxxxxxxxxxx> > --- > drivers/hwmon/lis3lv02d.c | 32 +++----------------------------- > drivers/hwmon/lis3lv02d.h | 3 --- > 2 files changed, 3 insertions(+), 32 deletions(-) > > diff --git a/drivers/hwmon/lis3lv02d.c b/drivers/hwmon/lis3lv02d.c > index 0335b36..5b39257 100644 > --- a/drivers/hwmon/lis3lv02d.c > +++ b/drivers/hwmon/lis3lv02d.c > @@ -344,19 +344,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; > @@ -373,8 +366,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; > @@ -430,20 +421,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) > { > @@ -452,14 +429,11 @@ static ssize_t lis3lv02d_rate_show(struct device *dev, > > static DEVICE_ATTR(selftest, S_IRUGO, 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 > }; > diff --git a/drivers/hwmon/lis3lv02d.h b/drivers/hwmon/lis3lv02d.h > index 655875e..a692116 100644 > --- a/drivers/hwmon/lis3lv02d.h > +++ b/drivers/hwmon/lis3lv02d.h > @@ -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 */ _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors