* [hch-block:remove-dma-mask-indirection 2/2] drivers//spi/spi-sifive.c:387:21: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast
@ 2020-03-11 19:16 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-03-11 19:16 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 12132 bytes --]
tree: git://git.infradead.org/users/hch/block.git remove-dma-mask-indirection
head: 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b
commit: 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b [2/2] device.h: make dma_mask a scalar instead of a pointer
config: c6x-allyesconfig (attached as .config)
compiler: c6x-elf-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers//spi/spi-sifive.c: In function 'sifive_spi_probe':
>> drivers//spi/spi-sifive.c:387:21: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
387 | pdev->dev.dma_mask = NULL;
| ^
--
drivers//mmc/host/owl-mmc.c: In function 'owl_mmc_probe':
>> drivers//mmc/host/owl-mmc.c:618:21: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'u64 *' {aka 'long long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
618 | pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
| ^
--
drivers/mfd/omap-usb-host.c: In function 'omap_usbhs_alloc_child':
>> drivers/mfd/omap-usb-host.c:171:23: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'u64 *' {aka 'long long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
171 | child->dev.dma_mask = &usbhs_dmamask;
| ^
--
drivers/usb/musb/musb_dsps.c: In function 'dsps_create_musb_pdev':
>> drivers/usb/musb/musb_dsps.c:758:22: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'u64 *' {aka 'long long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
758 | musb->dev.dma_mask = &musb_dmamask;
| ^
--
drivers/usb/musb/ux500.c: In function 'ux500_probe':
>> drivers/usb/musb/ux500.c:264:22: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'u64 *' {aka 'long long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
264 | musb->dev.dma_mask = &pdev->dev.coherent_dma_mask;
| ^
vim +387 drivers//spi/spi-sifive.c
484a9a68d669f8 Yash Shah 2019-02-19 291
484a9a68d669f8 Yash Shah 2019-02-19 292 static int sifive_spi_probe(struct platform_device *pdev)
484a9a68d669f8 Yash Shah 2019-02-19 293 {
484a9a68d669f8 Yash Shah 2019-02-19 294 struct sifive_spi *spi;
484a9a68d669f8 Yash Shah 2019-02-19 295 int ret, irq, num_cs;
484a9a68d669f8 Yash Shah 2019-02-19 296 u32 cs_bits, max_bits_per_word;
484a9a68d669f8 Yash Shah 2019-02-19 297 struct spi_master *master;
484a9a68d669f8 Yash Shah 2019-02-19 298
484a9a68d669f8 Yash Shah 2019-02-19 299 master = spi_alloc_master(&pdev->dev, sizeof(struct sifive_spi));
484a9a68d669f8 Yash Shah 2019-02-19 300 if (!master) {
484a9a68d669f8 Yash Shah 2019-02-19 301 dev_err(&pdev->dev, "out of memory\n");
484a9a68d669f8 Yash Shah 2019-02-19 302 return -ENOMEM;
484a9a68d669f8 Yash Shah 2019-02-19 303 }
484a9a68d669f8 Yash Shah 2019-02-19 304
484a9a68d669f8 Yash Shah 2019-02-19 305 spi = spi_master_get_devdata(master);
484a9a68d669f8 Yash Shah 2019-02-19 306 init_completion(&spi->done);
484a9a68d669f8 Yash Shah 2019-02-19 307 platform_set_drvdata(pdev, master);
484a9a68d669f8 Yash Shah 2019-02-19 308
fa79f200471156 YueHaibing 2019-09-04 309 spi->regs = devm_platform_ioremap_resource(pdev, 0);
484a9a68d669f8 Yash Shah 2019-02-19 310 if (IS_ERR(spi->regs)) {
484a9a68d669f8 Yash Shah 2019-02-19 311 ret = PTR_ERR(spi->regs);
484a9a68d669f8 Yash Shah 2019-02-19 312 goto put_master;
484a9a68d669f8 Yash Shah 2019-02-19 313 }
484a9a68d669f8 Yash Shah 2019-02-19 314
484a9a68d669f8 Yash Shah 2019-02-19 315 spi->clk = devm_clk_get(&pdev->dev, NULL);
484a9a68d669f8 Yash Shah 2019-02-19 316 if (IS_ERR(spi->clk)) {
484a9a68d669f8 Yash Shah 2019-02-19 317 dev_err(&pdev->dev, "Unable to find bus clock\n");
484a9a68d669f8 Yash Shah 2019-02-19 318 ret = PTR_ERR(spi->clk);
484a9a68d669f8 Yash Shah 2019-02-19 319 goto put_master;
484a9a68d669f8 Yash Shah 2019-02-19 320 }
484a9a68d669f8 Yash Shah 2019-02-19 321
484a9a68d669f8 Yash Shah 2019-02-19 322 irq = platform_get_irq(pdev, 0);
484a9a68d669f8 Yash Shah 2019-02-19 323 if (irq < 0) {
484a9a68d669f8 Yash Shah 2019-02-19 324 ret = irq;
484a9a68d669f8 Yash Shah 2019-02-19 325 goto put_master;
484a9a68d669f8 Yash Shah 2019-02-19 326 }
484a9a68d669f8 Yash Shah 2019-02-19 327
484a9a68d669f8 Yash Shah 2019-02-19 328 /* Optional parameters */
484a9a68d669f8 Yash Shah 2019-02-19 329 ret =
484a9a68d669f8 Yash Shah 2019-02-19 330 of_property_read_u32(pdev->dev.of_node, "sifive,fifo-depth",
484a9a68d669f8 Yash Shah 2019-02-19 331 &spi->fifo_depth);
484a9a68d669f8 Yash Shah 2019-02-19 332 if (ret < 0)
484a9a68d669f8 Yash Shah 2019-02-19 333 spi->fifo_depth = SIFIVE_SPI_DEFAULT_DEPTH;
484a9a68d669f8 Yash Shah 2019-02-19 334
484a9a68d669f8 Yash Shah 2019-02-19 335 ret =
484a9a68d669f8 Yash Shah 2019-02-19 336 of_property_read_u32(pdev->dev.of_node, "sifive,max-bits-per-word",
484a9a68d669f8 Yash Shah 2019-02-19 337 &max_bits_per_word);
484a9a68d669f8 Yash Shah 2019-02-19 338
484a9a68d669f8 Yash Shah 2019-02-19 339 if (!ret && max_bits_per_word < 8) {
484a9a68d669f8 Yash Shah 2019-02-19 340 dev_err(&pdev->dev, "Only 8bit SPI words supported by the driver\n");
484a9a68d669f8 Yash Shah 2019-02-19 341 ret = -EINVAL;
484a9a68d669f8 Yash Shah 2019-02-19 342 goto put_master;
484a9a68d669f8 Yash Shah 2019-02-19 343 }
484a9a68d669f8 Yash Shah 2019-02-19 344
484a9a68d669f8 Yash Shah 2019-02-19 345 /* Spin up the bus clock before hitting registers */
484a9a68d669f8 Yash Shah 2019-02-19 346 ret = clk_prepare_enable(spi->clk);
484a9a68d669f8 Yash Shah 2019-02-19 347 if (ret) {
484a9a68d669f8 Yash Shah 2019-02-19 348 dev_err(&pdev->dev, "Unable to enable bus clock\n");
484a9a68d669f8 Yash Shah 2019-02-19 349 goto put_master;
484a9a68d669f8 Yash Shah 2019-02-19 350 }
484a9a68d669f8 Yash Shah 2019-02-19 351
484a9a68d669f8 Yash Shah 2019-02-19 352 /* probe the number of CS lines */
484a9a68d669f8 Yash Shah 2019-02-19 353 spi->cs_inactive = sifive_spi_read(spi, SIFIVE_SPI_REG_CSDEF);
484a9a68d669f8 Yash Shah 2019-02-19 354 sifive_spi_write(spi, SIFIVE_SPI_REG_CSDEF, 0xffffffffU);
484a9a68d669f8 Yash Shah 2019-02-19 355 cs_bits = sifive_spi_read(spi, SIFIVE_SPI_REG_CSDEF);
484a9a68d669f8 Yash Shah 2019-02-19 356 sifive_spi_write(spi, SIFIVE_SPI_REG_CSDEF, spi->cs_inactive);
484a9a68d669f8 Yash Shah 2019-02-19 357 if (!cs_bits) {
484a9a68d669f8 Yash Shah 2019-02-19 358 dev_err(&pdev->dev, "Could not auto probe CS lines\n");
484a9a68d669f8 Yash Shah 2019-02-19 359 ret = -EINVAL;
a725272bda77e6 Chuhong Yuan 2019-11-01 360 goto disable_clk;
484a9a68d669f8 Yash Shah 2019-02-19 361 }
484a9a68d669f8 Yash Shah 2019-02-19 362
484a9a68d669f8 Yash Shah 2019-02-19 363 num_cs = ilog2(cs_bits) + 1;
484a9a68d669f8 Yash Shah 2019-02-19 364 if (num_cs > SIFIVE_SPI_MAX_CS) {
484a9a68d669f8 Yash Shah 2019-02-19 365 dev_err(&pdev->dev, "Invalid number of spi slaves\n");
484a9a68d669f8 Yash Shah 2019-02-19 366 ret = -EINVAL;
a725272bda77e6 Chuhong Yuan 2019-11-01 367 goto disable_clk;
484a9a68d669f8 Yash Shah 2019-02-19 368 }
484a9a68d669f8 Yash Shah 2019-02-19 369
484a9a68d669f8 Yash Shah 2019-02-19 370 /* Define our master */
484a9a68d669f8 Yash Shah 2019-02-19 371 master->dev.of_node = pdev->dev.of_node;
484a9a68d669f8 Yash Shah 2019-02-19 372 master->bus_num = pdev->id;
484a9a68d669f8 Yash Shah 2019-02-19 373 master->num_chipselect = num_cs;
484a9a68d669f8 Yash Shah 2019-02-19 374 master->mode_bits = SPI_CPHA | SPI_CPOL
484a9a68d669f8 Yash Shah 2019-02-19 375 | SPI_CS_HIGH | SPI_LSB_FIRST
484a9a68d669f8 Yash Shah 2019-02-19 376 | SPI_TX_DUAL | SPI_TX_QUAD
484a9a68d669f8 Yash Shah 2019-02-19 377 | SPI_RX_DUAL | SPI_RX_QUAD;
484a9a68d669f8 Yash Shah 2019-02-19 378 /* TODO: add driver support for bits_per_word < 8
484a9a68d669f8 Yash Shah 2019-02-19 379 * we need to "left-align" the bits (unless SPI_LSB_FIRST)
484a9a68d669f8 Yash Shah 2019-02-19 380 */
484a9a68d669f8 Yash Shah 2019-02-19 381 master->bits_per_word_mask = SPI_BPW_MASK(8);
484a9a68d669f8 Yash Shah 2019-02-19 382 master->flags = SPI_CONTROLLER_MUST_TX | SPI_MASTER_GPIO_SS;
484a9a68d669f8 Yash Shah 2019-02-19 383 master->prepare_message = sifive_spi_prepare_message;
484a9a68d669f8 Yash Shah 2019-02-19 384 master->set_cs = sifive_spi_set_cs;
484a9a68d669f8 Yash Shah 2019-02-19 385 master->transfer_one = sifive_spi_transfer_one;
484a9a68d669f8 Yash Shah 2019-02-19 386
484a9a68d669f8 Yash Shah 2019-02-19 @387 pdev->dev.dma_mask = NULL;
484a9a68d669f8 Yash Shah 2019-02-19 388 /* Configure the SPI master hardware */
484a9a68d669f8 Yash Shah 2019-02-19 389 sifive_spi_init(spi);
484a9a68d669f8 Yash Shah 2019-02-19 390
484a9a68d669f8 Yash Shah 2019-02-19 391 /* Register for SPI Interrupt */
484a9a68d669f8 Yash Shah 2019-02-19 392 ret = devm_request_irq(&pdev->dev, irq, sifive_spi_irq, 0,
484a9a68d669f8 Yash Shah 2019-02-19 393 dev_name(&pdev->dev), spi);
484a9a68d669f8 Yash Shah 2019-02-19 394 if (ret) {
484a9a68d669f8 Yash Shah 2019-02-19 395 dev_err(&pdev->dev, "Unable to bind to interrupt\n");
a725272bda77e6 Chuhong Yuan 2019-11-01 396 goto disable_clk;
484a9a68d669f8 Yash Shah 2019-02-19 397 }
484a9a68d669f8 Yash Shah 2019-02-19 398
484a9a68d669f8 Yash Shah 2019-02-19 399 dev_info(&pdev->dev, "mapped; irq=%d, cs=%d\n",
484a9a68d669f8 Yash Shah 2019-02-19 400 irq, master->num_chipselect);
484a9a68d669f8 Yash Shah 2019-02-19 401
484a9a68d669f8 Yash Shah 2019-02-19 402 ret = devm_spi_register_master(&pdev->dev, master);
484a9a68d669f8 Yash Shah 2019-02-19 403 if (ret < 0) {
484a9a68d669f8 Yash Shah 2019-02-19 404 dev_err(&pdev->dev, "spi_register_master failed\n");
a725272bda77e6 Chuhong Yuan 2019-11-01 405 goto disable_clk;
484a9a68d669f8 Yash Shah 2019-02-19 406 }
484a9a68d669f8 Yash Shah 2019-02-19 407
484a9a68d669f8 Yash Shah 2019-02-19 408 return 0;
484a9a68d669f8 Yash Shah 2019-02-19 409
a725272bda77e6 Chuhong Yuan 2019-11-01 410 disable_clk:
a725272bda77e6 Chuhong Yuan 2019-11-01 411 clk_disable_unprepare(spi->clk);
484a9a68d669f8 Yash Shah 2019-02-19 412 put_master:
484a9a68d669f8 Yash Shah 2019-02-19 413 spi_master_put(master);
484a9a68d669f8 Yash Shah 2019-02-19 414
484a9a68d669f8 Yash Shah 2019-02-19 415 return ret;
484a9a68d669f8 Yash Shah 2019-02-19 416 }
484a9a68d669f8 Yash Shah 2019-02-19 417
:::::: The code at line 387 was first introduced by commit
:::::: 484a9a68d669f899657a97dbb369cb3e3be7e7f5 spi: sifive: Add driver for the SiFive SPI controller
:::::: TO: Yash Shah <yash.shah@sifive.com>
:::::: CC: Mark Brown <broonie@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 51609 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-03-11 19:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-11 19:16 [hch-block:remove-dma-mask-indirection 2/2] drivers//spi/spi-sifive.c:387:21: warning: assignment to 'u64' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.