ab8500-gpadc.c (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) ab8500-gpadc.c (cef49e5ea1171c366e0df6d919292e585db3de55)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) ST-Ericsson SA 2010
4 *
5 * Author: Arun R Murthy <arun.murthy@stericsson.com>
6 * Author: Daniel Willerud <daniel.willerud@stericsson.com>
7 * Author: Johan Palsson <johan.palsson@stericsson.com>
8 * Author: M'boumba Cedric Madianga

--- 1094 unchanged lines hidden (view full) ---

1103 return ret;
1104
1105 gpadc->irq_sw = platform_get_irq_byname(pdev, "SW_CONV_END");
1106 if (gpadc->irq_sw < 0) {
1107 dev_err(dev, "failed to get platform sw_conv_end irq\n");
1108 return gpadc->irq_sw;
1109 }
1110
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) ST-Ericsson SA 2010
4 *
5 * Author: Arun R Murthy <arun.murthy@stericsson.com>
6 * Author: Daniel Willerud <daniel.willerud@stericsson.com>
7 * Author: Johan Palsson <johan.palsson@stericsson.com>
8 * Author: M'boumba Cedric Madianga

--- 1094 unchanged lines hidden (view full) ---

1103 return ret;
1104
1105 gpadc->irq_sw = platform_get_irq_byname(pdev, "SW_CONV_END");
1106 if (gpadc->irq_sw < 0) {
1107 dev_err(dev, "failed to get platform sw_conv_end irq\n");
1108 return gpadc->irq_sw;
1109 }
1110
1111 gpadc->irq_hw = platform_get_irq_byname(pdev, "HW_CONV_END");
1112 if (gpadc->irq_hw < 0) {
1113 dev_err(dev, "failed to get platform hw_conv_end irq\n");
1114 return gpadc->irq_hw;
1111 if (is_ab8500(gpadc->ab8500)) {
1112 gpadc->irq_hw = platform_get_irq_byname(pdev, "HW_CONV_END");
1113 if (gpadc->irq_hw < 0) {
1114 dev_err(dev, "failed to get platform hw_conv_end irq\n");
1115 return gpadc->irq_hw;
1116 }
1117 } else {
1118 gpadc->irq_hw = 0;
1115 }
1116
1117 /* Initialize completion used to notify completion of conversion */
1118 init_completion(&gpadc->complete);
1119
1120 /* Request interrupts */
1121 ret = devm_request_threaded_irq(dev, gpadc->irq_sw, NULL,
1122 ab8500_bm_gpadcconvend_handler, IRQF_NO_SUSPEND | IRQF_ONESHOT,
1123 "ab8500-gpadc-sw", gpadc);
1124 if (ret < 0) {
1125 dev_err(dev,
1126 "failed to request sw conversion irq %d\n",
1127 gpadc->irq_sw);
1128 return ret;
1129 }
1130
1119 }
1120
1121 /* Initialize completion used to notify completion of conversion */
1122 init_completion(&gpadc->complete);
1123
1124 /* Request interrupts */
1125 ret = devm_request_threaded_irq(dev, gpadc->irq_sw, NULL,
1126 ab8500_bm_gpadcconvend_handler, IRQF_NO_SUSPEND | IRQF_ONESHOT,
1127 "ab8500-gpadc-sw", gpadc);
1128 if (ret < 0) {
1129 dev_err(dev,
1130 "failed to request sw conversion irq %d\n",
1131 gpadc->irq_sw);
1132 return ret;
1133 }
1134
1131 ret = devm_request_threaded_irq(dev, gpadc->irq_hw, NULL,
1132 ab8500_bm_gpadcconvend_handler, IRQF_NO_SUSPEND | IRQF_ONESHOT,
1133 "ab8500-gpadc-hw", gpadc);
1134 if (ret < 0) {
1135 dev_err(dev,
1136 "Failed to request hw conversion irq: %d\n",
1137 gpadc->irq_hw);
1138 return ret;
1135 if (gpadc->irq_hw) {
1136 ret = devm_request_threaded_irq(dev, gpadc->irq_hw, NULL,
1137 ab8500_bm_gpadcconvend_handler, IRQF_NO_SUSPEND | IRQF_ONESHOT,
1138 "ab8500-gpadc-hw", gpadc);
1139 if (ret < 0) {
1140 dev_err(dev,
1141 "Failed to request hw conversion irq: %d\n",
1142 gpadc->irq_hw);
1143 return ret;
1144 }
1139 }
1140
1141 /* The VTVout LDO used to power the AB8500 GPADC */
1142 gpadc->vddadc = devm_regulator_get(dev, "vddadc");
1143 if (IS_ERR(gpadc->vddadc)) {
1144 ret = PTR_ERR(gpadc->vddadc);
1145 dev_err(dev, "failed to get vddadc\n");
1146 return ret;

--- 70 unchanged lines hidden ---
1145 }
1146
1147 /* The VTVout LDO used to power the AB8500 GPADC */
1148 gpadc->vddadc = devm_regulator_get(dev, "vddadc");
1149 if (IS_ERR(gpadc->vddadc)) {
1150 ret = PTR_ERR(gpadc->vddadc);
1151 dev_err(dev, "failed to get vddadc\n");
1152 return ret;

--- 70 unchanged lines hidden ---