aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-20thermal: exynos: remove SoC type ifdefsBartlomiej Zolnierkiewicz3-67/+8
Maximum theoretical size saving (i.e. with only Exynos5410 SoC support enabled in kernel config so all SoC dependend Exynos thermal driver code was dropped) is 4096 bytes so there is no much sense in keeping these ifdefs (especially given that they are useless once the driver gets updated to use device tree). While at it remove needless 'void *' casts. 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]>
2014-11-20thermal: exynos: remove test_mux pdata fieldBartlomiej Zolnierkiewicz3-6/+3
Replace pdata->test_mux check in get_con_reg() by explicitly checking for SoC type. Also since the used pdata->test_mux value is always identical use it directly and remove pdata->test_mux completely. 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_MULTI_INST flagBartlomiej Zolnierkiewicz2-15/+1
Remove unused TMU_SUPPORT_MULTI_INST flag, no longer needed TMU_SUPPORTS() macro and features field from struct exynos_tmu_platform_data. 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_ADDRESS_MULTIPLE flagBartlomiej Zolnierkiewicz3-42/+38
Replace TMU_SUPPORT_ADDRESS_MULTIPLE flag check in exynos_map_dt_data() by an explicit check for a SoC type (only Exynos5420 with TRIMINFO quirk and Exynos5440 have TMU_SUPPORT_ADDRESS_MULTIPLE flag set in their struct exynos_tmu_init_data instances). Please note that this requires moving SoC type assignment and verification from exynos_tmu_probe() to exynos_map_dt_data() so it happens earlier (which is a good thing in itself). 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_EMULATION flagBartlomiej Zolnierkiewicz3-17/+9
Replace TMU_SUPPORT_EMULATION flag check in exynos_tmu_set_emulation() by an explicit check for a SoC type (all SoC types except Exynos4210 have TMU_SUPPORT_EMULATION flag set in their struct exynos_tmu_init_data instances). 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_EMUL_TIME flagBartlomiej Zolnierkiewicz3-13/+7
Replace TMU_SUPPORT_EMUL_TIME flag check in get_emul_con_reg() by an explicit check for a SoC type (all SoC types except Exynos4210 and Exynos5440 have TMU_SUPPORT_EMUL_TIME flag set in their struct exynos_tmu_init_data instances). 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_FALLING_TRIP flagBartlomiej Zolnierkiewicz3-21/+12
Replace TMU_SUPPORT_FALLING_TRIP flag check in exynos[4210,5440]_tmu_control() by an explicit check for a SoC type (all SoC types except Exynos4210 have TMU_SUPPORT_FALLING_TRIP flag set in their struct exynos_tmu_init_data instances). 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]>
2014-11-20thermal: exynos: add ->tmu_clear_irqs methodBartlomiej Zolnierkiewicz3-71/+43
Add ->tmu_clear_irqs method to struct exynos_tmu_data and use it instead exynos_tmu_clear_irqs(). Then add ->tmu_clear_irqs implementations for Exynos4210+ and Exynos5440. Finally remove no longer needed reg->tmu_int[stat,clear] abstractions and struct exynos_tmu_registers instances. 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]>
2014-11-20thermal: exynos: add ->tmu_set_emulation methodBartlomiej Zolnierkiewicz3-14/+34
Add ->tmu_set_emulation method to struct exynos_tmu_data and use it in exynos_tmu_set_emulation(). Then add ->tmu_set_emulation implementations for Exynos4412+ and Exynos5440. Finally remove no longer needed reg->emul_con abstraction. 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]>
2014-11-20thermal: exynos: add get_emul_con_reg() helperBartlomiej Zolnierkiewicz1-15/+23
Factor out code for preparing EMUL_CON register value from exynos_tmu_set_emulation() into get_emul_con_reg(). This is a preparation for introducing per-SoC type tmu_set_emulation 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]>
2014-11-20thermal: exynos: add ->tmu_read methodBartlomiej Zolnierkiewicz3-25/+28
Add ->tmu_read method to struct exynos_tmu_data and use it in exynos_tmu_control(). Then add ->tmu_read implementations for Exynos4210, Exynos4412+ and Exynos5440. Finally remove no longer needed reg->tmu_cur_temp abstractions. 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]>
2014-11-20thermal: exynos: add ->tmu_control methodBartlomiej Zolnierkiewicz3-87/+60
Add ->tmu_control method to struct exynos_tmu_data and use it in exynos_tmu_control(). Then add ->tmu_control implementations for Exynos4210+ and Exynos5440. Finally remove no longer needed reg->tmu_[ctrl,inten], reg->inten_rise[0,1,2,3]_shift and reg->inten_fall0_shift abstractions. 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]>
2014-11-20thermal: exynos: add get_con_reg() helperBartlomiej Zolnierkiewicz1-9/+16
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]>
2014-11-20thermal: exynos: add ->tmu_initialize methodBartlomiej Zolnierkiewicz3-133/+159
Add ->tmu_initialize method to struct exynos_tmu_data and use it in exynos_tmu_initialize(). Then add ->tmu_initialize implementations for Exynos4210, Exynos4412+ and Exynos5440. Finally remove no longer needed reg->threshold_th[0,1], reg->intclr_[fall,rise]_shift and reg->intclr_[rise,fall]_mask abstractions. There are more improvements available in the future on top of this patch like merging HW_TRIP level setting with setting of other levels for Exynos4412+ or adding separate method for clearing IRQs using INTCLEAR register (for Exynos5420, Exynos5260 and Exynos4412+). 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]>
2014-11-20thermal: exynos: add get_th_reg() helperBartlomiej Zolnierkiewicz1-14/+23
Factor out code for preparing threshold register value from exynos_tmu_initialize() into get_th_reg(). This is a preparation for introducing per-SoC type tmu_initialize 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]>
2014-11-20thermal: exynos: add sanitize_temp_error() helperBartlomiej Zolnierkiewicz1-13/+20
Factor out code for initializing data->temp_error[1,2] values from exynos_tmu_initialize() into sanitize_temp_error(). This is a preparation for introducing per-SoC type tmu_initialize 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_TRIM_RELOAD flagBartlomiej Zolnierkiewicz3-12/+13
Replace TMU_SUPPORT_TRIM_RELOAD flag check in exynos_tmu_initialize() by an explicit check for a SoC type (only Exynos3250, Exynos4412 and Exynos5250 have TMU_SUPPORT_READY_STATUS flag set in their struct exynos_tmu_init_data instances). Please note that this requires adding separate SoC type for Exynos5420 so it doesn't get mistaken with Exynos5250. This is a preparation for introducing per-SoC type tmu_initialize 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]>
2014-11-20thermal: exynos: remove TMU_SUPPORT_READY_STATUS flagBartlomiej Zolnierkiewicz3-15/+8
Replace TMU_SUPPORT_READY_STATUS flag check in exynos_tmu_initialize() by an explicit check for a SoC type (all SoC types except Exynos5440 have TMU_SUPPORT_READY_STATUS flag set in their struct exynos_tmu_init_data instances). This is a preparation for introducing per-SoC type tmu_initialize 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]>
2014-11-20thermal: exynos: replace threshold_falling check by Exynos SoC type oneBartlomiej Zolnierkiewicz1-1/+1
Replace pdata->threshold_falling check for non-zero value in exynos_tmu_initialize() by an explicit check for a SoC type (all SoC types except Exynos5440 have pdata->threshold_falling assigned to non-zero value in their struct exynos_tmu_registers instances). This is a preparation for introducing per-SoC type tmu_initialize 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]>
2014-11-20thermal: exynos: simplify HW_TRIP level settingBartlomiej Zolnierkiewicz4-13/+5
Simplify HW_TRIP level setting in exynos_tmu_initialize() (don't pretend that the current code is hardware and configuration independent and just do SoC type check explicitly). Then remove no longer needed reg->threshold_[th2,th3_l0_shift] abstractions (only assigned for Exynos5440 in exynos5440_tmu_registers) and EXYNOS_MAX_TRIGGER_PER_REG define. 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]>
2014-11-20thermal: exynos: replace tmu_pmin check by Exynos5440 oneBartlomiej Zolnierkiewicz3-6/+2
reg->tmu_pmin is set to non-zero value only for Exynos5440 so replace check for non-zero value of reg->tmu_pmin by explicitly checking for Exynos5440 SoC type. Then remove no longer needed reg->tmu_pmin register abstraction. 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]>
2014-11-20thermal: exynos: replace tmu_irqstatus check by Exynos5440 oneBartlomiej Zolnierkiewicz3-7/+2
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 <[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]>
2014-11-20thermal: exynos: remove needless emul_time_shift abstractionBartlomiej Zolnierkiewicz3-8/+2
reg->emul_time_shift is used only in exynos_tmu_set_emulation() and accessed only if TMU_SUPPORT_EMUL_TIME flag is set. This flag is not set for Exynos4210 and Exynos5440 (reg->emul_time_shift field is not even assigned in exynos[4210,5440]_tmu_registers and is assigned to identical value for all other SoC types) so the abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless emul_temp_shift abstractionBartlomiej Zolnierkiewicz3-9/+2
reg->emul_temp_shift is used only in exynos_tmu_set_emulation() and accessed only if TMU_SUPPORT_EMULATION flag is set. This flag is not set for Exynos4210 (reg->emul_temp_shift field is not even assigned in exynos4210_tmu_registers and is assigned to identical value for all other SoC types) so the abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless therm_trip_en_shift abstractionBartlomiej Zolnierkiewicz3-8/+1
reg->therm_trip_en_shift is used only in exynos_tmu_initialize() and not accessed on Exynos4210 (also reg->therm_trip_en_shift is not even assigned in exynos4210_tmu_registers but it is assigned to identical value for all other SoC types) so the register abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless therm_trip_[mode,mask]_shift abstractionsBartlomiej Zolnierkiewicz3-17/+2
reg->therm_trip_mode_shift and reg->therm_trip_mode_mask are used only in exynos_tmu_control() and accessed only if pdata->noise_cancel_mode is non-zero. pdata->noise_cancel field is not defined on Exynos4210 (also therm_trip_mode_shift and therm_trip_mode_mask entries are not even assigned in exynos4210_tmu_registers but they are assigned to identical values for all other SoC types) so the abstractions are not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless test_mux_addr_shift abstractionBartlomiej Zolnierkiewicz3-5/+1
reg->test_mux_addr_shift is used only if pdata->test_mux is non-zero. pdata->test_mux is defined only on Exynos3250 and Exynos4412 (other SoC types don't even have pdata->test_mux entry assigned in their struct exynos_tmu_registers instances) so the abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless triminfo_ctrl abstractionBartlomiej Zolnierkiewicz4-24/+7
reg->triminfo_ctrl[] is used in only exynos_tmu_initialize() and accessed only if TMU_SUPPORT_TRIM_RELOAD flag is set. This flag is set only on Exynos3250, Exynos4412 and Exynos5250 (other SoC types don't even have triminfo_ctrl[] entries assigned in their struct exynos_tmu_registers instances) so the register abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless threshold_temp abstractionBartlomiej Zolnierkiewicz3-5/+1
reg->threshold_temp is used only in exynos_tmu_initialize() and is accessed only on Exynos4210 (other SoC types don't even have threshold_temp entry assigned in their struct exynos_tmu_registers instances) so the register abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless tmu_status abstractionBartlomiej Zolnierkiewicz4-11/+1
reg->tmu_status is used only in exynos_tmu_initialize() and it is accessed only if TMU_SUPPORT_READY_STATUS flag is set. This flag is not set for Exynos5440 and TMU_STATUS register offset is identical for all other SoC types so the abstraction is not needed and can be removed. 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]>
2014-11-20thermal: exynos: remove needless triminfo_data abstractionBartlomiej Zolnierkiewicz3-14/+5
reg->triminfo_data is used only in exynos_tmu_initialize() and the code has already different paths for Exynos5440 and other SoC types (on which TRIMINFO_DATA register offset is identical) so the register abstraction is not needed and can be removed. 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]>
2014-11-20thermal: of: improve of-thermal sensor registration APIEduardo Valentin7-37/+62
Different drivers request API extensions in of-thermal. For this reason, additional callbacks are required to fit the new drivers needs. The current API implementation expects the registering sensor driver to provide a get_temp and get_trend callbacks as function parameters. As the amount of callbacks is growing, this patch changes the existing implementation to use a .ops field to hold all the of thermal callbacks to sensor drivers. This patch also changes the existing of-thermal users to fit the new API design. No functional change is introduced in this patch. Cc: Alexandre Courbot <[email protected]> Cc: [email protected] Cc: Grant Likely <[email protected]> Cc: Guenter Roeck <[email protected]> Cc: Jean Delvare <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: Rob Herring <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Zhang Rui <[email protected]> Acked-by: Guenter Roeck <[email protected]> Tested-by: Mikko Perttunen <[email protected]> Reviewed-by: Mikko Perttunen <[email protected]> Reviewed-by: Alexandre Courbot <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2014-11-20thermal: Add Tegra SOCTHERM thermal management driverMikko Perttunen3-0/+484
This adds support for the Tegra SOCTHERM thermal sensing and management system found in the Tegra124 system-on-chip. This initial driver supports temperature polling for four thermal zones. Signed-off-by: Mikko Perttunen <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2014-11-20ARM: tegra: Add thermal trip points for Jetson TK1Mikko Perttunen1-0/+44
This adds critical trip points to the Jetson TK1 device tree. The device will do a controlled shutdown when either the CPU, GPU or MEM thermal zone reaches 101 degrees Celsius. Signed-off-by: Mikko Perttunen <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2014-11-20ARM: tegra: Add soctherm and thermal zones to Tegra124 device treeMikko Perttunen1-0/+47
This adds the soctherm thermal sensing and management unit to the Tegra124 device tree along with the four thermal zones corresponding to the four thermal sensors provided by soctherm. Signed-off-by: Mikko Perttunen <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2014-11-20of: Add bindings for nvidia,tegra124-socthermMikko Perttunen2-0/+66
This adds binding documentation and headers for the Tegra124 SOCTHERM device tree node. Signed-off-by: Mikko Perttunen <[email protected]> Acked-by: Stephen Warren <[email protected]> Acked-by: Eduardo Valentin <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2014-11-20thermal: introduce clock cooling deviceEduardo Valentin4-0/+565
This patch introduces a new thermal cooling device based on common clock framework. The original motivation to write this cooling device is to be able to cool down thermal zones using clocks that feed co-processors, such as GPUs, DSPs, Image Processing Co-processors, etc. But it is written in a way that it can be used on top of any clock. The implementation is pretty straight forward. The code creates a thermal cooling device based on a pair of a struct device and a clock name. The struct device is assumed to be usable by the OPP layer. The OPP layer is used as source of the list of possible frequencies. The (cpufreq) frequency table is then used as a map from frequencies to cooling states. Cooling states are indexes to the frequency table. The logic sits on top of common clock framework, specifically on clock pre notifications. Any PRE_RATE_CHANGE is hijacked, and the transition is only allowed when the new rate is within the thermal limit (cooling state -> freq). When a thermal cooling device state transition is requested, the clock is also checked to verify if the current clock rate is within the new thermal limit. Cc: Zhang Rui <[email protected]> Cc: Mike Turquette <[email protected]> Cc: Nishanth Menon <[email protected]> Cc: Pavel Machek <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Len Brown <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Eduardo Valentin <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2014-11-16Linux 3.18-rc5Linus Torvalds1-1/+1
2014-11-16Merge tag 'armsoc-for-rc5' of ↵Linus Torvalds14-20/+68
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "Another small set of fixes: - some DT compatible typo fixes - irq setup fix dealing with irq storms on orion - i2c quirk generalization for mvebu - a handful of smaller fixes for OMAP - a couple of added file patterns for OMAP entries in MAINTAINERS" * tag 'armsoc-for-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: at91/dt: Fix sama5d3x typos pinctrl: dra: dt-bindings: Fix output pull up/down MAINTAINERS: Update entry for omap related .dts files to cover new SoCs MAINTAINERS: add more files under OMAP SUPPORT ARM: dts: AM437x-SK-EVM: Fix DCDC3 voltage ARM: dts: AM437x-GP-EVM: Fix DCDC3 voltage ARM: dts: AM43x-EPOS-EVM: Fix DCDC3 voltage ARM: dts: am335x-evm: Fix 5th NAND partition's name ARM: orion: Fix for certain sequence of request_irq can cause irq storm ARM: mvebu: armada xp: Generalize use of i2c quirk
2014-11-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds6-20/+43
Pull sparc fixes from David Miller: 1) Fix NULL oops in Schizo PCI controller error handler. 2) Fix race between xchg and other operations on 32-bit sparc, from Andreas Larsson. 3) swab*() helpers need a dummy memory input operand to show data flow on 64-bit sparc. 4) Fix RCU warnings due to missing irq_{enter,exit}() around generic_smp_call_function*() calls. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Fix constraints on swab helpers. sparc32: Implement xchg and atomic_xchg using ATOMIC_HASH locks sparc64: Do irq_{enter,exit}() around generic_smp_call_function*(). sparc64: Fix crashes in schizo_pcierr_intr_other().
2014-11-16Merge tag 'md/3.18-fix' of git://neil.brown.name/mdLinus Torvalds1-0/+4
Pull md bugfix from Neil Brown: "One fix for md for 3.18. This fixes a regression introduced in 3.13" * tag 'md/3.18-fix' of git://neil.brown.name/md: md: Always set RECOVERY_NEEDED when clearing RECOVERY_FROZEN
2014-11-16ARM: at91/dt: Fix sama5d3x typosPeter Rosin6-6/+6
Some DT files had a typo with a missing "5" in sama5d3x first compatible string. Signed-off-by: Peter Rosin <[email protected]> [[email protected]: modify commit log] Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-11-16Merge tag 'omap-fixes-against-v3.18-rc4' of ↵Olof Johansson6-9/+29
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "omap fixes against v3.18-rc4" from Tony Lindgren: Few omap fixes for hangs and wrong pinctrl defines, and update MAINTAINERS file to avoid missing PMIC and SoC related patches: - Fix random hangs on am437x because of incorrect default value for the DDR regulator - Fix wrong partition name for NAND on am335x-evm - Fix wrong pinctrl defines for dra7xx - Update maintainers entries for PMICs and SoCs * tag 'omap-fixes-against-v3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: pinctrl: dra: dt-bindings: Fix output pull up/down MAINTAINERS: Update entry for omap related .dts files to cover new SoCs MAINTAINERS: add more files under OMAP SUPPORT ARM: dts: AM437x-SK-EVM: Fix DCDC3 voltage ARM: dts: AM437x-GP-EVM: Fix DCDC3 voltage ARM: dts: AM43x-EPOS-EVM: Fix DCDC3 voltage ARM: dts: am335x-evm: Fix 5th NAND partition's name Signed-off-by: Olof Johansson <[email protected]>
2014-11-16Merge tag 'mvebu-fixes-3.18' of git://git.infradead.org/linux-mvebu into fixesOlof Johansson2-5/+33
Merge "mvebu fixes for v3.18" from Jason Cooper: - Armada XP - Generalize i2c quirk - orion - Fix irq storm caused by specific sequence of request_irq * tag 'mvebu-fixes-3.18' of git://git.infradead.org/linux-mvebu: ARM: orion: Fix for certain sequence of request_irq can cause irq storm ARM: mvebu: armada xp: Generalize use of i2c quirk
2014-11-17md: Always set RECOVERY_NEEDED when clearing RECOVERY_FROZENNeilBrown1-0/+4
md_check_recovery will skip any recovery and also clear MD_RECOVERY_NEEDED if MD_RECOVERY_FROZEN is set. So when we clear _FROZEN, we must set _NEEDED and ensure that md_check_recovery gets run. Otherwise we could miss out on something that is needed. In particular, this can make it impossible to remove a failed device from an array is the 'recovery-needed' processing didn't happen. Suitable for stable kernels since 3.13. Cc: [email protected] (3.13+) Reported-and-tested-by: Joe Lawrence <[email protected]> Fixes: 30b8feb730f9b9b3c5de02580897da03f59b6b16 Signed-off-by: NeilBrown <[email protected]>
2014-11-16sparc64: Fix constraints on swab helpers.David S. Miller1-6/+6
We are reading the memory location, so we have to have a memory constraint in there purely for the sake of showing the data flow to the compiler. Reported-by: Martin K. Petersen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-11-16Merge tag 'scsi-fixes' of ↵Linus Torvalds8-37/+60
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is a set of six fixes and a MAINTAINER update. The fixes are two multipath (one in Test Unit Ready handling for the path checkers and one in the section of code that sends a start unit after failover; both of these were perturbed by the scsi-mq update), a CD-ROM door locking fix that was likewise introduced by scsi-mq and three driver fixes for a previous code update in cxgb4i, megaraid_sas and bnx2fc" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: bnx2fc: fix tgt spinlock locking megaraid_sas: fix bug in handling return value of pci_enable_msix_range() cxgb4i: send abort_rpl correctly cxgbi: add maintainer for cxgb3i/cxgb4i scsi: TUR path is down after adapter gets reset with multipath scsi: call device handler for failed TUR command scsi: only re-lock door after EH on devices that were reset
2014-11-16Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds11-26/+94
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "Microcode fixes, a Xen fix and a KASLR boot loading fix with certain memory layouts" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, microcode, AMD: Fix ucode patch stashing on 32-bit x86/core, x86/xen/smp: Use 'die_complete' completion when taking CPU down x86, microcode: Fix accessing dis_ucode_ldr on 32-bit x86, kaslr: Prevent .bss from overlaping initrd x86, microcode, AMD: Fix early ucode loading on 32-bit
2014-11-16x86-64: make csum_partial_copy_from_user() error handling consistentLinus Torvalds1-3/+2
Al Viro pointed out that the x86-64 csum_partial_copy_from_user() is somewhat confused about what it should do on errors, notably it mostly clears the uncopied end result buffer, but misses that for the initial alignment case. All users should check for errors, so it's dubious whether the clearing is even necessary, and Al also points out that we should probably clean up the calling conventions, but regardless of any future changes to this function, the fact that it is inconsistent is just annoying. So make the __get_user() failure path use the same error exit as all the other errors do. Reported-by: Al Viro <[email protected]> Cc: David Miller <[email protected]> Cc: Andi Kleen <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-11-15Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-armLinus Torvalds2-4/+17
Pull ARM fixes from Russell King: "Two fixes this time, one to ensure that the kuser helper option depends on MMU as they aren't available for noMMU targets (and if the option is selected, we end up oopsing.) The second fix plugs a corner case with the decompressor, ensuring that the instruction stream can see the relocated code in every case on ARMv7 CPUs" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8198/1: make kuser helpers depend on MMU ARM: 8191/1: decompressor: ensure I-side picks up relocated code