All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dejin Zheng <zhengdejin5@gmail.com>
To: kernel test robot <lkp@intel.com>
Cc: helgaas@kernel.org, corbet@lwn.net,
	jarkko.nikula@linux.intel.com, andriy.shevchenko@linux.intel.com,
	mika.westerberg@linux.intel.com, rric@kernel.org,
	bhelgaas@google.com, linux-doc@vger.kernel.org,
	linux-i2c@vger.kernel.org, linux-pci@vger.kernel.org,
	kbuild-all@lists.01.org
Subject: Re: [PATCH v6 1/4] PCI: Introduce pcim_alloc_irq_vectors()
Date: Mon, 7 Jun 2021 22:24:58 +0800	[thread overview]
Message-ID: <20210607142458.GA821146@nuc8i5> (raw)
In-Reply-To: <202106070313.1cUfhXdg-lkp@intel.com>

On Mon, Jun 07, 2021 at 03:31:04AM +0800, kernel test robot wrote:
> Hi Dejin,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on pci/next]
> [also build test ERROR on wsa/i2c/for-next lwn/docs-next linus/master v5.13-rc4 next-20210604]
> [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/Dejin-Zheng/Introduce-pcim_alloc_irq_vectors/20210606-150730
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
> config: sparc-randconfig-c004-20210606 (attached as .config)
> compiler: sparc64-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
>         # https://github.com/0day-ci/linux/commit/7b311110dce8729956f7545d1f11b2bbd60f6193
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Dejin-Zheng/Introduce-pcim_alloc_irq_vectors/20210606-150730
>         git checkout 7b311110dce8729956f7545d1f11b2bbd60f6193
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from net/core/rtnetlink.c:37:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --

Thanks very much for Kernel test robot, I got the root cause of this build error.
I will send a new patch version for fix it.

The sparc defconfig disable PCI, so it can not found the CONFIG_PCI in pci.h,
and the pci_is_managed() function only exists in the pci.h when enable PCI.
so it will report builld this error when disable PCI.

BR,
Dejin
>    In file included from arch/sparc/lib/iomap.c:5:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    cc1: all warnings being treated as errors
> --
>    In file included from drivers/gpu/drm/drm_file.c:38:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    drivers/gpu/drm/drm_file.c: At top level:
>    drivers/gpu/drm/drm_file.c:789:6: warning: no previous prototype for 'drm_send_event_helper' [-Wmissing-prototypes]
>      789 | void drm_send_event_helper(struct drm_device *dev,
>          |      ^~~~~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from drivers/ide/ide-proc.c:25:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    At top level:
>    drivers/ide/ide-proc.c:457:37: warning: 'ide_media_proc_fops' defined but not used [-Wunused-const-variable=]
>      457 | static const struct file_operations ide_media_proc_fops = {
>          |                                     ^~~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from include/linux/ide.h:18,
>                     from drivers/ide/ide-cd_ioctl.c:13:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    drivers/ide/ide-cd_ioctl.c: In function 'ide_cdrom_select_speed':
>    drivers/ide/ide-cd_ioctl.c:212:6: warning: variable 'stat' set but not used [-Wunused-but-set-variable]
>      212 |  int stat;
>          |      ^~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from drivers/ata/ahci.h:22,
>                     from drivers/ata/ahci_platform.c:21:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    In file included from drivers/ata/ahci_platform.c:21:
>    drivers/ata/ahci_platform.c: At top level:
>    drivers/ata/ahci.h:388:16: warning: initialized field overwritten [-Woverride-init]
>      388 |  .can_queue  = AHCI_MAX_CMDS,   \
>          |                ^~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    drivers/ata/ahci.h:388:16: note: (near initialization for 'ahci_platform_sht.can_queue')
>      388 |  .can_queue  = AHCI_MAX_CMDS,   \
>          |                ^~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    drivers/ata/ahci.h:392:17: warning: initialized field overwritten [-Woverride-init]
>      392 |  .sdev_attrs  = ahci_sdev_attrs
>          |                 ^~~~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    drivers/ata/ahci.h:392:17: note: (near initialization for 'ahci_platform_sht.sdev_attrs')
>      392 |  .sdev_attrs  = ahci_sdev_attrs
>          |                 ^~~~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from drivers/usb/host/xhci.c:11:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    drivers/usb/host/xhci.c: In function 'xhci_unmap_temp_buf':
>    drivers/usb/host/xhci.c:1349:15: warning: variable 'len' set but not used [-Wunused-but-set-variable]
>     1349 |  unsigned int len;
>          |               ^~~
>    cc1: some warnings being treated as errors
> 
> Kconfig warnings: (for reference only)
>    WARNING: unmet direct dependencies detected for LOCKDEP
>    Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
>    Selected by
>    - PROVE_LOCKING && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
>    - DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
> 
> 
> vim +/pci_is_managed +1847 include/linux/pci.h
> 
>   1827	
>   1828	/**
>   1829	 * pcim_alloc_irq_vectors - a device-managed pci_alloc_irq_vectors()
>   1830	 * @dev:		PCI device to operate on
>   1831	 * @min_vecs:		minimum number of vectors required (must be >= 1)
>   1832	 * @max_vecs:		maximum (desired) number of vectors
>   1833	 * @flags:		flags or quirks for the allocation
>   1834	 *
>   1835	 * Return the number of vectors allocated, (which might be smaller than
>   1836	 * @max_vecs) if successful, or a negative error code on error. If less
>   1837	 * than @min_vecs interrupt vectors are available for @dev the function
>   1838	 * will fail with -ENOSPC.
>   1839	 *
>   1840	 * It depends on calling pcim_enable_device() to make IRQ resources
>   1841	 * manageable.
>   1842	 */
>   1843	static inline int
>   1844	pcim_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs,
>   1845				unsigned int max_vecs, unsigned int flags)
>   1846	{
> > 1847		if (!pci_is_managed(dev))
>   1848			return -EINVAL;
>   1849		return pci_alloc_irq_vectors(dev, min_vecs, max_vecs, flags);
>   1850	}
>   1851	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org



WARNING: multiple messages have this Message-ID (diff)
From: Dejin Zheng <zhengdejin5@gmail.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v6 1/4] PCI: Introduce pcim_alloc_irq_vectors()
Date: Mon, 07 Jun 2021 22:24:58 +0800	[thread overview]
Message-ID: <20210607142458.GA821146@nuc8i5> (raw)
In-Reply-To: <202106070313.1cUfhXdg-lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 8856 bytes --]

On Mon, Jun 07, 2021 at 03:31:04AM +0800, kernel test robot wrote:
> Hi Dejin,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on pci/next]
> [also build test ERROR on wsa/i2c/for-next lwn/docs-next linus/master v5.13-rc4 next-20210604]
> [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/Dejin-Zheng/Introduce-pcim_alloc_irq_vectors/20210606-150730
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
> config: sparc-randconfig-c004-20210606 (attached as .config)
> compiler: sparc64-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
>         # https://github.com/0day-ci/linux/commit/7b311110dce8729956f7545d1f11b2bbd60f6193
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Dejin-Zheng/Introduce-pcim_alloc_irq_vectors/20210606-150730
>         git checkout 7b311110dce8729956f7545d1f11b2bbd60f6193
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from net/core/rtnetlink.c:37:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --

Thanks very much for Kernel test robot, I got the root cause of this build error.
I will send a new patch version for fix it.

The sparc defconfig disable PCI, so it can not found the CONFIG_PCI in pci.h,
and the pci_is_managed() function only exists in the pci.h when enable PCI.
so it will report builld this error when disable PCI.

BR,
Dejin
>    In file included from arch/sparc/lib/iomap.c:5:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    cc1: all warnings being treated as errors
> --
>    In file included from drivers/gpu/drm/drm_file.c:38:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    drivers/gpu/drm/drm_file.c: At top level:
>    drivers/gpu/drm/drm_file.c:789:6: warning: no previous prototype for 'drm_send_event_helper' [-Wmissing-prototypes]
>      789 | void drm_send_event_helper(struct drm_device *dev,
>          |      ^~~~~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from drivers/ide/ide-proc.c:25:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    At top level:
>    drivers/ide/ide-proc.c:457:37: warning: 'ide_media_proc_fops' defined but not used [-Wunused-const-variable=]
>      457 | static const struct file_operations ide_media_proc_fops = {
>          |                                     ^~~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from include/linux/ide.h:18,
>                     from drivers/ide/ide-cd_ioctl.c:13:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    drivers/ide/ide-cd_ioctl.c: In function 'ide_cdrom_select_speed':
>    drivers/ide/ide-cd_ioctl.c:212:6: warning: variable 'stat' set but not used [-Wunused-but-set-variable]
>      212 |  int stat;
>          |      ^~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from drivers/ata/ahci.h:22,
>                     from drivers/ata/ahci_platform.c:21:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    In file included from drivers/ata/ahci_platform.c:21:
>    drivers/ata/ahci_platform.c: At top level:
>    drivers/ata/ahci.h:388:16: warning: initialized field overwritten [-Woverride-init]
>      388 |  .can_queue  = AHCI_MAX_CMDS,   \
>          |                ^~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    drivers/ata/ahci.h:388:16: note: (near initialization for 'ahci_platform_sht.can_queue')
>      388 |  .can_queue  = AHCI_MAX_CMDS,   \
>          |                ^~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    drivers/ata/ahci.h:392:17: warning: initialized field overwritten [-Woverride-init]
>      392 |  .sdev_attrs  = ahci_sdev_attrs
>          |                 ^~~~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    drivers/ata/ahci.h:392:17: note: (near initialization for 'ahci_platform_sht.sdev_attrs')
>      392 |  .sdev_attrs  = ahci_sdev_attrs
>          |                 ^~~~~~~~~~~~~~~
>    drivers/ata/ahci_platform.c:40:2: note: in expansion of macro 'AHCI_SHT'
>       40 |  AHCI_SHT(DRV_NAME),
>          |  ^~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from drivers/usb/host/xhci.c:11:
>    include/linux/pci.h: In function 'pcim_alloc_irq_vectors':
> >> include/linux/pci.h:1847:7: error: implicit declaration of function 'pci_is_managed' [-Werror=implicit-function-declaration]
>     1847 |  if (!pci_is_managed(dev))
>          |       ^~~~~~~~~~~~~~
>    drivers/usb/host/xhci.c: In function 'xhci_unmap_temp_buf':
>    drivers/usb/host/xhci.c:1349:15: warning: variable 'len' set but not used [-Wunused-but-set-variable]
>     1349 |  unsigned int len;
>          |               ^~~
>    cc1: some warnings being treated as errors
> 
> Kconfig warnings: (for reference only)
>    WARNING: unmet direct dependencies detected for LOCKDEP
>    Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
>    Selected by
>    - PROVE_LOCKING && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
>    - DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
> 
> 
> vim +/pci_is_managed +1847 include/linux/pci.h
> 
>   1827	
>   1828	/**
>   1829	 * pcim_alloc_irq_vectors - a device-managed pci_alloc_irq_vectors()
>   1830	 * @dev:		PCI device to operate on
>   1831	 * @min_vecs:		minimum number of vectors required (must be >= 1)
>   1832	 * @max_vecs:		maximum (desired) number of vectors
>   1833	 * @flags:		flags or quirks for the allocation
>   1834	 *
>   1835	 * Return the number of vectors allocated, (which might be smaller than
>   1836	 * @max_vecs) if successful, or a negative error code on error. If less
>   1837	 * than @min_vecs interrupt vectors are available for @dev the function
>   1838	 * will fail with -ENOSPC.
>   1839	 *
>   1840	 * It depends on calling pcim_enable_device() to make IRQ resources
>   1841	 * manageable.
>   1842	 */
>   1843	static inline int
>   1844	pcim_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs,
>   1845				unsigned int max_vecs, unsigned int flags)
>   1846	{
> > 1847		if (!pci_is_managed(dev))
>   1848			return -EINVAL;
>   1849		return pci_alloc_irq_vectors(dev, min_vecs, max_vecs, flags);
>   1850	}
>   1851	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org


  reply	other threads:[~2021-06-07 14:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-06  7:05 [PATCH v6 0/4] Introduce pcim_alloc_irq_vectors() Dejin Zheng
2021-06-06  7:05 ` [PATCH v6 1/4] PCI: " Dejin Zheng
2021-06-06 19:31   ` kernel test robot
2021-06-06 19:31     ` kernel test robot
2021-06-07 14:24     ` Dejin Zheng [this message]
2021-06-07 14:24       ` Dejin Zheng
2021-06-06  7:05 ` [PATCH v6 2/4] Documentation: devres: Add pcim_alloc_irq_vectors() Dejin Zheng
2021-06-06  7:05 ` [PATCH v6 3/4] i2c: designware: Use pcim_alloc_irq_vectors() to allocate IRQ vectors Dejin Zheng
2021-06-06  7:05 ` [PATCH v6 4/4] i2c: thunderx: " Dejin Zheng
2021-06-07  9:09 ` [PATCH v6 0/4] Introduce pcim_alloc_irq_vectors() Andy Shevchenko
2021-06-07 14:30   ` Dejin Zheng

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=20210607142458.GA821146@nuc8i5 \
    --to=zhengdejin5@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=corbet@lwn.net \
    --cc=helgaas@kernel.org \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=rric@kernel.org \
    /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: link
Be 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.