From: kernel test robot <lkp@intel.com> To: Takashi Iwai <tiwai@suse.de> Cc: alsa-devel@alsa-project.org, kbuild-all@lists.01.org Subject: [sound:for-next 92/92] sound/isa/sc6000.c:534:35: sparse: sparse: incorrect type in initializer (different address spaces) Date: Wed, 21 Jul 2021 05:47:17 +0800 [thread overview] Message-ID: <202107210511.SnFqlZMa-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 6140 bytes --] tree: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next head: 9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad commit: 9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad [92/92] ALSA: sc6000: Assign vport directly on card's private_data config: x86_64-randconfig-s021-20210718 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?id=9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad git remote add sound https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git git fetch --no-tags sound for-next git checkout 9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> sparse warnings: (new ones prefixed by >>) >> sound/isa/sc6000.c:534:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char [noderef] __iomem *vport @@ got void *private_data @@ sound/isa/sc6000.c:534:35: sparse: expected char [noderef] __iomem *vport sound/isa/sc6000.c:534:35: sparse: got void *private_data >> sound/isa/sc6000.c:585:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *private_data @@ got char [noderef] __iomem *[assigned] vport @@ sound/isa/sc6000.c:585:28: sparse: expected void *private_data sound/isa/sc6000.c:585:28: sparse: got char [noderef] __iomem *[assigned] vport vim +534 sound/isa/sc6000.c 531 532 static void snd_sc6000_free(struct snd_card *card) 533 { > 534 char __iomem *vport = card->private_data; 535 536 if (vport) 537 sc6000_setup_board(vport, 0); 538 } 539 540 static int snd_sc6000_probe(struct device *devptr, unsigned int dev) 541 { 542 static const int possible_irqs[] = { 5, 7, 9, 10, 11, -1 }; 543 static const int possible_dmas[] = { 1, 3, 0, -1 }; 544 int err; 545 int xirq = irq[dev]; 546 int xdma = dma[dev]; 547 struct snd_card *card; 548 struct snd_wss *chip; 549 struct snd_opl3 *opl3; 550 char __iomem *vport; 551 char __iomem *vmss_port; 552 553 err = snd_devm_card_new(devptr, index[dev], id[dev], THIS_MODULE, 554 0, &card); 555 if (err < 0) 556 return err; 557 558 if (xirq == SNDRV_AUTO_IRQ) { 559 xirq = snd_legacy_find_free_irq(possible_irqs); 560 if (xirq < 0) { 561 snd_printk(KERN_ERR PFX "unable to find a free IRQ\n"); 562 return -EBUSY; 563 } 564 } 565 566 if (xdma == SNDRV_AUTO_DMA) { 567 xdma = snd_legacy_find_free_dma(possible_dmas); 568 if (xdma < 0) { 569 snd_printk(KERN_ERR PFX "unable to find a free DMA\n"); 570 return -EBUSY; 571 } 572 } 573 574 if (!devm_request_region(devptr, port[dev], 0x10, DRV_NAME)) { 575 snd_printk(KERN_ERR PFX 576 "I/O port region is already in use.\n"); 577 return -EBUSY; 578 } 579 vport = devm_ioport_map(devptr, port[dev], 0x10); 580 if (!vport) { 581 snd_printk(KERN_ERR PFX 582 "I/O port cannot be iomapped.\n"); 583 return -EBUSY; 584 } > 585 card->private_data = vport; 586 587 /* to make it marked as used */ 588 if (!devm_request_region(devptr, mss_port[dev], 4, DRV_NAME)) { 589 snd_printk(KERN_ERR PFX 590 "SC-6000 port I/O port region is already in use.\n"); 591 return -EBUSY; 592 } 593 vmss_port = devm_ioport_map(devptr, mss_port[dev], 4); 594 if (!vmss_port) { 595 snd_printk(KERN_ERR PFX 596 "MSS port I/O cannot be iomapped.\n"); 597 return -EBUSY; 598 } 599 600 snd_printd("Initializing BASE[0x%lx] IRQ[%d] DMA[%d] MIRQ[%d]\n", 601 port[dev], xirq, xdma, 602 mpu_irq[dev] == SNDRV_AUTO_IRQ ? 0 : mpu_irq[dev]); 603 604 err = sc6000_init_board(vport, vmss_port, dev); 605 if (err < 0) 606 return err; 607 card->private_free = snd_sc6000_free; 608 609 err = snd_wss_create(card, mss_port[dev] + 4, -1, xirq, xdma, -1, 610 WSS_HW_DETECT, 0, &chip); 611 if (err < 0) 612 return err; 613 614 err = snd_wss_pcm(chip, 0); 615 if (err < 0) { 616 snd_printk(KERN_ERR PFX 617 "error creating new WSS PCM device\n"); 618 return err; 619 } 620 err = snd_wss_mixer(chip); 621 if (err < 0) { 622 snd_printk(KERN_ERR PFX "error creating new WSS mixer\n"); 623 return err; 624 } 625 err = snd_sc6000_mixer(chip); 626 if (err < 0) { 627 snd_printk(KERN_ERR PFX "the mixer rewrite failed\n"); 628 return err; 629 } 630 if (snd_opl3_create(card, 631 0x388, 0x388 + 2, 632 OPL3_HW_AUTO, 0, &opl3) < 0) { 633 snd_printk(KERN_ERR PFX "no OPL device at 0x%x-0x%x ?\n", 634 0x388, 0x388 + 2); 635 } else { 636 err = snd_opl3_hwdep_new(opl3, 0, 1, NULL); 637 if (err < 0) 638 return err; 639 } 640 641 if (mpu_port[dev] != SNDRV_AUTO_PORT) { 642 if (mpu_irq[dev] == SNDRV_AUTO_IRQ) 643 mpu_irq[dev] = -1; 644 if (snd_mpu401_uart_new(card, 0, 645 MPU401_HW_MPU401, 646 mpu_port[dev], 0, 647 mpu_irq[dev], NULL) < 0) 648 snd_printk(KERN_ERR "no MPU-401 device at 0x%lx ?\n", 649 mpu_port[dev]); 650 } 651 652 strcpy(card->driver, DRV_NAME); 653 strcpy(card->shortname, "SC-6000"); 654 sprintf(card->longname, "Gallant SC-6000 at 0x%lx, irq %d, dma %d", 655 mss_port[dev], xirq, xdma); 656 657 err = snd_card_register(card); 658 if (err < 0) 659 return err; 660 661 dev_set_drvdata(devptr, card); 662 return 0; 663 } 664 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 44401 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: [sound:for-next 92/92] sound/isa/sc6000.c:534:35: sparse: sparse: incorrect type in initializer (different address spaces) Date: Wed, 21 Jul 2021 05:47:17 +0800 [thread overview] Message-ID: <202107210511.SnFqlZMa-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 6304 bytes --] tree: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next head: 9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad commit: 9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad [92/92] ALSA: sc6000: Assign vport directly on card's private_data config: x86_64-randconfig-s021-20210718 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?id=9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad git remote add sound https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git git fetch --no-tags sound for-next git checkout 9b7843d1e125dca0d6ed0af9e8dd709d41eb25ad # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> sparse warnings: (new ones prefixed by >>) >> sound/isa/sc6000.c:534:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char [noderef] __iomem *vport @@ got void *private_data @@ sound/isa/sc6000.c:534:35: sparse: expected char [noderef] __iomem *vport sound/isa/sc6000.c:534:35: sparse: got void *private_data >> sound/isa/sc6000.c:585:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *private_data @@ got char [noderef] __iomem *[assigned] vport @@ sound/isa/sc6000.c:585:28: sparse: expected void *private_data sound/isa/sc6000.c:585:28: sparse: got char [noderef] __iomem *[assigned] vport vim +534 sound/isa/sc6000.c 531 532 static void snd_sc6000_free(struct snd_card *card) 533 { > 534 char __iomem *vport = card->private_data; 535 536 if (vport) 537 sc6000_setup_board(vport, 0); 538 } 539 540 static int snd_sc6000_probe(struct device *devptr, unsigned int dev) 541 { 542 static const int possible_irqs[] = { 5, 7, 9, 10, 11, -1 }; 543 static const int possible_dmas[] = { 1, 3, 0, -1 }; 544 int err; 545 int xirq = irq[dev]; 546 int xdma = dma[dev]; 547 struct snd_card *card; 548 struct snd_wss *chip; 549 struct snd_opl3 *opl3; 550 char __iomem *vport; 551 char __iomem *vmss_port; 552 553 err = snd_devm_card_new(devptr, index[dev], id[dev], THIS_MODULE, 554 0, &card); 555 if (err < 0) 556 return err; 557 558 if (xirq == SNDRV_AUTO_IRQ) { 559 xirq = snd_legacy_find_free_irq(possible_irqs); 560 if (xirq < 0) { 561 snd_printk(KERN_ERR PFX "unable to find a free IRQ\n"); 562 return -EBUSY; 563 } 564 } 565 566 if (xdma == SNDRV_AUTO_DMA) { 567 xdma = snd_legacy_find_free_dma(possible_dmas); 568 if (xdma < 0) { 569 snd_printk(KERN_ERR PFX "unable to find a free DMA\n"); 570 return -EBUSY; 571 } 572 } 573 574 if (!devm_request_region(devptr, port[dev], 0x10, DRV_NAME)) { 575 snd_printk(KERN_ERR PFX 576 "I/O port region is already in use.\n"); 577 return -EBUSY; 578 } 579 vport = devm_ioport_map(devptr, port[dev], 0x10); 580 if (!vport) { 581 snd_printk(KERN_ERR PFX 582 "I/O port cannot be iomapped.\n"); 583 return -EBUSY; 584 } > 585 card->private_data = vport; 586 587 /* to make it marked as used */ 588 if (!devm_request_region(devptr, mss_port[dev], 4, DRV_NAME)) { 589 snd_printk(KERN_ERR PFX 590 "SC-6000 port I/O port region is already in use.\n"); 591 return -EBUSY; 592 } 593 vmss_port = devm_ioport_map(devptr, mss_port[dev], 4); 594 if (!vmss_port) { 595 snd_printk(KERN_ERR PFX 596 "MSS port I/O cannot be iomapped.\n"); 597 return -EBUSY; 598 } 599 600 snd_printd("Initializing BASE[0x%lx] IRQ[%d] DMA[%d] MIRQ[%d]\n", 601 port[dev], xirq, xdma, 602 mpu_irq[dev] == SNDRV_AUTO_IRQ ? 0 : mpu_irq[dev]); 603 604 err = sc6000_init_board(vport, vmss_port, dev); 605 if (err < 0) 606 return err; 607 card->private_free = snd_sc6000_free; 608 609 err = snd_wss_create(card, mss_port[dev] + 4, -1, xirq, xdma, -1, 610 WSS_HW_DETECT, 0, &chip); 611 if (err < 0) 612 return err; 613 614 err = snd_wss_pcm(chip, 0); 615 if (err < 0) { 616 snd_printk(KERN_ERR PFX 617 "error creating new WSS PCM device\n"); 618 return err; 619 } 620 err = snd_wss_mixer(chip); 621 if (err < 0) { 622 snd_printk(KERN_ERR PFX "error creating new WSS mixer\n"); 623 return err; 624 } 625 err = snd_sc6000_mixer(chip); 626 if (err < 0) { 627 snd_printk(KERN_ERR PFX "the mixer rewrite failed\n"); 628 return err; 629 } 630 if (snd_opl3_create(card, 631 0x388, 0x388 + 2, 632 OPL3_HW_AUTO, 0, &opl3) < 0) { 633 snd_printk(KERN_ERR PFX "no OPL device at 0x%x-0x%x ?\n", 634 0x388, 0x388 + 2); 635 } else { 636 err = snd_opl3_hwdep_new(opl3, 0, 1, NULL); 637 if (err < 0) 638 return err; 639 } 640 641 if (mpu_port[dev] != SNDRV_AUTO_PORT) { 642 if (mpu_irq[dev] == SNDRV_AUTO_IRQ) 643 mpu_irq[dev] = -1; 644 if (snd_mpu401_uart_new(card, 0, 645 MPU401_HW_MPU401, 646 mpu_port[dev], 0, 647 mpu_irq[dev], NULL) < 0) 648 snd_printk(KERN_ERR "no MPU-401 device@0x%lx ?\n", 649 mpu_port[dev]); 650 } 651 652 strcpy(card->driver, DRV_NAME); 653 strcpy(card->shortname, "SC-6000"); 654 sprintf(card->longname, "Gallant SC-6000 at 0x%lx, irq %d, dma %d", 655 mss_port[dev], xirq, xdma); 656 657 err = snd_card_register(card); 658 if (err < 0) 659 return err; 660 661 dev_set_drvdata(devptr, card); 662 return 0; 663 } 664 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 44401 bytes --]
next reply other threads:[~2021-07-20 21:49 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-20 21:47 kernel test robot [this message] 2021-07-20 21:47 ` [sound:for-next 92/92] sound/isa/sc6000.c:534:35: sparse: sparse: incorrect type in initializer (different address spaces) kernel test robot
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202107210511.SnFqlZMa-lkp@intel.com \ --to=lkp@intel.com \ --cc=alsa-devel@alsa-project.org \ --cc=kbuild-all@lists.01.org \ --cc=tiwai@suse.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.