Re: [PATCH] ALSA: hda: enable the runtime_pm for non-vgaswitcheroo hda controllers
by kbuild test robot
Hi Hui,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on sound/for-next]
[also build test ERROR on next-20200414]
[cannot apply to v5.7-rc1]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Hui-Wang/ALSA-hda-enable-the-run...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
sound/pci/hda/hda_intel.c: In function 'azx_probe_continue':
>> sound/pci/hda/hda_intel.c:362:41: error: 'struct azx' has no member named 'use_vga_switcheroo'
#define use_vga_switcheroo(chip) ((chip)->use_vga_switcheroo)
^
>> sound/pci/hda/hda_intel.c:2359:8: note: in expansion of macro 'use_vga_switcheroo'
if (!use_vga_switcheroo(chip))
^~~~~~~~~~~~~~~~~~
vim +362 sound/pci/hda/hda_intel.c
c87693da69f979 Lu, Han 2015-11-19 328
9477c58e3308f5 Takashi Iwai 2011-05-25 329 /* quirks for ATI SB / AMD Hudson */
9477c58e3308f5 Takashi Iwai 2011-05-25 330 #define AZX_DCAPS_PRESET_ATI_SB \
37e661ee10c6d0 Takashi Iwai 2014-11-25 331 (AZX_DCAPS_NO_TCSEL | AZX_DCAPS_SYNC_WRITE | AZX_DCAPS_POSFIX_LPIB |\
37e661ee10c6d0 Takashi Iwai 2014-11-25 332 AZX_DCAPS_SNOOP_TYPE(ATI))
9477c58e3308f5 Takashi Iwai 2011-05-25 333
9477c58e3308f5 Takashi Iwai 2011-05-25 334 /* quirks for ATI/AMD HDMI */
9477c58e3308f5 Takashi Iwai 2011-05-25 335 #define AZX_DCAPS_PRESET_ATI_HDMI \
db79afa1e57925 Benjamin Herrenschmidt 2014-11-24 336 (AZX_DCAPS_NO_TCSEL | AZX_DCAPS_SYNC_WRITE | AZX_DCAPS_POSFIX_LPIB|\
db79afa1e57925 Benjamin Herrenschmidt 2014-11-24 337 AZX_DCAPS_NO_MSI64)
9477c58e3308f5 Takashi Iwai 2011-05-25 338
37e661ee10c6d0 Takashi Iwai 2014-11-25 339 /* quirks for ATI HDMI with snoop off */
37e661ee10c6d0 Takashi Iwai 2014-11-25 340 #define AZX_DCAPS_PRESET_ATI_HDMI_NS \
37e661ee10c6d0 Takashi Iwai 2014-11-25 341 (AZX_DCAPS_PRESET_ATI_HDMI | AZX_DCAPS_SNOOP_OFF)
37e661ee10c6d0 Takashi Iwai 2014-11-25 342
c02f77d32d2c45 Takashi Iwai 2019-08-06 343 /* quirks for AMD SB */
c02f77d32d2c45 Takashi Iwai 2019-08-06 344 #define AZX_DCAPS_PRESET_AMD_SB \
c02f77d32d2c45 Takashi Iwai 2019-08-06 345 (AZX_DCAPS_NO_TCSEL | AZX_DCAPS_SYNC_WRITE | AZX_DCAPS_AMD_WORKAROUND |\
c02f77d32d2c45 Takashi Iwai 2019-08-06 346 AZX_DCAPS_SNOOP_TYPE(ATI) | AZX_DCAPS_PM_RUNTIME)
c02f77d32d2c45 Takashi Iwai 2019-08-06 347
9477c58e3308f5 Takashi Iwai 2011-05-25 348 /* quirks for Nvidia */
9477c58e3308f5 Takashi Iwai 2011-05-25 349 #define AZX_DCAPS_PRESET_NVIDIA \
3ab7511eafdd5c Ard Biesheuvel 2016-10-17 350 (AZX_DCAPS_NO_MSI | AZX_DCAPS_CORBRP_SELF_CLEAR |\
37e661ee10c6d0 Takashi Iwai 2014-11-25 351 AZX_DCAPS_SNOOP_TYPE(NVIDIA))
9477c58e3308f5 Takashi Iwai 2011-05-25 352
5ae763b1bc573e Takashi Iwai 2012-05-08 353 #define AZX_DCAPS_PRESET_CTHDA \
37e661ee10c6d0 Takashi Iwai 2014-11-25 354 (AZX_DCAPS_NO_MSI | AZX_DCAPS_POSFIX_LPIB |\
cadd16ea33a938 Takashi Iwai 2015-10-27 355 AZX_DCAPS_NO_64BIT |\
37e661ee10c6d0 Takashi Iwai 2014-11-25 356 AZX_DCAPS_4K_BDLE_BOUNDARY | AZX_DCAPS_SNOOP_OFF)
5ae763b1bc573e Takashi Iwai 2012-05-08 357
a82d51ed24bb79 Takashi Iwai 2012-04-26 358 /*
2b760d88a0fcd8 Lukas Wunner 2015-09-04 359 * vga_switcheroo support
a82d51ed24bb79 Takashi Iwai 2012-04-26 360 */
a82d51ed24bb79 Takashi Iwai 2012-04-26 361 #ifdef SUPPORT_VGA_SWITCHEROO
5cb543dba98675 Takashi Iwai 2012-08-09 @362 #define use_vga_switcheroo(chip) ((chip)->use_vga_switcheroo)
dd23e1d566d0f7 Takashi Iwai 2019-08-27 363 #define needs_eld_notify_link(chip) ((chip)->bus.keep_power)
5cb543dba98675 Takashi Iwai 2012-08-09 364 #else
5cb543dba98675 Takashi Iwai 2012-08-09 365 #define use_vga_switcheroo(chip) 0
37a3a98ef601f8 Takashi Iwai 2018-09-10 366 #define needs_eld_notify_link(chip) false
5cb543dba98675 Takashi Iwai 2012-08-09 367 #endif
5cb543dba98675 Takashi Iwai 2012-08-09 368
:::::: The code at line 362 was first introduced by commit
:::::: 5cb543dba9867588786f87af2e64fca371b69283 ALSA: hda - Deferred probing with request_firmware_nowait()
:::::: TO: Takashi Iwai <tiwai(a)suse.de>
:::::: CC: Takashi Iwai <tiwai(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
Re: [PATCH v2 3/6] soc: xilinx: vcu: implement clock provider for output clocks
by kbuild test robot
Hi Michael,
I love your patch! Yet something to improve:
[auto build test ERROR on robh/for-next]
[also build test ERROR on ljones-mfd/for-mfd-next rockchip/for-next keystone/next arm64/for-next/core arm-soc/for-next shawnguo/for-next at91/at91-next v5.7-rc1 next-20200414]
[cannot apply to xlnx/master linux-rpi/for-rpi-next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Michael-Tretter/soc-xilinx-vcu-p...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-randconfig-s1-20200414 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/soc/xilinx/xlnx_vcu.c: In function 'xvcu_reset':
>> drivers/soc/xilinx/xlnx_vcu.c:540:11: error: 'struct xvcu_device' has no member named 'reset_gpio'
if (!xvcu->reset_gpio)
^~
>> drivers/soc/xilinx/xlnx_vcu.c:543:2: error: implicit declaration of function 'gpiod_set_value'; did you mean 'bitmap_set_value8'? [-Werror=implicit-function-declaration]
gpiod_set_value(xvcu->reset_gpio, 0);
^~~~~~~~~~~~~~~
bitmap_set_value8
drivers/soc/xilinx/xlnx_vcu.c:543:22: error: 'struct xvcu_device' has no member named 'reset_gpio'
gpiod_set_value(xvcu->reset_gpio, 0);
^~
drivers/soc/xilinx/xlnx_vcu.c:545:2: error: implicit declaration of function 'usleep_range'; did you mean 'sort_range'? [-Werror=implicit-function-declaration]
usleep_range(60, 120);
^~~~~~~~~~~~
sort_range
drivers/soc/xilinx/xlnx_vcu.c:546:22: error: 'struct xvcu_device' has no member named 'reset_gpio'
gpiod_set_value(xvcu->reset_gpio, 1);
^~
At top level:
drivers/soc/xilinx/xlnx_vcu.c:538:13: warning: 'xvcu_reset' defined but not used [-Wunused-function]
static void xvcu_reset(struct xvcu_device *xvcu)
^~~~~~~~~~
cc1: some warnings being treated as errors
vim +540 drivers/soc/xilinx/xlnx_vcu.c
537
538 static void xvcu_reset(struct xvcu_device *xvcu)
539 {
> 540 if (!xvcu->reset_gpio)
541 return;
542
> 543 gpiod_set_value(xvcu->reset_gpio, 0);
544 /* min 2 clock cycle of vcu pll_ref, slowest freq is 33.33KHz */
545 usleep_range(60, 120);
546 gpiod_set_value(xvcu->reset_gpio, 1);
547 usleep_range(60, 120);
548 }
549
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[leon-rdma:vermagic 4/4] drivers/gpio/gpio-aspeed.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git vermagic
head: aeb8d5271ce8f63aec2a19a586c46d317a0b1f6d
commit: aeb8d5271ce8f63aec2a19a586c46d317a0b1f6d [4/4] krenl/module: Hide vermagic header file from general use
config: arm-multi_v5_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout aeb8d5271ce8f63aec2a19a586c46d317a0b1f6d
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpio/gpio-aspeed.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> drivers/mmc/host/sdhci-of-aspeed.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> drivers/mmc/host/sdhci-pltfm.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> drivers/mmc/host/sdhci.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> drivers/rtc/rtc-rv3029c2.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> drivers/usb/gadget/udc/at91_udc.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> drivers/usb/gadget/udc/atmel_usba_udc.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> sound/soc/atmel/snd-soc-sam9g20-wm8731.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
--
>> sound/soc/atmel/snd-soc-sam9x5-wm8731.mod.c:3:10: fatal error: linux/vermagic.h: No such file or directory
3 | #include <linux/vermagic.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[hch-misc:mips-ioremap-cleanups 6/7] arch/mips/alchemy/common/setup.c:99:9: error: implicit declaration of function 'remap_pfn_range'; did you mean 'io_remap_pfn_range'?
by kbuild test robot
Hi Christoph,
First bad commit (maybe != root cause):
tree: git://git.infradead.org/users/hch/misc.git mips-ioremap-cleanups
head: a6fb959148f8c6dfe0fe43b54473d33246659232
commit: be647238995e1d96d6744d18d1fff974691b6d0c [6/7] MIPS: move ioremap_prot und iounmap out of line
config: mips-gpr_defconfig (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout be647238995e1d96d6744d18d1fff974691b6d0c
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/mips/alchemy/common/setup.c: In function 'io_remap_pfn_range':
>> arch/mips/alchemy/common/setup.c:99:9: error: implicit declaration of function 'remap_pfn_range'; did you mean 'io_remap_pfn_range'? [-Werror=implicit-function-declaration]
99 | return remap_pfn_range(vma, vaddr, phys_addr >> PAGE_SHIFT, size, prot);
| ^~~~~~~~~~~~~~~
| io_remap_pfn_range
cc1: all warnings being treated as errors
vim +99 arch/mips/alchemy/common/setup.c
1864554a205d5d Christoph Hellwig 2020-03-23 93
1864554a205d5d Christoph Hellwig 2020-03-23 94 int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long vaddr,
1864554a205d5d Christoph Hellwig 2020-03-23 95 unsigned long pfn, unsigned long size, pgprot_t prot)
1864554a205d5d Christoph Hellwig 2020-03-23 96 {
1864554a205d5d Christoph Hellwig 2020-03-23 97 phys_addr_t phys_addr = fixup_bigphys_addr(pfn << PAGE_SHIFT, size);
1864554a205d5d Christoph Hellwig 2020-03-23 98
1864554a205d5d Christoph Hellwig 2020-03-23 @99 return remap_pfn_range(vma, vaddr, phys_addr >> PAGE_SHIFT, size, prot);
:::::: The code at line 99 was first introduced by commit
:::::: 1864554a205d5dc59bb669689006db69f8ca0b48 MIPS: cleanup fixup_bigphys_addr handling
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[afaerber:rtd1295-next 56/166] drivers/soc/realtek/scpu.c:60:30: sparse: warning: incorrect type in argument 1 (different address spaces)
by kbuild test robot
tree: https://github.com/afaerber/linux.git rtd1295-next
head: cc9d1d90869a1d7a6e44c5dd739a2f25d6f13213
commit: 0f59a70429e84a65fbef854580a3d9a5cc4499bf [56/166] soc: realtek: Add SCPU wrapper for RTD1295
reproduce:
# apt-get install sparse
# sparse version:
git checkout 0f59a70429e84a65fbef854580a3d9a5cc4499bf
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/soc/realtek/scpu.c:60:30: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/scpu.c:60:30: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:60:30: sparse: got void *
drivers/soc/realtek/scpu.c:61:31: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/scpu.c:61:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:61:31: sparse: got void *
drivers/soc/realtek/scpu.c:62:32: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/scpu.c:62:32: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:62:32: sparse: got void *
drivers/soc/realtek/scpu.c:65:95: sparse: warning: incorrect type in argument 2 (different address spaces)
drivers/soc/realtek/scpu.c:65:95: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:65:95: sparse: got void *
drivers/soc/realtek/scpu.c:97:86: sparse: warning: incorrect type in argument 5 (different address spaces)
drivers/soc/realtek/scpu.c:97:86: sparse: expected void *dev
drivers/soc/realtek/scpu.c:97:86: sparse: got void [noderef] <asn:2> *[assigned] base
sparse warnings: (new ones prefixed by >>)
drivers/soc/realtek/scpu.c:60:30: sparse: warning: incorrect type in argument 1 (different address spaces)
>> drivers/soc/realtek/scpu.c:60:30: sparse: expected void const volatile [noderef] <asn:2> *addr
>> drivers/soc/realtek/scpu.c:60:30: sparse: got void *
drivers/soc/realtek/scpu.c:61:31: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/scpu.c:61:31: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:61:31: sparse: got void *
drivers/soc/realtek/scpu.c:62:32: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/scpu.c:62:32: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:62:32: sparse: got void *
drivers/soc/realtek/scpu.c:65:95: sparse: warning: incorrect type in argument 2 (different address spaces)
>> drivers/soc/realtek/scpu.c:65:95: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/soc/realtek/scpu.c:65:95: sparse: got void *
drivers/soc/realtek/scpu.c:97:86: sparse: warning: incorrect type in argument 5 (different address spaces)
>> drivers/soc/realtek/scpu.c:97:86: sparse: expected void *dev
>> drivers/soc/realtek/scpu.c:97:86: sparse: got void [noderef] <asn:2> *[assigned] base
vim +60 drivers/soc/realtek/scpu.c
55
56 static irqreturn_t rtd119x_scpu_handle_irq(int irq, void *base)
57 {
58 u32 dbg_int, dbg_addr, dbg_addr1;
59
> 60 dbg_int = readl(base + DBG_INT);
61 dbg_addr = readl(base + DBG_ADDR);
62 dbg_addr1 = readl(base + DBG_ADDR1);
63 pr_debug("%s: DBG_INT 0x%08x\n", __func__, dbg_int);
64 if (dbg_int & (DBG_INT_SCPU_INT_M1 | DBG_INT_SCPU_NEG_INT_M1)) {
> 65 writel(dbg_int & ~(DBG_INT_SCPU_INT_EN_M1 | DBG_INT_SCPU_NEG_INT_EN_M1), base + DBG_INT);
66 pr_err("%s: SCPU addr 0x%08x mode %s", __func__,
67 dbg_addr,
68 (dbg_addr1 & DBG_ADDR1_SCPU_DBG_WRITE_M1) ? "W" : "R");
69 return IRQ_HANDLED;
70 }
71
72 return IRQ_NONE;
73 }
74
75 static const struct of_device_id rtd119x_scpu_dt_ids[] = {
76 { .compatible = "realtek,rtd1195-scpu-wrapper" },
77 { .compatible = "realtek,rtd1295-scpu-wrapper" },
78 { }
79 };
80
81 static int rtd119x_scpu_probe(struct platform_device *pdev)
82 {
83 struct resource *res;
84 void __iomem *base;
85 unsigned long addr = 0;
86 int irq, i, ret;
87
88 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
89 base = devm_ioremap_resource(&pdev->dev, res);
90 if (IS_ERR(base))
91 return PTR_ERR(base);
92
93 irq = platform_get_irq(pdev, 0);
94 if (irq <= 0)
95 return -EINVAL;
96
> 97 ret = request_irq(irq, rtd119x_scpu_handle_irq, IRQF_SHARED, "scpu_wrapper", base);
98 if (ret) {
99 dev_err(&pdev->dev, "requesting irq %u failed\n", irq);
100 return -EINVAL;
101 }
102
103 for (i = 0; i < 4; i++) {
104 writel_relaxed(0, base + DBG_START + i * 4);
105 writel_relaxed(0, base + DBG_END + i * 4);
106 }
107
108 if (of_device_is_compatible(pdev->dev.of_node, "realtek,rtd1295-scpu-wrapper"))
109 addr = 0x98000000;
110 else if (of_device_is_compatible(pdev->dev.of_node, "realtek,rtd1195-scpu-wrapper"))
111 addr = 0x18000000;
112
113 for (i = 0; i < 4; i++) {
114 writel_relaxed(addr, base + DBG_START + i * 4);
115 writel_relaxed(addr + 0x40, base + DBG_END + i * 4);
116 addr += 0x40;
117 }
118
119 writel(DBG_INT_SCPU_INT_EN_M1 | DBG_INT_WRITE_DATA, base + DBG_INT);
120
121 if (of_device_is_compatible(pdev->dev.of_node, "realtek,rtd1295-scpu-wrapper"))
122 rtd119x_scpu_dbg_scpu_monitor(base, 0, 0x98013b00, 0x98013c00, 0);
123
124 dev_info(&pdev->dev, "probed\n");
125
126 return 0;
127 }
128
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[afaerber:rtd1295-next 53/166] drivers/soc/realtek/sb2.c:25:15: sparse: warning: incorrect type in argument 1 (different address spaces)
by kbuild test robot
tree: https://github.com/afaerber/linux.git rtd1295-next
head: cc9d1d90869a1d7a6e44c5dd739a2f25d6f13213
commit: db741fe9096b40e500ed9eb1fd7cb115b5ccf57c [53/166] soc: realtek: Add SB2 driver
reproduce:
# apt-get install sparse
# sparse version:
git checkout db741fe9096b40e500ed9eb1fd7cb115b5ccf57c
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/soc/realtek/sb2.c:25:15: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:25:15: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:25:15: sparse: got void *
drivers/soc/realtek/sb2.c:30:17: sparse: warning: incorrect type in argument 2 (different address spaces)
drivers/soc/realtek/sb2.c:30:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:30:17: sparse: got void *
drivers/soc/realtek/sb2.c:32:25: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:32:25: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:32:25: sparse: got void *
drivers/soc/realtek/sb2.c:35:32: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:35:32: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:35:32: sparse: got void *
drivers/soc/realtek/sb2.c:38:32: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:38:32: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:38:32: sparse: got void *
drivers/soc/realtek/sb2.c:72:72: sparse: warning: incorrect type in argument 5 (different address spaces)
drivers/soc/realtek/sb2.c:72:72: sparse: expected void *dev
drivers/soc/realtek/sb2.c:72:72: sparse: got void [noderef] <asn:2> *[assigned] base
sparse warnings: (new ones prefixed by >>)
drivers/soc/realtek/sb2.c:25:15: sparse: warning: incorrect type in argument 1 (different address spaces)
>> drivers/soc/realtek/sb2.c:25:15: sparse: expected void const volatile [noderef] <asn:2> *addr
>> drivers/soc/realtek/sb2.c:25:15: sparse: got void *
drivers/soc/realtek/sb2.c:30:17: sparse: warning: incorrect type in argument 2 (different address spaces)
>> drivers/soc/realtek/sb2.c:30:17: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:30:17: sparse: got void *
drivers/soc/realtek/sb2.c:32:25: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:32:25: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:32:25: sparse: got void *
drivers/soc/realtek/sb2.c:35:32: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:35:32: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:35:32: sparse: got void *
drivers/soc/realtek/sb2.c:38:32: sparse: warning: incorrect type in argument 1 (different address spaces)
drivers/soc/realtek/sb2.c:38:32: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/soc/realtek/sb2.c:38:32: sparse: got void *
drivers/soc/realtek/sb2.c:72:72: sparse: warning: incorrect type in argument 5 (different address spaces)
>> drivers/soc/realtek/sb2.c:72:72: sparse: expected void *dev
>> drivers/soc/realtek/sb2.c:72:72: sparse: got void [noderef] <asn:2> *[assigned] base
vim +25 drivers/soc/realtek/sb2.c
20
21 static irqreturn_t rtd_sb2_handle_irq(int irq, void *base)
22 {
23 u32 val;
24
> 25 val = readl_relaxed(base + SB2_DBG_INT);
26 pr_info("sb2 interrupt 0x%0x08x\n", val);
27 if (val & (SB2_DBG_INT_ACPU_INT | SB2_DBG_INT_SCPU_INT | SB2_DBG_INT_ACPU_NEG_INT | SB2_DBG_INT_SCPU_NEG_INT)) {
28 u32 addr, cause;
29
> 30 writel_relaxed(SB2_DBG_INT_ACPU_INT_EN | SB2_DBG_INT_SCPU_INT_EN | SB2_DBG_INT_WRITE_DATA, base + SB2_DBG_INT);
31
> 32 cause = readl_relaxed(base + SB2_DBG_ADDR1);
33
34 if (val & SB2_DBG_INT_SCPU_INT) {
35 addr = readl_relaxed(base + SB2_DBG_ADDR_SYSTEM);
36 cause = (cause >> 2) & 0x3;
37 } else {
38 addr = readl_relaxed(base + SB2_DBG_ADDR_AUDIO);
39 cause = (cause >> 4) & 0x3;
40 }
41
42 pr_warn("Memory 0x%08x trashed by %s with %s %s\n", addr,
43 (val & SB2_DBG_INT_SCPU_INT) ? "SCPU" : "ACPU",
44 (cause & 1) ? "D" : "I",
45 (cause & 2) ? "W" : "R");
46
47 return IRQ_HANDLED;
48 }
49
50 return IRQ_NONE;
51 }
52
53 static const struct of_device_id rtd_sb2_dt_ids[] = {
54 { .compatible = "realtek,rtd1195-sb2" },
55 { .compatible = "realtek,rtd1295-sb2" },
56 { }
57 };
58
59 static int rtd_sb2_probe(struct platform_device *pdev)
60 {
61 void __iomem *base;
62 int irq, ret;
63
64 base = of_iomap(pdev->dev.of_node, 0);
65 if (IS_ERR(base))
66 return PTR_ERR(base);
67
68 irq = platform_get_irq(pdev, 0);
69 if (irq <= 0)
70 return -EINVAL;
71
> 72 ret = request_irq(irq, rtd_sb2_handle_irq, IRQF_SHARED, "sb2", base);
73 if (ret) {
74 dev_err(&pdev->dev, "requesting irq %u failed\n", irq);
75 return -EINVAL;
76 }
77
78 writel_relaxed(SB2_DBG_INT_ACPU_INT_EN | SB2_DBG_INT_SCPU_INT_EN | SB2_DBG_INT_WRITE_DATA, base + SB2_DBG_INT);
79
80 dev_info(&pdev->dev, "probed\n");
81
82 return 0;
83 }
84
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
Re: [PATCH v9 04/10] regulator: use linear_ranges helper
by kbuild test robot
Hi Matti,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on 8f3d9f354286745c751374f5f1fcafee6b3f3136]
url: https://github.com/0day-ci/linux/commits/Matti-Vaittinen/Support-ROHM-BD9...
base: 8f3d9f354286745c751374f5f1fcafee6b3f3136
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/regulator/qcom_smd-regulator.c:449:49: error: array type has incomplete element type 'struct regulator_linear_range'
449 | .linear_ranges = (struct regulator_linear_range[]) {
| ^
In file included from drivers/regulator/qcom_smd-regulator.c:11:
>> include/linux/regulator/driver.h:46:2: error: field name not in record or union initializer
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:46:2: note: (near initialization for '(anonymous)')
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: error: field name not in record or union initializer
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: note: (near initialization for '(anonymous)')
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: error: field name not in record or union initializer
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: note: (near initialization for '(anonymous)')
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: error: field name not in record or union initializer
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: note: (near initialization for '(anonymous)')
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:450:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
450 | REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/regulator/driver.h:46:2: error: field name not in record or union initializer
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:46:2: note: (near initialization for '(anonymous)')
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: error: field name not in record or union initializer
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: note: (near initialization for '(anonymous)')
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: error: field name not in record or union initializer
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: note: (near initialization for '(anonymous)')
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: error: field name not in record or union initializer
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: note: (near initialization for '(anonymous)')
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:451:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
451 | REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/regulator/qcom_smd-regulator.c:459:49: error: array type has incomplete element type 'struct regulator_linear_range'
459 | .linear_ranges = (struct regulator_linear_range[]) {
| ^
In file included from drivers/regulator/qcom_smd-regulator.c:11:
>> include/linux/regulator/driver.h:46:2: error: field name not in record or union initializer
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:46:2: note: (near initialization for '(anonymous)')
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: error: field name not in record or union initializer
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: note: (near initialization for '(anonymous)')
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: error: field name not in record or union initializer
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: note: (near initialization for '(anonymous)')
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: error: field name not in record or union initializer
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: note: (near initialization for '(anonymous)')
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:460:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
460 | REGULATOR_LINEAR_RANGE(350000, 0, 80, 12500),
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/regulator/driver.h:46:2: error: field name not in record or union initializer
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:46:2: note: (near initialization for '(anonymous)')
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: error: field name not in record or union initializer
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: note: (near initialization for '(anonymous)')
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: error: field name not in record or union initializer
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: note: (near initialization for '(anonymous)')
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: error: field name not in record or union initializer
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: note: (near initialization for '(anonymous)')
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:461:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
461 | REGULATOR_LINEAR_RANGE(700000, 81, 141, 25000),
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/regulator/qcom_smd-regulator.c:469:49: error: array type has incomplete element type 'struct regulator_linear_range'
469 | .linear_ranges = (struct regulator_linear_range[]) {
| ^
In file included from drivers/regulator/qcom_smd-regulator.c:11:
>> include/linux/regulator/driver.h:46:2: error: field name not in record or union initializer
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:46:2: note: (near initialization for '(anonymous)')
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: error: field name not in record or union initializer
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: note: (near initialization for '(anonymous)')
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: error: field name not in record or union initializer
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: note: (near initialization for '(anonymous)')
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: error: field name not in record or union initializer
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: note: (near initialization for '(anonymous)')
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:470:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
470 | REGULATOR_LINEAR_RANGE(3000000, 0, 44, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/regulator/qcom_smd-regulator.c:478:49: error: array type has incomplete element type 'struct regulator_linear_range'
478 | .linear_ranges = (struct regulator_linear_range[]) {
| ^
In file included from drivers/regulator/qcom_smd-regulator.c:11:
>> include/linux/regulator/driver.h:46:2: error: field name not in record or union initializer
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:46:2: note: (near initialization for '(anonymous)')
46 | .min = _min_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: error: field name not in record or union initializer
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:47:2: note: (near initialization for '(anonymous)')
47 | .min_sel = _min_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: error: field name not in record or union initializer
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:48:2: note: (near initialization for '(anonymous)')
48 | .max_sel = _max_sel, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: error: field name not in record or union initializer
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/regulator/driver.h:49:2: note: (near initialization for '(anonymous)')
49 | .step = _step_uV, \
| ^
drivers/regulator/qcom_smd-regulator.c:479:3: note: in expansion of macro 'REGULATOR_LINEAR_RANGE'
479 | REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
| ^~~~~~~~~~~~~~~~~~~~~~
vim +449 drivers/regulator/qcom_smd-regulator.c
14a169922595732 Rajendra Nayak 2017-01-18 447
86332c343491c6d Bjorn Andersson 2020-03-23 448 static const struct regulator_desc pmi8994_ftsmps = {
86332c343491c6d Bjorn Andersson 2020-03-23 @449 .linear_ranges = (struct regulator_linear_range[]) {
86332c343491c6d Bjorn Andersson 2020-03-23 450 REGULATOR_LINEAR_RANGE(350000, 0, 199, 5000),
86332c343491c6d Bjorn Andersson 2020-03-23 451 REGULATOR_LINEAR_RANGE(700000, 200, 349, 10000),
86332c343491c6d Bjorn Andersson 2020-03-23 452 },
86332c343491c6d Bjorn Andersson 2020-03-23 453 .n_linear_ranges = 2,
86332c343491c6d Bjorn Andersson 2020-03-23 454 .n_voltages = 350,
86332c343491c6d Bjorn Andersson 2020-03-23 455 .ops = &rpm_smps_ldo_ops,
86332c343491c6d Bjorn Andersson 2020-03-23 456 };
86332c343491c6d Bjorn Andersson 2020-03-23 457
:::::: The code at line 449 was first introduced by commit
:::::: 86332c343491c6d2228a1e0c80b1ea98a2653d20 regulator: qcom_smd: Add pmi8994 regulator support
:::::: TO: Bjorn Andersson <bjorn.andersson(a)linaro.org>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
[afaerber:rtd1295-next 5/166] drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: warning: incorrect type in assignment (different address spaces)
by kbuild test robot
tree: https://github.com/afaerber/linux.git rtd1295-next
head: cc9d1d90869a1d7a6e44c5dd739a2f25d6f13213
commit: 969b870a4c79d2d25da90dfd87f0a7032d652b5c [5/166] hwspinlock: Add Realtek RTD1195 SB2
reproduce:
# apt-get install sparse
# sparse version:
git checkout 969b870a4c79d2d25da90dfd87f0a7032d652b5c
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: warning: incorrect type in assignment (different address spaces)
drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: expected void *priv
drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: got void [noderef] <asn:2> *
sparse warnings: (new ones prefixed by >>)
drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: warning: incorrect type in assignment (different address spaces)
>> drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: expected void *priv
>> drivers/hwspinlock/rtd1195_sb2_sem.c:73:28: sparse: got void [noderef] <asn:2> *
vim +73 drivers/hwspinlock/rtd1195_sb2_sem.c
46
47 static int rtd1195_sb2_sem_probe(struct platform_device *pdev)
48 {
49 struct rtd1195_sb2_sem *sem;
50 struct hwspinlock *lock;
51 struct resource *res;
52 int i, num;
53
54 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
55 if (!res)
56 return -ENOMEM;
57
58 num = resource_size(res) / 4;
59
60 sem = devm_kzalloc(&pdev->dev, sizeof(*sem) + num * sizeof(*lock),
61 GFP_KERNEL);
62 if (!sem)
63 return -ENOMEM;
64
65 sem->pdev = pdev;
66
67 sem->base = of_iomap(pdev->dev.of_node, 0);
68 if (!sem->base)
69 return -ENOMEM;
70
71 for (i = 0; i < num; i++) {
72 lock = &sem->lockdev.lock[i];
> 73 lock->priv = sem->base + i * 4;
74 }
75
76 platform_set_drvdata(pdev, sem);
77
78 sem->base_id = idr_alloc(&rtd1195_sb2_sem_idr, sem, 0, 0, GFP_KERNEL);
79
80 return devm_hwspin_lock_register(&pdev->dev, &sem->lockdev,
81 &rtd1195_sb2_sem_hwspinlock_ops, sem->base_id, num);
82 }
83
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
drivers/gpu/drm/bridge/display-connector.c:34:48: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8f3d9f354286745c751374f5f1fcafee6b3f3136
commit: 0c275c30176b2e7871c6ac5fb0ed548f81e0fa27 drm/bridge: Add bridge driver for display connectors
date: 7 weeks ago
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/ttm/ttm_bo.c:409:9: warning: Identical condition and return expression 'r', return value is always 0 [identicalConditionAfterEarlyExit]
return r;
^
drivers/gpu/drm/ttm/ttm_bo.c:396:6: note: If condition 'r' is true, the function will return/exit
if (r)
^
drivers/gpu/drm/ttm/ttm_bo.c:409:9: note: Returning identical expression 'r'
return r;
^
drivers/gpu/drm/ttm/ttm_bo.c:100:9: warning: The scope of the variable 'ret' can be reduced. [variableScope]
int i, ret, mem_type;
^
drivers/gpu/drm/ttm/ttm_bo.c:572:6: warning: The scope of the variable 'ret' can be reduced. [variableScope]
int ret;
^
drivers/gpu/drm/ttm/ttm_bo.c:913:6: warning: The scope of the variable 'ret' can be reduced. [variableScope]
int ret;
^
drivers/gpu/drm/ttm/ttm_bo.c:1241:7: warning: The scope of the variable 'locked' can be reduced. [variableScope]
bool locked;
^
drivers/gpu/drm/ttm/ttm_bo.c:1623:31: warning: The scope of the variable 'man' can be reduced. [variableScope]
struct ttm_mem_type_manager *man;
^
drivers/gpu/drm/ttm/ttm_bo.c:1822:28: warning: Local variable 'ctx' shadows outer argument [shadowArgument]
struct ttm_operation_ctx ctx = { false, false };
^
drivers/gpu/drm/ttm/ttm_bo.c:1775:74: note: Shadowed declaration
int ttm_bo_swapout(struct ttm_bo_global *glob, struct ttm_operation_ctx *ctx)
^
drivers/gpu/drm/ttm/ttm_bo.c:1822:28: note: Shadow variable
struct ttm_operation_ctx ctx = { false, false };
^
--
>> drivers/gpu/drm/drm_bridge.c:1006:7: warning: Local variable 'ret' shadows outer variable [shadowVariable]
int ret;
^
drivers/gpu/drm/drm_bridge.c:994:6: note: Shadowed declaration
int ret;
^
drivers/gpu/drm/drm_bridge.c:1006:7: note: Shadow variable
int ret;
^
--
>> drivers/gpu/drm/bridge/display-connector.c:34:48: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL;
^
--
>> drivers/gpu/drm/tidss/tidss_scale_coefs.c:159:15: warning: struct member 'Anonymous0::name' is never used. [unusedStructMember]
const char *name;
^
--
drivers/gpu/drm/tidss/tidss_dispc.c:1929:6: warning: The scope of the variable 'ret' can be reduced. [variableScope]
int ret;
^
>> drivers/gpu/drm/tidss/tidss_dispc.c:2312:11: warning: Shifting signed 32-bit value by 31 bits is implementation-defined behaviour [shiftTooManyBitsSigned]
v |= 1 << 31;
^
vim +34 drivers/gpu/drm/bridge/display-connector.c
30
31 static int display_connector_attach(struct drm_bridge *bridge,
32 enum drm_bridge_attach_flags flags)
33 {
> 34 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL;
35 }
36
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months
Re: [RFC PATCH 5/5] ACPI: processor: do update when maximum cooling state changed
by Dan Carpenter
Hi Zhang,
url: https://github.com/0day-ci/linux/commits/Zhang-Rui/thermal-rename-thermal...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/acpi/processor_thermal.c:158 acpi_thermal_cpufreq_exit() error: we previously assumed 'pr' could be null (see line 156)
# https://github.com/0day-ci/linux/commit/7d1c8f3879a36c7230c2842c651c4a3ce...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 7d1c8f3879a36c7230c2842c651c4a3ce66b3d61
vim +/pr +158 drivers/acpi/processor_thermal.c
3000ce3c52f8b8 Rafael J. Wysocki 2019-10-16 149 void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)
4be44fcd3bf648 Len Brown 2005-08-05 150 {
a1bb46c36ce389 Rafael J. Wysocki 2019-10-25 151 unsigned int cpu;
a1bb46c36ce389 Rafael J. Wysocki 2019-10-25 152
a1bb46c36ce389 Rafael J. Wysocki 2019-10-25 153 for_each_cpu(cpu, policy->related_cpus) {
3000ce3c52f8b8 Rafael J. Wysocki 2019-10-16 154 struct acpi_processor *pr = per_cpu(processors, policy->cpu);
^1da177e4c3f41 Linus Torvalds 2005-04-16 155
2d8b39a62a5d38 Rafael J. Wysocki 2019-10-15 @156 if (pr)
^^
Check
3000ce3c52f8b8 Rafael J. Wysocki 2019-10-16 157 freq_qos_remove_request(&pr->thermal_req);
7d1c8f3879a36c Zhang Rui 2020-04-08 @158 thermal_cdev_stats_update_max(pr->cdev);
^^^^^^^^
Unchecked dereference.
^1da177e4c3f41 Linus Torvalds 2005-04-16 159 }
a1bb46c36ce389 Rafael J. Wysocki 2019-10-25 160 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 161 #else /* ! CONFIG_CPU_FREQ */
d9460fd227ed2c Zhang Rui 2008-01-17 162 static int cpufreq_get_max_state(unsigned int cpu)
d9460fd227ed2c Zhang Rui 2008-01-17 163 {
d9460fd227ed2c Zhang Rui 2008-01-17 164 return 0;
d9460fd227ed2c Zhang Rui 2008-01-17 165 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 5 months