Re: [PATCH v1 06/15] scsi: esas2r: use generic power management
by kernel test robot
Hi Vaibhav,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.8-rc5]
[cannot apply to scsi/for-next mkp-scsi/for-next next-20200717]
[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/Vaibhav-Gupta/scsi-use-generic-p...
base: 11ba468877bb23f28956a35e896356252d63c983
config: arm64-randconfig-r004-20200716 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/scsi/esas2r/esas2r_init.c:696:6: warning: variable 'rez' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (test_bit(AF2_IRQ_CLAIMED, &a->flags2)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/esas2r/esas2r_init.c:712:10: note: uninitialized use occurs here
rez);
^~~
drivers/scsi/esas2r/esas2r_init.c:696:2: note: remove the 'if' if its condition is always false
if (test_bit(AF2_IRQ_CLAIMED, &a->flags2)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/esas2r/esas2r_init.c:661:9: note: initialize the variable 'rez' to silence this warning
int rez;
^
= 0
1 warning generated.
vim +696 drivers/scsi/esas2r/esas2r_init.c
26780d9e12edf4 Bradley Grove 2013-08-23 656
d045ddf3e97346 Vaibhav Gupta 2020-07-17 657 static int __maybe_unused esas2r_resume(struct device *dev)
26780d9e12edf4 Bradley Grove 2013-08-23 658 {
d045ddf3e97346 Vaibhav Gupta 2020-07-17 659 struct Scsi_Host *host = dev_get_drvdata(dev);
26780d9e12edf4 Bradley Grove 2013-08-23 660 struct esas2r_adapter *a = (struct esas2r_adapter *)host->hostdata;
26780d9e12edf4 Bradley Grove 2013-08-23 661 int rez;
26780d9e12edf4 Bradley Grove 2013-08-23 662
d045ddf3e97346 Vaibhav Gupta 2020-07-17 663 esas2r_log_dev(ESAS2R_LOG_INFO, dev, "resuming adapter()");
d045ddf3e97346 Vaibhav Gupta 2020-07-17 664 esas2r_log_dev(ESAS2R_LOG_INFO, dev,
d045ddf3e97346 Vaibhav Gupta 2020-07-17 665 "device_wakeup_disable() "
26780d9e12edf4 Bradley Grove 2013-08-23 666 "called");
d045ddf3e97346 Vaibhav Gupta 2020-07-17 667 device_wakeup_disable(dev);
26780d9e12edf4 Bradley Grove 2013-08-23 668
26780d9e12edf4 Bradley Grove 2013-08-23 669 if (!a) {
26780d9e12edf4 Bradley Grove 2013-08-23 670 rez = -ENODEV;
26780d9e12edf4 Bradley Grove 2013-08-23 671 goto error_exit;
26780d9e12edf4 Bradley Grove 2013-08-23 672 }
26780d9e12edf4 Bradley Grove 2013-08-23 673
26780d9e12edf4 Bradley Grove 2013-08-23 674 if (esas2r_map_regions(a) != 0) {
26780d9e12edf4 Bradley Grove 2013-08-23 675 esas2r_log(ESAS2R_LOG_CRIT, "could not re-map PCI regions!");
26780d9e12edf4 Bradley Grove 2013-08-23 676 rez = -ENOMEM;
26780d9e12edf4 Bradley Grove 2013-08-23 677 goto error_exit;
26780d9e12edf4 Bradley Grove 2013-08-23 678 }
26780d9e12edf4 Bradley Grove 2013-08-23 679
26780d9e12edf4 Bradley Grove 2013-08-23 680 /* Set up interupt mode */
26780d9e12edf4 Bradley Grove 2013-08-23 681 esas2r_setup_interrupts(a, a->intr_mode);
26780d9e12edf4 Bradley Grove 2013-08-23 682
26780d9e12edf4 Bradley Grove 2013-08-23 683 /*
26780d9e12edf4 Bradley Grove 2013-08-23 684 * Disable chip interrupts to prevent spurious interrupts until we
26780d9e12edf4 Bradley Grove 2013-08-23 685 * claim the IRQ.
26780d9e12edf4 Bradley Grove 2013-08-23 686 */
26780d9e12edf4 Bradley Grove 2013-08-23 687 esas2r_disable_chip_interrupts(a);
26780d9e12edf4 Bradley Grove 2013-08-23 688 if (!esas2r_power_up(a, true)) {
26780d9e12edf4 Bradley Grove 2013-08-23 689 esas2r_debug("yikes, esas2r_power_up failed");
26780d9e12edf4 Bradley Grove 2013-08-23 690 rez = -ENOMEM;
26780d9e12edf4 Bradley Grove 2013-08-23 691 goto error_exit;
26780d9e12edf4 Bradley Grove 2013-08-23 692 }
26780d9e12edf4 Bradley Grove 2013-08-23 693
26780d9e12edf4 Bradley Grove 2013-08-23 694 esas2r_claim_interrupts(a);
26780d9e12edf4 Bradley Grove 2013-08-23 695
9588d24e36003b Bradley Grove 2013-10-01 @696 if (test_bit(AF2_IRQ_CLAIMED, &a->flags2)) {
26780d9e12edf4 Bradley Grove 2013-08-23 697 /*
26780d9e12edf4 Bradley Grove 2013-08-23 698 * Now that system interrupt(s) are claimed, we can enable
26780d9e12edf4 Bradley Grove 2013-08-23 699 * chip interrupts.
26780d9e12edf4 Bradley Grove 2013-08-23 700 */
26780d9e12edf4 Bradley Grove 2013-08-23 701 esas2r_enable_chip_interrupts(a);
26780d9e12edf4 Bradley Grove 2013-08-23 702 esas2r_kickoff_timer(a);
26780d9e12edf4 Bradley Grove 2013-08-23 703 } else {
26780d9e12edf4 Bradley Grove 2013-08-23 704 esas2r_debug("yikes, unable to claim IRQ");
26780d9e12edf4 Bradley Grove 2013-08-23 705 esas2r_log(ESAS2R_LOG_CRIT, "could not re-claim IRQ!");
26780d9e12edf4 Bradley Grove 2013-08-23 706 rez = -ENOMEM;
26780d9e12edf4 Bradley Grove 2013-08-23 707 goto error_exit;
26780d9e12edf4 Bradley Grove 2013-08-23 708 }
26780d9e12edf4 Bradley Grove 2013-08-23 709
26780d9e12edf4 Bradley Grove 2013-08-23 710 error_exit:
d045ddf3e97346 Vaibhav Gupta 2020-07-17 711 esas2r_log_dev(ESAS2R_LOG_CRIT, dev, "esas2r_resume(): %d",
26780d9e12edf4 Bradley Grove 2013-08-23 712 rez);
26780d9e12edf4 Bradley Grove 2013-08-23 713 return rez;
26780d9e12edf4 Bradley Grove 2013-08-23 714 }
26780d9e12edf4 Bradley Grove 2013-08-23 715
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[ljones-mfd:for-mfd-next 56/66] drivers/mfd/mfd-core.c:216:11: error: implicit declaration of function 'mfd_match_of_node_to_dev'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
head: 89e2fd3e750d33c697eff97a2c6804b735d1beb7
commit: 765f4122aee73587b62ad1c4e093d6d1d2468d75 [56/66] mfd: core: Make a best effort attempt to match devices with the correct of_nodes
config: m68k-randconfig-r013-20200717 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 765f4122aee73587b62ad1c4e093d6d1d2468d75
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/mfd/mfd-core.c: In function 'mfd_add_device':
>> drivers/mfd/mfd-core.c:216:11: error: implicit declaration of function 'mfd_match_of_node_to_dev' [-Werror=implicit-function-declaration]
216 | ret = mfd_match_of_node_to_dev(pdev, np, cell);
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/mfd_match_of_node_to_dev +216 drivers/mfd/mfd-core.c
169
170 static int mfd_add_device(struct device *parent, int id,
171 const struct mfd_cell *cell,
172 struct resource *mem_base,
173 int irq_base, struct irq_domain *domain)
174 {
175 struct resource *res;
176 struct platform_device *pdev;
177 struct device_node *np = NULL;
178 struct mfd_of_node_entry *of_entry, *tmp;
179 int ret = -ENOMEM;
180 int platform_id;
181 int r;
182
183 if (id == PLATFORM_DEVID_AUTO)
184 platform_id = id;
185 else
186 platform_id = id + cell->id;
187
188 pdev = platform_device_alloc(cell->name, platform_id);
189 if (!pdev)
190 goto fail_alloc;
191
192 pdev->mfd_cell = kmemdup(cell, sizeof(*cell), GFP_KERNEL);
193 if (!pdev->mfd_cell)
194 goto fail_device;
195
196 res = kcalloc(cell->num_resources, sizeof(*res), GFP_KERNEL);
197 if (!res)
198 goto fail_device;
199
200 pdev->dev.parent = parent;
201 pdev->dev.type = &mfd_dev_type;
202 pdev->dev.dma_mask = parent->dma_mask;
203 pdev->dev.dma_parms = parent->dma_parms;
204 pdev->dev.coherent_dma_mask = parent->coherent_dma_mask;
205
206 ret = regulator_bulk_register_supply_alias(
207 &pdev->dev, cell->parent_supplies,
208 parent, cell->parent_supplies,
209 cell->num_parent_supplies);
210 if (ret < 0)
211 goto fail_res;
212
213 if (IS_ENABLED(CONFIG_OF) && parent->of_node && cell->of_compatible) {
214 for_each_child_of_node(parent->of_node, np) {
215 if (of_device_is_compatible(np, cell->of_compatible)) {
> 216 ret = mfd_match_of_node_to_dev(pdev, np, cell);
217 if (ret == -EAGAIN)
218 continue;
219 if (ret)
220 goto fail_alias;
221
222 break;
223 }
224 }
225
226 if (!pdev->dev.of_node)
227 pr_warn("%s: Failed to locate of_node [id: %d]\n",
228 cell->name, platform_id);
229 }
230
231 mfd_acpi_add_device(cell, pdev);
232
233 if (cell->pdata_size) {
234 ret = platform_device_add_data(pdev,
235 cell->platform_data, cell->pdata_size);
236 if (ret)
237 goto fail_of_entry;
238 }
239
240 if (cell->properties) {
241 ret = platform_device_add_properties(pdev, cell->properties);
242 if (ret)
243 goto fail_of_entry;
244 }
245
246 for (r = 0; r < cell->num_resources; r++) {
247 res[r].name = cell->resources[r].name;
248 res[r].flags = cell->resources[r].flags;
249
250 /* Find out base to use */
251 if ((cell->resources[r].flags & IORESOURCE_MEM) && mem_base) {
252 res[r].parent = mem_base;
253 res[r].start = mem_base->start +
254 cell->resources[r].start;
255 res[r].end = mem_base->start +
256 cell->resources[r].end;
257 } else if (cell->resources[r].flags & IORESOURCE_IRQ) {
258 if (domain) {
259 /* Unable to create mappings for IRQ ranges. */
260 WARN_ON(cell->resources[r].start !=
261 cell->resources[r].end);
262 res[r].start = res[r].end = irq_create_mapping(
263 domain, cell->resources[r].start);
264 } else {
265 res[r].start = irq_base +
266 cell->resources[r].start;
267 res[r].end = irq_base +
268 cell->resources[r].end;
269 }
270 } else {
271 res[r].parent = cell->resources[r].parent;
272 res[r].start = cell->resources[r].start;
273 res[r].end = cell->resources[r].end;
274 }
275
276 if (!cell->ignore_resource_conflicts) {
277 if (has_acpi_companion(&pdev->dev)) {
278 ret = acpi_check_resource_conflict(&res[r]);
279 if (ret)
280 goto fail_of_entry;
281 }
282 }
283 }
284
285 ret = platform_device_add_resources(pdev, res, cell->num_resources);
286 if (ret)
287 goto fail_of_entry;
288
289 ret = platform_device_add(pdev);
290 if (ret)
291 goto fail_of_entry;
292
293 if (cell->pm_runtime_no_callbacks)
294 pm_runtime_no_callbacks(&pdev->dev);
295
296 kfree(res);
297
298 return 0;
299
300 fail_of_entry:
301 list_for_each_entry_safe(of_entry, tmp, &mfd_of_node_list, list)
302 if (of_entry->dev == &pdev->dev) {
303 list_del(&of_entry->list);
304 kfree(of_entry);
305 }
306 fail_alias:
307 regulator_bulk_unregister_supply_alias(&pdev->dev,
308 cell->parent_supplies,
309 cell->num_parent_supplies);
310 fail_res:
311 kfree(res);
312 fail_device:
313 platform_device_put(pdev);
314 fail_alloc:
315 return ret;
316 }
317
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-review:UPDATE-20200716-153005/Nikolay-Borisov/Convert-seed-devices-to-proper-list-API/20200715-185120 2/5] fs/btrfs/volumes.c:1029:6: warning: no previous prototype for '__btrfs_free_extra_devids'
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200716-153005/Nikolay-B...
head: a4695ab8c9d28c2c826e742853afa972b713f620
commit: 7a8f87bd7d0c4c97083a1efeebc8739db85575cc [2/5] btrfs: Factor out loop logic from btrfs_free_extra_devids
config: arm-randconfig-r016-20200717 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 7a8f87bd7d0c4c97083a1efeebc8739db85575cc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from fs/btrfs/volumes.c:17:
fs/btrfs/ctree.h:2271:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
2271 | size_t __const btrfs_get_num_csums(void);
| ^~~~~~~
In file included from fs/btrfs/volumes.c:28:
fs/btrfs/sysfs.h:16:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
16 | const char * const btrfs_feature_set_name(enum btrfs_feature_set set);
| ^~~~~
>> fs/btrfs/volumes.c:1029:6: warning: no previous prototype for '__btrfs_free_extra_devids' [-Wmissing-prototypes]
1029 | void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/__btrfs_free_extra_devids +1029 fs/btrfs/volumes.c
1026
1027
1028
> 1029 void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step,
1030 struct btrfs_device **latest_dev)
1031 {
1032 struct btrfs_device *device, *next;
1033
1034 /* This is the initialized path, it is safe to release the devices. */
1035 list_for_each_entry_safe(device, next, &fs_devices->devices, dev_list) {
1036 if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA,
1037 &device->dev_state)) {
1038 if (!test_bit(BTRFS_DEV_STATE_REPLACE_TGT,
1039 &device->dev_state) &&
1040 !test_bit(BTRFS_DEV_STATE_MISSING,
1041 &device->dev_state) &&
1042 (!*latest_dev ||
1043 device->generation > (*latest_dev)->generation)) {
1044 *latest_dev = device;
1045 }
1046 continue;
1047 }
1048
1049 if (device->devid == BTRFS_DEV_REPLACE_DEVID) {
1050 /*
1051 * In the first step, keep the device which has
1052 * the correct fsid and the devid that is used
1053 * for the dev_replace procedure.
1054 * In the second step, the dev_replace state is
1055 * read from the device tree and it is known
1056 * whether the procedure is really active or
1057 * not, which means whether this device is
1058 * used or whether it should be removed.
1059 */
1060 if (step == 0 || test_bit(BTRFS_DEV_STATE_REPLACE_TGT,
1061 &device->dev_state)) {
1062 continue;
1063 }
1064 }
1065 if (device->bdev) {
1066 blkdev_put(device->bdev, device->mode);
1067 device->bdev = NULL;
1068 fs_devices->open_devices--;
1069 }
1070 if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) {
1071 list_del_init(&device->dev_alloc_list);
1072 clear_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state);
1073 if (!test_bit(BTRFS_DEV_STATE_REPLACE_TGT,
1074 &device->dev_state))
1075 fs_devices->rw_devices--;
1076 }
1077 list_del_init(&device->dev_list);
1078 fs_devices->num_devices--;
1079 btrfs_free_device(device);
1080 }
1081
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH] genirq/affinity: Handle affinity setting on inactive interrupts correctly
by kernel test robot
Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on tip/x86/core tip/irq/core linus/master v5.8-rc5 next-20200717]
[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/Thomas-Gleixner/genirq-affinity-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68
config: s390-randconfig-r015-20200717 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
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 >>):
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:19:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
^
In file included from kernel/irq/manage.c:11:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
^
In file included from kernel/irq/manage.c:11:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
^
In file included from kernel/irq/manage.c:11:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:22:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
In file included from kernel/irq/manage.c:11:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:120:12: note: expanded from macro '__swab32'
__fswab32(x))
^
In file included from kernel/irq/manage.c:11:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:46: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew(cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:46: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel(cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> kernel/irq/manage.c:217:15: error: unknown type name 'boot'; did you mean 'bool'?
static inline boot irq_init_effective_affinity(struct irq_data *data,
^~~~
bool
include/linux/types.h:30:17: note: 'bool' declared here
typedef _Bool bool;
^
20 warnings and 1 error generated.
vim +217 kernel/irq/manage.c
209
210 static inline void irq_init_effective_affinity(struct irq_data *data,
211 const struct cpumask *mask)
212 {
213 cpumask_copy(irq_data_get_effective_affinity_mask(data), mask);
214 }
215 #else
216 static inline void irq_validate_effective_affinity(struct irq_data *data) { }
> 217 static inline boot irq_init_effective_affinity(struct irq_data *data,
218 const struct cpumask *mask) { }
219 #endif
220
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[bcache:for-next 24/26] drivers/md/bcache/features.c:22:16: sparse: sparse: Using plain integer as NULL pointer
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git for-next
head: 8ad224d299e082549e284f92105ad151fe1bc79d
commit: 366b8b8a1eab6bcbfb6ad33d53802fab0e2feb50 [24/26] bcache: add sysfs file to display feature sets information of cache set
config: alpha-randconfig-s032-20200717 (attached as .config)
compiler: alpha-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.2-49-g707c5017-dirty
git checkout 366b8b8a1eab6bcbfb6ad33d53802fab0e2feb50
# 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=alpha
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/md/bcache/features.c:22:16: sparse: sparse: Using plain integer as NULL pointer
vim +22 drivers/md/bcache/features.c
558b3a263def958 Coly Li 2020-07-17 18
558b3a263def958 Coly Li 2020-07-17 19 static struct feature feature_list[] = {
558b3a263def958 Coly Li 2020-07-17 20 {BCH_FEATURE_INCOMPAT, BCH_FEATURE_INCOMPAT_LARGE_BUCKET,
558b3a263def958 Coly Li 2020-07-17 21 "large_bucket"},
558b3a263def958 Coly Li 2020-07-17 @22 {0, 0, 0 },
558b3a263def958 Coly Li 2020-07-17 23 };
366b8b8a1eab6bc Coly Li 2020-07-17 24
:::::: The code at line 22 was first introduced by commit
:::::: 558b3a263def9580757cee376f667767742759b6 bcache: add bucket_size_hi into struct cache_sb_disk for large bucket
:::::: TO: Coly Li <colyli(a)suse.de>
:::::: CC: Coly Li <colyli(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/video/fbdev/riva/fbdev.c:788:29: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8882572675c1bb1cc544f4e229a11661f1fc52e4
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: m68k-randconfig-s031-20200717 (attached as .config)
compiler: m68k-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.2-49-g707c5017-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=m68k
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/video/fbdev/riva/fbdev.c:493:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:493:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:493:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:493:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:494:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:494:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:494:14: sparse: sparse: cast to restricted __le16
drivers/video/fbdev/riva/fbdev.c:494:14: sparse: sparse: cast to restricted __le16
>> drivers/video/fbdev/riva/fbdev.c:788:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:795:37: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:797:37: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:803:38: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:805:38: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:808:37: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:953:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:954:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:955:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:956:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:957:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:973:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:974:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:982:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:983:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:984:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1421:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1422:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1424:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1425:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1428:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1455:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1456:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1458:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1461:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1524:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1525:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1527:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1530:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1531:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1532:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1534:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1536:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1544:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1549:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1554:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1559:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:1605:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/fbdev.c:2064:42: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem *[usertype] PRAMIN @@
drivers/video/fbdev/riva/fbdev.c:2064:42: sparse: expected void [noderef] __iomem *addr
drivers/video/fbdev/riva/fbdev.c:2064:42: sparse: got unsigned int volatile [noderef] [usertype] __iomem *[usertype] PRAMIN
drivers/video/fbdev/riva/fbdev.c:2097:34: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem *[usertype] PRAMIN @@
drivers/video/fbdev/riva/fbdev.c:2097:34: sparse: expected void [noderef] __iomem *addr
drivers/video/fbdev/riva/fbdev.c:2097:34: sparse: got unsigned int volatile [noderef] [usertype] __iomem *[usertype] PRAMIN
arch/m68k/include/asm/io_no.h:94:17: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:96:17: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:96:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile @@ got restricted __le32 [usertype] @@
arch/m68k/include/asm/io_no.h:96:17: sparse: expected unsigned int volatile
arch/m68k/include/asm/io_no.h:96:17: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:205:9: sparse: sparse: cast removes address space '__iomem' of expression
--
>> drivers/video/fbdev/riva/riva_hw.c:65:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:66:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:73:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:74:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:81:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:82:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:621:11: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:628:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:810:11: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:813:11: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:816:12: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:820:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1073:11: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1076:11: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1079:12: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1083:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1085:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1130:11: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1318:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1372:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1382:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1383:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1400:5: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1401:5: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1408:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1409:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1410:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1411:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1416:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1417:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1422:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1423:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1428:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1429:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1434:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1435:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1436:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1437:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1438:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1439:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1440:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1441:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1442:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1448:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1449:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1450:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1451:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1455:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1456:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1460:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1461:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1466:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1467:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1472:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1473:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1477:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1478:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1479:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1480:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1481:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1482:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1483:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1484:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1495:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1496:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1497:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1501:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1502:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1506:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1507:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1512:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1513:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1518:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1519:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1525:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1526:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1527:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1528:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1529:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1530:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1531:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1532:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1533:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1535:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1536:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1537:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1538:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1539:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1540:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1541:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1542:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1543:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1544:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1545:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1545:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1546:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1546:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1549:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1550:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/riva_hw.c:1552:13: sparse: sparse: too many warnings
--
>> drivers/video/fbdev/riva/nv_driver.c:60:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:61:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:63:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:65:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:67:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:69:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:70:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:74:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:76:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:76:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:79:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:80:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:139:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:145:28: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:166:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:167:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:168:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:172:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:190:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:204:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:205:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:208:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:240:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:280:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:281:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:282:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/riva/nv_driver.c:301:26: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:153:15: sparse: sparse: cast removes address space '__iomem' of expression
--
drivers/gpu/drm/ttm/ttm_bo_util.c:219:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[assigned] addr @@ got void [noderef] __iomem * @@
drivers/gpu/drm/ttm/ttm_bo_util.c:219:30: sparse: expected void *[assigned] addr
drivers/gpu/drm/ttm/ttm_bo_util.c:219:30: sparse: got void [noderef] __iomem *
drivers/gpu/drm/ttm/ttm_bo_util.c:221:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[assigned] addr @@ got void [noderef] __iomem * @@
drivers/gpu/drm/ttm/ttm_bo_util.c:221:30: sparse: expected void *[assigned] addr
drivers/gpu/drm/ttm/ttm_bo_util.c:221:30: sparse: got void [noderef] __iomem *
>> drivers/gpu/drm/ttm/ttm_bo_util.c:241:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *virtual @@
drivers/gpu/drm/ttm/ttm_bo_util.c:241:25: sparse: expected void [noderef] __iomem *addr
drivers/gpu/drm/ttm/ttm_bo_util.c:241:25: sparse: got void *virtual
drivers/gpu/drm/ttm/ttm_bo_util.c:256:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/ttm/ttm_bo_util.c:256:40: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/ttm/ttm_bo_util.c:256:40: sparse: got unsigned int [usertype] *
drivers/gpu/drm/ttm/ttm_bo_util.c:256:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/ttm/ttm_bo_util.c:256:49: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/ttm/ttm_bo_util.c:256:49: sparse: got unsigned int [usertype] *
drivers/gpu/drm/ttm/ttm_bo_util.c:275:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *src @@ got void *[assigned] src @@
drivers/gpu/drm/ttm/ttm_bo_util.c:275:28: sparse: expected void const volatile [noderef] __iomem *src
drivers/gpu/drm/ttm/ttm_bo_util.c:275:28: sparse: got void *[assigned] src
drivers/gpu/drm/ttm/ttm_bo_util.c:297:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void *[assigned] dst @@
drivers/gpu/drm/ttm/ttm_bo_util.c:297:21: sparse: expected void volatile [noderef] __iomem *dst
drivers/gpu/drm/ttm/ttm_bo_util.c:297:21: sparse: got void *[assigned] dst
drivers/gpu/drm/ttm/ttm_bo_util.c:344:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *[addressable] new_iomap @@
drivers/gpu/drm/ttm/ttm_bo_util.c:344:27: sparse: expected void volatile [noderef] __iomem *addr
drivers/gpu/drm/ttm/ttm_bo_util.c:344:27: sparse: got void *[addressable] new_iomap
drivers/gpu/drm/ttm/ttm_bo_util.c:516:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *virtual @@ got void [noderef] __iomem * @@
drivers/gpu/drm/ttm/ttm_bo_util.c:516:38: sparse: expected void *virtual
drivers/gpu/drm/ttm/ttm_bo_util.c:516:38: sparse: got void [noderef] __iomem *
drivers/gpu/drm/ttm/ttm_bo_util.c:519:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *virtual @@ got void [noderef] __iomem * @@
drivers/gpu/drm/ttm/ttm_bo_util.c:519:38: sparse: expected void *virtual
drivers/gpu/drm/ttm/ttm_bo_util.c:519:38: sparse: got void [noderef] __iomem *
drivers/gpu/drm/ttm/ttm_bo_util.c:608:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *virtual @@
drivers/gpu/drm/ttm/ttm_bo_util.c:608:28: sparse: expected void [noderef] __iomem *addr
drivers/gpu/drm/ttm/ttm_bo_util.c:608:28: sparse: got void *virtual
--
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
>> drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/radeon/radeon_ttm.c:979:21: sparse: got unsigned int [usertype] *
arch/m68k/include/asm/io_no.h:94:17: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:96:17: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:96:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile @@ got restricted __le32 [usertype] @@
arch/m68k/include/asm/io_no.h:96:17: sparse: expected unsigned int volatile
arch/m68k/include/asm/io_no.h:96:17: sparse: got restricted __le32 [usertype]
arch/m68k/include/asm/io_no.h:94:17: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:96:17: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:96:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile @@ got restricted __le32 [usertype] @@
arch/m68k/include/asm/io_no.h:96:17: sparse: expected unsigned int volatile
arch/m68k/include/asm/io_no.h:96:17: sparse: got restricted __le32 [usertype]
arch/m68k/include/asm/io_no.h:77:24: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast removes address space '__iomem' of expression
arch/m68k/include/asm/io_no.h:78:16: sparse: sparse: cast to restricted __le32
--
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:819:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:1094:5: sparse: sparse: symbol 'amdgpu_ttm_gart_bind' was not declared. Should it be static?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: expected void const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
--
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: got unsigned int [usertype] *
--
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __poll_t ( *poll )( ... ) @@ got unsigned int ( * )( ... ) @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse: expected restricted __poll_t ( *poll )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse: got unsigned int ( * )( ... )
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: expected void const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: expected void const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: expected void const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: expected void const [noderef] __user *__pu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__gu_ptr @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: expected void const [noderef] __user *__gu_ptr
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] * @@
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: expected void const volatile [noderef] __user *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: got unsigned int [usertype] *
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __user *__pu_ptr @@ got unsigned int [usertype] * @@
--
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: got void *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: got void *
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[assigned] emap @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: expected void [noderef] __iomem *addr
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: got void *[assigned] emap
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *map @@ got void [noderef] __iomem * @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: expected void *map
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: got void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void *map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: got void *map
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void *map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: expected void [noderef] __iomem *
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: got void *map
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *map @@ got void *map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: expected void [noderef] __iomem *map
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: got void *map
>> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[assigned] map @@
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: expected void [noderef] __iomem *addr
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: got void *[assigned] map
vim +/__iomem +788 drivers/video/fbdev/riva/fbdev.c
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 661
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 662 /**
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 663 * riva_load_video_mode - calculate timings
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 664 * @info: pointer to fb_info object containing info for current riva board
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 665 *
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 666 * DESCRIPTION:
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 667 * Calculate some timings and then send em off to riva_load_state().
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 668 *
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 669 * CALLED FROM:
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 670 * rivafb_set_par()
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 671 */
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 672 static int riva_load_video_mode(struct fb_info *info)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 673 {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 674 int bpp, width, hDisplaySize, hDisplay, hStart,
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 675 hEnd, hTotal, height, vDisplay, vStart, vEnd, vTotal, dotClock;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 676 int hBlankStart, hBlankEnd, vBlankStart, vBlankEnd;
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 677 int rc;
f4a41836f1215a drivers/video/riva/fbdev.c Antonino A. Daplas 2006-01-09 678 struct riva_par *par = info->par;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 679 struct riva_regs newmode;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 680
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 681 NVTRACE_ENTER();
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 682 /* time to calculate */
535a09ad59286b drivers/video/riva/fbdev.c Guido Guenther 2006-10-03 683 rivafb_blank(FB_BLANK_NORMAL, info);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 684
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 685 bpp = info->var.bits_per_pixel;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 686 if (bpp == 16 && info->var.green.length == 5)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 687 bpp = 15;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 688 width = info->var.xres_virtual;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 689 hDisplaySize = info->var.xres;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 690 hDisplay = (hDisplaySize / 8) - 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 691 hStart = (hDisplaySize + info->var.right_margin) / 8 - 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 692 hEnd = (hDisplaySize + info->var.right_margin +
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 693 info->var.hsync_len) / 8 - 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 694 hTotal = (hDisplaySize + info->var.right_margin +
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 695 info->var.hsync_len + info->var.left_margin) / 8 - 5;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 696 hBlankStart = hDisplay;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 697 hBlankEnd = hTotal + 4;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 698
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 699 height = info->var.yres_virtual;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 700 vDisplay = info->var.yres - 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 701 vStart = info->var.yres + info->var.lower_margin - 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 702 vEnd = info->var.yres + info->var.lower_margin +
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 703 info->var.vsync_len - 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 704 vTotal = info->var.yres + info->var.lower_margin +
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 705 info->var.vsync_len + info->var.upper_margin + 2;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 706 vBlankStart = vDisplay;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 707 vBlankEnd = vTotal + 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 708 dotClock = 1000000000 / info->var.pixclock;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 709
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 710 memcpy(&newmode, ®_template, sizeof(struct riva_regs));
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 711
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 712 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 713 vTotal |= 1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 714
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 715 if (par->FlatPanel) {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 716 vStart = vTotal - 3;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 717 vEnd = vTotal - 2;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 718 vBlankStart = vStart;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 719 hStart = hTotal - 3;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 720 hEnd = hTotal - 2;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 721 hBlankEnd = hTotal + 4;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 722 }
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 723
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 724 newmode.crtc[0x0] = Set8Bits (hTotal);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 725 newmode.crtc[0x1] = Set8Bits (hDisplay);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 726 newmode.crtc[0x2] = Set8Bits (hBlankStart);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 727 newmode.crtc[0x3] = SetBitField (hBlankEnd, 4: 0, 4:0) | SetBit (7);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 728 newmode.crtc[0x4] = Set8Bits (hStart);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 729 newmode.crtc[0x5] = SetBitField (hBlankEnd, 5: 5, 7:7)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 730 | SetBitField (hEnd, 4: 0, 4:0);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 731 newmode.crtc[0x6] = SetBitField (vTotal, 7: 0, 7:0);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 732 newmode.crtc[0x7] = SetBitField (vTotal, 8: 8, 0:0)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 733 | SetBitField (vDisplay, 8: 8, 1:1)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 734 | SetBitField (vStart, 8: 8, 2:2)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 735 | SetBitField (vBlankStart, 8: 8, 3:3)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 736 | SetBit (4)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 737 | SetBitField (vTotal, 9: 9, 5:5)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 738 | SetBitField (vDisplay, 9: 9, 6:6)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 739 | SetBitField (vStart, 9: 9, 7:7);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 740 newmode.crtc[0x9] = SetBitField (vBlankStart, 9: 9, 5:5)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 741 | SetBit (6);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 742 newmode.crtc[0x10] = Set8Bits (vStart);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 743 newmode.crtc[0x11] = SetBitField (vEnd, 3: 0, 3:0)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 744 | SetBit (5);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 745 newmode.crtc[0x12] = Set8Bits (vDisplay);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 746 newmode.crtc[0x13] = (width / 8) * ((bpp + 1) / 8);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 747 newmode.crtc[0x15] = Set8Bits (vBlankStart);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 748 newmode.crtc[0x16] = Set8Bits (vBlankEnd);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 749
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 750 newmode.ext.screen = SetBitField(hBlankEnd,6:6,4:4)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 751 | SetBitField(vBlankStart,10:10,3:3)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 752 | SetBitField(vStart,10:10,2:2)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 753 | SetBitField(vDisplay,10:10,1:1)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 754 | SetBitField(vTotal,10:10,0:0);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 755 newmode.ext.horiz = SetBitField(hTotal,8:8,0:0)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 756 | SetBitField(hDisplay,8:8,1:1)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 757 | SetBitField(hBlankStart,8:8,2:2)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 758 | SetBitField(hStart,8:8,3:3);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 759 newmode.ext.extra = SetBitField(vTotal,11:11,0:0)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 760 | SetBitField(vDisplay,11:11,2:2)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 761 | SetBitField(vStart,11:11,4:4)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 762 | SetBitField(vBlankStart,11:11,6:6);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 763
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 764 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 765 int tmp = (hTotal >> 1) & ~1;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 766 newmode.ext.interlace = Set8Bits(tmp);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 767 newmode.ext.horiz |= SetBitField(tmp, 8:8,4:4);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 768 } else
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 769 newmode.ext.interlace = 0xff; /* interlace off */
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 770
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 771 if (par->riva.Architecture >= NV_ARCH_10)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 772 par->riva.CURSOR = (U032 __iomem *)(info->screen_base + par->riva.CursorStart);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 773
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 774 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 775 newmode.misc_output &= ~0x40;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 776 else
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 777 newmode.misc_output |= 0x40;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 778 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT)
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 779 newmode.misc_output &= ~0x80;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 780 else
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 781 newmode.misc_output |= 0x80;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 782
e2281080835434 drivers/video/fbdev/riva/fbdev.c Sinan Kaya 2017-12-19 783 rc = CalcStateExt(&par->riva, &newmode.ext, par->pdev, bpp, width,
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 784 hDisplaySize, height, dotClock);
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 785 if (rc)
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 786 goto out;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 787
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 @788 newmode.ext.scale = NV_RD32(par->riva.PRAMDAC, 0x00000848) &
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 789 0xfff000ff;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 790 if (par->FlatPanel == 1) {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 791 newmode.ext.pixel |= (1 << 7);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 792 newmode.ext.scale |= (1 << 8);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 793 }
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 794 if (par->SecondCRTC) {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 795 newmode.ext.head = NV_RD32(par->riva.PCRTC0, 0x00000860) &
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 796 ~0x00001000;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 797 newmode.ext.head2 = NV_RD32(par->riva.PCRTC0, 0x00002860) |
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 798 0x00001000;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 799 newmode.ext.crtcOwner = 3;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 800 newmode.ext.pllsel |= 0x20000800;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 801 newmode.ext.vpll2 = newmode.ext.vpll;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 802 } else if (par->riva.twoHeads) {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 803 newmode.ext.head = NV_RD32(par->riva.PCRTC0, 0x00000860) |
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 804 0x00001000;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 805 newmode.ext.head2 = NV_RD32(par->riva.PCRTC0, 0x00002860) &
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 806 ~0x00001000;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 807 newmode.ext.crtcOwner = 0;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 808 newmode.ext.vpll2 = NV_RD32(par->riva.PRAMDAC0, 0x00000520);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 809 }
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 810 if (par->FlatPanel == 1) {
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 811 newmode.ext.pixel |= (1 << 7);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 812 newmode.ext.scale |= (1 << 8);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 813 }
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 814 newmode.ext.cursorConfig = 0x02000100;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 815 par->current_state = newmode;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 816 riva_load_state(par, &par->current_state);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 817 par->riva.LockUnlock(&par->riva, 0); /* important for HW cursor */
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 818
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 819 out:
535a09ad59286b drivers/video/riva/fbdev.c Guido Guenther 2006-10-03 820 rivafb_blank(FB_BLANK_UNBLANK, info);
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 821 NVTRACE_LEAVE();
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 822
fd717689f46436 drivers/video/riva/fbdev.c Jeff Garzik 2006-12-08 823 return rc;
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 824 }
^1da177e4c3f41 drivers/video/riva/fbdev.c Linus Torvalds 2005-04-16 825
:::::: The code at line 788 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [Intel-gfx] [PATCH 3/3] drm/i915/perf: Map OA buffer to user space for gen12 performance query
by kernel test robot
Hi Umesh,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip v5.8-rc5 next-20200716]
[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/Umesh-Nerlige-Ramappa/drm-i915-p...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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/gpu/drm/i915/i915_perf.c:1642:5: warning: no previous prototype for function 'i915_perf_mmap' [-Wmissing-prototypes]
int i915_perf_mmap(struct file *file, struct vm_area_struct *vma)
^
drivers/gpu/drm/i915/i915_perf.c:1642:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int i915_perf_mmap(struct file *file, struct vm_area_struct *vma)
^
static
1 warning generated.
vim +/i915_perf_mmap +1642 drivers/gpu/drm/i915/i915_perf.c
1641
> 1642 int i915_perf_mmap(struct file *file, struct vm_area_struct *vma)
1643 {
1644 struct i915_perf_stream *stream = file->private_data;
1645
1646 if (vma->vm_end < vma->vm_start)
1647 return -EINVAL;
1648
1649 if ((vma->vm_end - vma->vm_start) > OA_BUFFER_SIZE)
1650 return -EINVAL;
1651
1652 if (vma->vm_flags & VM_WRITE)
1653 return -EINVAL;
1654
1655 if (vma->vm_pgoff != I915_PERF_OA_BUFFER_MMAP_OFFSET)
1656 return -EINVAL;
1657
1658 vma->vm_flags &= ~(VM_MAYWRITE | VM_MAYEXEC | VM_MAYSHARE);
1659 vma->vm_flags |= VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
1660 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
1661 vma->vm_private_data = stream;
1662 vma->vm_ops = &vm_ops_oa;
1663
1664 return 0;
1665 }
1666
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-next:master 8311/9127] drivers/mfd/kempld-core.c:105:13: error: assignment of read-only location
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: aab7ee9f8ff0110bfcd594b33dc33748dc1baf46
commit: 70d48975c152997bea1c715de3382ef854c288ed [8311/9127] mfd: core: Make a best effort attempt to match devices with the correct of_nodes
config: microblaze-randconfig-r012-20200717 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 70d48975c152997bea1c715de3382ef854c288ed
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the linux-next/master HEAD aab7ee9f8ff0110bfcd594b33dc33748dc1baf46 builds fine.
It may have been fixed somewhere.
All errors (new ones prefixed by >>):
drivers/mfd/kempld-core.c: In function 'kempld_register_cells_generic':
>> drivers/mfd/kempld-core.c:105:13: error: assignment of read-only location 'devs[i++]'
105 | devs[i++] = kempld_devs[KEMPLD_I2C];
| ^
drivers/mfd/kempld-core.c:108:13: error: assignment of read-only location 'devs[i++]'
108 | devs[i++] = kempld_devs[KEMPLD_WDT];
| ^
drivers/mfd/kempld-core.c:111:13: error: assignment of read-only location 'devs[i++]'
111 | devs[i++] = kempld_devs[KEMPLD_GPIO];
| ^
drivers/mfd/kempld-core.c:114:13: error: assignment of read-only location 'devs[i++]'
114 | devs[i++] = kempld_devs[KEMPLD_UART];
| ^
vim +105 drivers/mfd/kempld-core.c
43620a17945b598 Kevin Strasser 2013-06-23 98
43620a17945b598 Kevin Strasser 2013-06-23 99 static int kempld_register_cells_generic(struct kempld_device_data *pld)
43620a17945b598 Kevin Strasser 2013-06-23 100 {
43620a17945b598 Kevin Strasser 2013-06-23 101 struct mfd_cell devs[KEMPLD_MAX_DEVS];
43620a17945b598 Kevin Strasser 2013-06-23 102 int i = 0;
43620a17945b598 Kevin Strasser 2013-06-23 103
43620a17945b598 Kevin Strasser 2013-06-23 104 if (pld->feature_mask & KEMPLD_FEATURE_BIT_I2C)
43620a17945b598 Kevin Strasser 2013-06-23 @105 devs[i++] = kempld_devs[KEMPLD_I2C];
43620a17945b598 Kevin Strasser 2013-06-23 106
43620a17945b598 Kevin Strasser 2013-06-23 107 if (pld->feature_mask & KEMPLD_FEATURE_BIT_WATCHDOG)
43620a17945b598 Kevin Strasser 2013-06-23 108 devs[i++] = kempld_devs[KEMPLD_WDT];
43620a17945b598 Kevin Strasser 2013-06-23 109
43620a17945b598 Kevin Strasser 2013-06-23 110 if (pld->feature_mask & KEMPLD_FEATURE_BIT_GPIO)
43620a17945b598 Kevin Strasser 2013-06-23 111 devs[i++] = kempld_devs[KEMPLD_GPIO];
43620a17945b598 Kevin Strasser 2013-06-23 112
43620a17945b598 Kevin Strasser 2013-06-23 113 if (pld->feature_mask & KEMPLD_FEATURE_MASK_UART)
43620a17945b598 Kevin Strasser 2013-06-23 114 devs[i++] = kempld_devs[KEMPLD_UART];
43620a17945b598 Kevin Strasser 2013-06-23 115
43620a17945b598 Kevin Strasser 2013-06-23 116 return mfd_add_devices(pld->dev, -1, devs, i, NULL, 0, NULL);
43620a17945b598 Kevin Strasser 2013-06-23 117 }
43620a17945b598 Kevin Strasser 2013-06-23 118
:::::: The code at line 105 was first introduced by commit
:::::: 43620a17945b598e707ef897b3866914f9f9056c mfd: Kontron PLD mfd driver
:::::: TO: Kevin Strasser <kevin.strasser(a)linux.intel.com>
:::::: CC: Samuel Ortiz <sameo(a)linux.intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [RESEND RFC PATCH v4 3/3] ufs: exynos: implement dbg_register_dump
by kernel test robot
Hi Kiwoong,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on scsi/for-next]
[cannot apply to mkp-scsi/for-next v5.8-rc5 next-20200717]
[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/Kiwoong-Kim/ufs-exynos-introduce...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/scsi/ufs/ufs-exynos.c: In function 'exynos_ufs_dbg_register_dump':
>> drivers/scsi/ufs/ufs-exynos.c:1263:2: error: implicit declaration of function 'exynos_ufs_dump_info'; did you mean 'exynos_ufs_suspend'? [-Werror=implicit-function-declaration]
1263 | exynos_ufs_dump_info(&ufs->handle, hba->dev);
| ^~~~~~~~~~~~~~~~~~~~
| exynos_ufs_suspend
cc1: some warnings being treated as errors
vim +1263 drivers/scsi/ufs/ufs-exynos.c
1248
1249 static void exynos_ufs_dbg_register_dump(struct ufs_hba *hba)
1250 {
1251 struct exynos_ufs *ufs = ufshcd_get_variant(hba);
1252 unsigned long flags;
1253
1254 spin_lock_irqsave(&ufs->dbg_lock, flags);
1255 if (ufs->under_dump == 0)
1256 ufs->under_dump = 1;
1257 else {
1258 spin_unlock_irqrestore(&ufs->dbg_lock, flags);
1259 goto out;
1260 }
1261 spin_unlock_irqrestore(&ufs->dbg_lock, flags);
1262
> 1263 exynos_ufs_dump_info(&ufs->handle, hba->dev);
1264
1265 spin_lock_irqsave(&ufs->dbg_lock, flags);
1266 ufs->under_dump = 0;
1267 spin_unlock_irqrestore(&ufs->dbg_lock, flags);
1268 out:
1269 return;
1270 }
1271
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH] gpio: crystalcove: Use irqchip template
by kernel test robot
Hi Linus,
I love your patch! Yet something to improve:
[auto build test ERROR on gpio/for-next]
[also build test ERROR on v5.8-rc5 next-20200717]
[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/Linus-Walleij/gpio-crystalcove-U...
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpio/gpio-crystalcove.c: In function 'crystalcove_gpio_probe':
>> drivers/gpio/gpio-crystalcove.c:357:10: error: 'ch' undeclared (first use in this function); did you mean 'cg'?
357 | girq = &ch->chip.irq;
| ^~
| cg
drivers/gpio/gpio-crystalcove.c:357:10: note: each undeclared identifier is reported only once for each function it appears in
vim +357 drivers/gpio/gpio-crystalcove.c
325
326 static int crystalcove_gpio_probe(struct platform_device *pdev)
327 {
328 int irq = platform_get_irq(pdev, 0);
329 struct crystalcove_gpio *cg;
330 int retval;
331 struct device *dev = pdev->dev.parent;
332 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
333 struct gpio_irq_chip *girq;
334
335 if (irq < 0)
336 return irq;
337
338 cg = devm_kzalloc(&pdev->dev, sizeof(*cg), GFP_KERNEL);
339 if (!cg)
340 return -ENOMEM;
341
342 platform_set_drvdata(pdev, cg);
343
344 mutex_init(&cg->buslock);
345 cg->chip.label = KBUILD_MODNAME;
346 cg->chip.direction_input = crystalcove_gpio_dir_in;
347 cg->chip.direction_output = crystalcove_gpio_dir_out;
348 cg->chip.get = crystalcove_gpio_get;
349 cg->chip.set = crystalcove_gpio_set;
350 cg->chip.base = -1;
351 cg->chip.ngpio = CRYSTALCOVE_VGPIO_NUM;
352 cg->chip.can_sleep = true;
353 cg->chip.parent = dev;
354 cg->chip.dbg_show = crystalcove_gpio_dbg_show;
355 cg->regmap = pmic->regmap;
356
> 357 girq = &ch->chip.irq;
358 girq->chip = &crystalcove_irqchip;
359 /* This will let us handle the parent IRQ in the driver */
360 girq->parent_handler = NULL;
361 girq->num_parents = 0;
362 girq->parents = NULL;
363 girq->default_type = IRQ_TYPE_NONE;
364 girq->handler = handle_simple_irq;
365 girq->threaded = true;
366
367 retval = request_threaded_irq(irq, NULL, crystalcove_gpio_irq_handler,
368 IRQF_ONESHOT, KBUILD_MODNAME, cg);
369
370 if (retval) {
371 dev_warn(&pdev->dev, "request irq failed: %d\n", retval);
372 return retval;
373 }
374
375 retval = devm_gpiochip_add_data(&pdev->dev, &cg->chip, cg);
376 if (retval) {
377 dev_warn(&pdev->dev, "add gpio chip error: %d\n", retval);
378 return retval;
379 }
380
381 return 0;
382 }
383
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months