thermal: exynos: add get_con_reg() helper

Factor out code for preparing TMU_CONTROL register value from
exynos_tmu_control() into get_con_reg().

This is a preparation for introducing per-SoC type tmu_control
method.

There should be no functional changes caused by this patch.

Cc: Amit Daniel Kachhap <[email protected]>
Cc: Lukasz Majewski <[email protected]>
Cc: Eduardo Valentin <[email protected]>
Cc: Zhang Rui <[email protected]>
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Lukasz Majewski <[email protected]>
Signed-off-by: Eduardo Valentin <[email protected]>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2014-11-13 16:01:14 +01:00 • committed by Eduardo Valentin
commit d00671c3ae

View file

@ -197,17 +197,9 @@ static int exynos_tmu_initialize(struct platform_device *pdev)
return ret;
}
static void exynos_tmu_control(struct platform_device *pdev, bool on)
static u32 get_con_reg(struct exynos_tmu_data *data, u32 con)
{
struct exynos_tmu_data *data = platform_get_drvdata(pdev);
struct exynos_tmu_platform_data *pdata = data->pdata;
const struct exynos_tmu_registers *reg = pdata->registers;
unsigned int con, interrupt_en;
mutex_lock(&data->lock);
clk_enable(data->clk);
con = readl(data->base + reg->tmu_ctrl);
if (pdata->test_mux)
con |= (pdata->test_mux << EXYNOS4412_MUX_ADDR_SHIFT);
@ -223,6 +215,21 @@ static void exynos_tmu_control(struct platform_device *pdev, bool on)
con |= (pdata->noise_cancel_mode << EXYNOS_TMU_TRIP_MODE_SHIFT);
}
return con;
}
static void exynos_tmu_control(struct platform_device *pdev, bool on)
{
struct exynos_tmu_data *data = platform_get_drvdata(pdev);
struct exynos_tmu_platform_data *pdata = data->pdata;
const struct exynos_tmu_registers *reg = pdata->registers;
unsigned int con, interrupt_en;
mutex_lock(&data->lock);
clk_enable(data->clk);
con = get_con_reg(data, readl(data->base + reg->tmu_ctrl));
if (on) {
con |= (1 << EXYNOS_TMU_CORE_EN_SHIFT);
interrupt_en =