aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2014-11-15Merge branch 'parisc-3.18-2' of ↵Linus Torvalds8-49/+41
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "Changes include: - wire up the bpf syscall - remove CONFIG_64BIT usage from some userspace-exported header files - use compat functions for msgctl, shmat, shmctl and semtimedop syscalls" * 'parisc-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Avoid using CONFIG_64BIT in userspace exported headers parisc: Use compat layer for msgctl, shmat, shmctl and semtimedop syscalls parisc: Use BUILD_BUG() instead of undefined functions parisc: Wire up bpf syscall
2014-11-15Merge tag 'for-v3.18-rc' of git://git.infradead.org/battery-2.6Linus Torvalds6-72/+144
Pull power supply updates from Sebastian Reichel: "Power supply and reset changes for the v3.18-rc: - misc. charger-manager fixes - year 2038 fix in ab8500_fg - fix error handling of bq2415x_charger" * tag 'for-v3.18-rc' of git://git.infradead.org/battery-2.6: power: charger-manager: Fix accessing invalidated power supply after charger unbind power: charger-manager: Fix accessing invalidated power supply after fuel gauge unbind power: charger-manager: Avoid recursive thermal get_temp call power_supply: Add no_thermal property to prevent recursive get_temp calls power: bq2415x_charger: Fix memory leak on DTS parsing error power: bq2415x_charger: Properly handle ENODEV from power_supply_get_by_phandle power: ab8500_fg.c: use 64-bit time types
2014-11-15Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds11-46/+103
Pull drm gixes from Dave Airlie: - exynos: infinite loop regressions fixed - i915: one regression - radeon: one race condition on monitor probing - noveau: two regressions - tegra: one vblank regression fix * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/tegra: dc: Add missing call to drm_vblank_on() drm/nouveau/nv50/disp: Fix modeset on G94 drm/gk20a/fb: fix setting of large page size bit drm/radeon: add locking around atombios scratch space usage drm/i915: Fix obj->map_and_fenceable across tiling changes drm/exynos: fix possible infinite loop issue drm/exynos: g2d: fix null pointer dereference drm/exynos: resolve infinite loop issue on non multi-platform drm/exynos: resolve infinite loop issue on multi-platform
2014-11-15kernel: use the gnu89 standard explicitlyKirill A. Shutemov1-2/+3
Sasha Levin reports: "gcc5 changes the default standard to c11, which makes kernel build unhappy Explicitly define the kernel standard to be gnu89 which should keep everything working exactly like it was before gcc5" There are multiple small issues with the new default, but the biggest issue seems to be that the old - and very useful - GNU extension to allow a cast in front of an initializer has gone away. Patch updated by Kirill: "I'm pretty sure all gcc versions you can build kernel with supports -std=gnu89. cc-option is redunrant. We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me" Note by Andrew Pinski: "Yes it was reported and both problems relating to this extension has been added to gnu99 and gnu11. Though there are other issues with the kernel dealing with extern inline have different semantics between gnu89 and gnu99/11" End result: we may be able to move up to a newer stdc model eventually, but right now the newer models have some annoying deficiencies, so the traditional "gnu89" model ends up being the preferred one. Signed-off-by: Sasha Levin <[email protected]> Singed-off-by: Kirill A. Shutemov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-11-15Merge tag 'nfs-for-3.18-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds13-69/+124
Pull NFS client bugfixes from Trond Myklebust: "Highlights include: - stable patches to fix NFSv4.x delegation reclaim error paths - fix a bug whereby we were advertising NFSv4.1 but using NFSv4.2 features - fix a use-after-free problem with pNFS block layouts - fix a memory leak in the pNFS files O_DIRECT code - replace an intrusive and Oops-prone performance fix in the NFSv4 atomic open code with a safer one-line version and revert the two original patches" * tag 'nfs-for-3.18-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: sunrpc: fix sleeping under rcu_read_lock in gss_stringify_acceptor NFS: Don't try to reclaim delegation open state if recovery failed NFSv4: Ensure that we call FREE_STATEID when NFSv4.x stateids are revoked NFSv4: Fix races between nfs_remove_bad_delegation() and delegation return NFSv4.1: nfs41_clear_delegation_stateid shouldn't trust NFS_DELEGATED_STATE NFSv4: Ensure that we remove NFSv4.0 delegations when state has expired NFS: SEEK is an NFS v4.2 feature nfs: Fix use of uninitialized variable in nfs_getattr() nfs: Remove bogus assignment nfs: remove spurious WARN_ON_ONCE in write path pnfs/blocklayout: serialize GETDEVICEINFO calls nfs: fix pnfs direct write memory leak Revert "NFS: nfs4_do_open should add negative results to the dcache." Revert "NFS: remove BUG possibility in nfs4_open_and_get_state" NFSv4: Ensure nfs_atomic_open set the dentry verifier on ENOENT
2014-11-14Merge branch 'for-linus' of ↵Linus Torvalds5-13/+158
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem updates from Dmitry Torokhov: "Mostly small fixups to PS/2 tochpad drivers (ALPS, Elantech, Synaptics) to better deal with specific hardware" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: elantech - update the documentation Input: elantech - provide a sysfs knob for crc_enabled Input: elantech - report the middle button of the touchpad Input: alps - ignore bad data on Dell Latitudes E6440 and E7440 Input: alps - allow up to 2 invalid packets without resetting device Input: alps - ignore potential bare packets when device is out of sync Input: elantech - fix crc_enabled for Fujitsu H730 Input: elantech - use elantech_report_trackpoint for hardware v4 too Input: twl4030-pwrbutton - ensure a wakeup event is recorded. Input: synaptics - add min/max quirk for Lenovo T440s
2014-11-14Merge tag 'arm64-fixes' of ↵Linus Torvalds5-11/+27
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Catalin Marinas: - fix EFI stub cache maintenance causing aborts during boot on certain platforms - handle byte stores in __clear_user without panicking - fix race condition in aarch64_insn_patch_text_sync() (instruction patching) - Couple of type fixes * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: ARCH_PFN_OFFSET should be unsigned long Correct the race condition in aarch64_insn_patch_text_sync() arm64: __clear_user: handle exceptions on strb arm64: Fix data type for physical address arm64: efi: Fix stub cache maintenance
2014-11-14Merge tag 'platform-drivers-x86-v3.18-3' of ↵Linus Torvalds2-0/+45
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform drivers fixlets from Darren Hart: "Just two patches to remove hp_accel events from the keyboard bus stream via an i8042 filter" * tag 'platform-drivers-x86-v3.18-3' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: platform: hp_accel: Add SERIO_I8042 as a dependency since it now includes i8042.h/serio.h platform: hp_accel: add a i8042 filter to remove HPQ6000 data from kb bus stream
2014-11-14Merge branch 'for-3.18-fixes' of ↵Linus Torvalds4-72/+55
git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata fixes from Tejun Heo: "The most notable is the revert of lock splitting optimization in ahci. This also made the IRQ handling threaded even when there's only one IRQ in use. The conversion missed IRFQ_SHARED leading to screaming IRQs problem in some cases and the threaded IRQ handling showed performance regression in some LKP test cases. The changes are reverted for now. It'll probably be retried once threaded IRQ handling is removed from ahci. Other than that, there's one fix for ahci and several patches adding device IDs" * 'for-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ahci: fix AHCI parameters not taken into account ata: sata_rcar: Add r8a7793 device support ahci: Add Device IDs for Intel Sunrise Point PCH ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on macbooks Revert "AHCI: Optimize single IRQ interrupt processing" Revert "AHCI: Do not acquire ata_host::lock from single IRQ handler" ata: sata_rcar: Disable DIPM mode for r8a7790 ES1
2014-11-14Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds4-25/+57
Pull block layer fixes from Jens Axboe: "Four small fixes that should be merged for the current 3.18-rc series. This pull request contains: - a minor bugfix for computation of best IO priority given two merging requests. From Jan Kara. - the final (final) merge count issue that has been plaguing virtio-blk. From Ming Lei. - enable parallel reinit notify for blk-mq queues, to combine the cost of an RCU grace period across lots of devices. From Tejun Heo. - an error handling fix for the SCSI_IOCTL_SEND_COMMAND ioctl. From Tony Battersby" * 'for-linus' of git://git.kernel.dk/linux-block: block: blk-merge: fix blk_recount_segments() scsi: Fix more error handling in SCSI_IOCTL_SEND_COMMAND blk-mq: make mq_queue_reinit_notify() freeze queues in parallel block: Fix computation of merged request priority
2014-11-14Merge tag 'pm+acpi-3.18-rc5' of ↵Linus Torvalds6-16/+53
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management fixes from Rafael Wysocki: "These are three regression fixes, two recent (generic power domains, suspend-to-idle) and one older (cpufreq), an ACPI blacklist entry for one more machine having problems with Windows 8 compatibility, a minor cpufreq driver fix (cpufreq-dt) and a fixup for new callback definitions (generic power domains). Specifics: - Fix a crash in the suspend-to-idle code path introduced by a recent commit that forgot to check a pointer against NULL before dereferencing it (Dmitry Eremin-Solenikov). - Fix a boot crash on Exynos5 introduced by a recent commit making that platform use generic Device Tree bindings for power domains which exposed a weakness in the generic power domains framework leading to that crash (Ulf Hansson). - Fix a crash during system resume on systems where cpufreq depends on Operation Performance Points (OPP) for functionality, but CONFIG_OPP is not set. This leads the cpufreq driver registration to fail, but the resume code attempts to restore the pre-suspend cpufreq configuration (which does not exist) nevertheless and crashes. From Geert Uytterhoeven. - Add a new ACPI blacklist entry for Dell Vostro 3546 that has problems if it is reported as Windows 8 compatible to the BIOS (Adam Lee). - Fix swapped arguments in an error message in the cpufreq-dt driver (Abhilash Kesavan). - Fix up the prototypes of new callbacks in struct generic_pm_domain to make them more useful. Users of those callbacks will be added in 3.19 and it's better for them to be based on the correct struct definition in mainline from the start. From Ulf Hansson and Kevin Hilman" * tag 'pm+acpi-3.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PM / Domains: Fix initial default state of the need_restore flag PM / sleep: Fix entering suspend-to-IDLE if no freeze_oops is set PM / Domains: Change prototype for the attach and detach callbacks cpufreq: Avoid crash in resume on SMP without OPP cpufreq: cpufreq-dt: Fix arguments in clock failure error message ACPI / blacklist: blacklist Win8 OSI for Dell Vostro 3546
2014-11-14Merge tag 'firewire-fix' of ↵Linus Torvalds1-2/+1
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 Pull firewire fix from Stefan Richter: "IEEE 1394 (FireWire) subsystem fix: The character device file interface for raw 1394 I/O took uninitialized kernel stack as substitute for missing ioctl() argument data. This could partially show up in subsequent read() output" * tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: firewire: cdev: prevent kernel stack leaking into ioctl arguments