2008-07-23 12:02:51

by Roberto De Ioris

[permalink] [raw]
Subject: [PATCH] Support for Intel iMac in applesmc

Hi all, this patch (2.6.26 vanilla) add supports for fans and
temperature sensors on intel iMac.

Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors:

cpu A
ambient
gpu
gpu diode
gpu heatsink
hd bay 1
memory controller
optical drive
power

Signed-off-by: Roberto De Ioris <[email protected]>
---
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index aacc0c4..bc616c3 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -98,6 +98,8 @@ static const char* temperature_sensors_sets[][36] = {
"TH1P", "TH2P", "TH3P", "TMAP", "TMAS", "TMBS", "TM0P",
"TM0S",
"TM1P", "TM1S", "TM2P", "TM2S", "TM3S", "TM8P", "TM8S",
"TM9P",
"TM9S", "TN0H", "TS0C", NULL },
+/* Set 5: iMac */
+ { "TC0D", "TA0P", "TG0P", "TG0D", "TG0H", "TH0P", "Tm0P",
"TO0P", "Tp0C", NULL },
};

/* List of keys used to read/write fan speeds */
@@ -1223,6 +1225,8 @@ static __initdata struct dmi_match_data
applesmc_dmi_data[] = {
{ .accelerometer = 0, .light = 0, .temperature_set = 3 },
/* MacPro: temperature set 4 */
{ .accelerometer = 0, .light = 0, .temperature_set = 4 },
+/* iMac: temperature set 5 */
+ { .accelerometer = 0, .light = 0, .temperature_set = 5 },
};

/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1248,6 +1252,10 @@ static __initdata struct dmi_system_id
applesmc_whitelist[] = {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
(void*)&applesmc_dmi_data[4]},
+ { applesmc_dmi_match, "Apple iMac", {
+ DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
+ DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
+ (void*)&applesmc_dmi_data[5]},
{ .ident = NULL }
};


2008-07-24 00:07:48

by paul s

[permalink] [raw]
Subject: Re: [Mactel-linux-devel] [PATCH] Support for Intel iMac in applesmc

applying these changes manually to the 2.6.25.10 source loads the
applesmc on the imac 7,1 as well and recognizes the three fans...

cheers
paul



Roberto De Ioris wrote:
> Hi all, this patch (2.6.26 vanilla) add supports for fans and
> temperature sensors on intel iMac.
>
> Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors:
>
> cpu A
> ambient
> gpu
> gpu diode
> gpu heatsink
> hd bay 1
> memory controller
> optical drive
> power
>
> Signed-off-by: Roberto De Ioris <[email protected]>
> ---
> diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
> index aacc0c4..bc616c3 100644
> --- a/drivers/hwmon/applesmc.c
> +++ b/drivers/hwmon/applesmc.c
> @@ -98,6 +98,8 @@ static const char* temperature_sensors_sets[][36] = {
> "TH1P", "TH2P", "TH3P", "TMAP", "TMAS", "TMBS", "TM0P",
> "TM0S",
> "TM1P", "TM1S", "TM2P", "TM2S", "TM3S", "TM8P", "TM8S",
> "TM9P",
> "TM9S", "TN0H", "TS0C", NULL },
> +/* Set 5: iMac */
> + { "TC0D", "TA0P", "TG0P", "TG0D", "TG0H", "TH0P", "Tm0P",
> "TO0P", "Tp0C", NULL },
> };
>
> /* List of keys used to read/write fan speeds */
> @@ -1223,6 +1225,8 @@ static __initdata struct dmi_match_data
> applesmc_dmi_data[] = {
> { .accelerometer = 0, .light = 0, .temperature_set = 3 },
> /* MacPro: temperature set 4 */
> { .accelerometer = 0, .light = 0, .temperature_set = 4 },
> +/* iMac: temperature set 5 */
> + { .accelerometer = 0, .light = 0, .temperature_set = 5 },
> };
>
> /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
> @@ -1248,6 +1252,10 @@ static __initdata struct dmi_system_id
> applesmc_whitelist[] = {
> DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
> (void*)&applesmc_dmi_data[4]},
> + { applesmc_dmi_match, "Apple iMac", {
> + DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> + DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
> + (void*)&applesmc_dmi_data[5]},
> { .ident = NULL }
> };
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Mactel-linux-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mactel-linux-devel

2008-07-29 15:08:16

by Nicolas Boichat

[permalink] [raw]
Subject: [PATCH 2/2] applesmc: add support for Macbook v3.

This patches adds support for Macbook v3 (sensors and accelerometer).

From: guilherme m. schroeder <[email protected]>
Signed-off-by: Nicolas Boichat <[email protected]>
---
drivers/hwmon/applesmc.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 52d842b..b06b8e0 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -101,6 +101,9 @@ static const char* temperature_sensors_sets[][36] = {
/* Set 5: iMac */
{ "TC0D", "TA0P", "TG0P", "TG0D", "TG0H", "TH0P", "Tm0P", "TO0P",
"Tp0C", NULL },
+/* Set 6: Macbook3 set */
+ { "TB0T", "TC0D", "TC0P", "TM0P", "TN0P", "TTF0", "TW0P", "Th0H",
+ "Th0S", "Th1H", NULL },
};

/* List of keys used to read/write fan speeds */
@@ -1228,6 +1231,8 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {
{ .accelerometer = 0, .light = 0, .temperature_set = 4 },
/* iMac: temperature set 5 */
{ .accelerometer = 0, .light = 0, .temperature_set = 5 },
+/* MacBook3: accelerometer and temperature set 6 */
+ { .accelerometer = 1, .light = 0, .temperature_set = 6 },
};

/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1237,10 +1242,14 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"MacBookPro") },
(void*)&applesmc_dmi_data[0]},
- { applesmc_dmi_match, "Apple MacBook", {
+ { applesmc_dmi_match, "Apple MacBook (v2)", {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"MacBook2") },
(void*)&applesmc_dmi_data[1]},
+ { applesmc_dmi_match, "Apple MacBook (v3)", {
+ DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
+ DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") },
+ (void*)&applesmc_dmi_data[6]},
{ applesmc_dmi_match, "Apple MacBook", {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") },

2008-07-29 15:09:21

by Nicolas Boichat

[permalink] [raw]
Subject: [PATCH 1/2] Support for Intel iMac in applesmc

Hi all,

Roberto De Ioris wrote:
> Hi all, this patch (2.6.26 vanilla) add supports for fans and
> temperature sensors on intel iMac.
>
> Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors:
>
Here is a slightly modified version (Andrew realigned the sensors list).

Mark: If the MAINTAINERS file is correct, it should go in your git tree,
right?

Thanks.

This patch (2.6.26 vanilla) adds support for fans and temperature sensors
on Intel iMac.

Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors:

cpu A
ambient
gpu
gpu diode
gpu heatsink
hd bay 1
memory controller
optical drive
power

Signed-off-by: Roberto De Ioris <[email protected]>
Signed-off-by: Nicolas Boichat <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---
drivers/hwmon/applesmc.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index aacc0c4..52d842b 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -98,6 +98,9 @@ static const char* temperature_sensors_sets[][36] = {
"TH1P", "TH2P", "TH3P", "TMAP", "TMAS", "TMBS", "TM0P", "TM0S",
"TM1P", "TM1S", "TM2P", "TM2S", "TM3S", "TM8P", "TM8S", "TM9P",
"TM9S", "TN0H", "TS0C", NULL },
+/* Set 5: iMac */
+ { "TC0D", "TA0P", "TG0P", "TG0D", "TG0H", "TH0P", "Tm0P", "TO0P",
+ "Tp0C", NULL },
};

/* List of keys used to read/write fan speeds */
@@ -1223,6 +1226,8 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {
{ .accelerometer = 0, .light = 0, .temperature_set = 3 },
/* MacPro: temperature set 4 */
{ .accelerometer = 0, .light = 0, .temperature_set = 4 },
+/* iMac: temperature set 5 */
+ { .accelerometer = 0, .light = 0, .temperature_set = 5 },
};

/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1248,6 +1253,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
(void*)&applesmc_dmi_data[4]},
+ { applesmc_dmi_match, "Apple iMac", {
+ DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
+ DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
+ (void*)&applesmc_dmi_data[5]},
{ .ident = NULL }
};


2008-07-29 23:56:19

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 1/2] Support for Intel iMac in applesmc

On Tue, 29 Jul 2008 23:02:15 +0800
Nicolas Boichat <[email protected]> wrote:

> Hi all,
>
> Roberto De Ioris wrote:
> > Hi all, this patch (2.6.26 vanilla) add supports for fans and
> > temperature sensors on intel iMac.
> >
> > Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors:
> >
> Here is a slightly modified version (Andrew realigned the sensors list).
>
> Mark: If the MAINTAINERS file is correct, it should go in your git tree,
> right?

Mark's been pretty quiet lately. I put this patch in my "to be merged
into 2.6.27, by me if necessary" list.

2008-07-29 23:59:03

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 2/2] applesmc: add support for Macbook v3.

On Tue, 29 Jul 2008 23:07:42 +0800
Nicolas Boichat <[email protected]> wrote:

>
> This patches adds support for Macbook v3 (sensors and accelerometer).

Anally changed to "Add support for ...". There is no need to put the
text "This patch ..." in a changelog.

> From: guilherme m. schroeder <[email protected]>
> Signed-off-by: Nicolas Boichat <[email protected]>

Nope. The way to signify authorship is to put a From: line right at
the very start of the email. If that line is missing, we'll fall back
to using the email headers to determins the authorship.