[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150828100555.GA2032@hr-slim.amd.com>
Date: Fri, 28 Aug 2015 18:05:57 +0800
From: Huang Rui <ray.huang@....com>
To: Guenter Roeck <linux@...ck-us.net>
CC: Borislav Petkov <bp@...e.de>, Jean Delvare <jdelvare@...e.de>,
"Andy Lutomirski" <luto@...capital.net>,
Andreas Herrmann <herrmann.der.user@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
"Peter Zijlstra" <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Len Brown <lenb@...nel.org>,
John Stultz <john.stultz@...aro.org>,
Frédéric Weisbecker <fweisbec@...il.com>,
<lm-sensors@...sensors.org>, <linux-kernel@...r.kernel.org>,
<x86@...nel.org>,
Andreas Herrmann <herrmann.der.user@...glemail.com>,
Aravind Gopalakrishnan <Aravind.Gopalakrishnan@....com>,
Borislav Petkov <bp@...en8.de>,
"Fengguang Wu" <fengguang.wu@...el.com>,
Aaron Lu <aaron.lu@...el.com>, Tony Li <tony.li@....com>
Subject: Re: [PATCH 03/15] hwmon, fam15h_power: refactor attributes for
dynamically added
On Thu, Aug 27, 2015 at 07:46:18AM -0700, Guenter Roeck wrote:
> On 08/27/2015 01:07 AM, Huang Rui wrote:
> >
> >diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
> >index 820adf1..65ffb06 100644
> >--- a/drivers/hwmon/fam15h_power.c
> >+++ b/drivers/hwmon/fam15h_power.c
> >@@ -41,6 +41,8 @@ MODULE_LICENSE("GPL");
> > #define REG_TDP_RUNNING_AVERAGE 0xe0
> > #define REG_TDP_LIMIT3 0xe8
> >
> >+#define FAM15H_MIN_POWER_GROUPS 2
>
> This should be something like FAM15H_MIN_NUM_ATTRS.
> There is only one group with a variable number of attributes.
>
Right, it should be attribute. I will rename this macro.
> >+ n = 0;
> >+ fam15h_power_attrs[n++] = &dev_attr_power1_crit.attr;
> >+ if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model <= 0xf)
> >+ fam15h_power_attrs[n++] = &dev_attr_power1_input.attr;
> >+
> >+ fam15h_power_group.attrs = fam15h_power_attrs;
> >+
> Assuming this will be called for each CPU in a multi-CPU system,
> this will be overwritten each time a new CPU comes online.
> fam15h_power_group and fam15h_power_groups probably need to be moved
> into fam15h_power_data to avoid that. In essence, there should only
> be read-only static variables. Everything else should be allocated.
>
Yes, setting fam15h_power_group as static and not const would cause to
overwrite in multi-CPU platforms. I don't have to set it as read-only
because I use dynamical attributes. :)
I will move them into fam15h_power_data at v2.
> >+ return 0;
> >+}
> >
> > static bool should_load_on_this_node(struct pci_dev *f4)
> > {
> >@@ -221,6 +229,9 @@ static int fam15h_power_probe(struct pci_dev *pdev,
> > if (!data)
> > return -ENOMEM;
> >
> >+ if (fam15h_power_init_attrs(pdev))
> >+ return -ENOMEM;
>
> This should return the error code from fam15h_power_init_attrs().
>
Actually, I do this at the following patch of this serial. But never
mind, I will update it here at v2.
Thanks,
Rui
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists