diff options
Diffstat (limited to 'drivers/macintosh/windfarm_pm121.c')
| -rw-r--r-- | drivers/macintosh/windfarm_pm121.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/drivers/macintosh/windfarm_pm121.c b/drivers/macintosh/windfarm_pm121.c index 97634e030991..660180c843a3 100644 --- a/drivers/macintosh/windfarm_pm121.c +++ b/drivers/macintosh/windfarm_pm121.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * Windfarm PowerMac thermal control. iMac G5 iSight * @@ -6,14 +7,9 @@ * Bits & pieces from windfarm_pm81.c by (c) Copyright 2005 Benjamin * Herrenschmidt, IBM Corp. <benh@kernel.crashing.org> * - * Released under the term of the GNU GPL v2. - * - * - * * PowerMac12,1 * ============ * - * * The algorithm used is the PID control algorithm, used the same way * the published Darwin code does, using the same values that are * present in the Darwin 8.10 snapshot property lists (note however @@ -25,7 +21,6 @@ * controls with a tiny difference. The control-ids of hard-drive-fan * and cpu-fan is swapped. * - * * Target Correction : * * controls have a target correction calculated as : @@ -63,7 +58,6 @@ * offset : -15650652 * slope : 1565065 * - * * Target rubber-banding : * * Some controls have a target correction which depends on another @@ -76,7 +70,6 @@ * * new_target = max (new_target, new_min >> 16) * - * * # model_id : 2 * control : cpu-fan * ref : optical-drive-fan @@ -89,12 +82,10 @@ * offset : -32768000 * slope : 65536 * - * * In order to have the moste efficient correction with those * dependencies, we must trigger HD loop before OD loop before CPU * loop. * - * * The various control loops found in Darwin config file are: * * HD Fan control loop. @@ -191,12 +182,10 @@ * sensors : cpu-temp, cpu-power * PID params : from SDB partition * - * * CPU Slew control loop. * * control : cpufreq-clamp * sensor : cpu-temp - * */ #undef DEBUG @@ -212,7 +201,8 @@ #include <linux/kmod.h> #include <linux/device.h> #include <linux/platform_device.h> -#include <asm/prom.h> +#include <linux/of.h> + #include <asm/machdep.h> #include <asm/io.h> #include <asm/sections.h> @@ -444,7 +434,7 @@ struct pm121_sys_state { struct wf_pid_state pid; }; -struct pm121_sys_state *pm121_sys_state[N_LOOPS] = {}; +static struct pm121_sys_state *pm121_sys_state[N_LOOPS] = {}; /* * ****** CPU Fans Control Loop ****** @@ -661,7 +651,7 @@ static void pm121_create_cpu_fans(void) /* First, locate the PID params in SMU SBD */ hdr = smu_get_sdb_partition(SMU_SDB_CPUPIDDATA_ID, NULL); - if (hdr == 0) { + if (!hdr) { printk(KERN_WARNING "pm121: CPU PID fan config not found.\n"); goto fail; } @@ -980,7 +970,7 @@ static int pm121_init_pm(void) const struct smu_sdbp_header *hdr; hdr = smu_get_sdb_partition(SMU_SDB_SENSORTREE_ID, NULL); - if (hdr != 0) { + if (hdr) { struct smu_sdbp_sensortree *st = (struct smu_sdbp_sensortree *)&hdr[1]; pm121_mach_model = st->model_id; @@ -1002,10 +992,9 @@ static int pm121_probe(struct platform_device *ddev) return 0; } -static int pm121_remove(struct platform_device *ddev) +static void pm121_remove(struct platform_device *ddev) { wf_unregister_client(&pm121_events); - return 0; } static struct platform_driver pm121_driver = { |
