Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio:trigger: rename try_reenable() to reenable() plus return void

As we no longer support a try again if we cannot reenable the trigger
rename the function to reflect this. Also we don't do anything with
the value returned so stop it returning anything. For the few drivers
that didn't already print an error message in this patch, add such
a print.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: Christian Oder <me@myself5.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Nishant Malpani <nish.malpani25@gmail.com>
Cc: Daniel Baluta <daniel.baluta@oss.nxp.com>
Link: https://lore.kernel.org/r/20200920132548.196452-3-jic23@kernel.org

+40 -61
+6 -3
drivers/iio/accel/bma180.c
··· 959 959 return bma180_set_new_data_intr_state(data, state); 960 960 } 961 961 962 - static int bma180_trig_try_reen(struct iio_trigger *trig) 962 + static void bma180_trig_reen(struct iio_trigger *trig) 963 963 { 964 964 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 965 965 struct bma180_data *data = iio_priv(indio_dev); 966 + int ret; 966 967 967 - return bma180_reset_intr(data); 968 + ret = bma180_reset_intr(data); 969 + if (ret) 970 + dev_err(&data->client->dev, "failed to reset interrupt\n"); 968 971 } 969 972 970 973 static const struct iio_trigger_ops bma180_trigger_ops = { 971 974 .set_trigger_state = bma180_data_rdy_trigger_set_state, 972 - .try_reenable = bma180_trig_try_reen, 975 + .reenable = bma180_trig_reen, 973 976 }; 974 977 975 978 static int bma180_probe(struct i2c_client *client,
+4 -8
drivers/iio/accel/bmc150-accel-core.c
··· 1151 1151 return IRQ_HANDLED; 1152 1152 } 1153 1153 1154 - static int bmc150_accel_trig_try_reen(struct iio_trigger *trig) 1154 + static void bmc150_accel_trig_reen(struct iio_trigger *trig) 1155 1155 { 1156 1156 struct bmc150_accel_trigger *t = iio_trigger_get_drvdata(trig); 1157 1157 struct bmc150_accel_data *data = t->data; ··· 1160 1160 1161 1161 /* new data interrupts don't need ack */ 1162 1162 if (t == &t->data->triggers[BMC150_ACCEL_TRIGGER_DATA_READY]) 1163 - return 0; 1163 + return; 1164 1164 1165 1165 mutex_lock(&data->mutex); 1166 1166 /* clear any latched interrupt */ ··· 1168 1168 BMC150_ACCEL_INT_MODE_LATCH_INT | 1169 1169 BMC150_ACCEL_INT_MODE_LATCH_RESET); 1170 1170 mutex_unlock(&data->mutex); 1171 - if (ret < 0) { 1171 + if (ret < 0) 1172 1172 dev_err(dev, "Error writing reg_int_rst_latch\n"); 1173 - return ret; 1174 - } 1175 - 1176 - return 0; 1177 1173 } 1178 1174 1179 1175 static int bmc150_accel_trigger_set_state(struct iio_trigger *trig, ··· 1209 1213 1210 1214 static const struct iio_trigger_ops bmc150_accel_trigger_ops = { 1211 1215 .set_trigger_state = bmc150_accel_trigger_set_state, 1212 - .try_reenable = bmc150_accel_trig_try_reen, 1216 + .reenable = bmc150_accel_trig_reen, 1213 1217 }; 1214 1218 1215 1219 static int bmc150_accel_handle_roc_event(struct iio_dev *indio_dev)
+3 -7
drivers/iio/accel/kxcjk-1013.c
··· 1105 1105 return IRQ_HANDLED; 1106 1106 } 1107 1107 1108 - static int kxcjk1013_trig_try_reen(struct iio_trigger *trig) 1108 + static void kxcjk1013_trig_reen(struct iio_trigger *trig) 1109 1109 { 1110 1110 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 1111 1111 struct kxcjk1013_data *data = iio_priv(indio_dev); 1112 1112 int ret; 1113 1113 1114 1114 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_REL); 1115 - if (ret < 0) { 1115 + if (ret < 0) 1116 1116 dev_err(&data->client->dev, "Error reading reg_int_rel\n"); 1117 - return ret; 1118 - } 1119 - 1120 - return 0; 1121 1117 } 1122 1118 1123 1119 static int kxcjk1013_data_rdy_trigger_set_state(struct iio_trigger *trig, ··· 1157 1161 1158 1162 static const struct iio_trigger_ops kxcjk1013_trigger_ops = { 1159 1163 .set_trigger_state = kxcjk1013_data_rdy_trigger_set_state, 1160 - .try_reenable = kxcjk1013_trig_try_reen, 1164 + .reenable = kxcjk1013_trig_reen, 1161 1165 }; 1162 1166 1163 1167 static void kxcjk1013_report_motion_event(struct iio_dev *indio_dev)
+6 -10
drivers/iio/accel/mxc4005.c
··· 310 310 return IRQ_HANDLED; 311 311 } 312 312 313 - static int mxc4005_clr_intr(struct mxc4005_data *data) 313 + static void mxc4005_clr_intr(struct mxc4005_data *data) 314 314 { 315 315 int ret; 316 316 317 317 /* clear interrupt */ 318 318 ret = regmap_write(data->regmap, MXC4005_REG_INT_CLR1, 319 319 MXC4005_REG_INT_CLR1_BIT_DRDYC); 320 - if (ret < 0) { 320 + if (ret < 0) 321 321 dev_err(data->dev, "failed to write to reg_int_clr1\n"); 322 - return ret; 323 - } 324 - 325 - return 0; 326 322 } 327 323 328 324 static int mxc4005_set_trigger_state(struct iio_trigger *trig, ··· 349 353 return 0; 350 354 } 351 355 352 - static int mxc4005_trigger_try_reen(struct iio_trigger *trig) 356 + static void mxc4005_trigger_reen(struct iio_trigger *trig) 353 357 { 354 358 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 355 359 struct mxc4005_data *data = iio_priv(indio_dev); 356 360 357 361 if (!data->dready_trig) 358 - return 0; 362 + return; 359 363 360 - return mxc4005_clr_intr(data); 364 + mxc4005_clr_intr(data); 361 365 } 362 366 363 367 static const struct iio_trigger_ops mxc4005_trigger_ops = { 364 368 .set_trigger_state = mxc4005_set_trigger_state, 365 - .try_reenable = mxc4005_trigger_try_reen, 369 + .reenable = mxc4005_trigger_reen, 366 370 }; 367 371 368 372 static int mxc4005_chip_init(struct mxc4005_data *data)
+3 -5
drivers/iio/adc/at91-sama5d2_adc.c
··· 742 742 return 0; 743 743 } 744 744 745 - static int at91_adc_reenable_trigger(struct iio_trigger *trig) 745 + static void at91_adc_reenable_trigger(struct iio_trigger *trig) 746 746 { 747 747 struct iio_dev *indio = iio_trigger_get_drvdata(trig); 748 748 struct at91_adc_state *st = iio_priv(indio); 749 749 750 750 /* if we are using DMA, we must not reenable irq after each trigger */ 751 751 if (st->dma_st.dma_chan) 752 - return 0; 752 + return; 753 753 754 754 enable_irq(st->irq); 755 755 756 756 /* Needed to ACK the DRDY interruption */ 757 757 at91_adc_readl(st, AT91_SAMA5D2_LCDR); 758 - 759 - return 0; 760 758 } 761 759 762 760 static const struct iio_trigger_ops at91_adc_trigger_ops = { 763 761 .set_trigger_state = &at91_adc_configure_trigger, 764 - .try_reenable = &at91_adc_reenable_trigger, 762 + .reenable = &at91_adc_reenable_trigger, 765 763 .validate_device = iio_trigger_validate_own_device, 766 764 }; 767 765
+2 -4
drivers/iio/gyro/adxrs290.c
··· 478 478 return ret; 479 479 } 480 480 481 - static int adxrs290_reset_trig(struct iio_trigger *trig) 481 + static void adxrs290_reset_trig(struct iio_trigger *trig) 482 482 { 483 483 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 484 484 int val; ··· 491 491 */ 492 492 adxrs290_get_rate_data(indio_dev, 493 493 ADXRS290_READ_REG(ADXRS290_REG_DATAY0), &val); 494 - 495 - return 0; 496 494 } 497 495 498 496 static const struct iio_trigger_ops adxrs290_trigger_ops = { 499 497 .set_trigger_state = &adxrs290_data_rdy_trigger_set_state, 500 498 .validate_device = &iio_trigger_validate_own_device, 501 - .try_reenable = &adxrs290_reset_trig, 499 + .reenable = &adxrs290_reset_trig, 502 500 }; 503 501 504 502 static irqreturn_t adxrs290_trigger_handler(int irq, void *p)
+4 -8
drivers/iio/gyro/bmg160_core.c
··· 893 893 return IRQ_HANDLED; 894 894 } 895 895 896 - static int bmg160_trig_try_reen(struct iio_trigger *trig) 896 + static void bmg160_trig_reen(struct iio_trigger *trig) 897 897 { 898 898 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 899 899 struct bmg160_data *data = iio_priv(indio_dev); ··· 902 902 903 903 /* new data interrupts don't need ack */ 904 904 if (data->dready_trigger_on) 905 - return 0; 905 + return; 906 906 907 907 /* Set latched mode interrupt and clear any latched interrupt */ 908 908 ret = regmap_write(data->regmap, BMG160_REG_INT_RST_LATCH, 909 909 BMG160_INT_MODE_LATCH_INT | 910 910 BMG160_INT_MODE_LATCH_RESET); 911 - if (ret < 0) { 911 + if (ret < 0) 912 912 dev_err(dev, "Error writing reg_rst_latch\n"); 913 - return ret; 914 - } 915 - 916 - return 0; 917 913 } 918 914 919 915 static int bmg160_data_rdy_trigger_set_state(struct iio_trigger *trig, ··· 957 961 958 962 static const struct iio_trigger_ops bmg160_trigger_ops = { 959 963 .set_trigger_state = bmg160_data_rdy_trigger_set_state, 960 - .try_reenable = bmg160_trig_try_reen, 964 + .reenable = bmg160_trig_reen, 961 965 }; 962 966 963 967 static irqreturn_t bmg160_event_handler(int irq, void *private)
+3 -7
drivers/iio/imu/kmx61.c
··· 1063 1063 return ret; 1064 1064 } 1065 1065 1066 - static int kmx61_trig_try_reenable(struct iio_trigger *trig) 1066 + static void kmx61_trig_reenable(struct iio_trigger *trig) 1067 1067 { 1068 1068 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 1069 1069 struct kmx61_data *data = kmx61_get_data(indio_dev); 1070 1070 int ret; 1071 1071 1072 1072 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); 1073 - if (ret < 0) { 1073 + if (ret < 0) 1074 1074 dev_err(&data->client->dev, "Error reading reg_inl\n"); 1075 - return ret; 1076 - } 1077 - 1078 - return 0; 1079 1075 } 1080 1076 1081 1077 static const struct iio_trigger_ops kmx61_trigger_ops = { 1082 1078 .set_trigger_state = kmx61_data_rdy_trigger_set_state, 1083 - .try_reenable = kmx61_trig_try_reenable, 1079 + .reenable = kmx61_trig_reenable, 1084 1080 }; 1085 1081 1086 1082 static irqreturn_t kmx61_event_handler(int irq, void *private)
+2 -2
drivers/iio/industrialio-trigger.c
··· 203 203 void iio_trigger_notify_done(struct iio_trigger *trig) 204 204 { 205 205 if (atomic_dec_and_test(&trig->use_count) && trig->ops && 206 - trig->ops->try_reenable) 207 - trig->ops->try_reenable(trig); 206 + trig->ops->reenable) 207 + trig->ops->reenable(trig); 208 208 } 209 209 EXPORT_SYMBOL(iio_trigger_notify_done); 210 210
+5 -5
drivers/iio/magnetometer/bmc150_magn.c
··· 766 766 return regmap_read(data->regmap, BMC150_MAGN_REG_X_L, &tmp); 767 767 } 768 768 769 - static int bmc150_magn_trig_try_reen(struct iio_trigger *trig) 769 + static void bmc150_magn_trig_reen(struct iio_trigger *trig) 770 770 { 771 771 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 772 772 struct bmc150_magn_data *data = iio_priv(indio_dev); 773 773 int ret; 774 774 775 775 if (!data->dready_trigger_on) 776 - return 0; 776 + return; 777 777 778 778 mutex_lock(&data->mutex); 779 779 ret = bmc150_magn_reset_intr(data); 780 780 mutex_unlock(&data->mutex); 781 - 782 - return ret; 781 + if (ret) 782 + dev_err(data->dev, "Failed to reset interrupt\n"); 783 783 } 784 784 785 785 static int bmc150_magn_data_rdy_trigger_set_state(struct iio_trigger *trig, ··· 817 817 818 818 static const struct iio_trigger_ops bmc150_magn_trigger_ops = { 819 819 .set_trigger_state = bmc150_magn_data_rdy_trigger_set_state, 820 - .try_reenable = bmc150_magn_trig_try_reen, 820 + .reenable = bmc150_magn_trig_reen, 821 821 }; 822 822 823 823 static int bmc150_magn_buffer_preenable(struct iio_dev *indio_dev)
+2 -2
include/linux/iio/trigger.h
··· 21 21 /** 22 22 * struct iio_trigger_ops - operations structure for an iio_trigger. 23 23 * @set_trigger_state: switch on/off the trigger on demand 24 - * @try_reenable: function to reenable the trigger when the 24 + * @reenable: function to reenable the trigger when the 25 25 * use count is zero (may be NULL) 26 26 * @validate_device: function to validate the device when the 27 27 * current trigger gets changed. ··· 31 31 **/ 32 32 struct iio_trigger_ops { 33 33 int (*set_trigger_state)(struct iio_trigger *trig, bool state); 34 - int (*try_reenable)(struct iio_trigger *trig); 34 + void (*reenable)(struct iio_trigger *trig); 35 35 int (*validate_device)(struct iio_trigger *trig, 36 36 struct iio_dev *indio_dev); 37 37 };