qcom-adc: fix up the ads7924 driver
Two main fixes:
1. Use '_cansleep' variant for the gpio functions to handle the cases where
the reset gpio might be on an expander. Also, actually reset the chip
when we request the GPIO and then pull it out of reset if we're
sucessful getting the gpio. This was the original intent of the reset
gpio, but now requires the GPIO_ACTIVE_LOW to be set in the device-tree
for the reset-gpios.
2. Use '_sync' variant to safely clean up the sample timer and workqueue.
Also, update the adc averaging logic to use devm_ functions so that I
don't need to worry about those leaking.
Change-Id: I2f0d95cc30018c18c4c2a12b3516e76f3087492a
3 files changed