[PATCH 2/3] hwmon: Driver for OMAP3 temperature sensor
Pavel Machek
pavel at ucw.cz
Fri Dec 26 09:26:27 PST 2014
On Fri 2014-12-26 13:34:53, Sebastian Reichel wrote:
> OMAP34xx and OMAP36xx processors contain a register in the syscon area,
> which can be used to determine the SoCs temperature. This patch provides
> a DT based driver for the temperature sensor based on an older driver
> written by Peter De Schrijver for the Nokia N900 and N9.
>
> Signed-off-by: Sebastian Reichel <sre at kernel.org>
> + if (!data->valid || time_after(jiffies, data->last_updated + HZ)) {
> + clk_enable(data->clk_32k);
This needs to be clk_prepare_enable()
> + regmap_update_bits(data->syscon, SYSCON_TEMP_REG,
> + soc_mask, soc_mask);
> +
> + if (!wait_for_eocz(EOCZ_MIN_RISING_DELAY,
> + EOCZ_MAX_RISING_DELAY, 1, data)) {
> + e = -EIO;
> + goto err;
> + }
> +
> + regmap_update_bits(data->syscon, SYSCON_TEMP_REG, soc_mask, 0);
> +
> + if (!wait_for_eocz(EOCZ_MIN_FALLING_DELAY,
> + EOCZ_MAX_FALLING_DELAY, 0, data)) {
> + e = -EIO;
> + goto err;
> + }
> +
> + regmap_read(data->syscon, SYSCON_TEMP_REG, &temp_sensor_reg);
> + data->temperature = temp_sensor_reg & ((1<<7) - 1);
> + data->last_updated = jiffies;
> + data->valid = true;
> +
> +err:
> + clk_disable(data->clk_32k);
And this clk_disable_unprepare().
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
More information about the linux-arm-kernel
mailing list