[zen:5.15/prjc 199/239] kernel/sched/alt_core.c:7144:5: warning: no previous prototype for function 'sched_group_set_shares'
by kernel test robot
tree: https://github.com/zen-kernel/zen-kernel 5.15/prjc
head: 88afbbeeefd1e9ceca6efea72562fca5fc546daf
commit: 5f4249233a80dbfc638ec1eaa9b68f1039399f66 [199/239] sched/alt: [Sync] 2f064a59a11f sched: Change task_struct::state
config: i386-randconfig-a005-20211118 (attached as .config)
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
# https://github.com/zen-kernel/zen-kernel/commit/5f4249233a80dbfc638ec1eaa...
git remote add zen https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen 5.15/prjc
git checkout 5f4249233a80dbfc638ec1eaa9b68f1039399f66
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
void resched_curr(struct rq *rq)
^
kernel/sched/alt_core.c:830:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void resched_curr(struct rq *rq)
^
static
kernel/sched/alt_core.c:853:6: warning: no previous prototype for function 'resched_cpu' [-Wmissing-prototypes]
void resched_cpu(int cpu)
^
kernel/sched/alt_core.c:853:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void resched_cpu(int cpu)
^
static
kernel/sched/alt_core.c:1053:6: warning: no previous prototype for function 'hrtick_start' [-Wmissing-prototypes]
void hrtick_start(struct rq *rq, u64 delay)
^
kernel/sched/alt_core.c:1053:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void hrtick_start(struct rq *rq, u64 delay)
^
static
kernel/sched/alt_core.c:1744:6: warning: no previous prototype for function 'sched_set_stop_task' [-Wmissing-prototypes]
void sched_set_stop_task(int cpu, struct task_struct *stop)
^
kernel/sched/alt_core.c:1744:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_set_stop_task(int cpu, struct task_struct *stop)
^
static
kernel/sched/alt_core.c:6229:6: warning: no previous prototype for function 'idle_task_exit' [-Wmissing-prototypes]
void idle_task_exit(void)
^
kernel/sched/alt_core.c:6229:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void idle_task_exit(void)
^
static
kernel/sched/alt_core.c:6439:5: warning: no previous prototype for function 'sched_cpu_activate' [-Wmissing-prototypes]
int sched_cpu_activate(unsigned int cpu)
^
kernel/sched/alt_core.c:6439:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int sched_cpu_activate(unsigned int cpu)
^
static
kernel/sched/alt_core.c:6478:5: warning: no previous prototype for function 'sched_cpu_deactivate' [-Wmissing-prototypes]
int sched_cpu_deactivate(unsigned int cpu)
^
kernel/sched/alt_core.c:6478:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int sched_cpu_deactivate(unsigned int cpu)
^
static
kernel/sched/alt_core.c:6542:5: warning: no previous prototype for function 'sched_cpu_starting' [-Wmissing-prototypes]
int sched_cpu_starting(unsigned int cpu)
^
kernel/sched/alt_core.c:6542:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int sched_cpu_starting(unsigned int cpu)
^
static
kernel/sched/alt_core.c:6562:5: warning: no previous prototype for function 'sched_cpu_wait_empty' [-Wmissing-prototypes]
int sched_cpu_wait_empty(unsigned int cpu)
^
kernel/sched/alt_core.c:6562:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int sched_cpu_wait_empty(unsigned int cpu)
^
static
kernel/sched/alt_core.c:6604:5: warning: no previous prototype for function 'sched_cpu_dying' [-Wmissing-prototypes]
int sched_cpu_dying(unsigned int cpu)
^
kernel/sched/alt_core.c:6604:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int sched_cpu_dying(unsigned int cpu)
^
static
kernel/sched/alt_core.c:6851:16: warning: variable 'preempt_disable_ip' set but not used [-Wunused-but-set-variable]
unsigned long preempt_disable_ip;
^
kernel/sched/alt_core.c:7046:20: warning: no previous prototype for function 'sched_create_group' [-Wmissing-prototypes]
struct task_group *sched_create_group(struct task_group *parent)
^
kernel/sched/alt_core.c:7046:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct task_group *sched_create_group(struct task_group *parent)
^
static
kernel/sched/alt_core.c:7057:6: warning: no previous prototype for function 'sched_online_group' [-Wmissing-prototypes]
void sched_online_group(struct task_group *tg, struct task_group *parent)
^
kernel/sched/alt_core.c:7057:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_online_group(struct task_group *tg, struct task_group *parent)
^
static
kernel/sched/alt_core.c:7068:6: warning: no previous prototype for function 'sched_destroy_group' [-Wmissing-prototypes]
void sched_destroy_group(struct task_group *tg)
^
kernel/sched/alt_core.c:7068:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_destroy_group(struct task_group *tg)
^
static
kernel/sched/alt_core.c:7074:6: warning: no previous prototype for function 'sched_offline_group' [-Wmissing-prototypes]
void sched_offline_group(struct task_group *tg)
^
kernel/sched/alt_core.c:7074:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_offline_group(struct task_group *tg)
^
static
>> kernel/sched/alt_core.c:7144:5: warning: no previous prototype for function 'sched_group_set_shares' [-Wmissing-prototypes]
int sched_group_set_shares(struct task_group *tg, unsigned long shares)
^
kernel/sched/alt_core.c:7144:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int sched_group_set_shares(struct task_group *tg, unsigned long shares)
^
static
kernel/sched/alt_core.c:7213:20: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.legacy_cftypes = cpu_legacy_files,
^~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:7212:20: note: previous initialization is here
.legacy_cftypes = cpu_files,
^~~~~~~~~
kernel/sched/alt_core.c:1014:19: warning: unused function 'hrtick_enabled' [-Wunused-function]
static inline int hrtick_enabled(struct rq *rq)
^
18 warnings generated.
vim +/sched_group_set_shares +7144 kernel/sched/alt_core.c
cb06db4ef97b1e Alfred Chen 2019-08-19 7073
cb06db4ef97b1e Alfred Chen 2019-08-19 @7074 void sched_offline_group(struct task_group *tg)
cb06db4ef97b1e Alfred Chen 2019-08-19 7075 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7076 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7077
cb06db4ef97b1e Alfred Chen 2019-08-19 7078 static inline struct task_group *css_tg(struct cgroup_subsys_state *css)
cb06db4ef97b1e Alfred Chen 2019-08-19 7079 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7080 return css ? container_of(css, struct task_group, css) : NULL;
cb06db4ef97b1e Alfred Chen 2019-08-19 7081 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7082
cb06db4ef97b1e Alfred Chen 2019-08-19 7083 static struct cgroup_subsys_state *
cb06db4ef97b1e Alfred Chen 2019-08-19 7084 cpu_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
cb06db4ef97b1e Alfred Chen 2019-08-19 7085 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7086 struct task_group *parent = css_tg(parent_css);
cb06db4ef97b1e Alfred Chen 2019-08-19 7087 struct task_group *tg;
cb06db4ef97b1e Alfred Chen 2019-08-19 7088
cb06db4ef97b1e Alfred Chen 2019-08-19 7089 if (!parent) {
cb06db4ef97b1e Alfred Chen 2019-08-19 7090 /* This is early initialization for the top cgroup */
cb06db4ef97b1e Alfred Chen 2019-08-19 7091 return &root_task_group.css;
cb06db4ef97b1e Alfred Chen 2019-08-19 7092 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7093
cb06db4ef97b1e Alfred Chen 2019-08-19 7094 tg = sched_create_group(parent);
cb06db4ef97b1e Alfred Chen 2019-08-19 7095 if (IS_ERR(tg))
cb06db4ef97b1e Alfred Chen 2019-08-19 7096 return ERR_PTR(-ENOMEM);
cb06db4ef97b1e Alfred Chen 2019-08-19 7097 return &tg->css;
cb06db4ef97b1e Alfred Chen 2019-08-19 7098 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7099
cb06db4ef97b1e Alfred Chen 2019-08-19 7100 /* Expose task group only after completing cgroup initialization */
cb06db4ef97b1e Alfred Chen 2019-08-19 7101 static int cpu_cgroup_css_online(struct cgroup_subsys_state *css)
cb06db4ef97b1e Alfred Chen 2019-08-19 7102 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7103 struct task_group *tg = css_tg(css);
cb06db4ef97b1e Alfred Chen 2019-08-19 7104 struct task_group *parent = css_tg(css->parent);
cb06db4ef97b1e Alfred Chen 2019-08-19 7105
cb06db4ef97b1e Alfred Chen 2019-08-19 7106 if (parent)
cb06db4ef97b1e Alfred Chen 2019-08-19 7107 sched_online_group(tg, parent);
cb06db4ef97b1e Alfred Chen 2019-08-19 7108 return 0;
cb06db4ef97b1e Alfred Chen 2019-08-19 7109 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7110
cb06db4ef97b1e Alfred Chen 2019-08-19 7111 static void cpu_cgroup_css_released(struct cgroup_subsys_state *css)
cb06db4ef97b1e Alfred Chen 2019-08-19 7112 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7113 struct task_group *tg = css_tg(css);
cb06db4ef97b1e Alfred Chen 2019-08-19 7114
cb06db4ef97b1e Alfred Chen 2019-08-19 7115 sched_offline_group(tg);
cb06db4ef97b1e Alfred Chen 2019-08-19 7116 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7117
cb06db4ef97b1e Alfred Chen 2019-08-19 7118 static void cpu_cgroup_css_free(struct cgroup_subsys_state *css)
cb06db4ef97b1e Alfred Chen 2019-08-19 7119 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7120 struct task_group *tg = css_tg(css);
cb06db4ef97b1e Alfred Chen 2019-08-19 7121
cb06db4ef97b1e Alfred Chen 2019-08-19 7122 /*
cb06db4ef97b1e Alfred Chen 2019-08-19 7123 * Relies on the RCU grace period between css_released() and this.
cb06db4ef97b1e Alfred Chen 2019-08-19 7124 */
cb06db4ef97b1e Alfred Chen 2019-08-19 7125 sched_free_group(tg);
cb06db4ef97b1e Alfred Chen 2019-08-19 7126 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7127
cb06db4ef97b1e Alfred Chen 2019-08-19 7128 static void cpu_cgroup_fork(struct task_struct *task)
cb06db4ef97b1e Alfred Chen 2019-08-19 7129 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7130 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7131
cb06db4ef97b1e Alfred Chen 2019-08-19 7132 static int cpu_cgroup_can_attach(struct cgroup_taskset *tset)
cb06db4ef97b1e Alfred Chen 2019-08-19 7133 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7134 return 0;
cb06db4ef97b1e Alfred Chen 2019-08-19 7135 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7136
cb06db4ef97b1e Alfred Chen 2019-08-19 7137 static void cpu_cgroup_attach(struct cgroup_taskset *tset)
cb06db4ef97b1e Alfred Chen 2019-08-19 7138 {
cb06db4ef97b1e Alfred Chen 2019-08-19 7139 }
cb06db4ef97b1e Alfred Chen 2019-08-19 7140
bc4407eb08bf3d Alfred Chen 2021-03-07 7141 #ifdef CONFIG_FAIR_GROUP_SCHED
bc4407eb08bf3d Alfred Chen 2021-03-07 7142 static DEFINE_MUTEX(shares_mutex);
bc4407eb08bf3d Alfred Chen 2021-03-07 7143
bc4407eb08bf3d Alfred Chen 2021-03-07 @7144 int sched_group_set_shares(struct task_group *tg, unsigned long shares)
bc4407eb08bf3d Alfred Chen 2021-03-07 7145 {
bc4407eb08bf3d Alfred Chen 2021-03-07 7146 /*
bc4407eb08bf3d Alfred Chen 2021-03-07 7147 * We can't change the weight of the root cgroup.
bc4407eb08bf3d Alfred Chen 2021-03-07 7148 */
bc4407eb08bf3d Alfred Chen 2021-03-07 7149 if (&root_task_group == tg)
bc4407eb08bf3d Alfred Chen 2021-03-07 7150 return -EINVAL;
bc4407eb08bf3d Alfred Chen 2021-03-07 7151
bc4407eb08bf3d Alfred Chen 2021-03-07 7152 shares = clamp(shares, scale_load(MIN_SHARES), scale_load(MAX_SHARES));
bc4407eb08bf3d Alfred Chen 2021-03-07 7153
bc4407eb08bf3d Alfred Chen 2021-03-07 7154 mutex_lock(&shares_mutex);
bc4407eb08bf3d Alfred Chen 2021-03-07 7155 if (tg->shares == shares)
bc4407eb08bf3d Alfred Chen 2021-03-07 7156 goto done;
bc4407eb08bf3d Alfred Chen 2021-03-07 7157
bc4407eb08bf3d Alfred Chen 2021-03-07 7158 tg->shares = shares;
bc4407eb08bf3d Alfred Chen 2021-03-07 7159 done:
bc4407eb08bf3d Alfred Chen 2021-03-07 7160 mutex_unlock(&shares_mutex);
bc4407eb08bf3d Alfred Chen 2021-03-07 7161 return 0;
bc4407eb08bf3d Alfred Chen 2021-03-07 7162 }
bc4407eb08bf3d Alfred Chen 2021-03-07 7163
:::::: The code at line 7144 was first introduced by commit
:::::: bc4407eb08bf3d99eac4643fe36809e4f987feb2 sched/alt: Implement fake cpu.shares for CGROUP
:::::: TO: Alfred Chen <cchalpha(a)gmail.com>
:::::: CC: Alfred Chen <cchalpha(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[android-common:android13-5.10 10184/16048] drivers/cpufreq/s3c24xx-cpufreq.c:270:12: warning: stack frame size (1056) exceeds limit (1024) in 's3c_cpufreq_target'
by kernel test robot
Hi Liangliang,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android13-5.10
head: c2a29c3b6e4e5f177d23d0d006b0bebe3e1bc600
commit: 372b24bad2a8e7994d0360c870f6e981e3f4bb8f [10184/16048] ANDROID: GKI: Add OEM data to mutex/rwsem
config: arm-buildonly-randconfig-r005-20211103 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 264d3b6d4e08401c5b50a85bd76e80b3461d77e6)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android13-5.10
git checkout 372b24bad2a8e7994d0360c870f6e981e3f4bb8f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/cpufreq/s3c24xx-cpufreq.c:88:19: warning: unused function 'closer' [-Wunused-function]
static inline int closer(unsigned int target, unsigned int n, unsigned int c)
^
>> drivers/cpufreq/s3c24xx-cpufreq.c:270:12: warning: stack frame size (1056) exceeds limit (1024) in 's3c_cpufreq_target' [-Wframe-larger-than]
static int s3c_cpufreq_target(struct cpufreq_policy *policy,
^
2 warnings generated.
vim +/s3c_cpufreq_target +270 drivers/cpufreq/s3c24xx-cpufreq.c
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 263
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 264 /* s3c_cpufreq_target
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 265 *
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 266 * called by the cpufreq core to adjust the frequency that the CPU
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 267 * is currently running at.
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 268 */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 269
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 @270 static int s3c_cpufreq_target(struct cpufreq_policy *policy,
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 271 unsigned int target_freq,
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 272 unsigned int relation)
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 273 {
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 274 struct cpufreq_frequency_table *pll;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 275 unsigned int index;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 276
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 277 /* avoid repeated calls which cause a needless amout of duplicated
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 278 * logging output (and CPU time as the calculation process is
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 279 * done) */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 280 if (target_freq == last_target)
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 281 return 0;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 282
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 283 last_target = target_freq;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 284
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 285 s3c_freq_dbg("%s: policy %p, target %u, relation %u\n",
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 286 __func__, policy, target_freq, relation);
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 287
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 288 if (ftab) {
d218ed773915a2 drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 289 index = cpufreq_frequency_table_target(policy, target_freq,
d218ed773915a2 drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 290 relation);
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 291
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 292 s3c_freq_dbg("%s: adjust %d to entry %d (%u)\n", __func__,
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 293 target_freq, index, ftab[index].frequency);
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 294 target_freq = ftab[index].frequency;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 295 }
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 296
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 297 target_freq *= 1000; /* convert target to Hz */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 298
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 299 /* find the settings for our new frequency */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 300
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 301 if (!pll_reg || cpu_cur.lock_pll) {
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 302 /* either we've not got any PLL values, or we've locked
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 303 * to the current one. */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 304 pll = NULL;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 305 } else {
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 306 struct cpufreq_policy tmp_policy;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 307
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 308 /* we keep the cpu pll table in Hz, to ensure we get an
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 309 * accurate value for the PLL output. */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 310
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 311 tmp_policy.min = policy->min * 1000;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 312 tmp_policy.max = policy->max * 1000;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 313 tmp_policy.cpu = policy->cpu;
7ab4aabbaa98fb drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 314 tmp_policy.freq_table = pll_reg;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 315
d218ed773915a2 drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 316 /* cpufreq_frequency_table_target returns the index
d218ed773915a2 drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 317 * of the table entry, not the value of
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 318 * the table entry's index field. */
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 319
d218ed773915a2 drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 320 index = cpufreq_frequency_table_target(&tmp_policy, target_freq,
d218ed773915a2 drivers/cpufreq/s3c24xx-cpufreq.c Viresh Kumar 2016-06-03 321 relation);
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 322 pll = pll_reg + index;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 323
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 324 s3c_freq_dbg("%s: target %u => %u\n",
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 325 __func__, target_freq, pll->frequency);
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 326
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 327 target_freq = pll->frequency;
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 328 }
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 329
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 330 return s3c_cpufreq_settarget(policy, target_freq, pll);
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 331 }
2e4ea6e8209e0c arch/arm/plat-s3c24xx/cpu-freq.c Ben Dooks 2009-07-30 332
:::::: The code at line 270 was first introduced by commit
:::::: 2e4ea6e8209e0c1d93c69c34c32002337b3f747e ARM: S3C24XX: CPUFREQ: Add core support.
:::::: TO: Ben Dooks <ben(a)simtec.co.uk>
:::::: CC: Ben Dooks <ben-linux(a)fluff.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
sound/core/control_led.c:492:22: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a90af8f15bdc9449ee2d24e1d73fa3f7e8633f81
commit: a135dfb5de1501327895729b4f513370d2555b4d ALSA: led control - add sysfs kcontrol LED marking layer
date: 8 months ago
config: sparc64-randconfig-s031-20211116 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a135dfb5de1501327895729b4f513370d2555b4d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sparc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> sound/core/control_led.c:492:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted snd_ctl_elem_iface_t [usertype] @@
sound/core/control_led.c:492:22: sparse: expected unsigned int
sound/core/control_led.c:492:22: sparse: got restricted snd_ctl_elem_iface_t [usertype]
sound/core/control_led.c:494:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted snd_ctl_elem_iface_t [usertype] @@
sound/core/control_led.c:494:22: sparse: expected unsigned int
sound/core/control_led.c:494:22: sparse: got restricted snd_ctl_elem_iface_t [usertype]
>> sound/core/control_led.c:523:49: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int *val @@ got restricted snd_ctl_elem_iface_t * @@
sound/core/control_led.c:523:49: sparse: expected unsigned int *val
sound/core/control_led.c:523:49: sparse: got restricted snd_ctl_elem_iface_t *
vim +492 sound/core/control_led.c
488
489 static char *parse_iface(char *s, unsigned int *val)
490 {
491 if (!strncasecmp(s, "card", 4))
> 492 *val = SNDRV_CTL_ELEM_IFACE_CARD;
493 else if (!strncasecmp(s, "mixer", 5))
494 *val = SNDRV_CTL_ELEM_IFACE_MIXER;
495 return find_eos(s);
496 }
497
498 /*
499 * These types of input strings are accepted:
500 *
501 * unsigned integer - numid (equivaled to numid=UINT)
502 * string - basic mixer name (equivalent to iface=MIXER,name=STR)
503 * numid=UINT
504 * [iface=MIXER,][device=UINT,][subdevice=UINT,]name=STR[,index=UINT]
505 */
506 static ssize_t set_led_id(struct snd_ctl_led_card *led_card, const char *buf, size_t count,
507 bool attach)
508 {
509 char buf2[256], *s;
510 size_t len = max(sizeof(s) - 1, count);
511 struct snd_ctl_elem_id id;
512 int err;
513
514 strncpy(buf2, buf, len);
515 buf2[len] = '\0';
516 memset(&id, 0, sizeof(id));
517 id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
518 s = buf2;
519 while (*s) {
520 if (!strncasecmp(s, "numid=", 6)) {
521 s = parse_uint(s + 6, &id.numid);
522 } else if (!strncasecmp(s, "iface=", 6)) {
> 523 s = parse_iface(s + 6, &id.iface);
524 } else if (!strncasecmp(s, "device=", 7)) {
525 s = parse_uint(s + 7, &id.device);
526 } else if (!strncasecmp(s, "subdevice=", 10)) {
527 s = parse_uint(s + 10, &id.subdevice);
528 } else if (!strncasecmp(s, "name=", 5)) {
529 s = parse_string(s + 5, id.name, sizeof(id.name));
530 } else if (!strncasecmp(s, "index=", 6)) {
531 s = parse_uint(s + 6, &id.index);
532 } else if (s == buf2) {
533 while (*s) {
534 if (*s < '0' || *s > '9')
535 break;
536 s++;
537 }
538 if (*s == '\0')
539 parse_uint(buf2, &id.numid);
540 else {
541 for (; *s >= ' '; s++);
542 *s = '\0';
543 strlcpy(id.name, buf2, sizeof(id.name));
544 }
545 break;
546 }
547 if (*s == ',')
548 s++;
549 }
550
551 err = snd_ctl_led_set_id(led_card->number, &id, led_card->led->group, attach);
552 if (err < 0)
553 return err;
554
555 return count;
556 }
557
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[snawrocki-clk:for-v5.17/next 4/4] drivers/clk/samsung/clk-exynos4.c:1265:37: error: 'hws' undeclared
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git for-v5.17/next
head: 4a7ec3a42270a1908c711e08a09117957ee75886
commit: 4a7ec3a42270a1908c711e08a09117957ee75886 [4/4] clk: samsung: update CPU clk registration
config: arc-randconfig-r043-20211119 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git/commit/...
git remote add snawrocki-clk https://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git
git fetch --no-tags snawrocki-clk for-v5.17/next
git checkout 4a7ec3a42270a1908c711e08a09117957ee75886
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/clk/samsung/
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 >>):
drivers/clk/samsung/clk-exynos4.c: In function 'exynos4_clk_init':
>> drivers/clk/samsung/clk-exynos4.c:1265:37: error: 'hws' undeclared (first use in this function)
1265 | if (clk_hw_get_rate(hws[CLK_FIN_PLL]) == 24000000) {
| ^~~
drivers/clk/samsung/clk-exynos4.c:1265:37: note: each undeclared identifier is reported only once for each function it appears in
--
drivers/clk/samsung/clk-exynos5250.c: In function 'exynos5250_clk_init':
>> drivers/clk/samsung/clk-exynos5250.c:807:29: error: 'hws' undeclared (first use in this function)
807 | if (clk_hw_get_rate(hws[CLK_FIN_PLL]) == 24 * MHZ) {
| ^~~
drivers/clk/samsung/clk-exynos5250.c:807:29: note: each undeclared identifier is reported only once for each function it appears in
vim +/hws +1265 drivers/clk/samsung/clk-exynos4.c
4a7ec3a42270a1 Will McVicker 2021-10-15 1240
e062b571777f52 Thomas Abraham 2013-03-09 1241 /* register exynos4 clocks */
d75f306378fd32 Sachin Kamat 2013-07-18 1242 static void __init exynos4_clk_init(struct device_node *np,
b7b647be157c95 Tomasz Figa 2014-02-14 1243 enum exynos4_soc soc)
e062b571777f52 Thomas Abraham 2013-03-09 1244 {
976face4b46ab3 Rahul Sharma 2014-03-12 1245 struct samsung_clk_provider *ctx;
ff8e0ff9b99643 Sylwester Nawrocki 2020-08-26 1246
b7b647be157c95 Tomasz Figa 2014-02-14 1247 exynos4_soc = soc;
442f4948e5b0b2 Tomasz Figa 2014-02-14 1248
e062b571777f52 Thomas Abraham 2013-03-09 1249 reg_base = of_iomap(np, 0);
e062b571777f52 Thomas Abraham 2013-03-09 1250 if (!reg_base)
e062b571777f52 Thomas Abraham 2013-03-09 1251 panic("%s: failed to map registers\n", __func__);
e062b571777f52 Thomas Abraham 2013-03-09 1252
976face4b46ab3 Rahul Sharma 2014-03-12 1253 ctx = samsung_clk_init(np, reg_base, CLK_NR_CLKS);
e062b571777f52 Thomas Abraham 2013-03-09 1254
976face4b46ab3 Rahul Sharma 2014-03-12 1255 samsung_clk_of_register_fixed_ext(ctx, exynos4_fixed_rate_ext_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1256 ARRAY_SIZE(exynos4_fixed_rate_ext_clks),
e062b571777f52 Thomas Abraham 2013-03-09 1257 ext_clk_match);
e062b571777f52 Thomas Abraham 2013-03-09 1258
976face4b46ab3 Rahul Sharma 2014-03-12 1259 exynos4_clk_register_finpll(ctx);
e062b571777f52 Thomas Abraham 2013-03-09 1260
e062b571777f52 Thomas Abraham 2013-03-09 1261 if (exynos4_soc == EXYNOS4210) {
976face4b46ab3 Rahul Sharma 2014-03-12 1262 samsung_clk_register_mux(ctx, exynos4210_mux_early,
4f7641f588dcc5 Tomasz Figa 2013-08-26 1263 ARRAY_SIZE(exynos4210_mux_early));
4f7641f588dcc5 Tomasz Figa 2013-08-26 1264
015e70585b317b Marek Szyprowski 2021-10-18 @1265 if (clk_hw_get_rate(hws[CLK_FIN_PLL]) == 24000000) {
5fadfc7ed37efe Tomasz Figa 2013-08-26 1266 exynos4210_plls[apll].rate_table =
5fadfc7ed37efe Tomasz Figa 2013-08-26 1267 exynos4210_apll_rates;
5fadfc7ed37efe Tomasz Figa 2013-08-26 1268 exynos4210_plls[epll].rate_table =
5fadfc7ed37efe Tomasz Figa 2013-08-26 1269 exynos4210_epll_rates;
5fadfc7ed37efe Tomasz Figa 2013-08-26 1270 }
5fadfc7ed37efe Tomasz Figa 2013-08-26 1271
015e70585b317b Marek Szyprowski 2021-10-18 1272 if (clk_hw_get_rate(hws[CLK_MOUT_VPLLSRC]) == 24000000)
5fadfc7ed37efe Tomasz Figa 2013-08-26 1273 exynos4210_plls[vpll].rate_table =
5fadfc7ed37efe Tomasz Figa 2013-08-26 1274 exynos4210_vpll_rates;
5fadfc7ed37efe Tomasz Figa 2013-08-26 1275
976face4b46ab3 Rahul Sharma 2014-03-12 1276 samsung_clk_register_pll(ctx, exynos4210_plls,
52b0601637ac41 Tomasz Figa 2013-08-26 1277 ARRAY_SIZE(exynos4210_plls), reg_base);
e062b571777f52 Thomas Abraham 2013-03-09 1278 } else {
015e70585b317b Marek Szyprowski 2021-10-18 1279 if (clk_hw_get_rate(hws[CLK_FIN_PLL]) == 24000000) {
efb19a85cb0b44 Tomasz Figa 2013-08-26 1280 exynos4x12_plls[apll].rate_table =
efb19a85cb0b44 Tomasz Figa 2013-08-26 1281 exynos4x12_apll_rates;
efb19a85cb0b44 Tomasz Figa 2013-08-26 1282 exynos4x12_plls[epll].rate_table =
efb19a85cb0b44 Tomasz Figa 2013-08-26 1283 exynos4x12_epll_rates;
efb19a85cb0b44 Tomasz Figa 2013-08-26 1284 exynos4x12_plls[vpll].rate_table =
efb19a85cb0b44 Tomasz Figa 2013-08-26 1285 exynos4x12_vpll_rates;
e062b571777f52 Thomas Abraham 2013-03-09 1286 }
e062b571777f52 Thomas Abraham 2013-03-09 1287
976face4b46ab3 Rahul Sharma 2014-03-12 1288 samsung_clk_register_pll(ctx, exynos4x12_plls,
c6415963006392 Tomasz Figa 2013-08-26 1289 ARRAY_SIZE(exynos4x12_plls), reg_base);
160641e71899d5 Yadwinder Singh Brar 2013-06-11 1290 }
e062b571777f52 Thomas Abraham 2013-03-09 1291
976face4b46ab3 Rahul Sharma 2014-03-12 1292 samsung_clk_register_fixed_rate(ctx, exynos4_fixed_rate_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1293 ARRAY_SIZE(exynos4_fixed_rate_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1294 samsung_clk_register_mux(ctx, exynos4_mux_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1295 ARRAY_SIZE(exynos4_mux_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1296 samsung_clk_register_div(ctx, exynos4_div_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1297 ARRAY_SIZE(exynos4_div_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1298 samsung_clk_register_gate(ctx, exynos4_gate_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1299 ARRAY_SIZE(exynos4_gate_clks));
01f7ec260ab352 Tomasz Figa 2014-06-24 1300 samsung_clk_register_fixed_factor(ctx, exynos4_fixed_factor_clks,
01f7ec260ab352 Tomasz Figa 2014-06-24 1301 ARRAY_SIZE(exynos4_fixed_factor_clks));
e062b571777f52 Thomas Abraham 2013-03-09 1302
e062b571777f52 Thomas Abraham 2013-03-09 1303 if (exynos4_soc == EXYNOS4210) {
976face4b46ab3 Rahul Sharma 2014-03-12 1304 samsung_clk_register_fixed_rate(ctx, exynos4210_fixed_rate_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1305 ARRAY_SIZE(exynos4210_fixed_rate_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1306 samsung_clk_register_mux(ctx, exynos4210_mux_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1307 ARRAY_SIZE(exynos4210_mux_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1308 samsung_clk_register_div(ctx, exynos4210_div_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1309 ARRAY_SIZE(exynos4210_div_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1310 samsung_clk_register_gate(ctx, exynos4210_gate_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1311 ARRAY_SIZE(exynos4210_gate_clks));
01f7ec260ab352 Tomasz Figa 2014-06-24 1312 samsung_clk_register_fixed_factor(ctx,
01f7ec260ab352 Tomasz Figa 2014-06-24 1313 exynos4210_fixed_factor_clks,
01f7ec260ab352 Tomasz Figa 2014-06-24 1314 ARRAY_SIZE(exynos4210_fixed_factor_clks));
4a7ec3a42270a1 Will McVicker 2021-10-15 1315 samsung_clk_register_cpu(ctx, exynos4210_cpu_clks,
4a7ec3a42270a1 Will McVicker 2021-10-15 1316 ARRAY_SIZE(exynos4210_cpu_clks));
e062b571777f52 Thomas Abraham 2013-03-09 1317 } else {
976face4b46ab3 Rahul Sharma 2014-03-12 1318 samsung_clk_register_mux(ctx, exynos4x12_mux_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1319 ARRAY_SIZE(exynos4x12_mux_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1320 samsung_clk_register_div(ctx, exynos4x12_div_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1321 ARRAY_SIZE(exynos4x12_div_clks));
976face4b46ab3 Rahul Sharma 2014-03-12 1322 samsung_clk_register_gate(ctx, exynos4x12_gate_clks,
e062b571777f52 Thomas Abraham 2013-03-09 1323 ARRAY_SIZE(exynos4x12_gate_clks));
01f7ec260ab352 Tomasz Figa 2014-06-24 1324 samsung_clk_register_fixed_factor(ctx,
01f7ec260ab352 Tomasz Figa 2014-06-24 1325 exynos4x12_fixed_factor_clks,
01f7ec260ab352 Tomasz Figa 2014-06-24 1326 ARRAY_SIZE(exynos4x12_fixed_factor_clks));
4a7ec3a42270a1 Will McVicker 2021-10-15 1327 samsung_clk_register_cpu(ctx, exynos4412_cpu_clks,
4a7ec3a42270a1 Will McVicker 2021-10-15 1328 ARRAY_SIZE(exynos4412_cpu_clks));
cd6aceef028afc Bartlomiej Zolnierkiewicz 2015-08-12 1329 }
e6c3e730a75fae Tomasz Figa 2013-08-26 1330
3a9e9cb65be84d Bartlomiej Zolnierkiewicz 2015-03-27 1331 if (soc == EXYNOS4X12)
3a9e9cb65be84d Bartlomiej Zolnierkiewicz 2015-03-27 1332 exynos4x12_core_down_clock();
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1333
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1334 samsung_clk_extended_sleep_init(reg_base,
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1335 exynos4_clk_regs, ARRAY_SIZE(exynos4_clk_regs),
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1336 src_mask_suspend, ARRAY_SIZE(src_mask_suspend));
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1337 if (exynos4_soc == EXYNOS4210)
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1338 samsung_clk_extended_sleep_init(reg_base,
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1339 exynos4210_clk_save, ARRAY_SIZE(exynos4210_clk_save),
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1340 src_mask_suspend_e4210, ARRAY_SIZE(src_mask_suspend_e4210));
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1341 else
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1342 samsung_clk_sleep_init(reg_base, exynos4x12_clk_save,
9a4d8a8c4d2a46 Marek Szyprowski 2018-09-06 1343 ARRAY_SIZE(exynos4x12_clk_save));
b7b647be157c95 Tomasz Figa 2014-02-14 1344
d5e136a21b2028 Sylwester Nawrocki 2014-06-18 1345 samsung_clk_of_add_provider(np, ctx);
d5e136a21b2028 Sylwester Nawrocki 2014-06-18 1346
e062b571777f52 Thomas Abraham 2013-03-09 1347 pr_info("%s clocks: sclk_apll = %ld, sclk_mpll = %ld\n"
e062b571777f52 Thomas Abraham 2013-03-09 1348 "\tsclk_epll = %ld, sclk_vpll = %ld, arm_clk = %ld\n",
e062b571777f52 Thomas Abraham 2013-03-09 1349 exynos4_soc == EXYNOS4210 ? "Exynos4210" : "Exynos4x12",
015e70585b317b Marek Szyprowski 2021-10-18 1350 clk_hw_get_rate(hws[CLK_SCLK_APLL]),
015e70585b317b Marek Szyprowski 2021-10-18 1351 clk_hw_get_rate(hws[CLK_SCLK_MPLL]),
015e70585b317b Marek Szyprowski 2021-10-18 1352 clk_hw_get_rate(hws[CLK_SCLK_EPLL]),
015e70585b317b Marek Szyprowski 2021-10-18 1353 clk_hw_get_rate(hws[CLK_SCLK_VPLL]),
015e70585b317b Marek Szyprowski 2021-10-18 1354 clk_hw_get_rate(hws[CLK_DIV_CORE2]));
e062b571777f52 Thomas Abraham 2013-03-09 1355 }
25e56eba0ae783 Arnd Bergmann 2013-04-10 1356
:::::: The code at line 1265 was first introduced by commit
:::::: 015e70585b317bfd90fced9bfd578fe57f9aa2cf clk: samsung: remove __clk_lookup() usage
:::::: TO: Marek Szyprowski <m.szyprowski(a)samsung.com>
:::::: CC: Sylwester Nawrocki <s.nawrocki(a)samsung.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a90af8f15bdc9449ee2d24e1d73fa3f7e8633f81
commit: 782347b6bcad07ddb574422e01e22c92e05928c8 xdp: Add proper __rcu annotations to redirect map entries
date: 5 months ago
config: ia64-randconfig-s032-20211116 (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 782347b6bcad07ddb574422e01e22c92e05928c8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=ia64 SHELL=/bin/bash kernel/bpf/ lib/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/bpf/devmap.c:561:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct bpf_dtab_netdev *dst @@ got struct bpf_dtab_netdev [noderef] __rcu * @@
kernel/bpf/devmap.c:561:29: sparse: expected struct bpf_dtab_netdev *dst
kernel/bpf/devmap.c:561:29: sparse: got struct bpf_dtab_netdev [noderef] __rcu *
kernel/bpf/devmap.c:657:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct bpf_dtab_netdev *dst @@ got struct bpf_dtab_netdev [noderef] __rcu * @@
kernel/bpf/devmap.c:657:29: sparse: expected struct bpf_dtab_netdev *dst
kernel/bpf/devmap.c:657:29: sparse: got struct bpf_dtab_netdev [noderef] __rcu *
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
>> kernel/bpf/devmap.c:1030:40: sparse: sparse: cast removes address space '__rcu' of expression
vim +/__rcu +1030 kernel/bpf/devmap.c
990
991 static int dev_map_notification(struct notifier_block *notifier,
992 ulong event, void *ptr)
993 {
994 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
995 struct bpf_dtab *dtab;
996 int i, cpu;
997
998 switch (event) {
999 case NETDEV_REGISTER:
1000 if (!netdev->netdev_ops->ndo_xdp_xmit || netdev->xdp_bulkq)
1001 break;
1002
1003 /* will be freed in free_netdev() */
1004 netdev->xdp_bulkq = alloc_percpu(struct xdp_dev_bulk_queue);
1005 if (!netdev->xdp_bulkq)
1006 return NOTIFY_BAD;
1007
1008 for_each_possible_cpu(cpu)
1009 per_cpu_ptr(netdev->xdp_bulkq, cpu)->dev = netdev;
1010 break;
1011 case NETDEV_UNREGISTER:
1012 /* This rcu_read_lock/unlock pair is needed because
1013 * dev_map_list is an RCU list AND to ensure a delete
1014 * operation does not free a netdev_map entry while we
1015 * are comparing it against the netdev being unregistered.
1016 */
1017 rcu_read_lock();
1018 list_for_each_entry_rcu(dtab, &dev_map_list, list) {
1019 if (dtab->map.map_type == BPF_MAP_TYPE_DEVMAP_HASH) {
1020 dev_map_hash_remove_netdev(dtab, netdev);
1021 continue;
1022 }
1023
1024 for (i = 0; i < dtab->map.max_entries; i++) {
1025 struct bpf_dtab_netdev *dev, *odev;
1026
1027 dev = rcu_dereference(dtab->netdev_map[i]);
1028 if (!dev || netdev != dev->dev)
1029 continue;
> 1030 odev = unrcu_pointer(cmpxchg(&dtab->netdev_map[i], RCU_INITIALIZER(dev), NULL));
1031 if (dev == odev)
1032 call_rcu(&dev->rcu,
1033 __dev_map_entry_free);
1034 }
1035 }
1036 rcu_read_unlock();
1037 break;
1038 default:
1039 break;
1040 }
1041 return NOTIFY_OK;
1042 }
1043
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH v2 1/2] media: imx: imx7-media-csi: add support for imx8mq
by kernel test robot
Hi Martin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc1 next-20211118]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Martin-Kepplinger/media-imx-imx7...
base: git://linuxtv.org/media_tree.git master
config: arm64-randconfig-r003-20211118 (attached as .config)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/053ee9aefb4758625038e03df68bb468a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
git checkout 053ee9aefb4758625038e03df68bb468abf0cd4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/staging/media/imx/imx7-media-csi.c:1183:15: warning: cast to smaller integer type 'enum imx_csi_model' from 'const void *' [-Wvoid-pointer-to-enum-cast]
csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1183 drivers/staging/media/imx/imx7-media-csi.c
1153
1154 static int imx7_csi_probe(struct platform_device *pdev)
1155 {
1156 struct device *dev = &pdev->dev;
1157 struct device_node *node = dev->of_node;
1158 struct imx_media_dev *imxmd;
1159 struct imx7_csi *csi;
1160 int i, ret;
1161
1162 csi = devm_kzalloc(&pdev->dev, sizeof(*csi), GFP_KERNEL);
1163 if (!csi)
1164 return -ENOMEM;
1165
1166 csi->dev = dev;
1167
1168 csi->mclk = devm_clk_get(&pdev->dev, "mclk");
1169 if (IS_ERR(csi->mclk)) {
1170 ret = PTR_ERR(csi->mclk);
1171 dev_err(dev, "Failed to get mclk: %d", ret);
1172 return ret;
1173 }
1174
1175 csi->irq = platform_get_irq(pdev, 0);
1176 if (csi->irq < 0)
1177 return csi->irq;
1178
1179 csi->regbase = devm_platform_ioremap_resource(pdev, 0);
1180 if (IS_ERR(csi->regbase))
1181 return PTR_ERR(csi->regbase);
1182
> 1183 csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
1184
1185 spin_lock_init(&csi->irqlock);
1186 mutex_init(&csi->lock);
1187
1188 /* install interrupt handler */
1189 ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
1190 (void *)csi);
1191 if (ret < 0) {
1192 dev_err(dev, "Request CSI IRQ failed.\n");
1193 goto destroy_mutex;
1194 }
1195
1196 /* add media device */
1197 imxmd = imx_media_dev_init(dev, NULL);
1198 if (IS_ERR(imxmd)) {
1199 ret = PTR_ERR(imxmd);
1200 goto destroy_mutex;
1201 }
1202 platform_set_drvdata(pdev, &csi->sd);
1203
1204 ret = imx_media_of_add_csi(imxmd, node);
1205 if (ret < 0 && ret != -ENODEV && ret != -EEXIST)
1206 goto cleanup;
1207
1208 ret = imx_media_dev_notifier_register(imxmd, NULL);
1209 if (ret < 0)
1210 goto cleanup;
1211
1212 csi->imxmd = imxmd;
1213 v4l2_subdev_init(&csi->sd, &imx7_csi_subdev_ops);
1214 v4l2_set_subdevdata(&csi->sd, csi);
1215 csi->sd.internal_ops = &imx7_csi_internal_ops;
1216 csi->sd.entity.ops = &imx7_csi_entity_ops;
1217 csi->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
1218 csi->sd.dev = &pdev->dev;
1219 csi->sd.owner = THIS_MODULE;
1220 csi->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
1221 csi->sd.grp_id = IMX_MEDIA_GRP_ID_CSI;
1222 snprintf(csi->sd.name, sizeof(csi->sd.name), "csi");
1223
1224 for (i = 0; i < IMX7_CSI_PADS_NUM; i++)
1225 csi->pad[i].flags = (i == IMX7_CSI_PAD_SINK) ?
1226 MEDIA_PAD_FL_SINK : MEDIA_PAD_FL_SOURCE;
1227
1228 ret = media_entity_pads_init(&csi->sd.entity, IMX7_CSI_PADS_NUM,
1229 csi->pad);
1230 if (ret < 0)
1231 goto cleanup;
1232
1233 ret = imx7_csi_async_register(csi);
1234 if (ret)
1235 goto subdev_notifier_cleanup;
1236
1237 return 0;
1238
1239 subdev_notifier_cleanup:
1240 v4l2_async_nf_unregister(&csi->notifier);
1241 v4l2_async_nf_cleanup(&csi->notifier);
1242
1243 cleanup:
1244 v4l2_async_nf_unregister(&imxmd->notifier);
1245 v4l2_async_nf_cleanup(&imxmd->notifier);
1246 v4l2_device_unregister(&imxmd->v4l2_dev);
1247 media_device_unregister(&imxmd->md);
1248 media_device_cleanup(&imxmd->md);
1249
1250 destroy_mutex:
1251 mutex_destroy(&csi->lock);
1252
1253 return ret;
1254 }
1255
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
LLVM ERROR: Broken module found, compilation aborted!
by kernel test robot
CC: linux-kernel(a)vger.kernel.org
TO: Geert Uytterhoeven <geert(a)linux-m68k.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9539ba4308ad5bdca6cb41c7b73cbb9f796dcdd7
commit: 0319b848b155185815724e1b46103c550627a845 binfmt: a.out: Fix bogus semicolon
date: 3 months ago
config: x86_64-randconfig-a011-20211119 (attached as .config)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 0319b848b155185815724e1b46103c550627a845
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
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 >>):
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read2(i8* %24)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read2(i8* %27)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %30)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %33)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* bitcast (%struct.list_head* @fanout_list to i8*))
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %7)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %47)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %150)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write4(i8* %40)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write4(i8* %10)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %83)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write4(i8* %14)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write4(i8* %26)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %10)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %15)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write4(i8* %52)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write8(i8* %16)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write8(i8* %11)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %46)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %20)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %11)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %4)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %9)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %16)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %22)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %5)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %10)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %13)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %18)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %12)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %17)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %4)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %9)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* %4)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %9)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write8(i8* %10)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write8(i8* %16)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_write4(i8* %9)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %12)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %19)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %13)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %20)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %23)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %30)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read2(i8* %7)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %32)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read1(i8* %34)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read8(i8* %277)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read1(i8* %279)
inlinable function call in a function with debug info must have a !dbg location
call void @__tsan_read4(i8* bitcast (i32* @pci_probe to i8*))
>> LLVM ERROR: Broken module found, compilation aborted!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: ld.lld -m elf_x86_64 -mllvm -import-instr-limit=5 -r -o vmlinux.o -T .tmp_initcalls.lds --whole-archive arch/x86/kernel/head_64.o arch/x86/kernel/head64.o arch/x86/kernel/ebda.o arch/x86/kernel/platform-quirks.o init/built-in.a usr/built-in.a arch/x86/built-in.a kernel/built-in.a certs/built-in.a mm/built-in.a fs/built-in.a ipc/built-in.a security/built-in.a crypto/built-in.a block/built-in.a lib/built-in.a arch/x86/lib/built-in.a lib/lib.a arch/x86/lib/lib.a drivers/built-in.a sound/built-in.a samples/built-in.a net/built-in.a virt/built-in.a arch/x86/pci/built-in.a arch/x86/power/built-in.a arch/x86/video/built-in.a --no-whole-archive --start-group --end-group
#0 0x000056419bfe5f0f PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x000056419bfe37ae SignalHandler(int) Signals.cpp:0:0
#2 0x00007f1f5abf8140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
#3 0x00007f1f5a706ce1 raise (/lib/x86_64-linux-gnu/libc.so.6+0x3bce1)
#4 0x00007f1f5a6f0537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x25537)
#5 0x000056419bf791c5 llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/cross/clang-c46becf500/bin/lld+0x9db1c5)
#6 0x000056419bf79308 (/opt/cross/clang-c46becf500/bin/lld+0x9db308)
#7 0x000056419f1489f6 (/opt/cross/clang-c46becf500/bin/lld+0x3baa9f6)
#8 0x000056419dbc518d llvm::detail::PassModel<llvm::Module, llvm::VerifierPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/cross/clang-c46becf500/bin/lld+0x262718d)
#9 0x000056419f110a98 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/cross/clang-c46becf500/bin/lld+0x3b72a98)
#10 0x000056419dbca473 runNewPMPasses(llvm::lto::Config const&, llvm::Module&, llvm::TargetMachine*, unsigned int, bool, llvm::ModuleSummaryIndex*, llvm::ModuleSummaryIndex const*) LTOBackend.cpp:0:0
#11 0x000056419dbcd443 llvm::lto::opt(llvm::lto::Config const&, llvm::TargetMachine*, unsigned int, llvm::Module&, bool, llvm::ModuleSummaryIndex*, llvm::ModuleSummaryIndex const*, std::vector<unsigned char, std::allocator<unsigned char> > const&) (/opt/cross/clang-c46becf500/bin/lld+0x262f443)
#12 0x000056419dbce3a5 llvm::lto::backend(llvm::lto::Config const&, std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream> > > (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex&) (/opt/cross/clang-c46becf500/bin/lld+0x26303a5)
#13 0x000056419dbc438f llvm::lto::LTO::runRegularLTO(std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream> > > (unsigned int)>) (/opt/cross/clang-c46becf500/bin/lld+0x262638f)
#14 0x000056419dbc4833 llvm::lto::LTO::run(std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream> > > (unsigned int)>, std::function<llvm::Expected<std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream> > > (unsigned int)> > (unsigned int, llvm::StringRef)>) (/opt/cross/clang-c46becf500/bin/lld+0x2626833)
#15 0x000056419c172aac lld::elf::BitcodeCompiler::compile() (/opt/cross/clang-c46becf500/bin/lld+0xbd4aac)
#16 0x000056419c0e6276 void lld::elf::LinkerDriver::compileBitcodeFiles<llvm::object::ELFType<(llvm::support::endianness)1, true> >() (/opt/cross/clang-c46becf500/bin/lld+0xb48276)
#17 0x000056419c100a5d void lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1, true> >(llvm::opt::InputArgList&) (/opt/cross/clang-c46becf500/bin/lld+0xb62a5d)
#18 0x000056419c106f9a lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (/opt/cross/clang-c46becf500/bin/lld+0xb68f9a)
#19 0x000056419c107d95 lld::elf::link(llvm::ArrayRef<char const*>, bool, llvm::raw_ostream&, llvm::raw_ostream&) (/opt/cross/clang-c46becf500/bin/lld+0xb69d95)
#20 0x000056419bf5eae5 lldMain(int, char const**, llvm::raw_ostream&, llvm::raw_ostream&, bool) lld.cpp:0:0
#21 0x000056419be97cda main (/opt/cross/clang-c46becf500/bin/lld+0x8f9cda)
#22 0x00007f1f5a6f1d0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
#23 0x000056419bf5d92a _start (/opt/cross/clang-c46becf500/bin/lld+0x9bf92a)
Aborted
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH v1 net-next 5/6] net: mscc: ocelot: split register definitions to a separate file
by kernel test robot
Hi Colin,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Colin-Foster/prepare-ocelot-for-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 520fbdf7fb19b7744e370d36d9244a446299ceb7
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/a5f13354942bd393fe1014a9c1b3d34dd...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Colin-Foster/prepare-ocelot-for-external-interface-control/20211120-064530
git checkout a5f13354942bd393fe1014a9c1b3d34dd8ec5f52
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sh SHELL=/bin/bash drivers/net/ethernet/mscc/
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 >>):
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:28:17: error: 'vsc7514_ana_regmap' undeclared here (not in a function); did you mean 'ocelot_ana_regmap'?
28 | [ANA] = vsc7514_ana_regmap,
| ^~~~~~~~~~~~~~~~~~
| ocelot_ana_regmap
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:29:16: error: 'vsc7514_qs_regmap' undeclared here (not in a function)
29 | [QS] = vsc7514_qs_regmap,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:30:18: error: 'vsc7514_qsys_regmap' undeclared here (not in a function); did you mean 'ocelot_qsys_regmap'?
30 | [QSYS] = vsc7514_qsys_regmap,
| ^~~~~~~~~~~~~~~~~~~
| ocelot_qsys_regmap
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:31:17: error: 'vsc7514_rew_regmap' undeclared here (not in a function); did you mean 'ocelot_rew_regmap'?
31 | [REW] = vsc7514_rew_regmap,
| ^~~~~~~~~~~~~~~~~~
| ocelot_rew_regmap
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:32:17: error: 'vsc7514_sys_regmap' undeclared here (not in a function); did you mean 'ocelot_sys_regmap'?
32 | [SYS] = vsc7514_sys_regmap,
| ^~~~~~~~~~~~~~~~~~
| ocelot_sys_regmap
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:33:16: error: 'vsc7514_vcap_regmap' undeclared here (not in a function); did you mean 'ocelot_vcap_regmap'?
33 | [S0] = vsc7514_vcap_regmap,
| ^~~~~~~~~~~~~~~~~~~
| ocelot_vcap_regmap
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:36:17: error: 'vsc7514_ptp_regmap' undeclared here (not in a function); did you mean 'ocelot_ptp_regmap'?
36 | [PTP] = vsc7514_ptp_regmap,
| ^~~~~~~~~~~~~~~~~~
| ocelot_ptp_regmap
>> drivers/net/ethernet/mscc/ocelot_vsc7514.c:37:22: error: 'vsc7514_dev_gmii_regmap' undeclared here (not in a function); did you mean 'ocelot_dev_gmii_regmap'?
37 | [DEV_GMII] = vsc7514_dev_gmii_regmap,
| ^~~~~~~~~~~~~~~~~~~~~~~
| ocelot_dev_gmii_regmap
vim +28 drivers/net/ethernet/mscc/ocelot_vsc7514.c
26
27 static const u32 *ocelot_regmap[TARGET_MAX] = {
> 28 [ANA] = vsc7514_ana_regmap,
> 29 [QS] = vsc7514_qs_regmap,
> 30 [QSYS] = vsc7514_qsys_regmap,
> 31 [REW] = vsc7514_rew_regmap,
> 32 [SYS] = vsc7514_sys_regmap,
> 33 [S0] = vsc7514_vcap_regmap,
34 [S1] = vsc7514_vcap_regmap,
35 [S2] = vsc7514_vcap_regmap,
> 36 [PTP] = vsc7514_ptp_regmap,
> 37 [DEV_GMII] = vsc7514_dev_gmii_regmap,
38 };
39
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
drivers/dma/sun6i-dma.c:244:45: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a90af8f15bdc9449ee2d24e1d73fa3f7e8633f81
commit: dfad83cb7193effb6c853a5c7337ac2274a2e2fc MIPS: Add support for CONFIG_DEBUG_VIRTUAL
date: 8 months ago
config: mips-randconfig-s032-20211116 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout dfad83cb7193effb6c853a5c7337ac2274a2e2fc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
command-line: note: in included file:
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
builtin:0:0: sparse: this was the original definition
>> drivers/dma/sun6i-dma.c:244:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile *x @@ got void [noderef] __iomem *base @@
drivers/dma/sun6i-dma.c:244:45: sparse: expected void const volatile *x
drivers/dma/sun6i-dma.c:244:45: sparse: got void [noderef] __iomem *base
vim +244 drivers/dma/sun6i-dma.c
555859308723d8 Maxime Ripard 2014-07-17 240
555859308723d8 Maxime Ripard 2014-07-17 241 static inline void sun6i_dma_dump_chan_regs(struct sun6i_dma_dev *sdev,
555859308723d8 Maxime Ripard 2014-07-17 242 struct sun6i_pchan *pchan)
555859308723d8 Maxime Ripard 2014-07-17 243 {
42c0d54e623695 Vinod Koul 2014-07-28 @244 phys_addr_t reg = virt_to_phys(pchan->base);
555859308723d8 Maxime Ripard 2014-07-17 245
555859308723d8 Maxime Ripard 2014-07-17 246 dev_dbg(sdev->slave.dev, "Chan %d reg: %pa\n"
555859308723d8 Maxime Ripard 2014-07-17 247 "\t___en(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 248 "\tpause(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 249 "\tstart(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 250 "\t__cfg(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 251 "\t__src(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 252 "\t__dst(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 253 "\tcount(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 254 "\t_para(%04x): \t0x%08x\n\n",
555859308723d8 Maxime Ripard 2014-07-17 255 pchan->idx, ®,
555859308723d8 Maxime Ripard 2014-07-17 256 DMA_CHAN_ENABLE,
555859308723d8 Maxime Ripard 2014-07-17 257 readl(pchan->base + DMA_CHAN_ENABLE),
555859308723d8 Maxime Ripard 2014-07-17 258 DMA_CHAN_PAUSE,
555859308723d8 Maxime Ripard 2014-07-17 259 readl(pchan->base + DMA_CHAN_PAUSE),
555859308723d8 Maxime Ripard 2014-07-17 260 DMA_CHAN_LLI_ADDR,
555859308723d8 Maxime Ripard 2014-07-17 261 readl(pchan->base + DMA_CHAN_LLI_ADDR),
555859308723d8 Maxime Ripard 2014-07-17 262 DMA_CHAN_CUR_CFG,
555859308723d8 Maxime Ripard 2014-07-17 263 readl(pchan->base + DMA_CHAN_CUR_CFG),
555859308723d8 Maxime Ripard 2014-07-17 264 DMA_CHAN_CUR_SRC,
555859308723d8 Maxime Ripard 2014-07-17 265 readl(pchan->base + DMA_CHAN_CUR_SRC),
555859308723d8 Maxime Ripard 2014-07-17 266 DMA_CHAN_CUR_DST,
555859308723d8 Maxime Ripard 2014-07-17 267 readl(pchan->base + DMA_CHAN_CUR_DST),
555859308723d8 Maxime Ripard 2014-07-17 268 DMA_CHAN_CUR_CNT,
555859308723d8 Maxime Ripard 2014-07-17 269 readl(pchan->base + DMA_CHAN_CUR_CNT),
555859308723d8 Maxime Ripard 2014-07-17 270 DMA_CHAN_CUR_PARA,
555859308723d8 Maxime Ripard 2014-07-17 271 readl(pchan->base + DMA_CHAN_CUR_PARA));
555859308723d8 Maxime Ripard 2014-07-17 272 }
555859308723d8 Maxime Ripard 2014-07-17 273
:::::: The code at line 244 was first introduced by commit
:::::: 42c0d54e62369584f2491f072f405602ff504e0e dmaengine: sun6i: fix build failure on x86, xilinx targets
:::::: TO: Vinod Koul <vinod.koul(a)intel.com>
:::::: CC: Vinod Koul <vinod.koul(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[jgunthorpe:iommufd 3/8] ioas_pt.c:undefined reference to `interval_tree_iter_first'
by kernel test robot
tree: https://github.com/jgunthorpe/linux iommufd
head: 4d06b5807e799e0293171d872d8c1a40f3b466c5
commit: 7188450644ef414f96455c9f15043990762078a6 [3/8] iommufd: IOCTLs for the io_pagetable
config: openrisc-randconfig-r031-20211117 (attached as .config)
compiler: or1k-linux-gcc (GCC) 11.2.0
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
# https://github.com/jgunthorpe/linux/commit/7188450644ef414f96455c9f150439...
git remote add jgunthorpe https://github.com/jgunthorpe/linux
git fetch --no-tags jgunthorpe iommufd
git checkout 7188450644ef414f96455c9f15043990762078a6
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=openrisc SHELL=/bin/bash
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 >>):
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `interval_tree_span_iter_next_gap':
io_pagetable.c:(.text+0x91c): undefined reference to `interval_tree_iter_next'
io_pagetable.c:(.text+0x91c): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_next'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `interval_tree_span_iter_first':
io_pagetable.c:(.text+0x9f4): undefined reference to `interval_tree_iter_first'
io_pagetable.c:(.text+0x9f4): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_first'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_unpopulate_domain':
io_pagetable.c:(.text+0x19b4): undefined reference to `interval_tree_iter_first'
io_pagetable.c:(.text+0x19b4): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x1a20): undefined reference to `interval_tree_iter_next'
io_pagetable.c:(.text+0x1a20): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_next'
or1k-linux-ld: io_pagetable.c:(.text+0x1a6c): undefined reference to `interval_tree_iter_next'
io_pagetable.c:(.text+0x1a6c): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_next'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_map_user_pages':
io_pagetable.c:(.text+0x2608): undefined reference to `interval_tree_iter_first'
io_pagetable.c:(.text+0x2608): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x264c): undefined reference to `interval_tree_iter_first'
io_pagetable.c:(.text+0x264c): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x2724): undefined reference to `interval_tree_insert'
io_pagetable.c:(.text+0x2724): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_insert'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_get_pages':
io_pagetable.c:(.text+0x27bc): undefined reference to `interval_tree_iter_first'
io_pagetable.c:(.text+0x27bc): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_iter_first'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_copy_iova':
io_pagetable.c:(.text+0x2a24): undefined reference to `interval_tree_insert'
io_pagetable.c:(.text+0x2a24): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `interval_tree_insert'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_unmap_iova':
io_pagetable.c:(.text+0x2bc8): undefined reference to `interval_tree_iter_first'
io_pagetable.c:(.text+0x2bc8): additional relocation overflows omitted from the output
or1k-linux-ld: io_pagetable.c:(.text+0x2c48): undefined reference to `interval_tree_remove'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_unmap_all':
io_pagetable.c:(.text+0x2d78): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x2dec): undefined reference to `interval_tree_remove'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_unaccess_pages':
io_pagetable.c:(.text+0x3030): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x3128): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x3168): undefined reference to `interval_tree_iter_next'
or1k-linux-ld: io_pagetable.c:(.text+0x322c): undefined reference to `interval_tree_iter_next'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_access_pages':
io_pagetable.c:(.text+0x34f0): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x35b8): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x35f8): undefined reference to `interval_tree_iter_next'
or1k-linux-ld: io_pagetable.c:(.text+0x385c): undefined reference to `interval_tree_iter_next'
or1k-linux-ld: io_pagetable.c:(.text+0x38f8): undefined reference to `interval_tree_insert'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_destroy_table':
io_pagetable.c:(.text+0x3aac): undefined reference to `interval_tree_remove'
or1k-linux-ld: io_pagetable.c:(.text+0x3ac4): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_init_table':
io_pagetable.c:(.text+0x3c68): undefined reference to `interval_tree_insert'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_table_add_domain':
io_pagetable.c:(.text+0x3db4): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x3e14): undefined reference to `interval_tree_iter_next'
or1k-linux-ld: io_pagetable.c:(.text+0x3ee8): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x3fac): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x4000): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: io_pagetable.c:(.text+0x4030): undefined reference to `interval_tree_iter_next'
or1k-linux-ld: drivers/iommu/iommufd/io_pagetable.o: in function `iopt_table_enforce_group_iova':
io_pagetable.c:(.text+0x4610): undefined reference to `interval_tree_iter_first'
or1k-linux-ld: drivers/iommu/iommufd/ioas_pt.o: in function `iommufd_ioas_pagetable_iova_ranges':
>> ioas_pt.c:(.text+0x408): undefined reference to `interval_tree_iter_first'
>> or1k-linux-ld: ioas_pt.c:(.text+0x538): undefined reference to `interval_tree_iter_next'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months