Message ID | 20161027214131.1725-2-d-gerlach@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Dave, [auto build test ERROR on robh/for-next] [also build test ERROR on v4.9-rc2] [cannot apply to pm/linux-next next-20161027] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Dave-Gerlach/cpufreq-Introduce-TI-CPUFreq-OPP-Driver/20161028-054633 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All errors (new ones prefixed by >>): drivers/base/power/opp/of.c:184:6: error: redefinition of 'dev_pm_opp_of_remove_table' void dev_pm_opp_of_remove_table(struct device *dev) ^ In file included from drivers/base/power/opp/opp.h:21:0, from drivers/base/power/opp/of.c:22: include/linux/pm_opp.h:218:20: note: previous definition of 'dev_pm_opp_of_remove_table' was here static inline void dev_pm_opp_of_remove_table(struct device *dev) ^ >> drivers/base/power/opp/of.c:191:21: error: redefinition of 'dev_pm_opp_of_get_opp_desc_node' struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) ^ In file included from drivers/base/power/opp/opp.h:21:0, from drivers/base/power/opp/of.c:22: include/linux/pm_opp.h:236:35: note: previous definition of 'dev_pm_opp_of_get_opp_desc_node' was here static inline struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) ^ drivers/base/power/opp/of.c:434:5: error: redefinition of 'dev_pm_opp_of_add_table' int dev_pm_opp_of_add_table(struct device *dev) ^ In file included from drivers/base/power/opp/opp.h:21:0, from drivers/base/power/opp/of.c:22: include/linux/pm_opp.h:213:19: note: previous definition of 'dev_pm_opp_of_add_table' was here static inline int dev_pm_opp_of_add_table(struct device *dev) ^ drivers/base/power/opp/of.c:474:6: error: redefinition of 'dev_pm_opp_of_cpumask_remove_table' void dev_pm_opp_of_cpumask_remove_table(const struct cpumask *cpumask) ^ In file included from drivers/base/power/opp/opp.h:21:0, from drivers/base/power/opp/of.c:22: include/linux/pm_opp.h:227:20: note: previous definition of 'dev_pm_opp_of_cpumask_remove_table' was here static inline void dev_pm_opp_of_cpumask_remove_table(const struct cpumask *cpumask) ^ drivers/base/power/opp/of.c:492:5: error: redefinition of 'dev_pm_opp_of_cpumask_add_table' int dev_pm_opp_of_cpumask_add_table(const struct cpumask *cpumask) ^ In file included from drivers/base/power/opp/opp.h:21:0, from drivers/base/power/opp/of.c:22: include/linux/pm_opp.h:222:19: note: previous definition of 'dev_pm_opp_of_cpumask_add_table' was here static inline int dev_pm_opp_of_cpumask_add_table(const struct cpumask *cpumask) ^ drivers/base/power/opp/of.c:545:5: error: redefinition of 'dev_pm_opp_of_get_sharing_cpus' int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, ^ In file included from drivers/base/power/opp/opp.h:21:0, from drivers/base/power/opp/of.c:22: include/linux/pm_opp.h:231:19: note: previous definition of 'dev_pm_opp_of_get_sharing_cpus' was here static inline int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask) ^ vim +/dev_pm_opp_of_get_opp_desc_node +191 drivers/base/power/opp/of.c 178 * Locking: The internal opp_table and opp structures are RCU protected. 179 * Hence this function indirectly uses RCU updater strategy with mutex locks 180 * to keep the integrity of the internal data structures. Callers should ensure 181 * that this function is *NOT* called under RCU protection or in contexts where 182 * mutex cannot be locked. 183 */ > 184 void dev_pm_opp_of_remove_table(struct device *dev) 185 { 186 _dev_pm_opp_remove_table(dev, false); 187 } 188 EXPORT_SYMBOL_GPL(dev_pm_opp_of_remove_table); 189 190 /* Returns opp descriptor node for a device, caller must do of_node_put() */ > 191 struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) 192 { 193 /* 194 * TODO: Support for multiple OPP tables. --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
On 27-10-16, 16:41, Dave Gerlach wrote: > Move _of_get_opp_desc_node into include/linux/pm_opp.h and rename it > dev_pm_opp_of_get_opp_desc_node to allow other drivers, such as platform > OPP and cpufreq drivers, to make use of it. > > Signed-off-by: Dave Gerlach <d-gerlach@ti.com> > --- > drivers/base/power/opp/of.c | 8 ++++---- > drivers/base/power/opp/opp.h | 1 - > include/linux/pm_opp.h | 6 ++++++ > 3 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/drivers/base/power/opp/of.c b/drivers/base/power/opp/of.c > index 5552211e6fcd..215f5a538c78 100644 > --- a/drivers/base/power/opp/of.c > +++ b/drivers/base/power/opp/of.c > @@ -198,7 +198,7 @@ void dev_pm_opp_of_remove_table(struct device *dev) > EXPORT_SYMBOL_GPL(dev_pm_opp_of_remove_table); > > /* Returns opp descriptor node for a device, caller must do of_node_put() */ > -struct device_node *_of_get_opp_desc_node(struct device *dev) > +struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) Export as well ?
On 10/27/2016 11:05 PM, Viresh Kumar wrote: > On 27-10-16, 16:41, Dave Gerlach wrote: >> Move _of_get_opp_desc_node into include/linux/pm_opp.h and rename it >> dev_pm_opp_of_get_opp_desc_node to allow other drivers, such as platform >> OPP and cpufreq drivers, to make use of it. >> >> Signed-off-by: Dave Gerlach <d-gerlach@ti.com> >> --- >> drivers/base/power/opp/of.c | 8 ++++---- >> drivers/base/power/opp/opp.h | 1 - >> include/linux/pm_opp.h | 6 ++++++ >> 3 files changed, 10 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/base/power/opp/of.c b/drivers/base/power/opp/of.c >> index 5552211e6fcd..215f5a538c78 100644 >> --- a/drivers/base/power/opp/of.c >> +++ b/drivers/base/power/opp/of.c >> @@ -198,7 +198,7 @@ void dev_pm_opp_of_remove_table(struct device *dev) >> EXPORT_SYMBOL_GPL(dev_pm_opp_of_remove_table); >> >> /* Returns opp descriptor node for a device, caller must do of_node_put() */ >> -struct device_node *_of_get_opp_desc_node(struct device *dev) >> +struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) > > Export as well ? > Whoops, yes will need to do that. I'll give some time for comments on any other patches before sending v3. Thanks, Dave
diff --git a/drivers/base/power/opp/of.c b/drivers/base/power/opp/of.c index 5552211e6fcd..215f5a538c78 100644 --- a/drivers/base/power/opp/of.c +++ b/drivers/base/power/opp/of.c @@ -198,7 +198,7 @@ void dev_pm_opp_of_remove_table(struct device *dev) EXPORT_SYMBOL_GPL(dev_pm_opp_of_remove_table); /* Returns opp descriptor node for a device, caller must do of_node_put() */ -struct device_node *_of_get_opp_desc_node(struct device *dev) +struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) { /* * TODO: Support for multiple OPP tables. @@ -450,7 +450,7 @@ int dev_pm_opp_of_add_table(struct device *dev) * OPPs have two version of bindings now. The older one is deprecated, * try for the new binding first. */ - opp_np = _of_get_opp_desc_node(dev); + opp_np = dev_pm_opp_of_get_opp_desc_node(dev); if (!opp_np) { /* * Try old-deprecated bindings for backward compatibility with @@ -560,7 +560,7 @@ int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, int cpu, ret = 0; /* Get OPP descriptor node */ - np = _of_get_opp_desc_node(cpu_dev); + np = dev_pm_opp_of_get_opp_desc_node(cpu_dev); if (!np) { dev_dbg(cpu_dev, "%s: Couldn't find cpu_dev node.\n", __func__); return -ENOENT; @@ -585,7 +585,7 @@ int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, } /* Get OPP descriptor node */ - tmp_np = _of_get_opp_desc_node(tcpu_dev); + tmp_np = dev_pm_opp_of_get_opp_desc_node(tcpu_dev); if (!tmp_np) { dev_err(tcpu_dev, "%s: Couldn't find tcpu_dev node.\n", __func__); diff --git a/drivers/base/power/opp/opp.h b/drivers/base/power/opp/opp.h index fabd5ca1a083..96cd30ac6c1d 100644 --- a/drivers/base/power/opp/opp.h +++ b/drivers/base/power/opp/opp.h @@ -190,7 +190,6 @@ struct opp_table { /* Routines internal to opp core */ struct opp_table *_find_opp_table(struct device *dev); struct opp_device *_add_opp_dev(const struct device *dev, struct opp_table *opp_table); -struct device_node *_of_get_opp_desc_node(struct device *dev); void _dev_pm_opp_remove_table(struct device *dev, bool remove_all); struct dev_pm_opp *_allocate_opp(struct device *dev, struct opp_table **opp_table); int _opp_add(struct device *dev, struct dev_pm_opp *new_opp, struct opp_table *opp_table); diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h index bca26157f5b6..9e8c138f55b7 100644 --- a/include/linux/pm_opp.h +++ b/include/linux/pm_opp.h @@ -208,6 +208,7 @@ void dev_pm_opp_of_remove_table(struct device *dev); int dev_pm_opp_of_cpumask_add_table(const struct cpumask *cpumask); void dev_pm_opp_of_cpumask_remove_table(const struct cpumask *cpumask); int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask); +struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev); #else static inline int dev_pm_opp_of_add_table(struct device *dev) { @@ -231,6 +232,11 @@ static inline int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, struct { return -ENOTSUPP; } + +static inline struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev) +{ + return NULL; +} #endif #endif /* __LINUX_OPP_H__ */
Move _of_get_opp_desc_node into include/linux/pm_opp.h and rename it dev_pm_opp_of_get_opp_desc_node to allow other drivers, such as platform OPP and cpufreq drivers, to make use of it. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> --- drivers/base/power/opp/of.c | 8 ++++---- drivers/base/power/opp/opp.h | 1 - include/linux/pm_opp.h | 6 ++++++ 3 files changed, 10 insertions(+), 5 deletions(-)