OpenCloudOS-Kernel/drivers/thermal/samsung
Bartlomiej Zolnierkiewicz b835ced1fd thermal: exynos: fix IRQ clearing on TMU initialization
* Factor out code for clearing raised IRQs from exynos_tmu_work() to
  exynos_tmu_clear_irqs().

* Add a comment about documentation bugs to exynos_tmu_clear_irqs().

  [ The documentation for Exynos3250, Exynos4412, Exynos5250 and
    Exynos5260 incorrectly states that INTCLEAR register has
    a different placing of bits responsible for FALL IRQs than
    INTSTAT register.  Exynos5420 and Exynos5440 documentation is
    correct (Exynos4210 doesn't support FALL IRQs at all). ]

* Use exynos_tmu_clear_irqs() in exynos_tmu_initialize() instead
  of open-coded code trying to clear IRQs according to predefined
  masks.  After this change exynos_tmu_initialize() just clears
  IRQs that are raised like it is already done in exynos_tmu_work().

  As a nice side-effect the code now uses the correct offset
  (16 instead of 12) for bits responsible for clearing FALL IRQs
  in INTCLEAR register on Exynos3250, Exynos4412 and Exynos5250.

* Remove no longer needed intclr_rise_[mask,shift] and
  intclr_fall_[mask,shift] fields from struct exynos_tmu_registers.

* Remove no longer needed defines.

This patch has been tested on Exynos4412 and Exynos5420 SoCs.

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>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
2014-11-02 23:02:49 -04:00
..
Kconfig thermal: exynos: Clean up non-DT remnants 2013-08-29 09:37:31 -04:00
Makefile thermal: exynos: Bifurcate exynos tmu driver and configuration data 2013-08-13 09:52:00 -04:00
exynos_thermal_common.c thermal:samsung: fix compilation warning 2014-01-02 10:05:04 +08:00
exynos_thermal_common.h thermal: exynos: Add support for many TRIMINFO_CTRL registers 2014-11-02 23:02:48 -04:00
exynos_tmu.c thermal: exynos: fix IRQ clearing on TMU initialization 2014-11-02 23:02:49 -04:00
exynos_tmu.h thermal: exynos: fix IRQ clearing on TMU initialization 2014-11-02 23:02:49 -04:00
exynos_tmu_data.c thermal: exynos: fix IRQ clearing on TMU initialization 2014-11-02 23:02:49 -04:00
exynos_tmu_data.h thermal: exynos: fix IRQ clearing on TMU initialization 2014-11-02 23:02:49 -04:00