Commit 78045bfe authored by Eduardo Valentin's avatar Eduardo Valentin
Browse files

Merge branch 'fixes' of github.com:lmajewski/linux-samsung-thermal into work-fixes



Pull samsung thermal fixes from Lukasz Majewski:
"Changes:
- Exynos7 power down detection mode fix
- Fix for cpufreq cooling device regression
- Updating MAINTAINER's entry for Samsung Exynos Thermal"

Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parents 023a6007 93c537af
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -8480,6 +8480,14 @@ S: Supported
L:	netdev@vger.kernel.org
F:	drivers/net/ethernet/samsung/sxgbe/

SAMSUNG THERMAL DRIVER
M:	Lukasz Majewski <l.majewski@samsung.com>
L:	linux-pm@vger.kernel.org
L:	linux-samsung-soc@vger.kernel.org
S:	Supported
T:	https://github.com/lmajewski/linux-samsung-thermal.git
F:	drivers/thermal/samsung/

SAMSUNG USB2 PHY DRIVER
M:	Kamil Debski <k.debski@samsung.com>
L:	linux-kernel@vger.kernel.org
+6 −15
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ static struct cpufreq_driver exynos_driver = {

static int exynos_cpufreq_probe(struct platform_device *pdev)
{
	struct device_node *cpus, *np;
	struct device_node *cpu0;
	int ret = -EINVAL;

	exynos_info = kzalloc(sizeof(*exynos_info), GFP_KERNEL);
@@ -206,28 +206,19 @@ static int exynos_cpufreq_probe(struct platform_device *pdev)
	if (ret)
		goto err_cpufreq_reg;

	cpus = of_find_node_by_path("/cpus");
	if (!cpus) {
		pr_err("failed to find cpus node\n");
	cpu0 = of_get_cpu_node(0, NULL);
	if (!cpu0) {
		pr_err("failed to find cpu0 node\n");
		return 0;
	}

	np = of_get_next_child(cpus, NULL);
	if (!np) {
		pr_err("failed to find cpus child node\n");
		of_node_put(cpus);
		return 0;
	}

	if (of_find_property(np, "#cooling-cells", NULL)) {
		cdev = of_cpufreq_cooling_register(np,
	if (of_find_property(cpu0, "#cooling-cells", NULL)) {
		cdev = of_cpufreq_cooling_register(cpu0,
						   cpu_present_mask);
		if (IS_ERR(cdev))
			pr_err("running cpufreq without cooling device: %ld\n",
			       PTR_ERR(cdev));
	}
	of_node_put(np);
	of_node_put(cpus);

	return 0;

+2 −1
Original line number Diff line number Diff line
@@ -682,6 +682,7 @@ static void exynos7_tmu_control(struct platform_device *pdev, bool on)

	if (on) {
		con |= (1 << EXYNOS_TMU_CORE_EN_SHIFT);
		con |= (1 << EXYNOS7_PD_DET_EN_SHIFT);
		interrupt_en =
			(of_thermal_is_trip_valid(tz, 7)
			<< EXYNOS7_TMU_INTEN_RISE7_SHIFT) |
@@ -704,9 +705,9 @@ static void exynos7_tmu_control(struct platform_device *pdev, bool on)
			interrupt_en << EXYNOS_TMU_INTEN_FALL0_SHIFT;
	} else {
		con &= ~(1 << EXYNOS_TMU_CORE_EN_SHIFT);
		con &= ~(1 << EXYNOS7_PD_DET_EN_SHIFT);
		interrupt_en = 0; /* Disable all interrupts */
	}
	con |= 1 << EXYNOS7_PD_DET_EN_SHIFT;

	writel(interrupt_en, data->base + EXYNOS7_TMU_REG_INTEN);
	writel(con, data->base + EXYNOS_TMU_REG_CONTROL);