projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2d48dbd
)
iio: adc: palmas: always reset events on unload
author
Patrik Dahlström
<risca@dalakolonin.se>
Sat, 8 Apr 2023 11:48:23 +0000
(13:48 +0200)
committer
Jonathan Cameron
<jonathan.cameron@huawei.com>
Thu, 13 Apr 2023 10:37:21 +0000
(11:37 +0100)
This prevents leaving the adc in freerunning mode when removing the
driver.
Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
Link:
https://lore.kernel.org/r/20230408114825.824505-8-risca@dalakolonin.se
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/palmas_gpadc.c
patch
|
blob
|
history
diff --git
a/drivers/iio/adc/palmas_gpadc.c
b/drivers/iio/adc/palmas_gpadc.c
index
8c6ea4a
..
da49086
100644
(file)
--- a/
drivers/iio/adc/palmas_gpadc.c
+++ b/
drivers/iio/adc/palmas_gpadc.c
@@
-498,6
+498,13
@@
static int palmas_gpadc_get_adc_dt_data(struct platform_device *pdev,
return 0;
}
+static void palmas_gpadc_reset(void *data)
+{
+ struct palmas_gpadc *adc = data;
+ if (adc->event0.enabled || adc->event1.enabled)
+ palmas_adc_reset_events(adc);
+}
+
static int palmas_gpadc_probe(struct platform_device *pdev)
{
struct palmas_gpadc *adc;
@@
-587,6
+594,10
@@
static int palmas_gpadc_probe(struct platform_device *pdev)
palmas_gpadc_calibrate(adc, i);
}
+ ret = devm_add_action(&pdev->dev, palmas_gpadc_reset, adc);
+ if (ret)
+ return ret;
+
return 0;
}