[chrome-os:chromeos-5.4 80/110] drivers/hid/i2c-hid/i2c-hid-acpi.c:97:5: warning: no previous prototype for 'i2c_hid_acpi_probe'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 675b5726e8452a03e2cf91f66e813716edf4c2aa
commit: 09e9a6674e2cfbf02d7198567d72cb74e917ef0a [80/110] BACKPORT: FROMLIST: HID: i2c-hid: Reorganize so ACPI and OF are subclasses
config: x86_64-randconfig-r034-20201109 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout 09e9a6674e2cfbf02d7198567d72cb74e917ef0a
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hid/i2c-hid/i2c-hid-acpi.c:97:5: warning: no previous prototype for 'i2c_hid_acpi_probe' [-Wmissing-prototypes]
97 | int i2c_hid_acpi_probe(struct i2c_client *client,
| ^~~~~~~~~~~~~~~~~~
vim +/i2c_hid_acpi_probe +97 drivers/hid/i2c-hid/i2c-hid-acpi.c
96
> 97 int i2c_hid_acpi_probe(struct i2c_client *client,
98 const struct i2c_device_id *dev_id)
99 {
100 struct device *dev = &client->dev;
101 struct i2c_hid_acpi *ihid_acpi;
102 u16 hid_descriptor_address;
103 int ret;
104
105 ihid_acpi = devm_kzalloc(&client->dev, sizeof(*ihid_acpi), GFP_KERNEL);
106 if (!ihid_acpi)
107 return -ENOMEM;
108
109 ihid_acpi->subclass.power_up_device = i2c_hid_acpi_power_up_device;
110
111 ret = i2c_hid_acpi_get_descriptor(client);
112 if (ret < 0)
113 return ret;
114 hid_descriptor_address = ret;
115
116 if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) {
117 device_set_wakeup_capable(dev, true);
118 device_set_wakeup_enable(dev, false);
119 }
120
121 return i2c_hid_core_probe(client, &ihid_acpi->subclass,
122 hid_descriptor_address);
123 }
124
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[tnguy-next-queue:dev-queue 73/96] drivers/net/ethernet/intel/igc/igc_ptp.c:183:18: sparse: sparse: cast to restricted __le32
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue
head: 3f69b6741396fada730c8a1ccc0bfa8c771b9dab
commit: 44f0d25c501202f999773c94ee0a11d7e7376b76 [73/96] igc: Fix igc_ptp_rx_pktstamp()
config: i386-randconfig-s002-20201113 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-107-gaf3512a6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git/comm...
git remote add tnguy-next-queue https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git
git fetch --no-tags tnguy-next-queue dev-queue
git checkout 44f0d25c501202f999773c94ee0a11d7e7376b76
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/net/ethernet/intel/igc/igc_ptp.c:183:18: sparse: sparse: cast to restricted __le32
drivers/net/ethernet/intel/igc/igc_ptp.c:184:24: sparse: sparse: cast to restricted __le32
drivers/net/ethernet/intel/igc/igc_ptp.c:458:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/intel/igc/igc_ptp.c:458:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/intel/igc/igc_ptp.c:458:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/intel/igc/igc_ptp.c:458:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/intel/igc/igc_ptp.c:458:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/intel/igc/igc_ptp.c:458:21: sparse: sparse: cast to restricted __be32
vim +183 drivers/net/ethernet/intel/igc/igc_ptp.c
155
156 /**
157 * igc_ptp_rx_pktstamp - Retrieve timestamp from Rx packet buffer
158 * @q_vector: Pointer to interrupt specific structure
159 * @va: Pointer to address containing Rx buffer
160 * @skb: Buffer containing timestamp and packet
161 *
162 * This function retrieves the timestamp saved in the beginning of packet
163 * buffer. While two timestamps are available, one in timer0 reference and the
164 * other in timer1 reference, this function considers only the timestamp in
165 * timer0 reference.
166 */
167 void igc_ptp_rx_pktstamp(struct igc_q_vector *q_vector, u32 *va,
168 struct sk_buff *skb)
169 {
170 struct igc_adapter *adapter = q_vector->adapter;
171 u64 regval;
172 int adjust;
173
174 /* Timestamps are saved in little endian at the beginning of the packet
175 * buffer following the layout:
176 *
177 * DWORD: | 0 | 1 | 2 | 3 |
178 * Field: | Timer1 SYSTIML | Timer1 SYSTIMH | Timer0 SYSTIML | Timer0 SYSTIMH |
179 *
180 * SYSTIML holds the nanoseconds part while SYSTIMH holds the seconds
181 * part of the timestamp.
182 */
> 183 regval = le32_to_cpu(va[2]);
184 regval |= (u64)le32_to_cpu(va[3]) << 32;
185 igc_ptp_systim_to_hwtstamp(adapter, skb_hwtstamps(skb), regval);
186
187 /* Adjust timestamp for the RX latency based on link speed */
188 switch (adapter->link_speed) {
189 case SPEED_10:
190 adjust = IGC_I225_RX_LATENCY_10;
191 break;
192 case SPEED_100:
193 adjust = IGC_I225_RX_LATENCY_100;
194 break;
195 case SPEED_1000:
196 adjust = IGC_I225_RX_LATENCY_1000;
197 break;
198 case SPEED_2500:
199 adjust = IGC_I225_RX_LATENCY_2500;
200 break;
201 default:
202 adjust = 0;
203 netdev_warn_once(adapter->netdev, "Imprecise timestamp\n");
204 break;
205 }
206 skb_hwtstamps(skb)->hwtstamp =
207 ktime_sub_ns(skb_hwtstamps(skb)->hwtstamp, adjust);
208 }
209
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH] btrfs: Simplify setup_nodes_for_search
by kernel test robot
Hi Nikolay,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kdave/for-next]
[also build test WARNING on next-20201112]
[cannot apply to btrfs/next v5.10-rc3]
[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/Nikolay-Borisov/btrfs-Simplify-s...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: riscv-randconfig-r014-20201112 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a7b65741441556d295079fc4f2391d99fd1c1111)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/aea2237f4b88d91fc8ad6469b205ff6ad...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nikolay-Borisov/btrfs-Simplify-setup_nodes_for_search/20201112-191847
git checkout aea2237f4b88d91fc8ad6469b205ff6ada2fcf55
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
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 arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:564:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inw(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:56:76: note: expanded from macro 'inw'
#define inw(c) ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:88:76: note: expanded from macro 'readw_cpu'
#define readw_cpu(c) ({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
^
include/uapi/linux/byteorder/little_endian.h:36:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from fs/btrfs/ctree.c:10:
In file included from fs/btrfs/ctree.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:572:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inl(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:57:76: note: expanded from macro 'inl'
#define inl(c) ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:89:76: note: expanded from macro 'readl_cpu'
#define readl_cpu(c) ({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
^
include/uapi/linux/byteorder/little_endian.h:34:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from fs/btrfs/ctree.c:10:
In file included from fs/btrfs/ctree.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:580:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outb(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:59:68: note: expanded from macro 'outb'
#define outb(v,c) ({ __io_pbw(); writeb_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:91:52: note: expanded from macro 'writeb_cpu'
#define writeb_cpu(v, c) ((void)__raw_writeb((v), (c)))
^
In file included from fs/btrfs/ctree.c:10:
In file included from fs/btrfs/ctree.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:588:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outw(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:60:68: note: expanded from macro 'outw'
#define outw(v,c) ({ __io_pbw(); writew_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:92:76: note: expanded from macro 'writew_cpu'
#define writew_cpu(v, c) ((void)__raw_writew((__force u16)cpu_to_le16(v), (c)))
^
In file included from fs/btrfs/ctree.c:10:
In file included from fs/btrfs/ctree.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:596:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outl(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:61:68: note: expanded from macro 'outl'
#define outl(v,c) ({ __io_pbw(); writel_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:93:76: note: expanded from macro 'writel_cpu'
#define writel_cpu(v, c) ((void)__raw_writel((__force u32)cpu_to_le32(v), (c)))
^
In file included from fs/btrfs/ctree.c:10:
In file included from fs/btrfs/ctree.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:1005:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
~~~~~~~~~~ ^
>> fs/btrfs/ctree.c:2408:13: warning: variable 'ret' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
} else if (ins_len < 0 && btrfs_header_nritems(b) <
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/btrfs/ctree.c:2429:9: note: uninitialized use occurs here
return ret;
^~~
fs/btrfs/ctree.c:2408:9: note: remove the 'if' if its condition is always true
} else if (ins_len < 0 && btrfs_header_nritems(b) <
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/btrfs/ctree.c:2408:13: warning: variable 'ret' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
} else if (ins_len < 0 && btrfs_header_nritems(b) <
^~~~~~~~~~~
fs/btrfs/ctree.c:2429:9: note: uninitialized use occurs here
return ret;
^~~
fs/btrfs/ctree.c:2408:13: note: remove the '&&' if its condition is always true
} else if (ins_len < 0 && btrfs_header_nritems(b) <
^~~~~~~~~~~~~~
fs/btrfs/ctree.c:2393:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
9 warnings generated.
vim +2408 fs/btrfs/ctree.c
c8c42864f619363 Chris Mason 2009-04-03 2376
c8c42864f619363 Chris Mason 2009-04-03 2377 /*
c8c42864f619363 Chris Mason 2009-04-03 2378 * helper function for btrfs_search_slot. This does all of the checks
c8c42864f619363 Chris Mason 2009-04-03 2379 * for node-level blocks and does any balancing required based on
c8c42864f619363 Chris Mason 2009-04-03 2380 * the ins_len.
c8c42864f619363 Chris Mason 2009-04-03 2381 *
c8c42864f619363 Chris Mason 2009-04-03 2382 * If no extra work was required, zero is returned. If we had to
c8c42864f619363 Chris Mason 2009-04-03 2383 * drop the path, -EAGAIN is returned and btrfs_search_slot must
c8c42864f619363 Chris Mason 2009-04-03 2384 * start over
c8c42864f619363 Chris Mason 2009-04-03 2385 */
c8c42864f619363 Chris Mason 2009-04-03 2386 static int
c8c42864f619363 Chris Mason 2009-04-03 2387 setup_nodes_for_search(struct btrfs_trans_handle *trans,
c8c42864f619363 Chris Mason 2009-04-03 2388 struct btrfs_root *root, struct btrfs_path *p,
bd681513fa6f2ff Chris Mason 2011-07-16 2389 struct extent_buffer *b, int level, int ins_len,
bd681513fa6f2ff Chris Mason 2011-07-16 2390 int *write_lock_level)
c8c42864f619363 Chris Mason 2009-04-03 2391 {
0b246afa62b0cf5 Jeff Mahoney 2016-06-22 2392 struct btrfs_fs_info *fs_info = root->fs_info;
c8c42864f619363 Chris Mason 2009-04-03 2393 int ret;
0b246afa62b0cf5 Jeff Mahoney 2016-06-22 2394
c8c42864f619363 Chris Mason 2009-04-03 2395 if ((p->search_for_split || ins_len > 0) && btrfs_header_nritems(b) >=
0b246afa62b0cf5 Jeff Mahoney 2016-06-22 2396 BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 3) {
c8c42864f619363 Chris Mason 2009-04-03 2397
bd681513fa6f2ff Chris Mason 2011-07-16 2398 if (*write_lock_level < level + 1) {
bd681513fa6f2ff Chris Mason 2011-07-16 2399 *write_lock_level = level + 1;
bd681513fa6f2ff Chris Mason 2011-07-16 2400 btrfs_release_path(p);
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2401 return -EAGAIN;
bd681513fa6f2ff Chris Mason 2011-07-16 2402 }
bd681513fa6f2ff Chris Mason 2011-07-16 2403
480b65236526f4c Josef Bacik 2020-11-05 2404 reada_for_balance(p, level);
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2405 ret = split_node(trans, root, p, level);
c8c42864f619363 Chris Mason 2009-04-03 2406
c8c42864f619363 Chris Mason 2009-04-03 2407 b = p->nodes[level];
c8c42864f619363 Chris Mason 2009-04-03 @2408 } else if (ins_len < 0 && btrfs_header_nritems(b) <
0b246afa62b0cf5 Jeff Mahoney 2016-06-22 2409 BTRFS_NODEPTRS_PER_BLOCK(fs_info) / 2) {
c8c42864f619363 Chris Mason 2009-04-03 2410
bd681513fa6f2ff Chris Mason 2011-07-16 2411 if (*write_lock_level < level + 1) {
bd681513fa6f2ff Chris Mason 2011-07-16 2412 *write_lock_level = level + 1;
bd681513fa6f2ff Chris Mason 2011-07-16 2413 btrfs_release_path(p);
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2414 return -EAGAIN;
bd681513fa6f2ff Chris Mason 2011-07-16 2415 }
bd681513fa6f2ff Chris Mason 2011-07-16 2416
480b65236526f4c Josef Bacik 2020-11-05 2417 reada_for_balance(p, level);
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2418 ret = balance_level(trans, root, p, level);
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2419 if (ret)
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2420 return ret;
c8c42864f619363 Chris Mason 2009-04-03 2421
c8c42864f619363 Chris Mason 2009-04-03 2422 b = p->nodes[level];
c8c42864f619363 Chris Mason 2009-04-03 2423 if (!b) {
b3b4aa74b58bded David Sterba 2011-04-21 2424 btrfs_release_path(p);
aea2237f4b88d91 Nikolay Borisov 2020-11-12 2425 return -EAGAIN;
c8c42864f619363 Chris Mason 2009-04-03 2426 }
c8c42864f619363 Chris Mason 2009-04-03 2427 BUG_ON(btrfs_header_nritems(b) == 1);
c8c42864f619363 Chris Mason 2009-04-03 2428 }
c8c42864f619363 Chris Mason 2009-04-03 2429 return ret;
c8c42864f619363 Chris Mason 2009-04-03 2430 }
c8c42864f619363 Chris Mason 2009-04-03 2431
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH 3/3] powerpc: rewrite atomics to use ARCH_ATOMIC
by kernel test robot
Hi Nicholas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on powerpc/next]
[also build test WARNING on asm-generic/master linus/master v5.10-rc3 next-20201112]
[cannot apply to scottwood/next]
[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/Nicholas-Piggin/powerpc-convert-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc64-randconfig-s031-20201111 (attached as .config)
compiler: powerpc-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
# apt-get install sparse
# sparse version: v0.6.3-107-gaf3512a6-dirty
# https://github.com/0day-ci/linux/commit/9e1bec8fe216b0745c647e52c40d1f003...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nicholas-Piggin/powerpc-convert-to-use-ARCH_ATOMIC/20201111-190941
git checkout 9e1bec8fe216b0745c647e52c40d1f0033fb4efd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64
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/gpu/drm/drm_lock.c:75:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:75:24: sparse: expected void *ptr
>> drivers/gpu/drm/drm_lock.c:75:24: sparse: got unsigned int volatile *__ai_ptr
>> drivers/gpu/drm/drm_lock.c:75:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:75:24: sparse: expected void *ptr
>> drivers/gpu/drm/drm_lock.c:75:24: sparse: got unsigned int volatile *__ai_ptr
drivers/gpu/drm/drm_lock.c:118:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:118:24: sparse: expected void *ptr
drivers/gpu/drm/drm_lock.c:118:24: sparse: got unsigned int volatile *__ai_ptr
drivers/gpu/drm/drm_lock.c:118:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:118:24: sparse: expected void *ptr
drivers/gpu/drm/drm_lock.c:118:24: sparse: got unsigned int volatile *__ai_ptr
drivers/gpu/drm/drm_lock.c:141:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:141:24: sparse: expected void *ptr
drivers/gpu/drm/drm_lock.c:141:24: sparse: got unsigned int volatile *__ai_ptr
drivers/gpu/drm/drm_lock.c:141:24: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:141:24: sparse: expected void *ptr
drivers/gpu/drm/drm_lock.c:141:24: sparse: got unsigned int volatile *__ai_ptr
drivers/gpu/drm/drm_lock.c:319:40: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:319:40: sparse: expected void *ptr
drivers/gpu/drm/drm_lock.c:319:40: sparse: got unsigned int volatile *__ai_ptr
drivers/gpu/drm/drm_lock.c:319:40: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void *ptr @@ got unsigned int volatile *__ai_ptr @@
drivers/gpu/drm/drm_lock.c:319:40: sparse: expected void *ptr
drivers/gpu/drm/drm_lock.c:319:40: sparse: got unsigned int volatile *__ai_ptr
vim +75 drivers/gpu/drm/drm_lock.c
4ac5ec40ec70022 Daniel Vetter 2010-08-23 48
bd50d4a2168370b Benjamin Gaignard 2020-03-06 49 /*
1a75a222f5ca106 Daniel Vetter 2016-06-14 50 * Take the heavyweight lock.
1a75a222f5ca106 Daniel Vetter 2016-06-14 51 *
1a75a222f5ca106 Daniel Vetter 2016-06-14 52 * \param lock lock pointer.
1a75a222f5ca106 Daniel Vetter 2016-06-14 53 * \param context locking context.
1a75a222f5ca106 Daniel Vetter 2016-06-14 54 * \return one if the lock is held, or zero otherwise.
1a75a222f5ca106 Daniel Vetter 2016-06-14 55 *
1a75a222f5ca106 Daniel Vetter 2016-06-14 56 * Attempt to mark the lock as held by the given context, via the \p cmpxchg instruction.
1a75a222f5ca106 Daniel Vetter 2016-06-14 57 */
1a75a222f5ca106 Daniel Vetter 2016-06-14 58 static
1a75a222f5ca106 Daniel Vetter 2016-06-14 59 int drm_lock_take(struct drm_lock_data *lock_data,
1a75a222f5ca106 Daniel Vetter 2016-06-14 60 unsigned int context)
1a75a222f5ca106 Daniel Vetter 2016-06-14 61 {
1a75a222f5ca106 Daniel Vetter 2016-06-14 62 unsigned int old, new, prev;
1a75a222f5ca106 Daniel Vetter 2016-06-14 63 volatile unsigned int *lock = &lock_data->hw_lock->lock;
1a75a222f5ca106 Daniel Vetter 2016-06-14 64
1a75a222f5ca106 Daniel Vetter 2016-06-14 65 spin_lock_bh(&lock_data->spinlock);
1a75a222f5ca106 Daniel Vetter 2016-06-14 66 do {
1a75a222f5ca106 Daniel Vetter 2016-06-14 67 old = *lock;
1a75a222f5ca106 Daniel Vetter 2016-06-14 68 if (old & _DRM_LOCK_HELD)
1a75a222f5ca106 Daniel Vetter 2016-06-14 69 new = old | _DRM_LOCK_CONT;
1a75a222f5ca106 Daniel Vetter 2016-06-14 70 else {
1a75a222f5ca106 Daniel Vetter 2016-06-14 71 new = context | _DRM_LOCK_HELD |
1a75a222f5ca106 Daniel Vetter 2016-06-14 72 ((lock_data->user_waiters + lock_data->kernel_waiters > 1) ?
1a75a222f5ca106 Daniel Vetter 2016-06-14 73 _DRM_LOCK_CONT : 0);
1a75a222f5ca106 Daniel Vetter 2016-06-14 74 }
1a75a222f5ca106 Daniel Vetter 2016-06-14 @75 prev = cmpxchg(lock, old, new);
1a75a222f5ca106 Daniel Vetter 2016-06-14 76 } while (prev != old);
1a75a222f5ca106 Daniel Vetter 2016-06-14 77 spin_unlock_bh(&lock_data->spinlock);
1a75a222f5ca106 Daniel Vetter 2016-06-14 78
1a75a222f5ca106 Daniel Vetter 2016-06-14 79 if (_DRM_LOCKING_CONTEXT(old) == context) {
1a75a222f5ca106 Daniel Vetter 2016-06-14 80 if (old & _DRM_LOCK_HELD) {
1a75a222f5ca106 Daniel Vetter 2016-06-14 81 if (context != DRM_KERNEL_CONTEXT) {
1a75a222f5ca106 Daniel Vetter 2016-06-14 82 DRM_ERROR("%d holds heavyweight lock\n",
1a75a222f5ca106 Daniel Vetter 2016-06-14 83 context);
1a75a222f5ca106 Daniel Vetter 2016-06-14 84 }
1a75a222f5ca106 Daniel Vetter 2016-06-14 85 return 0;
1a75a222f5ca106 Daniel Vetter 2016-06-14 86 }
1a75a222f5ca106 Daniel Vetter 2016-06-14 87 }
1a75a222f5ca106 Daniel Vetter 2016-06-14 88
1a75a222f5ca106 Daniel Vetter 2016-06-14 89 if ((_DRM_LOCKING_CONTEXT(new)) == context && (new & _DRM_LOCK_HELD)) {
1a75a222f5ca106 Daniel Vetter 2016-06-14 90 /* Have lock */
1a75a222f5ca106 Daniel Vetter 2016-06-14 91 return 1;
1a75a222f5ca106 Daniel Vetter 2016-06-14 92 }
1a75a222f5ca106 Daniel Vetter 2016-06-14 93 return 0;
1a75a222f5ca106 Daniel Vetter 2016-06-14 94 }
1a75a222f5ca106 Daniel Vetter 2016-06-14 95
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[tnguy-next-queue:dev-queue 50/96] drivers/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue
head: 3f69b6741396fada730c8a1ccc0bfa8c771b9dab
commit: cf576c848e1829ce268474d0510dab01a4235e36 [50/96] igc: Add support for PTP getcrosststamp()
config: i386-randconfig-s002-20201113 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-107-gaf3512a6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git/comm...
git remote add tnguy-next-queue https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git
git fetch --no-tags tnguy-next-queue dev-queue
git checkout cf576c848e1829ce268474d0510dab01a4235e36
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/intel/igc/igc_ptp.c:450:21: sparse: sparse: cast to restricted __be32
vim +450 drivers/net/ethernet/intel/igc/igc_ptp.c
434
435 static void igc_ptm_gather_report(struct igc_adapter *adapter)
436 {
437 struct igc_hw *hw = &adapter->hw;
438 u32 t2_curr_h, t2_curr_l;
439 ktime_t t1, t2_curr;
440
441 t1 = ktime_set(rd32(IGC_PTM_T1_TIM0_H),
442 rd32(IGC_PTM_T1_TIM0_L));
443
444 t2_curr_l = rd32(IGC_PTM_CURR_T2_L);
445 t2_curr_h = rd32(IGC_PTM_CURR_T2_H);
446
447 /* FIXME: There's an ambiguity on what endianness some PCIe PTM
448 * messages should use. Find a more robust way to handle this.
449 */
> 450 t2_curr_h = be32_to_cpu(t2_curr_h);
451
452 t2_curr = ((s64)t2_curr_h << 32 | t2_curr_l);
453
454 wr32(IGC_PTM_STAT, IGC_PTM_STAT_VALID);
455
456 mutex_lock(&adapter->ptm_time_lock);
457
458 /* Because get_device_system_crosststamp() requires that the
459 * historic timestamp is before the PTM device/host
460 * timestamps, we keep track of the current and previous
461 * snapshot (historic timestamp).
462 */
463 memcpy(&adapter->prev_snapshot,
464 &adapter->curr_snapshot, sizeof(adapter->prev_snapshot));
465 ktime_get_snapshot(&adapter->curr_snapshot);
466
467 adapter->ptm_device_time = t1;
468 adapter->ptm_host_time = igc_device_tstamp_to_system(t2_curr);
469 mutex_unlock(&adapter->ptm_time_lock);
470
471 mod_delayed_work(system_wq, &adapter->ptm_report,
472 msecs_to_jiffies(IGC_PTM_CYCLE_TIME_MSECS));
473 }
474
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[hnaz-linux-mm:master 412/421] drivers/mailbox/bcm-pdc-mailbox.c:682:28: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://github.com/hnaz/linux-mm master
head: 2932a9e66c580f3c8d95ec27716d437198fb4c94
commit: 07b12d9b4d4dfc2f4708b795d5abeab3131278f0 [412/421] iomap: constify ioreadX() iomem argument (as in generic implementation)
config: powerpc-randconfig-s031-20201111 (attached as .config)
compiler: powerpc64-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
# apt-get install sparse
# sparse version: v0.6.3-107-gaf3512a6-dirty
# https://github.com/hnaz/linux-mm/commit/07b12d9b4d4dfc2f4708b795d5abeab31...
git remote add hnaz-linux-mm https://github.com/hnaz/linux-mm
git fetch --no-tags hnaz-linux-mm master
git checkout 07b12d9b4d4dfc2f4708b795d5abeab3131278f0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc
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/mailbox/bcm-pdc-mailbox.c:682:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@
>> drivers/mailbox/bcm-pdc-mailbox.c:682:28: sparse: expected void const [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:682:28: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:792:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:792:42: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:792:42: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:793:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:793:42: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:793:42: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1031:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1031:32: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1031:32: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1033:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1033:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1033:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1034:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1034:23: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1034:23: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1035:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1035:23: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1035:23: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1039:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1039:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1039:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1041:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1041:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1041:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1044:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1044:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1044:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1046:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1046:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1046:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1049:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1049:48: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1049:48: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1051:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1051:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1051:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1058:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1058:48: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1058:48: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1062:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1062:63: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1062:63: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1068:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1068:48: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1068:48: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1072:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1072:48: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1072:48: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1296:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/mailbox/bcm-pdc-mailbox.c:1298:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/mailbox/bcm-pdc-mailbox.c:1301:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/mailbox/bcm-pdc-mailbox.c:1308:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1308:27: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1308:27: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1313:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1313:32: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1313:32: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1316:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1316:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1316:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1319:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1319:23: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1319:23: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1320:23: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1320:23: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1320:23: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1337:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1337:32: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1337:32: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:1339:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@
drivers/mailbox/bcm-pdc-mailbox.c:1339:20: sparse: expected void [noderef] __iomem *
drivers/mailbox/bcm-pdc-mailbox.c:1339:20: sparse: got unsigned int *
drivers/mailbox/bcm-pdc-mailbox.c:558:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addrlow @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:558:22: sparse: expected unsigned int [usertype] addrlow
drivers/mailbox/bcm-pdc-mailbox.c:558:22: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:559:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addrhigh @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:559:23: sparse: expected unsigned int [usertype] addrhigh
drivers/mailbox/bcm-pdc-mailbox.c:559:23: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:560:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ctrl1 @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:560:20: sparse: expected unsigned int [usertype] ctrl1
drivers/mailbox/bcm-pdc-mailbox.c:560:20: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:561:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ctrl2 @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:561:20: sparse: expected unsigned int [usertype] ctrl2
drivers/mailbox/bcm-pdc-mailbox.c:561:20: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:558:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addrlow @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:558:22: sparse: expected unsigned int [usertype] addrlow
drivers/mailbox/bcm-pdc-mailbox.c:558:22: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:559:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addrhigh @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:559:23: sparse: expected unsigned int [usertype] addrhigh
drivers/mailbox/bcm-pdc-mailbox.c:559:23: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:560:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ctrl1 @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:560:20: sparse: expected unsigned int [usertype] ctrl1
drivers/mailbox/bcm-pdc-mailbox.c:560:20: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:561:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ctrl2 @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:561:20: sparse: expected unsigned int [usertype] ctrl2
drivers/mailbox/bcm-pdc-mailbox.c:561:20: sparse: got restricted __le32 [usertype]
drivers/mailbox/bcm-pdc-mailbox.c:530:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addrlow @@ got restricted __le32 [usertype] @@
drivers/mailbox/bcm-pdc-mailbox.c:530:22: sparse: expected unsigned int [usertype] addrlow
drivers/mailbox/bcm-pdc-mailbox.c:530:22: sparse: got restricted __le32 [usertype]
vim +682 drivers/mailbox/bcm-pdc-mailbox.c
e004c7e7d3b873a Rob Rice 2016-11-14 667
e004c7e7d3b873a Rob Rice 2016-11-14 668 /**
e004c7e7d3b873a Rob Rice 2016-11-14 669 * pdc_receive() - Process as many responses as are available in the rx ring.
e004c7e7d3b873a Rob Rice 2016-11-14 670 * @pdcs: PDC state
e004c7e7d3b873a Rob Rice 2016-11-14 671 *
e004c7e7d3b873a Rob Rice 2016-11-14 672 * Called within the hard IRQ.
e004c7e7d3b873a Rob Rice 2016-11-14 673 * Return:
e004c7e7d3b873a Rob Rice 2016-11-14 674 */
e004c7e7d3b873a Rob Rice 2016-11-14 675 static int
e004c7e7d3b873a Rob Rice 2016-11-14 676 pdc_receive(struct pdc_state *pdcs)
e004c7e7d3b873a Rob Rice 2016-11-14 677 {
e004c7e7d3b873a Rob Rice 2016-11-14 678 int rx_status;
e004c7e7d3b873a Rob Rice 2016-11-14 679
e004c7e7d3b873a Rob Rice 2016-11-14 680 /* read last_rx_curr from register once */
e004c7e7d3b873a Rob Rice 2016-11-14 681 pdcs->last_rx_curr =
cf17581340d7301 Rob Rice 2016-11-14 @682 (ioread32(&pdcs->rxregs_64->status0) &
e004c7e7d3b873a Rob Rice 2016-11-14 683 CRYPTO_D64_RS0_CD_MASK) / RING_ENTRY_SIZE;
e004c7e7d3b873a Rob Rice 2016-11-14 684
e004c7e7d3b873a Rob Rice 2016-11-14 685 do {
e004c7e7d3b873a Rob Rice 2016-11-14 686 /* Could be many frames ready */
e004c7e7d3b873a Rob Rice 2016-11-14 687 rx_status = pdc_receive_one(pdcs);
e004c7e7d3b873a Rob Rice 2016-11-14 688 } while (rx_status == PDC_SUCCESS);
e004c7e7d3b873a Rob Rice 2016-11-14 689
e004c7e7d3b873a Rob Rice 2016-11-14 690 return 0;
a24532f8d17b721 Rob Rice 2016-06-30 691 }
a24532f8d17b721 Rob Rice 2016-06-30 692
:::::: The code at line 682 was first introduced by commit
:::::: cf17581340d730175f1f3f4ce6e90ae434154e37 mailbox: bcm-pdc: Remove unnecessary void* casts
:::::: TO: Rob Rice <rob.rice(a)broadcom.com>
:::::: CC: Jassi Brar <jaswinder.singh(a)linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH] drm/bridge: anx7625: Add anx7625 port switching.
by kernel test robot
Hi Pi-Hsun,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on 3e14f70c05cda4794901ed8f976de3a88deebcc0]
url: https://github.com/0day-ci/linux/commits/Pi-Hsun-Shih/drm-bridge-anx7625-...
base: 3e14f70c05cda4794901ed8f976de3a88deebcc0
config: i386-randconfig-r016-20201111 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/96b15cfd320004cab18e33f081007ac3c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Pi-Hsun-Shih/drm-bridge-anx7625-Add-anx7625-port-switching/20201112-144229
git checkout 96b15cfd320004cab18e33f081007ac3c312a30d
# save the attached .config to linux build tree
make 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 errors (new ones prefixed by >>):
ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_i2c_remove':
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1943: undefined reference to `typec_mux_unregister'
>> ld: drivers/gpu/drm/bridge/analogix/anx7625.c:1943: undefined reference to `typec_mux_unregister'
>> ld: drivers/gpu/drm/bridge/analogix/anx7625.c:1946: undefined reference to `typec_switch_unregister'
ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_usb_mux_set':
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1287: undefined reference to `typec_mux_get_drvdata'
ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_register_usb_two_ports':
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1326: undefined reference to `typec_mux_register'
ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_register_usb':
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1266: undefined reference to `typec_switch_register'
ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_register_usb_two_ports':
drivers/gpu/drm/bridge/analogix/anx7625.c:1340: undefined reference to `typec_mux_unregister'
ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_usb_set_orientation':
>> drivers/gpu/drm/bridge/analogix/anx7625.c:1249: undefined reference to `typec_switch_get_drvdata'
vim +1943 drivers/gpu/drm/bridge/analogix/anx7625.c
1933
1934 static int anx7625_i2c_remove(struct i2c_client *client)
1935 {
1936 struct anx7625_data *platform = i2c_get_clientdata(client);
1937 int i;
1938
1939 drm_bridge_remove(&platform->bridge);
1940
1941 if (platform->pdata.tx_rx_to_two_ports)
1942 for (i = 0; i < 2; i++)
> 1943 typec_mux_unregister(
1944 platform->typec_ports[i].typec_mux);
1945 else
> 1946 typec_switch_unregister(platform->typec_sw);
1947
1948 if (platform->pdata.intp_irq)
1949 destroy_workqueue(platform->workqueue);
1950
1951 anx7625_unregister_i2c_dummy_clients(platform);
1952
1953 kfree(platform);
1954 return 0;
1955 }
1956
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months