lkml.org 
[lkml]   [2014]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 10/33] thermal: exynos: replace tmu_irqstatus check by Exynos5440 one
    Date
    reg->tmu_irqstatus is set to non-zero value only for Exynos5440
    so replace check for non-zero value of reg->tmu_irqstatus by
    explicitly checking for Exynos5440 SoC type. Then remove no
    longer needed reg->tmu_irqstatus register abstraction.

    There should be no functional changes caused by this patch.

    Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
    Cc: Lukasz Majewski <l.majewski@samsung.com>
    Cc: Eduardo Valentin <edubezval@gmail.com>
    Cc: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
    ---
    drivers/thermal/samsung/exynos_tmu.c | 6 ++----
    drivers/thermal/samsung/exynos_tmu.h | 2 --
    drivers/thermal/samsung/exynos_tmu_data.c | 1 -
    3 files changed, 2 insertions(+), 7 deletions(-)

    diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
    index e35c289..839b07b 100644
    --- a/drivers/thermal/samsung/exynos_tmu.c
    +++ b/drivers/thermal/samsung/exynos_tmu.c
    @@ -407,15 +407,13 @@ static void exynos_tmu_work(struct work_struct *work)
    {
    struct exynos_tmu_data *data = container_of(work,
    struct exynos_tmu_data, irq_work);
    - struct exynos_tmu_platform_data *pdata = data->pdata;
    - const struct exynos_tmu_registers *reg = pdata->registers;
    unsigned int val_type;

    if (!IS_ERR(data->clk_sec))
    clk_enable(data->clk_sec);
    /* Find which sensor generated this interrupt */
    - if (reg->tmu_irqstatus) {
    - val_type = readl(data->base_second + reg->tmu_irqstatus);
    + if (data->soc == SOC_ARCH_EXYNOS5440) {
    + val_type = readl(data->base_second + EXYNOS5440_TMU_IRQ_STATUS);
    if (!((val_type >> data->id) & 0x1))
    goto out;
    }
    diff --git a/drivers/thermal/samsung/exynos_tmu.h b/drivers/thermal/samsung/exynos_tmu.h
    index 2694298..5c2cef1 100644
    --- a/drivers/thermal/samsung/exynos_tmu.h
    +++ b/drivers/thermal/samsung/exynos_tmu.h
    @@ -92,7 +92,6 @@ enum soc_type {
    * @tmu_intstat: Register containing the interrupt status values.
    * @tmu_intclear: Register for clearing the raised interrupt status.
    * @emul_con: TMU emulation controller register.
    - * @tmu_irqstatus: register to find which TMU generated interrupts.
    * @tmu_pmin: register to get/set the Pmin value.
    */
    struct exynos_tmu_registers {
    @@ -118,7 +117,6 @@ struct exynos_tmu_registers {

    u32 emul_con;

    - u32 tmu_irqstatus;
    u32 tmu_pmin;
    };

    diff --git a/drivers/thermal/samsung/exynos_tmu_data.c b/drivers/thermal/samsung/exynos_tmu_data.c
    index cef0b97..557b4a5 100644
    --- a/drivers/thermal/samsung/exynos_tmu_data.c
    +++ b/drivers/thermal/samsung/exynos_tmu_data.c
    @@ -401,7 +401,6 @@ static const struct exynos_tmu_registers exynos5440_tmu_registers = {
    .inten_fall0_shift = EXYNOS5440_TMU_INTEN_FALL0_SHIFT,
    .tmu_intstat = EXYNOS5440_TMU_S0_7_IRQ,
    .tmu_intclear = EXYNOS5440_TMU_S0_7_IRQ,
    - .tmu_irqstatus = EXYNOS5440_TMU_IRQ_STATUS,
    .emul_con = EXYNOS5440_TMU_S0_7_DEBUG,
    .tmu_pmin = EXYNOS5440_TMU_PMIN,
    };
    --
    1.8.2.3


    \
     
     \ /
      Last update: 2014-11-13 16:41    [W:3.338 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site