diff options
| -rw-r--r-- | drivers/iio/accel/st_accel_core.c | 12 | ||||
| -rw-r--r-- | drivers/iio/common/hid-sensors/hid-sensor-attributes.c | 56 | ||||
| -rw-r--r-- | drivers/iio/common/st_sensors/st_sensors_core.c | 8 | ||||
| -rw-r--r-- | drivers/iio/orientation/hid-sensor-rotation.c | 1 | ||||
| -rw-r--r-- | drivers/iio/temperature/maxim_thermocouple.c | 2 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_tio.c | 3 | ||||
| -rw-r--r-- | drivers/staging/greybus/arche-platform.c | 1 | ||||
| -rw-r--r-- | drivers/staging/iio/impedance-analyzer/ad5933.c | 17 | ||||
| -rw-r--r-- | drivers/staging/nvec/nvec_ps2.c | 8 | ||||
| -rw-r--r-- | drivers/staging/sm750fb/ddk750_reg.h | 8 |
10 files changed, 63 insertions, 53 deletions
diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c index da3fb069ec5c..ce69048c88e9 100644 --- a/drivers/iio/accel/st_accel_core.c +++ b/drivers/iio/accel/st_accel_core.c | |||
| @@ -743,8 +743,8 @@ static int st_accel_read_raw(struct iio_dev *indio_dev, | |||
| 743 | 743 | ||
| 744 | return IIO_VAL_INT; | 744 | return IIO_VAL_INT; |
| 745 | case IIO_CHAN_INFO_SCALE: | 745 | case IIO_CHAN_INFO_SCALE: |
| 746 | *val = 0; | 746 | *val = adata->current_fullscale->gain / 1000000; |
| 747 | *val2 = adata->current_fullscale->gain; | 747 | *val2 = adata->current_fullscale->gain % 1000000; |
| 748 | return IIO_VAL_INT_PLUS_MICRO; | 748 | return IIO_VAL_INT_PLUS_MICRO; |
| 749 | case IIO_CHAN_INFO_SAMP_FREQ: | 749 | case IIO_CHAN_INFO_SAMP_FREQ: |
| 750 | *val = adata->odr; | 750 | *val = adata->odr; |
| @@ -763,9 +763,13 @@ static int st_accel_write_raw(struct iio_dev *indio_dev, | |||
| 763 | int err; | 763 | int err; |
| 764 | 764 | ||
| 765 | switch (mask) { | 765 | switch (mask) { |
| 766 | case IIO_CHAN_INFO_SCALE: | 766 | case IIO_CHAN_INFO_SCALE: { |
| 767 | err = st_sensors_set_fullscale_by_gain(indio_dev, val2); | 767 | int gain; |
| 768 | |||
| 769 | gain = val * 1000000 + val2; | ||
| 770 | err = st_sensors_set_fullscale_by_gain(indio_dev, gain); | ||
| 768 | break; | 771 | break; |
| 772 | } | ||
| 769 | case IIO_CHAN_INFO_SAMP_FREQ: | 773 | case IIO_CHAN_INFO_SAMP_FREQ: |
| 770 | if (val2) | 774 | if (val2) |
| 771 | return -EINVAL; | 775 | return -EINVAL; |
diff --git a/drivers/iio/common/hid-sensors/hid-sensor-attributes.c b/drivers/iio/common/hid-sensors/hid-sensor-attributes.c index dc33c1dd5191..b5beea53d6f6 100644 --- a/drivers/iio/common/hid-sensors/hid-sensor-attributes.c +++ b/drivers/iio/common/hid-sensors/hid-sensor-attributes.c | |||
| @@ -30,26 +30,26 @@ static struct { | |||
| 30 | u32 usage_id; | 30 | u32 usage_id; |
| 31 | int unit; /* 0 for default others from HID sensor spec */ | 31 | int unit; /* 0 for default others from HID sensor spec */ |
| 32 | int scale_val0; /* scale, whole number */ | 32 | int scale_val0; /* scale, whole number */ |
| 33 | int scale_val1; /* scale, fraction in micros */ | 33 | int scale_val1; /* scale, fraction in nanos */ |
| 34 | } unit_conversion[] = { | 34 | } unit_conversion[] = { |
| 35 | {HID_USAGE_SENSOR_ACCEL_3D, 0, 9, 806650}, | 35 | {HID_USAGE_SENSOR_ACCEL_3D, 0, 9, 806650000}, |
| 36 | {HID_USAGE_SENSOR_ACCEL_3D, | 36 | {HID_USAGE_SENSOR_ACCEL_3D, |
| 37 | HID_USAGE_SENSOR_UNITS_METERS_PER_SEC_SQRD, 1, 0}, | 37 | HID_USAGE_SENSOR_UNITS_METERS_PER_SEC_SQRD, 1, 0}, |
| 38 | {HID_USAGE_SENSOR_ACCEL_3D, | 38 | {HID_USAGE_SENSOR_ACCEL_3D, |
| 39 | HID_USAGE_SENSOR_UNITS_G, 9, 806650}, | 39 | HID_USAGE_SENSOR_UNITS_G, 9, 806650000}, |
| 40 | 40 | ||
| 41 | {HID_USAGE_SENSOR_GYRO_3D, 0, 0, 17453}, | 41 | {HID_USAGE_SENSOR_GYRO_3D, 0, 0, 17453293}, |
| 42 | {HID_USAGE_SENSOR_GYRO_3D, | 42 | {HID_USAGE_SENSOR_GYRO_3D, |
| 43 | HID_USAGE_SENSOR_UNITS_RADIANS_PER_SECOND, 1, 0}, | 43 | HID_USAGE_SENSOR_UNITS_RADIANS_PER_SECOND, 1, 0}, |
| 44 | {HID_USAGE_SENSOR_GYRO_3D, | 44 | {HID_USAGE_SENSOR_GYRO_3D, |
| 45 | HID_USAGE_SENSOR_UNITS_DEGREES_PER_SECOND, 0, 17453}, | 45 | HID_USAGE_SENSOR_UNITS_DEGREES_PER_SECOND, 0, 17453293}, |
| 46 | 46 | ||
| 47 | {HID_USAGE_SENSOR_COMPASS_3D, 0, 0, 1000}, | 47 | {HID_USAGE_SENSOR_COMPASS_3D, 0, 0, 1000000}, |
| 48 | {HID_USAGE_SENSOR_COMPASS_3D, HID_USAGE_SENSOR_UNITS_GAUSS, 1, 0}, | 48 | {HID_USAGE_SENSOR_COMPASS_3D, HID_USAGE_SENSOR_UNITS_GAUSS, 1, 0}, |
| 49 | 49 | ||
| 50 | {HID_USAGE_SENSOR_INCLINOMETER_3D, 0, 0, 17453}, | 50 | {HID_USAGE_SENSOR_INCLINOMETER_3D, 0, 0, 17453293}, |
| 51 | {HID_USAGE_SENSOR_INCLINOMETER_3D, | 51 | {HID_USAGE_SENSOR_INCLINOMETER_3D, |
| 52 | HID_USAGE_SENSOR_UNITS_DEGREES, 0, 17453}, | 52 | HID_USAGE_SENSOR_UNITS_DEGREES, 0, 17453293}, |
| 53 | {HID_USAGE_SENSOR_INCLINOMETER_3D, | 53 | {HID_USAGE_SENSOR_INCLINOMETER_3D, |
| 54 | HID_USAGE_SENSOR_UNITS_RADIANS, 1, 0}, | 54 | HID_USAGE_SENSOR_UNITS_RADIANS, 1, 0}, |
| 55 | 55 | ||
| @@ -57,7 +57,7 @@ static struct { | |||
| 57 | {HID_USAGE_SENSOR_ALS, HID_USAGE_SENSOR_UNITS_LUX, 1, 0}, | 57 | {HID_USAGE_SENSOR_ALS, HID_USAGE_SENSOR_UNITS_LUX, 1, 0}, |
| 58 | 58 | ||
| 59 | {HID_USAGE_SENSOR_PRESSURE, 0, 100, 0}, | 59 | {HID_USAGE_SENSOR_PRESSURE, 0, 100, 0}, |
| 60 | {HID_USAGE_SENSOR_PRESSURE, HID_USAGE_SENSOR_UNITS_PASCAL, 0, 1000}, | 60 | {HID_USAGE_SENSOR_PRESSURE, HID_USAGE_SENSOR_UNITS_PASCAL, 0, 1000000}, |
| 61 | }; | 61 | }; |
| 62 | 62 | ||
| 63 | static int pow_10(unsigned power) | 63 | static int pow_10(unsigned power) |
| @@ -266,15 +266,15 @@ EXPORT_SYMBOL(hid_sensor_write_raw_hyst_value); | |||
| 266 | /* | 266 | /* |
| 267 | * This fuction applies the unit exponent to the scale. | 267 | * This fuction applies the unit exponent to the scale. |
| 268 | * For example: | 268 | * For example: |
| 269 | * 9.806650 ->exp:2-> val0[980]val1[665000] | 269 | * 9.806650000 ->exp:2-> val0[980]val1[665000000] |
| 270 | * 9.000806 ->exp:2-> val0[900]val1[80600] | 270 | * 9.000806000 ->exp:2-> val0[900]val1[80600000] |
| 271 | * 0.174535 ->exp:2-> val0[17]val1[453500] | 271 | * 0.174535293 ->exp:2-> val0[17]val1[453529300] |
| 272 | * 1.001745 ->exp:0-> val0[1]val1[1745] | 272 | * 1.001745329 ->exp:0-> val0[1]val1[1745329] |
| 273 | * 1.001745 ->exp:2-> val0[100]val1[174500] | 273 | * 1.001745329 ->exp:2-> val0[100]val1[174532900] |
| 274 | * 1.001745 ->exp:4-> val0[10017]val1[450000] | 274 | * 1.001745329 ->exp:4-> val0[10017]val1[453290000] |
| 275 | * 9.806650 ->exp:-2-> val0[0]val1[98066] | 275 | * 9.806650000 ->exp:-2-> val0[0]val1[98066500] |
| 276 | */ | 276 | */ |
| 277 | static void adjust_exponent_micro(int *val0, int *val1, int scale0, | 277 | static void adjust_exponent_nano(int *val0, int *val1, int scale0, |
| 278 | int scale1, int exp) | 278 | int scale1, int exp) |
| 279 | { | 279 | { |
| 280 | int i; | 280 | int i; |
| @@ -285,32 +285,32 @@ static void adjust_exponent_micro(int *val0, int *val1, int scale0, | |||
| 285 | if (exp > 0) { | 285 | if (exp > 0) { |
| 286 | *val0 = scale0 * pow_10(exp); | 286 | *val0 = scale0 * pow_10(exp); |
| 287 | res = 0; | 287 | res = 0; |
| 288 | if (exp > 6) { | 288 | if (exp > 9) { |
| 289 | *val1 = 0; | 289 | *val1 = 0; |
| 290 | return; | 290 | return; |
| 291 | } | 291 | } |
| 292 | for (i = 0; i < exp; ++i) { | 292 | for (i = 0; i < exp; ++i) { |
| 293 | x = scale1 / pow_10(5 - i); | 293 | x = scale1 / pow_10(8 - i); |
| 294 | res += (pow_10(exp - 1 - i) * x); | 294 | res += (pow_10(exp - 1 - i) * x); |
| 295 | scale1 = scale1 % pow_10(5 - i); | 295 | scale1 = scale1 % pow_10(8 - i); |
| 296 | } | 296 | } |
| 297 | *val0 += res; | 297 | *val0 += res; |
| 298 | *val1 = scale1 * pow_10(exp); | 298 | *val1 = scale1 * pow_10(exp); |
| 299 | } else if (exp < 0) { | 299 | } else if (exp < 0) { |
| 300 | exp = abs(exp); | 300 | exp = abs(exp); |
| 301 | if (exp > 6) { | 301 | if (exp > 9) { |
| 302 | *val0 = *val1 = 0; | 302 | *val0 = *val1 = 0; |
| 303 | return; | 303 | return; |
| 304 | } | 304 | } |
| 305 | *val0 = scale0 / pow_10(exp); | 305 | *val0 = scale0 / pow_10(exp); |
| 306 | rem = scale0 % pow_10(exp); | 306 | rem = scale0 % pow_10(exp); |
| 307 | res = 0; | 307 | res = 0; |
| 308 | for (i = 0; i < (6 - exp); ++i) { | 308 | for (i = 0; i < (9 - exp); ++i) { |
| 309 | x = scale1 / pow_10(5 - i); | 309 | x = scale1 / pow_10(8 - i); |
| 310 | res += (pow_10(5 - exp - i) * x); | 310 | res += (pow_10(8 - exp - i) * x); |
| 311 | scale1 = scale1 % pow_10(5 - i); | 311 | scale1 = scale1 % pow_10(8 - i); |
| 312 | } | 312 | } |
| 313 | *val1 = rem * pow_10(6 - exp) + res; | 313 | *val1 = rem * pow_10(9 - exp) + res; |
| 314 | } else { | 314 | } else { |
| 315 | *val0 = scale0; | 315 | *val0 = scale0; |
| 316 | *val1 = scale1; | 316 | *val1 = scale1; |
| @@ -332,14 +332,14 @@ int hid_sensor_format_scale(u32 usage_id, | |||
| 332 | unit_conversion[i].unit == attr_info->units) { | 332 | unit_conversion[i].unit == attr_info->units) { |
| 333 | exp = hid_sensor_convert_exponent( | 333 | exp = hid_sensor_convert_exponent( |
| 334 | attr_info->unit_expo); | 334 | attr_info->unit_expo); |
| 335 | adjust_exponent_micro(val0, val1, | 335 | adjust_exponent_nano(val0, val1, |
| 336 | unit_conversion[i].scale_val0, | 336 | unit_conversion[i].scale_val0, |
| 337 | unit_conversion[i].scale_val1, exp); | 337 | unit_conversion[i].scale_val1, exp); |
| 338 | break; | 338 | break; |
| 339 | } | 339 | } |
| 340 | } | 340 | } |
| 341 | 341 | ||
| 342 | return IIO_VAL_INT_PLUS_MICRO; | 342 | return IIO_VAL_INT_PLUS_NANO; |
| 343 | } | 343 | } |
| 344 | EXPORT_SYMBOL(hid_sensor_format_scale); | 344 | EXPORT_SYMBOL(hid_sensor_format_scale); |
| 345 | 345 | ||
diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c index 285a64a589d7..975a1f19f747 100644 --- a/drivers/iio/common/st_sensors/st_sensors_core.c +++ b/drivers/iio/common/st_sensors/st_sensors_core.c | |||
| @@ -612,7 +612,7 @@ EXPORT_SYMBOL(st_sensors_sysfs_sampling_frequency_avail); | |||
| 612 | ssize_t st_sensors_sysfs_scale_avail(struct device *dev, | 612 | ssize_t st_sensors_sysfs_scale_avail(struct device *dev, |
| 613 | struct device_attribute *attr, char *buf) | 613 | struct device_attribute *attr, char *buf) |
| 614 | { | 614 | { |
| 615 | int i, len = 0; | 615 | int i, len = 0, q, r; |
| 616 | struct iio_dev *indio_dev = dev_get_drvdata(dev); | 616 | struct iio_dev *indio_dev = dev_get_drvdata(dev); |
| 617 | struct st_sensor_data *sdata = iio_priv(indio_dev); | 617 | struct st_sensor_data *sdata = iio_priv(indio_dev); |
| 618 | 618 | ||
| @@ -621,8 +621,10 @@ ssize_t st_sensors_sysfs_scale_avail(struct device *dev, | |||
| 621 | if (sdata->sensor_settings->fs.fs_avl[i].num == 0) | 621 | if (sdata->sensor_settings->fs.fs_avl[i].num == 0) |
| 622 | break; | 622 | break; |
| 623 | 623 | ||
| 624 | len += scnprintf(buf + len, PAGE_SIZE - len, "0.%06u ", | 624 | q = sdata->sensor_settings->fs.fs_avl[i].gain / 1000000; |
| 625 | sdata->sensor_settings->fs.fs_avl[i].gain); | 625 | r = sdata->sensor_settings->fs.fs_avl[i].gain % 1000000; |
| 626 | |||
| 627 | len += scnprintf(buf + len, PAGE_SIZE - len, "%u.%06u ", q, r); | ||
| 626 | } | 628 | } |
| 627 | mutex_unlock(&indio_dev->mlock); | 629 | mutex_unlock(&indio_dev->mlock); |
| 628 | buf[len - 1] = '\n'; | 630 | buf[len - 1] = '\n'; |
diff --git a/drivers/iio/orientation/hid-sensor-rotation.c b/drivers/iio/orientation/hid-sensor-rotation.c index b98b9d94d184..a97e802ca523 100644 --- a/drivers/iio/orientation/hid-sensor-rotation.c +++ b/drivers/iio/orientation/hid-sensor-rotation.c | |||
| @@ -335,6 +335,7 @@ static struct platform_driver hid_dev_rot_platform_driver = { | |||
| 335 | .id_table = hid_dev_rot_ids, | 335 | .id_table = hid_dev_rot_ids, |
| 336 | .driver = { | 336 | .driver = { |
| 337 | .name = KBUILD_MODNAME, | 337 | .name = KBUILD_MODNAME, |
| 338 | .pm = &hid_sensor_pm_ops, | ||
| 338 | }, | 339 | }, |
| 339 | .probe = hid_dev_rot_probe, | 340 | .probe = hid_dev_rot_probe, |
| 340 | .remove = hid_dev_rot_remove, | 341 | .remove = hid_dev_rot_remove, |
diff --git a/drivers/iio/temperature/maxim_thermocouple.c b/drivers/iio/temperature/maxim_thermocouple.c index 066161a4bccd..f962f31a5eb2 100644 --- a/drivers/iio/temperature/maxim_thermocouple.c +++ b/drivers/iio/temperature/maxim_thermocouple.c | |||
| @@ -136,6 +136,8 @@ static int maxim_thermocouple_read(struct maxim_thermocouple_data *data, | |||
| 136 | ret = spi_read(data->spi, (void *)&buf32, storage_bytes); | 136 | ret = spi_read(data->spi, (void *)&buf32, storage_bytes); |
| 137 | *val = be32_to_cpu(buf32); | 137 | *val = be32_to_cpu(buf32); |
| 138 | break; | 138 | break; |
| 139 | default: | ||
| 140 | ret = -EINVAL; | ||
| 139 | } | 141 | } |
| 140 | 142 | ||
| 141 | if (ret) | 143 | if (ret) |
diff --git a/drivers/staging/comedi/drivers/ni_tio.c b/drivers/staging/comedi/drivers/ni_tio.c index 7043eb0543f6..5ab49a798164 100644 --- a/drivers/staging/comedi/drivers/ni_tio.c +++ b/drivers/staging/comedi/drivers/ni_tio.c | |||
| @@ -207,7 +207,8 @@ static int ni_tio_clock_period_ps(const struct ni_gpct *counter, | |||
| 207 | * clock period is specified by user with prescaling | 207 | * clock period is specified by user with prescaling |
| 208 | * already taken into account. | 208 | * already taken into account. |
| 209 | */ | 209 | */ |
| 210 | return counter->clock_period_ps; | 210 | *period_ps = counter->clock_period_ps; |
| 211 | return 0; | ||
| 211 | } | 212 | } |
| 212 | 213 | ||
| 213 | switch (generic_clock_source & NI_GPCT_PRESCALE_MODE_CLOCK_SRC_MASK) { | 214 | switch (generic_clock_source & NI_GPCT_PRESCALE_MODE_CLOCK_SRC_MASK) { |
diff --git a/drivers/staging/greybus/arche-platform.c b/drivers/staging/greybus/arche-platform.c index 34307ac3f255..d33d6fe078ad 100644 --- a/drivers/staging/greybus/arche-platform.c +++ b/drivers/staging/greybus/arche-platform.c | |||
| @@ -186,6 +186,7 @@ int arche_platform_change_state(enum arche_platform_state state, | |||
| 186 | exit: | 186 | exit: |
| 187 | spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); | 187 | spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); |
| 188 | mutex_unlock(&arche_pdata->platform_state_mutex); | 188 | mutex_unlock(&arche_pdata->platform_state_mutex); |
| 189 | put_device(&pdev->dev); | ||
| 189 | of_node_put(np); | 190 | of_node_put(np); |
| 190 | return ret; | 191 | return ret; |
| 191 | } | 192 | } |
diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c index 5eecf1cb1028..3892a7470410 100644 --- a/drivers/staging/iio/impedance-analyzer/ad5933.c +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c | |||
| @@ -655,6 +655,7 @@ static void ad5933_work(struct work_struct *work) | |||
| 655 | __be16 buf[2]; | 655 | __be16 buf[2]; |
| 656 | int val[2]; | 656 | int val[2]; |
| 657 | unsigned char status; | 657 | unsigned char status; |
| 658 | int ret; | ||
| 658 | 659 | ||
| 659 | mutex_lock(&indio_dev->mlock); | 660 | mutex_lock(&indio_dev->mlock); |
| 660 | if (st->state == AD5933_CTRL_INIT_START_FREQ) { | 661 | if (st->state == AD5933_CTRL_INIT_START_FREQ) { |
| @@ -662,19 +663,22 @@ static void ad5933_work(struct work_struct *work) | |||
| 662 | ad5933_cmd(st, AD5933_CTRL_START_SWEEP); | 663 | ad5933_cmd(st, AD5933_CTRL_START_SWEEP); |
| 663 | st->state = AD5933_CTRL_START_SWEEP; | 664 | st->state = AD5933_CTRL_START_SWEEP; |
| 664 | schedule_delayed_work(&st->work, st->poll_time_jiffies); | 665 | schedule_delayed_work(&st->work, st->poll_time_jiffies); |
| 665 | mutex_unlock(&indio_dev->mlock); | 666 | goto out; |
| 666 | return; | ||
| 667 | } | 667 | } |
| 668 | 668 | ||
| 669 | ad5933_i2c_read(st->client, AD5933_REG_STATUS, 1, &status); | 669 | ret = ad5933_i2c_read(st->client, AD5933_REG_STATUS, 1, &status); |
| 670 | if (ret) | ||
| 671 | goto out; | ||
| 670 | 672 | ||
| 671 | if (status & AD5933_STAT_DATA_VALID) { | 673 | if (status & AD5933_STAT_DATA_VALID) { |
| 672 | int scan_count = bitmap_weight(indio_dev->active_scan_mask, | 674 | int scan_count = bitmap_weight(indio_dev->active_scan_mask, |
| 673 | indio_dev->masklength); | 675 | indio_dev->masklength); |
| 674 | ad5933_i2c_read(st->client, | 676 | ret = ad5933_i2c_read(st->client, |
| 675 | test_bit(1, indio_dev->active_scan_mask) ? | 677 | test_bit(1, indio_dev->active_scan_mask) ? |
| 676 | AD5933_REG_REAL_DATA : AD5933_REG_IMAG_DATA, | 678 | AD5933_REG_REAL_DATA : AD5933_REG_IMAG_DATA, |
| 677 | scan_count * 2, (u8 *)buf); | 679 | scan_count * 2, (u8 *)buf); |
| 680 | if (ret) | ||
| 681 | goto out; | ||
| 678 | 682 | ||
| 679 | if (scan_count == 2) { | 683 | if (scan_count == 2) { |
| 680 | val[0] = be16_to_cpu(buf[0]); | 684 | val[0] = be16_to_cpu(buf[0]); |
| @@ -686,8 +690,7 @@ static void ad5933_work(struct work_struct *work) | |||
| 686 | } else { | 690 | } else { |
| 687 | /* no data available - try again later */ | 691 | /* no data available - try again later */ |
| 688 | schedule_delayed_work(&st->work, st->poll_time_jiffies); | 692 | schedule_delayed_work(&st->work, st->poll_time_jiffies); |
| 689 | mutex_unlock(&indio_dev->mlock); | 693 | goto out; |
| 690 | return; | ||
| 691 | } | 694 | } |
| 692 | 695 | ||
| 693 | if (status & AD5933_STAT_SWEEP_DONE) { | 696 | if (status & AD5933_STAT_SWEEP_DONE) { |
| @@ -700,7 +703,7 @@ static void ad5933_work(struct work_struct *work) | |||
| 700 | ad5933_cmd(st, AD5933_CTRL_INC_FREQ); | 703 | ad5933_cmd(st, AD5933_CTRL_INC_FREQ); |
| 701 | schedule_delayed_work(&st->work, st->poll_time_jiffies); | 704 | schedule_delayed_work(&st->work, st->poll_time_jiffies); |
| 702 | } | 705 | } |
| 703 | 706 | out: | |
| 704 | mutex_unlock(&indio_dev->mlock); | 707 | mutex_unlock(&indio_dev->mlock); |
| 705 | } | 708 | } |
| 706 | 709 | ||
diff --git a/drivers/staging/nvec/nvec_ps2.c b/drivers/staging/nvec/nvec_ps2.c index a324322ee0ad..499952c8ef39 100644 --- a/drivers/staging/nvec/nvec_ps2.c +++ b/drivers/staging/nvec/nvec_ps2.c | |||
| @@ -106,13 +106,12 @@ static int nvec_mouse_probe(struct platform_device *pdev) | |||
| 106 | { | 106 | { |
| 107 | struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); | 107 | struct nvec_chip *nvec = dev_get_drvdata(pdev->dev.parent); |
| 108 | struct serio *ser_dev; | 108 | struct serio *ser_dev; |
| 109 | char mouse_reset[] = { NVEC_PS2, SEND_COMMAND, PSMOUSE_RST, 3 }; | ||
| 110 | 109 | ||
| 111 | ser_dev = devm_kzalloc(&pdev->dev, sizeof(struct serio), GFP_KERNEL); | 110 | ser_dev = kzalloc(sizeof(struct serio), GFP_KERNEL); |
| 112 | if (!ser_dev) | 111 | if (!ser_dev) |
| 113 | return -ENOMEM; | 112 | return -ENOMEM; |
| 114 | 113 | ||
| 115 | ser_dev->id.type = SERIO_PS_PSTHRU; | 114 | ser_dev->id.type = SERIO_8042; |
| 116 | ser_dev->write = ps2_sendcommand; | 115 | ser_dev->write = ps2_sendcommand; |
| 117 | ser_dev->start = ps2_startstreaming; | 116 | ser_dev->start = ps2_startstreaming; |
| 118 | ser_dev->stop = ps2_stopstreaming; | 117 | ser_dev->stop = ps2_stopstreaming; |
| @@ -127,9 +126,6 @@ static int nvec_mouse_probe(struct platform_device *pdev) | |||
| 127 | 126 | ||
| 128 | serio_register_port(ser_dev); | 127 | serio_register_port(ser_dev); |
| 129 | 128 | ||
| 130 | /* mouse reset */ | ||
| 131 | nvec_write_async(nvec, mouse_reset, sizeof(mouse_reset)); | ||
| 132 | |||
| 133 | return 0; | 129 | return 0; |
| 134 | } | 130 | } |
| 135 | 131 | ||
diff --git a/drivers/staging/sm750fb/ddk750_reg.h b/drivers/staging/sm750fb/ddk750_reg.h index 955247979aaa..4ed6d8d7712a 100644 --- a/drivers/staging/sm750fb/ddk750_reg.h +++ b/drivers/staging/sm750fb/ddk750_reg.h | |||
| @@ -601,13 +601,13 @@ | |||
| 601 | 601 | ||
| 602 | #define PANEL_PLANE_TL 0x08001C | 602 | #define PANEL_PLANE_TL 0x08001C |
| 603 | #define PANEL_PLANE_TL_TOP_SHIFT 16 | 603 | #define PANEL_PLANE_TL_TOP_SHIFT 16 |
| 604 | #define PANEL_PLANE_TL_TOP_MASK (0xeff << 16) | 604 | #define PANEL_PLANE_TL_TOP_MASK (0x7ff << 16) |
| 605 | #define PANEL_PLANE_TL_LEFT_MASK 0xeff | 605 | #define PANEL_PLANE_TL_LEFT_MASK 0x7ff |
| 606 | 606 | ||
| 607 | #define PANEL_PLANE_BR 0x080020 | 607 | #define PANEL_PLANE_BR 0x080020 |
| 608 | #define PANEL_PLANE_BR_BOTTOM_SHIFT 16 | 608 | #define PANEL_PLANE_BR_BOTTOM_SHIFT 16 |
| 609 | #define PANEL_PLANE_BR_BOTTOM_MASK (0xeff << 16) | 609 | #define PANEL_PLANE_BR_BOTTOM_MASK (0x7ff << 16) |
| 610 | #define PANEL_PLANE_BR_RIGHT_MASK 0xeff | 610 | #define PANEL_PLANE_BR_RIGHT_MASK 0x7ff |
| 611 | 611 | ||
| 612 | #define PANEL_HORIZONTAL_TOTAL 0x080024 | 612 | #define PANEL_HORIZONTAL_TOTAL 0x080024 |
| 613 | #define PANEL_HORIZONTAL_TOTAL_TOTAL_SHIFT 16 | 613 | #define PANEL_HORIZONTAL_TOTAL_TOTAL_SHIFT 16 |
