diff options
author | Stefan Wahren <stefan.wahren@i2se.com> | 2016-04-23 15:57:57 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-05-04 05:44:26 -0400 |
commit | a91e0b6de468cc4413d8ca260ed4ed0366dfb5b7 (patch) | |
tree | 99a0940527c701e9fd88d210fd7fc7abff388fa5 /drivers/iio | |
parent | 32133be6768257726b57094f673415418cb3dc48 (diff) |
iio: mxs-lradc: simplify TS registration
This patch simplifies the TS registration of mxs-lradc by
using devm_input_allocate_device.
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r-- | drivers/iio/adc/mxs-lradc.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/iio/adc/mxs-lradc.c b/drivers/iio/adc/mxs-lradc.c index ad26da1edbee..3d1d3706bf9b 100644 --- a/drivers/iio/adc/mxs-lradc.c +++ b/drivers/iio/adc/mxs-lradc.c | |||
@@ -1120,18 +1120,16 @@ static int mxs_lradc_ts_register(struct mxs_lradc *lradc) | |||
1120 | { | 1120 | { |
1121 | struct input_dev *input; | 1121 | struct input_dev *input; |
1122 | struct device *dev = lradc->dev; | 1122 | struct device *dev = lradc->dev; |
1123 | int ret; | ||
1124 | 1123 | ||
1125 | if (!lradc->use_touchscreen) | 1124 | if (!lradc->use_touchscreen) |
1126 | return 0; | 1125 | return 0; |
1127 | 1126 | ||
1128 | input = input_allocate_device(); | 1127 | input = devm_input_allocate_device(dev); |
1129 | if (!input) | 1128 | if (!input) |
1130 | return -ENOMEM; | 1129 | return -ENOMEM; |
1131 | 1130 | ||
1132 | input->name = DRIVER_NAME; | 1131 | input->name = DRIVER_NAME; |
1133 | input->id.bustype = BUS_HOST; | 1132 | input->id.bustype = BUS_HOST; |
1134 | input->dev.parent = dev; | ||
1135 | input->open = mxs_lradc_ts_open; | 1133 | input->open = mxs_lradc_ts_open; |
1136 | input->close = mxs_lradc_ts_close; | 1134 | input->close = mxs_lradc_ts_close; |
1137 | 1135 | ||
@@ -1146,11 +1144,8 @@ static int mxs_lradc_ts_register(struct mxs_lradc *lradc) | |||
1146 | 1144 | ||
1147 | lradc->ts_input = input; | 1145 | lradc->ts_input = input; |
1148 | input_set_drvdata(input, lradc); | 1146 | input_set_drvdata(input, lradc); |
1149 | ret = input_register_device(input); | ||
1150 | if (ret) | ||
1151 | input_free_device(lradc->ts_input); | ||
1152 | 1147 | ||
1153 | return ret; | 1148 | return input_register_device(input); |
1154 | } | 1149 | } |
1155 | 1150 | ||
1156 | static void mxs_lradc_ts_unregister(struct mxs_lradc *lradc) | 1151 | static void mxs_lradc_ts_unregister(struct mxs_lradc *lradc) |
@@ -1159,7 +1154,6 @@ static void mxs_lradc_ts_unregister(struct mxs_lradc *lradc) | |||
1159 | return; | 1154 | return; |
1160 | 1155 | ||
1161 | mxs_lradc_disable_ts(lradc); | 1156 | mxs_lradc_disable_ts(lradc); |
1162 | input_unregister_device(lradc->ts_input); | ||
1163 | } | 1157 | } |
1164 | 1158 | ||
1165 | /* | 1159 | /* |