* [PATCH 1/3] therm_windtunnel doesn't work properly on PowerMac G4
@ 2014-07-30 20:51 Goffredo Baroncelli
0 siblings, 0 replies; only message in thread
From: Goffredo Baroncelli @ 2014-07-30 20:51 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Jean Delvare; +Cc: LKML
Rename the driver name
therm_ds1775 -> MAC,ds1775
therm_adm1030 -> MAC,adm1030
Start the background fan control loop from
the devices probing methods.
Signed-off-by: Goffredo Baroncelli <kreijack@inwind.it>
---
drivers/macintosh/therm_windtunnel.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/macintosh/therm_windtunnel.c b/drivers/macintosh/therm_windtunnel.c
index 3b4a157..9583413 100644
--- a/drivers/macintosh/therm_windtunnel.c
+++ b/drivers/macintosh/therm_windtunnel.c
@@ -334,6 +334,15 @@ do_attach( struct i2c_adapter *adapter )
return 0;
}
+static void
+try_start_control_loop(void)
+{
+ if (x.thermostat && x.fan && !x.running) {
+ x.running = 1;
+ x.poll_task = kthread_run(control_loop, NULL, "g4fand");
+ }
+}
+
static int
do_remove(struct i2c_client *client)
{
@@ -364,6 +373,7 @@ attach_fan( struct i2c_client *cl )
printk("ADM1030 fan controller [@%02x]\n", cl->addr );
x.fan = cl;
+ try_start_control_loop();
out:
return 0;
}
@@ -397,6 +407,7 @@ attach_thermostat( struct i2c_client *cl )
x.overheat_temp = os_temp;
x.overheat_hyst = hyst_temp;
x.thermostat = cl;
+ try_start_control_loop();
out:
return 0;
}
@@ -404,8 +415,8 @@ out:
enum chip { ds1775, adm1030 };
static const struct i2c_device_id therm_windtunnel_id[] = {
- { "therm_ds1775", ds1775 },
- { "therm_adm1030", adm1030 },
+ { "MAC,ds1775", ds1775 },
+ { "MAC,adm1030", adm1030 },
{ }
};
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2014-07-30 20:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-30 20:51 [PATCH 1/3] therm_windtunnel doesn't work properly on PowerMac G4 Goffredo Baroncelli
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.