public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hwmon: applesmc: Add support for Macbook Pro 3
@ 2008-09-23 17:30 Henrik Rydberg
  2008-09-23 20:35 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Henrik Rydberg @ 2008-09-23 17:30 UTC (permalink / raw)
  To: akpm, Nicolas Boichat, lm-sensors; +Cc: linux-kernel

This patch adds temperature sensor support for Macbook Pro 3.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
---
 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 631d31c..321dc82 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -110,6 +110,9 @@ static const char* temperature_sensors_sets[][36] = {
 /* Set 8: Macbook Pro 4,1 (Penryn) */
 	{ "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P", "Th0H",
 	  "Th1H", "Th2H", "Tm0P", "Ts0P", NULL },
+/* Set 9: Macbook Pro 3,1 (Santa Rosa) */
+	{ "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P",
+	  "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL },
 };

 /* List of keys used to read/write fan speeds */
@@ -1269,6 +1272,8 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {
 	{ .accelerometer = 1, .light = 1, .temperature_set = 7 },
 /* MacBook Pro 4: accelerometer, backlight and temperature set 8 */
 	{ .accelerometer = 1, .light = 1, .temperature_set = 8 },
+/* MacBook Pro 3: accelerometer, backlight and temperature set 9 */
+	{ .accelerometer = 1, .light = 1, .temperature_set = 9 },
 };

 /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1278,6 +1283,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
 	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
 	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") },
 		(void*)&applesmc_dmi_data[7]},
+	{ applesmc_dmi_match, "Apple MacBook Pro 3", {
+	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
+	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3") },
+		&applesmc_dmi_data[9]},
 	{ applesmc_dmi_match, "Apple MacBook Pro 4", {
 	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
 	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") },
-- 
1.5.6.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] hwmon: applesmc: Add support for Macbook Pro 3
  2008-09-23 17:30 [PATCH] hwmon: applesmc: Add support for Macbook Pro 3 Henrik Rydberg
@ 2008-09-23 20:35 ` Andrew Morton
  2008-09-23 21:34   ` Henrik Rydberg
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2008-09-23 20:35 UTC (permalink / raw)
  To: Henrik Rydberg; +Cc: nicolas, lm-sensors, linux-kernel

On Tue, 23 Sep 2008 19:30:27 +0200
Henrik Rydberg <rydberg@euromail.se> wrote:

> This patch adds temperature sensor support for Macbook Pro 3.

For some reason I keep on having to fix rejects in
applesmc_whitelist[].

Here's what I now have:

/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
 * So we need to put "Apple MacBook Pro" before "Apple MacBook". */
static __initdata struct dmi_system_id applesmc_whitelist[] = {
	{ applesmc_dmi_match, "Apple MacBook Air", {
	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") },
		&applesmc_dmi_data[7]},
	{ applesmc_dmi_match, "Apple MacBook Pro 4", {
	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") },
		&applesmc_dmi_data[8]},
	{ applesmc_dmi_match, "Apple MacBook Pro 3", {
	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3") },
		&applesmc_dmi_data[9]},
	{ applesmc_dmi_match, "Apple MacBook Pro", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBookPro") },
		&applesmc_dmi_data[0]},
	{ applesmc_dmi_match, "Apple MacBook (v2)", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook2") },
		&applesmc_dmi_data[1]},
	{ applesmc_dmi_match, "Apple MacBook (v3)", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") },
		&applesmc_dmi_data[6]},
	{ applesmc_dmi_match, "Apple MacBook", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") },
		&applesmc_dmi_data[2]},
	{ applesmc_dmi_match, "Apple Macmini", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"Macmini") },
		&applesmc_dmi_data[3]},
	{ applesmc_dmi_match, "Apple MacPro2", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
		&applesmc_dmi_data[4]},
	{ applesmc_dmi_match, "Apple iMac", {
	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
	  DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
		&applesmc_dmi_data[5]},
	{ .ident = NULL }
};

>From my reading, we're still OK wrt the prefix-based string matching. 
But please do double-chck this.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] hwmon: applesmc: Add support for Macbook Pro 3
  2008-09-23 20:35 ` Andrew Morton
@ 2008-09-23 21:34   ` Henrik Rydberg
  0 siblings, 0 replies; 3+ messages in thread
From: Henrik Rydberg @ 2008-09-23 21:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: nicolas, lm-sensors, linux-kernel

Andrew Morton wrote:
> On Tue, 23 Sep 2008 19:30:27 +0200
> Henrik Rydberg <rydberg@euromail.se> wrote:
> 
>> This patch adds temperature sensor support for Macbook Pro 3.
> 
> For some reason I keep on having to fix rejects in
> applesmc_whitelist[].
> 

I have also experienced that problem. Odd. Please see my comment below.

Thanks,
Henrik

-----

> Here's what I now have:
> 
> /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
>  * So we need to put "Apple MacBook Pro" before "Apple MacBook". */
> static __initdata struct dmi_system_id applesmc_whitelist[] = {
> 	{ applesmc_dmi_match, "Apple MacBook Air", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") },
> 		&applesmc_dmi_data[7]},
> 	{ applesmc_dmi_match, "Apple MacBook Pro 4", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") },
> 		&applesmc_dmi_data[8]},
> 	{ applesmc_dmi_match, "Apple MacBook Pro 3", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3") },
> 		&applesmc_dmi_data[9]},

The two entries above are in reversed order in my tree, but
as you say, it does not matter.

> 	{ applesmc_dmi_match, "Apple MacBook Pro", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBookPro") },
> 		&applesmc_dmi_data[0]},
> 	{ applesmc_dmi_match, "Apple MacBook (v2)", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook2") },
> 		&applesmc_dmi_data[1]},
> 	{ applesmc_dmi_match, "Apple MacBook (v3)", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") },
> 		&applesmc_dmi_data[6]},
> 	{ applesmc_dmi_match, "Apple MacBook", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") },
> 		&applesmc_dmi_data[2]},
> 	{ applesmc_dmi_match, "Apple Macmini", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"Macmini") },
> 		&applesmc_dmi_data[3]},
> 	{ applesmc_dmi_match, "Apple MacPro2", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
> 		&applesmc_dmi_data[4]},
> 	{ applesmc_dmi_match, "Apple iMac", {
> 	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
> 	  DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
> 		&applesmc_dmi_data[5]},
> 	{ .ident = NULL }
> };
> 
> From my reading, we're still OK wrt the prefix-based string matching. 
> But please do double-chck this.
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-23 21:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-23 17:30 [PATCH] hwmon: applesmc: Add support for Macbook Pro 3 Henrik Rydberg
2008-09-23 20:35 ` Andrew Morton
2008-09-23 21:34   ` Henrik Rydberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox