tree:
https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
devfreq-testing-qcom-l2
head: 0710a546fe23fc744371ae2eaab3877a2678f647
commit: f3ff8a27ab2f41bffcc6d620e6f475a7a8822ccf [1/3] PM / devfreq: Add new up_threshold
and down_differential sysfs attrs
config: x86_64-randconfig-a004-20210517 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
a80a5036a1f6b9a9eb4038b30458f9ab349efff8)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git/commit/...
git remote add chanwoo
https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
git fetch --no-tags chanwoo devfreq-testing-qcom-l2
git checkout f3ff8a27ab2f41bffcc6d620e6f475a7a8822ccf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from drivers/devfreq/governor_performance.c:9:
> include/linux/devfreq.h:117:2: error: type name requires a
specifier or qualifier
* @up_threshold: If the load is over this value,
the frequency jumps.
^
> include/linux/devfreq.h:117:4: error: expected member name or
';' after declaration specifiers
* @up_threshold: If the load is
over this value, the frequency jumps.
^
> include/linux/devfreq.h:117:3: error: expected ';' at end
of declaration list
* @up_threshold: If the load is over this value, the
frequency jumps.
^
;
3 errors generated.
--
In file included from drivers/devfreq/devfreq.c:14:
In file included from include/linux/devfreq_cooling.h:13:
> include/linux/devfreq.h:117:2: error: type name requires a
specifier or qualifier
* @up_threshold: If the load is over this value,
the frequency jumps.
^
> include/linux/devfreq.h:117:4: error: expected member name or
';' after declaration specifiers
* @up_threshold: If the load is
over this value, the frequency jumps.
^
> include/linux/devfreq.h:117:3: error: expected ';' at end
of declaration list
* @up_threshold: If the load is over this value, the
frequency jumps.
^
;
> drivers/devfreq/devfreq.c:1854:43: error: no member named
'up_threshold' in 'struct devfreq_dev_profile'
return
sprintf(buf, "%d\n", df->profile->up_threshold
~~~~~~~~~~~ ^
drivers/devfreq/devfreq.c:1855:21: error: no member named 'up_threshold' in
'struct devfreq_dev_profile'
? df->profile->up_threshold
~~~~~~~~~~~ ^
drivers/devfreq/devfreq.c:1887:15: error: no member named 'up_threshold' in
'struct devfreq_dev_profile'
df->profile->up_threshold = value;
~~~~~~~~~~~ ^
drivers/devfreq/devfreq.c:1930:30: error: no member named 'up_threshold' in
'struct devfreq_dev_profile'
up_threshold = df->profile->up_threshold
~~~~~~~~~~~ ^
drivers/devfreq/devfreq.c:1931:20: error: no member named 'up_threshold' in
'struct devfreq_dev_profile'
? df->profile->up_threshold
~~~~~~~~~~~ ^
drivers/devfreq/devfreq.c:2059:37: error: no member named 'up_threshold' in
'struct devfreq_dev_profile'
up_threshold = devfreq->profile->up_threshold
~~~~~~~~~~~~~~~~ ^
drivers/devfreq/devfreq.c:2060:26: error: no member named 'up_threshold' in
'struct devfreq_dev_profile'
? devfreq->profile->up_threshold
~~~~~~~~~~~~~~~~ ^
10 errors generated.
--
In file included from drivers/devfreq/governor_simpleondemand.c:11:
> include/linux/devfreq.h:117:2: error: type name requires a
specifier or qualifier
* @up_threshold: If the load is over this value,
the frequency jumps.
^
> include/linux/devfreq.h:117:4: error: expected member name or
';' after declaration specifiers
* @up_threshold: If the load is
over this value, the frequency jumps.
^
> include/linux/devfreq.h:117:3: error: expected ';' at end
of declaration list
* @up_threshold: If the load is over this value, the
frequency jumps.
^
;
> drivers/devfreq/governor_simpleondemand.c:30:19: error: no member
named 'up_threshold' in 'struct devfreq_dev_profile'
if
(df->profile->up_threshold)
~~~~~~~~~~~ ^
drivers/devfreq/governor_simpleondemand.c:31:35: error: no member named
'up_threshold' in 'struct devfreq_dev_profile'
dfso_upthreshold = df->profile->up_threshold;
~~~~~~~~~~~ ^
5 errors generated.
vim +117 include/linux/devfreq.h
73
74 /**
75 * struct devfreq_dev_profile - Devfreq's user device profile
76 * @initial_freq: The operating frequency when devfreq_add_device() is
77 * called.
78 * @polling_ms: The polling interval in ms. 0 disables polling.
79 * @timer: Timer type is either deferrable or delayed timer.
80 * @target: The device should set its operating frequency at
81 * freq or lowest-upper-than-freq value. If freq is
82 * higher than any operable frequency, set maximum.
83 * Before returning, target function should set
84 * freq at the current frequency.
85 * The "flags" parameter's possible values are
86 * explained above with "DEVFREQ_FLAG_*" macros.
87 * @get_dev_status: The device should provide the current performance
88 * status to devfreq. Governors are recommended not to
89 * use this directly. Instead, governors are recommended
90 * to use devfreq_update_stats() along with
91 * devfreq.last_status.
92 * @get_cur_freq: The device should provide the current frequency
93 * at which it is operating.
94 * @exit: An optional callback that is called when devfreq
95 * is removing the devfreq object due to error or
96 * from devfreq_remove_device() call. If the user
97 * has registered devfreq->nb at a notifier-head,
98 * this is the time to unregister it.
99 * @freq_table: Optional list of frequencies to support statistics
100 * and freq_table must be generated in ascending order.
101 * @max_state: The size of freq_table.
102 *
103 * @is_cooling_device: A self-explanatory boolean giving the device a
104 * cooling effect property.
105 * @up_threshold: If the load is over this value, the frequency jumps.
106 * Specify 0 to use the default. Valid value = 0 to 100.
107 * @down_differential: If the load is under upthreshold - downdifferential,
108 * the governor may consider slowing the frequency down.
109 * Specify 0 to use the default. Valid value = 0 to 100.
110 * downdifferential < upthreshold must hold.
111 */
112 struct devfreq_dev_profile {
113 unsigned long initial_freq;
114 unsigned int polling_ms;
115 enum devfreq_timer timer;
116 bool is_cooling_device;
117 * @up_threshold: If the load is over this value, the frequency
jumps.
118 * Specify 0 to use the default. Valid value = 0 to 100.
119 * @down_differential: If the load is under upthreshold - downdifferential,
120 * the governor may consider slowing the frequency down.
121 * Specify 0 to use the default. Valid value = 0 to 100.
122 * downdifferential < upthreshold must hold.
123 unsigned int up_threshold;
124 unsigned int down_differential;
125
126 int (*target)(struct device *dev, unsigned long *freq, u32 flags);
127 int (*get_dev_status)(struct device *dev,
128 struct devfreq_dev_status *stat);
129 int (*get_cur_freq)(struct device *dev, unsigned long *freq);
130 void (*exit)(struct device *dev);
131
132 unsigned long *freq_table;
133 unsigned int max_state;
134 };
135
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org