Re: [PATCH v5 07/10] hda: cs35l41: Add support for CS35L41 in HDA systems
by kernel test robot
Hi Lucas,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20211215]
[cannot apply to broonie-sound/for-next tiwai-sound/for-next rafael-pm/linux-next linus/master v5.16-rc5 v5.16-rc4 v5.16-rc3 v5.16-rc5]
[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/Lucas-Tanure/Add-support-for-CS3...
base: 93bf6eee76c0e716f6b32de690b1c52991547bb4
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20211217/202112170043.mK2wMAmZ-lk...)
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/40112a770ed88d6d545d83a800fb9b125...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Lucas-Tanure/Add-support-for-CS35L41-in-HDA-systems/20211216-194807
git checkout 40112a770ed88d6d545d83a800fb9b125204272a
# save the config file 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 sound/pci/hda/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> sound/pci/hda/cs35l41_hda.c:180:5: warning: no previous prototype for 'cs35l41_hda_bind' [-Wmissing-prototypes]
180 | int cs35l41_hda_bind(struct device *dev, struct device *master, void *master_data)
| ^~~~~~~~~~~~~~~~
sound/pci/hda/cs35l41_hda.c: In function 'cs35l41_hda_read_acpi':
>> sound/pci/hda/cs35l41_hda.c:315:59: error: invalid use of undefined type 'struct acpi_device'
315 | cs35l41->reset_gpio = fwnode_gpiod_get_index(&adev->fwnode, "reset", cs35l41->index,
| ^~
vim +315 sound/pci/hda/cs35l41_hda.c
179
> 180 int cs35l41_hda_bind(struct device *dev, struct device *master, void *master_data)
181 {
182 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
183 struct hda_component *comps = master_data;
184
185 if (comps && cs35l41->index >= 0 && cs35l41->index < HDA_MAX_COMPONENTS)
186 comps = &comps[cs35l41->index];
187 else
188 return -EINVAL;
189
190 if (!comps->dev) {
191 comps->dev = dev;
192 strscpy(comps->name, dev_name(dev), sizeof(comps->name));
193 comps->playback_hook = cs35l41_hda_playback_hook;
194 comps->set_channel_map = cs35l41_hda_channel_map;
195 return 0;
196 }
197
198 return -EBUSY;
199 }
200
201 static void cs35l41_hda_unbind(struct device *dev, struct device *master, void *master_data)
202 {
203 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
204 struct hda_component *comps = master_data;
205
206 if (comps[cs35l41->index].dev == dev)
207 memset(&comps[cs35l41->index], 0, sizeof(*comps));
208 }
209
210 static const struct component_ops cs35l41_hda_comp_ops = {
211 .bind = cs35l41_hda_bind,
212 .unbind = cs35l41_hda_unbind,
213 };
214
215 static int cs35l41_hda_apply_properties(struct cs35l41_hda *cs35l41,
216 const struct cs35l41_hda_hw_config *hw_cfg)
217 {
218 bool internal_boost = false;
219 int ret;
220
221 if (!hw_cfg) {
222 cs35l41->reg_seq = &cs35l41_hda_reg_seq_no_bst;
223 return 0;
224 }
225
226 if (hw_cfg->bst_ind || hw_cfg->bst_cap || hw_cfg->bst_ipk)
227 internal_boost = true;
228
229 switch (hw_cfg->gpio1_func) {
230 case CS35l41_VSPK_SWITCH:
231 regmap_update_bits(cs35l41->regmap, CS35L41_GPIO_PAD_CONTROL,
232 CS35L41_GPIO1_CTRL_MASK, 1 << CS35L41_GPIO1_CTRL_SHIFT);
233 break;
234 case CS35l41_SYNC:
235 regmap_update_bits(cs35l41->regmap, CS35L41_GPIO_PAD_CONTROL,
236 CS35L41_GPIO1_CTRL_MASK, 2 << CS35L41_GPIO1_CTRL_SHIFT);
237 break;
238 }
239
240 switch (hw_cfg->gpio2_func) {
241 case CS35L41_INTERRUPT:
242 regmap_update_bits(cs35l41->regmap, CS35L41_GPIO_PAD_CONTROL,
243 CS35L41_GPIO2_CTRL_MASK, 2 << CS35L41_GPIO2_CTRL_SHIFT);
244 break;
245 }
246
247 if (internal_boost) {
248 cs35l41->reg_seq = &cs35l41_hda_reg_seq_int_bst;
249 if (!(hw_cfg->bst_ind && hw_cfg->bst_cap && hw_cfg->bst_ipk))
250 return -EINVAL;
251 ret = cs35l41_boost_config(cs35l41->dev, cs35l41->regmap,
252 hw_cfg->bst_ind, hw_cfg->bst_cap, hw_cfg->bst_ipk);
253 if (ret)
254 return ret;
255 } else {
256 cs35l41->reg_seq = &cs35l41_hda_reg_seq_ext_bst;
257 }
258
259 ret = cs35l41_hda_channel_map(cs35l41->dev, 0, NULL, 1, (unsigned int *)&hw_cfg->spk_pos);
260 if (ret)
261 return ret;
262
263 return 0;
264 }
265
266 static struct cs35l41_hda_hw_config *cs35l41_hda_read_acpi(struct cs35l41_hda *cs35l41,
267 const char *hid, int id)
268 {
269 struct cs35l41_hda_hw_config *hw_cfg;
270 u32 values[HDA_MAX_COMPONENTS];
271 struct acpi_device *adev;
272 struct device *acpi_dev;
273 char *property;
274 size_t nval;
275 int i, ret;
276
277 adev = acpi_dev_get_first_match_dev(hid, NULL, -1);
278 if (!adev) {
279 dev_err(cs35l41->dev, "Failed to find an ACPI device for %s\n", hid);
280 return ERR_PTR(-ENODEV);
281 }
282
283 acpi_dev = get_device(acpi_get_first_physical_node(adev));
284 acpi_dev_put(adev);
285
286 property = "cirrus,dev-index";
287 ret = device_property_count_u32(acpi_dev, property);
288 if (ret <= 0)
289 goto no_acpi_dsd;
290
291 if (ret > ARRAY_SIZE(values)) {
292 ret = -EINVAL;
293 goto err;
294 }
295 nval = ret;
296
297 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
298 if (ret)
299 goto err;
300
301 cs35l41->index = -1;
302 for (i = 0; i < nval; i++) {
303 if (values[i] == id) {
304 cs35l41->index = i;
305 break;
306 }
307 }
308 if (cs35l41->index == -1) {
309 dev_err(cs35l41->dev, "No index found in %s\n", property);
310 ret = -ENODEV;
311 goto err;
312 }
313
314 /* No devm_ version as CLSA0100, in no_acpi_dsd case, can't use devm version */
> 315 cs35l41->reset_gpio = fwnode_gpiod_get_index(&adev->fwnode, "reset", cs35l41->index,
316 GPIOD_OUT_LOW, "cs35l41-reset");
317
318 hw_cfg = kzalloc(sizeof(*hw_cfg), GFP_KERNEL);
319 if (!hw_cfg) {
320 ret = -ENOMEM;
321 goto err;
322 }
323
324 property = "cirrus,speaker-position";
325 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
326 if (ret)
327 goto err_free;
328 hw_cfg->spk_pos = values[cs35l41->index];
329
330 property = "cirrus,gpio1-func";
331 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
332 if (ret)
333 goto err_free;
334 hw_cfg->gpio1_func = values[cs35l41->index];
335
336 property = "cirrus,gpio2-func";
337 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
338 if (ret)
339 goto err_free;
340 hw_cfg->gpio2_func = values[cs35l41->index];
341
342 property = "cirrus,boost-peak-milliamp";
343 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
344 if (ret == 0)
345 hw_cfg->bst_ipk = values[cs35l41->index];
346
347 property = "cirrus,boost-ind-nanohenry";
348 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
349 if (ret == 0)
350 hw_cfg->bst_ind = values[cs35l41->index];
351
352 property = "cirrus,boost-cap-microfarad";
353 ret = device_property_read_u32_array(acpi_dev, property, values, nval);
354 if (ret == 0)
355 hw_cfg->bst_cap = values[cs35l41->index];
356
357 put_device(acpi_dev);
358
359 return hw_cfg;
360
361 err_free:
362 kfree(hw_cfg);
363 err:
364 put_device(acpi_dev);
365 dev_err(cs35l41->dev, "Failed property %s: %d\n", property, ret);
366
367 return ERR_PTR(ret);
368
369 no_acpi_dsd:
370 /*
371 * Device CLSA0100 doesn't have _DSD so a gpiod_get by the label reset won't work.
372 * And devices created by i2c-multi-instantiate don't have their device struct pointing to
373 * the correct fwnode, so acpi_dev must be used here
374 * And devm functions expect that the device requesting the resource has the correct
375 * fwnode
376 */
377 if (strncmp(hid, "CLSA0100", 8) != 0)
378 return ERR_PTR(-EINVAL);
379
380 /* check I2C address to assign the index */
381 cs35l41->index = id == 0x40 ? 0 : 1;
382 cs35l41->reset_gpio = gpiod_get_index(acpi_dev, NULL, 0, GPIOD_OUT_HIGH);
383 cs35l41->vspk_always_on = true;
384 put_device(acpi_dev);
385
386 return NULL;
387 }
388
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-tdx:kvm-upstream 80/152] arch/x86/kvm/vmx/tdx_stubs.c:10:5: error: no previous prototype for 'tdx_vcpu_create'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: bd5ba6a8b26525834dfa3bc5ade2dc2726b73468 [80/152] KVM: TDX: allocate/free TDX vcpu structure
config: i386-randconfig-m021-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162335.xw8SJ3xA-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/tdx/commit/bd5ba6a8b26525834dfa3bc5ade2dc2726b73468
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout bd5ba6a8b26525834dfa3bc5ade2dc2726b73468
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 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 >>):
arch/x86/kvm/vmx/tdx_stubs.c:4:13: error: no previous prototype for 'tdx_pre_kvm_init' [-Werror=missing-prototypes]
4 | void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:6:12: error: no previous prototype for 'tdx_hardware_setup' [-Werror=missing-prototypes]
6 | int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:7:6: error: no previous prototype for 'tdx_hardware_enable' [-Werror=missing-prototypes]
7 | void tdx_hardware_enable(void) {}
| ^~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:8:6: error: no previous prototype for 'tdx_hardware_disable' [-Werror=missing-prototypes]
8 | void tdx_hardware_disable(void) {}
| ^~~~~~~~~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:10:5: error: no previous prototype for 'tdx_vcpu_create' [-Werror=missing-prototypes]
10 | int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:11:6: error: no previous prototype for 'tdx_vcpu_free' [-Werror=missing-prototypes]
11 | void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:12:6: error: no previous prototype for 'tdx_vcpu_reset' [-Werror=missing-prototypes]
12 | void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:14:5: error: no previous prototype for 'tdx_dev_ioctl' [-Werror=missing-prototypes]
14 | int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:15:5: error: no previous prototype for 'tdx_vm_ioctl' [-Werror=missing-prototypes]
15 | int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/tdx_vcpu_create +10 arch/x86/kvm/vmx/tdx_stubs.c
9
> 10 int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
> 11 void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
> 12 void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
13
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH v16, 13/19] media: mtk-vcodec: Add work queue for core hardware decode
by kernel test robot
Hi Yunfei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on next-20211215]
[cannot apply to v5.16-rc5]
[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/Yunfei-Dong/Support-multi-hardwa...
base: git://linuxtv.org/media_tree.git master
config: alpha-randconfig-r033-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162312.CKVSGb5P-lk...)
compiler: alpha-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/7ce79e6a446bd8e992083b0fb72f09340...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yunfei-Dong/Support-multi-hardware-decode-using-of_platform_populate/20211216-174823
git checkout 7ce79e6a446bd8e992083b0fb72f0934009ca99d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=alpha SHELL=/bin/bash drivers/media/platform/mtk-vcodec/
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 >>):
In file included from include/asm-generic/bug.h:22,
from arch/alpha/include/asm/bug.h:23,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/asm-generic/current.h:5,
from ./arch/alpha/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from include/linux/freezer.h:8,
from drivers/media/platform/mtk-vcodec/vdec_msg_queue.c:7:
drivers/media/platform/mtk-vcodec/vdec_msg_queue.c: In function 'vdec_msg_queue_core_work':
>> include/linux/kern_levels.h:5:25: warning: too many arguments for format [-Wformat-extra-args]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/printk.h:422:25: note: in definition of macro 'printk_index_wrap'
422 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:580:9: note: in expansion of macro 'no_printk'
580 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/kern_levels.h:15:25: note: in expansion of macro 'KERN_SOH'
15 | #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */
| ^~~~~~~~
include/linux/printk.h:580:19: note: in expansion of macro 'KERN_DEBUG'
580 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~
drivers/media/platform/mtk-vcodec/mtk_vcodec_util.h:39:45: note: in expansion of macro 'pr_debug'
39 | #define mtk_v4l2_debug(level, fmt, args...) pr_debug(fmt, ##args)
| ^~~~~~~~
drivers/media/platform/mtk-vcodec/vdec_msg_queue.c:223:17: note: in expansion of macro 'mtk_v4l2_debug'
223 | mtk_v4l2_debug(3, "re-schedule to decode for core",
| ^~~~~~~~~~~~~~
vim +5 include/linux/kern_levels.h
314ba3520e513a Joe Perches 2012-07-30 4
04d2c8c83d0e3a Joe Perches 2012-07-30 @5 #define KERN_SOH "\001" /* ASCII Start Of Header */
04d2c8c83d0e3a Joe Perches 2012-07-30 6 #define KERN_SOH_ASCII '\001'
04d2c8c83d0e3a Joe Perches 2012-07-30 7
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-tdx:kvm-upstream 73/152] arch/x86/kvm/vmx/tdx_stubs.c:6:12: warning: no previous prototype for function 'tdx_hardware_setup'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: 3545bcde2d72e4b5b5f16571788aac0ddb5f49a5 [73/152] KVM: TDX: Add KVM TDX system-wide initialization and teardown
config: x86_64-randconfig-a013-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162216.Lu7x1lPh-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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/intel/tdx/commit/3545bcde2d72e4b5b5f16571788aac0ddb5f49a5
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout 3545bcde2d72e4b5b5f16571788aac0ddb5f49a5
# save the config file 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 arch/x86/kvm/
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 >>):
arch/x86/kvm/vmx/tdx_stubs.c:4:13: warning: no previous prototype for function 'tdx_pre_kvm_init' [-Wmissing-prototypes]
void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
^
arch/x86/kvm/vmx/tdx_stubs.c:4:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:6:12: warning: no previous prototype for function 'tdx_hardware_setup' [-Wmissing-prototypes]
int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:6:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:7:6: warning: no previous prototype for function 'tdx_hardware_enable' [-Wmissing-prototypes]
void tdx_hardware_enable(void) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:7:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_hardware_enable(void) {}
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:8:6: warning: no previous prototype for function 'tdx_hardware_disable' [-Wmissing-prototypes]
void tdx_hardware_disable(void) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:8:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_hardware_disable(void) {}
^
static
4 warnings generated.
vim +/tdx_hardware_setup +6 arch/x86/kvm/vmx/tdx_stubs.c
3
4 void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
5 unsigned int *vcpu_align, unsigned int *vm_size) {}
> 6 int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
> 7 void tdx_hardware_enable(void) {}
> 8 void tdx_hardware_disable(void) {}
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH 2/2] pinctrl: bcm: add driver for BCM4908 pinmux
by kernel test robot
Hi "Rafał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linusw-pinctrl/devel]
[also build test WARNING on robh/for-next linus/master v5.16-rc5 next-20211215]
[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/Rafa-Mi-ecki/dt-bindings-pinctrl...
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: alpha-randconfig-s031-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162229.R65wpBRJ-lk...)
compiler: alpha-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://github.com/0day-ci/linux/commit/52ad0e1851a5d242cde2829eca853a736...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Rafa-Mi-ecki/dt-bindings-pinctrl-Add-binding-for-BCM4908-pinctrl/20211216-044855
git checkout 52ad0e1851a5d242cde2829eca853a7369807c42
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash drivers/perf/ drivers/pinctrl/bcm/
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 >>)
>> drivers/pinctrl/bcm/pinctrl-bcm4908.c:542:53: sparse: sparse: incorrect type in argument 3 (different modifiers) @@ expected char const **groups @@ got char const *const *const groups @@
drivers/pinctrl/bcm/pinctrl-bcm4908.c:542:53: sparse: expected char const **groups
drivers/pinctrl/bcm/pinctrl-bcm4908.c:542:53: sparse: got char const *const *const groups
vim +542 drivers/pinctrl/bcm/pinctrl-bcm4908.c
468
469 static int bcm4908_pinctrl_probe(struct platform_device *pdev)
470 {
471 struct device *dev = &pdev->dev;
472 struct bcm4908_pinctrl *bcm4908_pinctrl;
473 struct pinctrl_desc *pctldesc;
474 struct pinctrl_pin_desc *pins;
475 int i;
476
477 bcm4908_pinctrl = devm_kzalloc(dev, sizeof(*bcm4908_pinctrl), GFP_KERNEL);
478 if (!bcm4908_pinctrl)
479 return -ENOMEM;
480 pctldesc = &bcm4908_pinctrl->pctldesc;
481 platform_set_drvdata(pdev, bcm4908_pinctrl);
482
483 /* Set basic properties */
484
485 bcm4908_pinctrl->dev = dev;
486
487 bcm4908_pinctrl->base = devm_platform_ioremap_resource(pdev, 0);
488 if (IS_ERR(bcm4908_pinctrl->base)) {
489 dev_err(dev, "Failed to map pinctrl regs\n");
490 return PTR_ERR(bcm4908_pinctrl->base);
491 }
492
493 memcpy(pctldesc, &bcm4908_pinctrl_desc, sizeof(*pctldesc));
494
495 /* Set pinctrl properties */
496
497 pins = devm_kcalloc(dev, BCM4908_NUM_PINS,
498 sizeof(struct pinctrl_pin_desc), GFP_KERNEL);
499 if (!pins)
500 return -ENOMEM;
501 for (i = 0; i < BCM4908_NUM_PINS; i++) {
502 pins[i].number = i;
503 pins[i].name = devm_kasprintf(dev, GFP_KERNEL, "pin%d", i);
504 if (!pins[i].name)
505 return -ENOMEM;
506 }
507 pctldesc->pins = pins;
508 pctldesc->npins = BCM4908_NUM_PINS;
509
510 /* Register */
511
512 bcm4908_pinctrl->pctldev = devm_pinctrl_register(dev, pctldesc, bcm4908_pinctrl);
513 if (IS_ERR(bcm4908_pinctrl->pctldev)) {
514 dev_err(dev, "Failed to register pinctrl\n");
515 return PTR_ERR(bcm4908_pinctrl->pctldev);
516 }
517
518 /* Groups */
519
520 for (i = 0; i < ARRAY_SIZE(bcm4908_pinctrl_grps); i++) {
521 const struct bcm4908_pinctrl_grp *group = &bcm4908_pinctrl_grps[i];
522 int *pins;
523 int j;
524
525 pins = devm_kcalloc(dev, group->num_pins, sizeof(*pins), GFP_KERNEL);
526 if (!pins)
527 return -ENOMEM;
528 for (j = 0; j < group->num_pins; j++)
529 pins[j] = group->pins[j].number;
530
531 pinctrl_generic_add_group(bcm4908_pinctrl->pctldev, group->name,
532 pins, group->num_pins, (void *)group);
533 }
534
535 /* Functions */
536
537 for (i = 0; i < ARRAY_SIZE(bcm4908_pinctrl_functions); i++) {
538 const struct bcm4908_pinctrl_function *function = &bcm4908_pinctrl_functions[i];
539
540 pinmux_generic_add_function(bcm4908_pinctrl->pctldev,
541 function->name,
> 542 function->groups,
543 function->num_groups, NULL);
544 }
545
546 return 0;
547 }
548
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH v7 04/14] ima: Move policy related variables into ima_namespace
by kernel test robot
Hi Stefan,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on zohar-integrity/next-integrity]
[also build test ERROR on linux/master linus/master v5.16-rc5]
[cannot apply to jmorris-security/next-testing next-20211215]
[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/Stefan-Berger/ima-Namespace-IMA-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity
config: alpha-buildonly-randconfig-r004-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162247.XcCvdc6L-lk...)
compiler: alpha-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/4927ddb1c276a9aa164fced45c2614ec9...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Stefan-Berger/ima-Namespace-IMA-with-audit-support-in-IMA-ns/20211216-134611
git checkout 4927ddb1c276a9aa164fced45c2614ec93b5b425
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=alpha SHELL=/bin/bash security/integrity/ima/
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 >>):
security/integrity/ima/ima_policy.c: In function 'ima_update_policy':
>> security/integrity/ima/ima_policy.c:1014:9: error: too many arguments to function 'ima_process_queued_keys'
1014 | ima_process_queued_keys(ns);
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from security/integrity/ima/ima_policy.c:23:
security/integrity/ima/ima.h:276:20: note: declared here
276 | static inline void ima_process_queued_keys(void) {}
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/ima_process_queued_keys +1014 security/integrity/ima/ima_policy.c
980
981 /**
982 * ima_update_policy - update default_rules with new measure rules
983 * @ns: IMA namespace that has the policy
984 * Called on file .release to update the default rules with a complete new
985 * policy. What we do here is to splice ima_policy_rules and ima_temp_rules so
986 * they make a queue. The policy may be updated multiple times and this is the
987 * RCU updater.
988 *
989 * Policy rules are never deleted so ima_policy_flag gets zeroed only once when
990 * we switch from the default policy to user defined.
991 */
992 void ima_update_policy(struct ima_namespace *ns)
993 {
994 struct list_head *policy = &ns->ima_policy_rules;
995
996 list_splice_tail_init_rcu(&ns->ima_temp_rules, policy,
997 synchronize_rcu);
998
999 if (ns->ima_rules != (struct list_head __rcu *)policy) {
1000 ns->ima_policy_flag = 0;
1001
1002 rcu_assign_pointer(ns->ima_rules, policy);
1003 /*
1004 * IMA architecture specific policy rules are specified
1005 * as strings and converted to an array of ima_entry_rules
1006 * on boot. After loading a custom policy, free the
1007 * architecture specific rules stored as an array.
1008 */
1009 kfree(arch_policy_entry);
1010 }
1011 ima_update_policy_flags(ns);
1012
1013 /* Custom IMA policy has been loaded */
> 1014 ima_process_queued_keys(ns);
1015 }
1016
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week