Re: hwmon: (coretemp) Simplify package management

From: Dave Jones
Date: Wed Dec 28 2016 - 17:39:39 EST


On Wed, Dec 14, 2016 at 12:58:38AM +0000, Linux Kernel wrote:
> Web: https://git.kernel.org/torvalds/c/712668460594294d74c13f2a023398a597fbe95f
> Commit: 712668460594294d74c13f2a023398a597fbe95f
> Parent: 2195c31b127def509c806fe8a9d3b4092a28ce31
> Refname: refs/heads/master
> Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> AuthorDate: Tue Nov 22 17:42:06 2016 +0000
> Committer: Guenter Roeck <linux@xxxxxxxxxxxx>
> CommitDate: Fri Dec 9 21:54:13 2016 -0800
>
> hwmon: (coretemp) Simplify package management
>
> Keeping track of the per package platform devices requires an extra object,
> which is held in a linked list.
>
> The maximum number of packages is known at init() time. So the extra object
> and linked list management can be replaced by an array of platform device
> pointers in which the per package devices pointers can be stored. Lookup
> becomes a simple array lookup instead of a list walk.
>
> The mutex protecting the list can be removed as well because the array is
> only accessed from cpu hotplug callbacks which are already serialized.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>


> 1 file changed, 38 insertions(+), 82 deletions(-)
>
> diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
> index c364bfd..3ac4c03 100644
> --- a/drivers/hwmon/coretemp.c
> +++ b/drivers/hwmon/coretemp.c
> @@ -127,7 +122,7 @@ static ssize_t show_label(struct device *dev,
> struct temp_data *tdata = pdata->core_data[attr->index];
>
> if (tdata->is_pkg_data)
> - return sprintf(buf, "Physical id %u\n", pdata->phys_proc_id);
> + return sprintf(buf, "Package id %u\n", pdata->pkg_id);
>
> return sprintf(buf, "Core %u\n", tdata->cpu_core_id);
> }


This is breakage of a userspace ABI.
Fixing up my mrtg config to cope was simple enough, but do we want to
force everyone to have to do that if they upgrade their kernel ?

Dave