diff mbox

[v1] hwmon, via-cputem: support new centaur CPUs

Message ID 1522305403-21009-1-git-send-email-davidwang@zhaoxin.com (mailing list archive)
State Changes Requested
Headers show

Commit Message

davidwang March 29, 2018, 6:36 a.m. UTC
Newer centaur CPUs(Family == 7) also support this cpu temperature sensor.

Signed-off-by: David Wang <davidwang@zhaoxin.com>
---
 drivers/hwmon/via-cputemp.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Guenter Roeck March 29, 2018, 1:42 p.m. UTC | #1
On 03/28/2018 11:36 PM, David Wang wrote:
> Newer centaur CPUs(Family == 7) also support this cpu temperature sensor.
> 
> Signed-off-by: David Wang <davidwang@zhaoxin.com>
> ---

FWIW, this would be v2, not v1, and a changelog would be appreciated.

>   drivers/hwmon/via-cputemp.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/hwmon/via-cputemp.c b/drivers/hwmon/via-cputemp.c
> index 07a0cb0..2f5bd50 100644
> --- a/drivers/hwmon/via-cputemp.c
> +++ b/drivers/hwmon/via-cputemp.c
> @@ -136,6 +136,11 @@ static int via_cputemp_probe(struct platform_device *pdev)
>   	data->id = pdev->id;
>   	data->name = "via_cputemp";
>   
> +	if (c->x86 == 7) {
> +		data->msr_temp = 0x1423;
> +		goto test_access;
> +	}

Please rework to not require a goto. Something like

	if (c->x86 == 7) {
		data->msr_temp = 0x1423;
	} else switch (c->x86_model) {
		...
	}

should do.

Thanks,
Guenter

> +
>   	switch (c->x86_model) {
>   	case 0xA:
>   		/* C7 A */
> @@ -152,6 +157,7 @@ static int via_cputemp_probe(struct platform_device *pdev)
>   		return -ENODEV;
>   	}
>   
> +test_access:
>   	/* test if we can access the TEMPERATURE MSR */
>   	err = rdmsr_safe_on_cpu(data->id, data->msr_temp, &eax, &edx);
>   	if (err) {
> @@ -283,6 +289,7 @@ static int via_cputemp_down_prep(unsigned int cpu)
>   	{ X86_VENDOR_CENTAUR, 6, 0xa, }, /* C7 A */
>   	{ X86_VENDOR_CENTAUR, 6, 0xd, }, /* C7 D */
>   	{ X86_VENDOR_CENTAUR, 6, 0xf, }, /* Nano */
> +	{ X86_VENDOR_CENTAUR, 7, X86_MODEL_ANY, },
>   	{}
>   };
>   MODULE_DEVICE_TABLE(x86cpu, cputemp_ids);
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/hwmon/via-cputemp.c b/drivers/hwmon/via-cputemp.c
index 07a0cb0..2f5bd50 100644
--- a/drivers/hwmon/via-cputemp.c
+++ b/drivers/hwmon/via-cputemp.c
@@ -136,6 +136,11 @@  static int via_cputemp_probe(struct platform_device *pdev)
 	data->id = pdev->id;
 	data->name = "via_cputemp";
 
+	if (c->x86 == 7) {
+		data->msr_temp = 0x1423;
+		goto test_access;
+	}
+
 	switch (c->x86_model) {
 	case 0xA:
 		/* C7 A */
@@ -152,6 +157,7 @@  static int via_cputemp_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
+test_access:
 	/* test if we can access the TEMPERATURE MSR */
 	err = rdmsr_safe_on_cpu(data->id, data->msr_temp, &eax, &edx);
 	if (err) {
@@ -283,6 +289,7 @@  static int via_cputemp_down_prep(unsigned int cpu)
 	{ X86_VENDOR_CENTAUR, 6, 0xa, }, /* C7 A */
 	{ X86_VENDOR_CENTAUR, 6, 0xd, }, /* C7 D */
 	{ X86_VENDOR_CENTAUR, 6, 0xf, }, /* Nano */
+	{ X86_VENDOR_CENTAUR, 7, X86_MODEL_ANY, },
 	{}
 };
 MODULE_DEVICE_TABLE(x86cpu, cputemp_ids);