All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Lubomir Rintel <lkundrak@v3.sk>
Cc: kbuild-all@01.org, Mauro Carvalho Chehab <mchehab@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-media@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Lubomir Rintel <lkundrak@v3.sk>, James Cameron <quozl@laptop.org>,
	Pavel Machek <pavel@ucw.cz>, Libin Yang <lbyang@marvell.com>,
	Albert Wang <twang13@marvell.com>
Subject: Re: [PATCH v2 10/11] [media] marvell-ccic: use async notifier to get the sensor
Date: Tue, 13 Nov 2018 06:06:24 +0800	[thread overview]
Message-ID: <201811130650.i4sqq65s%fengguang.wu@intel.com> (raw)
In-Reply-To: <20181112003520.577592-11-lkundrak@v3.sk>

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

Hi Lubomir,

I love your patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v4.20-rc1 next-20181112]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Lubomir-Rintel/media-make-Marvell-camera-work-on-DT-based-OLPC-XO-1-75/20181112-163212
base:   git://linuxtv.org/media_tree.git master
config: x86_64-randconfig-x003-11121005 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the linux-review/Lubomir-Rintel/media-make-Marvell-camera-work-on-DT-based-OLPC-XO-1-75/20181112-163212 HEAD e78fa6428e22bbc61543f031695ad6f204f32344 builds fine.
      It only hurts bisectibility.

All error/warnings (new ones prefixed by >>):

   drivers/media/platform/marvell-ccic/cafe-driver.c: In function 'cafe_pci_probe':
>> drivers/media/platform/marvell-ccic/cafe-driver.c:563:2: error: implicit declaration of function 'cafe_shutdown'; did you mean 'mccic_shutdown'? [-Werror=implicit-function-declaration]
     cafe_shutdown(cam);
     ^~~~~~~~~~~~~
     mccic_shutdown
   drivers/media/platform/marvell-ccic/cafe-driver.c: At top level:
>> drivers/media/platform/marvell-ccic/cafe-driver.c:583:13: warning: conflicting types for 'cafe_shutdown'
    static void cafe_shutdown(struct cafe_camera *cam)
                ^~~~~~~~~~~~~
>> drivers/media/platform/marvell-ccic/cafe-driver.c:583:13: error: static declaration of 'cafe_shutdown' follows non-static declaration
   drivers/media/platform/marvell-ccic/cafe-driver.c:563:2: note: previous implicit declaration of 'cafe_shutdown' was here
     cafe_shutdown(cam);
     ^~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +563 drivers/media/platform/marvell-ccic/cafe-driver.c

   481	
   482	/* -------------------------------------------------------------------------- */
   483	/*
   484	 * PCI interface stuff.
   485	 */
   486	
   487	static int cafe_pci_probe(struct pci_dev *pdev,
   488			const struct pci_device_id *id)
   489	{
   490		int ret;
   491		struct cafe_camera *cam;
   492		struct mcam_camera *mcam;
   493	
   494		/*
   495		 * Start putting together one of our big camera structures.
   496		 */
   497		ret = -ENOMEM;
   498		cam = kzalloc(sizeof(struct cafe_camera), GFP_KERNEL);
   499		if (cam == NULL)
   500			goto out;
   501		cam->pdev = pdev;
   502		mcam = &cam->mcam;
   503		mcam->chip_id = MCAM_CAFE;
   504		spin_lock_init(&mcam->dev_lock);
   505		init_waitqueue_head(&cam->smbus_wait);
   506		mcam->plat_power_up = cafe_ctlr_power_up;
   507		mcam->plat_power_down = cafe_ctlr_power_down;
   508		mcam->dev = &pdev->dev;
   509		snprintf(mcam->bus_info, sizeof(mcam->bus_info), "PCI:%s", pci_name(pdev));
   510		/*
   511		 * Vmalloc mode for buffers is traditional with this driver.
   512		 * We *might* be able to run DMA_contig, especially on a system
   513		 * with CMA in it.
   514		 */
   515		mcam->buffer_mode = B_vmalloc;
   516		/*
   517		 * Get set up on the PCI bus.
   518		 */
   519		ret = pci_enable_device(pdev);
   520		if (ret)
   521			goto out_free;
   522		pci_set_master(pdev);
   523	
   524		ret = -EIO;
   525		mcam->regs = pci_iomap(pdev, 0, 0);
   526		if (!mcam->regs) {
   527			printk(KERN_ERR "Unable to ioremap cafe-ccic regs\n");
   528			goto out_disable;
   529		}
   530		mcam->regs_size = pci_resource_len(pdev, 0);
   531		ret = request_irq(pdev->irq, cafe_irq, IRQF_SHARED, "cafe-ccic", cam);
   532		if (ret)
   533			goto out_iounmap;
   534	
   535		/*
   536		 * Initialize the controller and leave it powered up.  It will
   537		 * stay that way until the sensor driver shows up.
   538		 */
   539		cafe_ctlr_init(mcam);
   540		cafe_ctlr_power_up(mcam);
   541		/*
   542		 * Set up I2C/SMBUS communications.  We have to drop the mutex here
   543		 * because the sensor could attach in this call chain, leading to
   544		 * unsightly deadlocks.
   545		 */
   546		ret = cafe_smbus_setup(cam);
   547		if (ret)
   548			goto out_pdown;
   549	
   550		mcam->asd.match_type = V4L2_ASYNC_MATCH_I2C;
   551		mcam->asd.match.i2c.adapter_id = i2c_adapter_id(cam->i2c_adapter);
   552		mcam->asd.match.i2c.address = ov7670_info.addr;
   553	
   554		ret = mccic_register(mcam);
   555		if (ret)
   556			goto out_smbus_shutdown;
   557	
   558		if (i2c_new_device(cam->i2c_adapter, &ov7670_info)) {
   559			cam->registered = 1;
   560			return 0;
   561		}
   562	
 > 563		cafe_shutdown(cam);
   564	out_smbus_shutdown:
   565		cafe_smbus_shutdown(cam);
   566	out_pdown:
   567		cafe_ctlr_power_down(mcam);
   568		free_irq(pdev->irq, cam);
   569	out_iounmap:
   570		pci_iounmap(pdev, mcam->regs);
   571	out_disable:
   572		pci_disable_device(pdev);
   573	out_free:
   574		kfree(cam);
   575	out:
   576		return ret;
   577	}
   578	
   579	
   580	/*
   581	 * Shut down an initialized device
   582	 */
 > 583	static void cafe_shutdown(struct cafe_camera *cam)
   584	{
   585		mccic_shutdown(&cam->mcam);
   586		cafe_smbus_shutdown(cam);
   587		free_irq(cam->pdev->irq, cam);
   588		pci_iounmap(cam->pdev, cam->mcam.regs);
   589	}
   590	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 33182 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, Mauro Carvalho Chehab <mchehab@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-media@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Lubomir Rintel <lkundrak@v3.sk>, James Cameron <quozl@laptop.org>,
	Pavel Machek <pavel@ucw.cz>, Libin Yang <lbyang@marvell.com>,
	Albert Wang <twang13@marvell.com>
Subject: Re: [PATCH v2 10/11] [media] marvell-ccic: use async notifier to get the sensor
Date: Tue, 13 Nov 2018 06:06:24 +0800	[thread overview]
Message-ID: <201811130650.i4sqq65s%fengguang.wu@intel.com> (raw)
In-Reply-To: <20181112003520.577592-11-lkundrak@v3.sk>

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

Hi Lubomir,

I love your patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v4.20-rc1 next-20181112]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Lubomir-Rintel/media-make-Marvell-camera-work-on-DT-based-OLPC-XO-1-75/20181112-163212
base:   git://linuxtv.org/media_tree.git master
config: x86_64-randconfig-x003-11121005 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the linux-review/Lubomir-Rintel/media-make-Marvell-camera-work-on-DT-based-OLPC-XO-1-75/20181112-163212 HEAD e78fa6428e22bbc61543f031695ad6f204f32344 builds fine.
      It only hurts bisectibility.

All error/warnings (new ones prefixed by >>):

   drivers/media/platform/marvell-ccic/cafe-driver.c: In function 'cafe_pci_probe':
>> drivers/media/platform/marvell-ccic/cafe-driver.c:563:2: error: implicit declaration of function 'cafe_shutdown'; did you mean 'mccic_shutdown'? [-Werror=implicit-function-declaration]
     cafe_shutdown(cam);
     ^~~~~~~~~~~~~
     mccic_shutdown
   drivers/media/platform/marvell-ccic/cafe-driver.c: At top level:
>> drivers/media/platform/marvell-ccic/cafe-driver.c:583:13: warning: conflicting types for 'cafe_shutdown'
    static void cafe_shutdown(struct cafe_camera *cam)
                ^~~~~~~~~~~~~
>> drivers/media/platform/marvell-ccic/cafe-driver.c:583:13: error: static declaration of 'cafe_shutdown' follows non-static declaration
   drivers/media/platform/marvell-ccic/cafe-driver.c:563:2: note: previous implicit declaration of 'cafe_shutdown' was here
     cafe_shutdown(cam);
     ^~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +563 drivers/media/platform/marvell-ccic/cafe-driver.c

   481	
   482	/* -------------------------------------------------------------------------- */
   483	/*
   484	 * PCI interface stuff.
   485	 */
   486	
   487	static int cafe_pci_probe(struct pci_dev *pdev,
   488			const struct pci_device_id *id)
   489	{
   490		int ret;
   491		struct cafe_camera *cam;
   492		struct mcam_camera *mcam;
   493	
   494		/*
   495		 * Start putting together one of our big camera structures.
   496		 */
   497		ret = -ENOMEM;
   498		cam = kzalloc(sizeof(struct cafe_camera), GFP_KERNEL);
   499		if (cam == NULL)
   500			goto out;
   501		cam->pdev = pdev;
   502		mcam = &cam->mcam;
   503		mcam->chip_id = MCAM_CAFE;
   504		spin_lock_init(&mcam->dev_lock);
   505		init_waitqueue_head(&cam->smbus_wait);
   506		mcam->plat_power_up = cafe_ctlr_power_up;
   507		mcam->plat_power_down = cafe_ctlr_power_down;
   508		mcam->dev = &pdev->dev;
   509		snprintf(mcam->bus_info, sizeof(mcam->bus_info), "PCI:%s", pci_name(pdev));
   510		/*
   511		 * Vmalloc mode for buffers is traditional with this driver.
   512		 * We *might* be able to run DMA_contig, especially on a system
   513		 * with CMA in it.
   514		 */
   515		mcam->buffer_mode = B_vmalloc;
   516		/*
   517		 * Get set up on the PCI bus.
   518		 */
   519		ret = pci_enable_device(pdev);
   520		if (ret)
   521			goto out_free;
   522		pci_set_master(pdev);
   523	
   524		ret = -EIO;
   525		mcam->regs = pci_iomap(pdev, 0, 0);
   526		if (!mcam->regs) {
   527			printk(KERN_ERR "Unable to ioremap cafe-ccic regs\n");
   528			goto out_disable;
   529		}
   530		mcam->regs_size = pci_resource_len(pdev, 0);
   531		ret = request_irq(pdev->irq, cafe_irq, IRQF_SHARED, "cafe-ccic", cam);
   532		if (ret)
   533			goto out_iounmap;
   534	
   535		/*
   536		 * Initialize the controller and leave it powered up.  It will
   537		 * stay that way until the sensor driver shows up.
   538		 */
   539		cafe_ctlr_init(mcam);
   540		cafe_ctlr_power_up(mcam);
   541		/*
   542		 * Set up I2C/SMBUS communications.  We have to drop the mutex here
   543		 * because the sensor could attach in this call chain, leading to
   544		 * unsightly deadlocks.
   545		 */
   546		ret = cafe_smbus_setup(cam);
   547		if (ret)
   548			goto out_pdown;
   549	
   550		mcam->asd.match_type = V4L2_ASYNC_MATCH_I2C;
   551		mcam->asd.match.i2c.adapter_id = i2c_adapter_id(cam->i2c_adapter);
   552		mcam->asd.match.i2c.address = ov7670_info.addr;
   553	
   554		ret = mccic_register(mcam);
   555		if (ret)
   556			goto out_smbus_shutdown;
   557	
   558		if (i2c_new_device(cam->i2c_adapter, &ov7670_info)) {
   559			cam->registered = 1;
   560			return 0;
   561		}
   562	
 > 563		cafe_shutdown(cam);
   564	out_smbus_shutdown:
   565		cafe_smbus_shutdown(cam);
   566	out_pdown:
   567		cafe_ctlr_power_down(mcam);
   568		free_irq(pdev->irq, cam);
   569	out_iounmap:
   570		pci_iounmap(pdev, mcam->regs);
   571	out_disable:
   572		pci_disable_device(pdev);
   573	out_free:
   574		kfree(cam);
   575	out:
   576		return ret;
   577	}
   578	
   579	
   580	/*
   581	 * Shut down an initialized device
   582	 */
 > 583	static void cafe_shutdown(struct cafe_camera *cam)
   584	{
   585		mccic_shutdown(&cam->mcam);
   586		cafe_smbus_shutdown(cam);
   587		free_irq(cam->pdev->irq, cam);
   588		pci_iounmap(cam->pdev, cam->mcam.regs);
   589	}
   590	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 33182 bytes --]

  reply	other threads:[~2018-11-13  3:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-12  0:35 [PATCH v2 0/11] media: make Marvell camera work on DT-based OLPC XO-1.75 Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 01/11] media: ov7670: hook s_power onto v4l2 core Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 02/11] media: ov7670: control clock along with power Lubomir Rintel
2018-11-14 14:35   ` Hans Verkuil
2018-11-12  0:35 ` [PATCH v2 03/11] media: dt-bindings: marvell,mmp2-ccic: Add Marvell MMP2 camera Lubomir Rintel
2018-11-17 15:39   ` Rob Herring
2018-11-12  0:35 ` [PATCH v2 04/11] [media] marvell-ccic: fix DMA s/g desc number calculation Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 05/11] [media] marvell-ccic: don't generate EOF on parallel bus Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 06/11] Revert "[media] marvell-ccic: reset ccic phy when stop streaming for stability" Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 07/11] [media] marvell-ccic: drop unused stuff Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 08/11] [media] marvell-ccic/mmp: enable clock before accessing registers Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 09/11] [media] marvell-ccic/mmp: add devicetree support Lubomir Rintel
2018-11-12  0:35 ` [PATCH v2 10/11] [media] marvell-ccic: use async notifier to get the sensor Lubomir Rintel
2018-11-12 22:06   ` kbuild test robot [this message]
2018-11-12 22:06     ` kbuild test robot
2018-11-12  0:35 ` [PATCH v2 11/11] [media] marvell-ccic: provide a clock for " Lubomir Rintel

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=201811130650.i4sqq65s%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=kbuild-all@01.org \
    --cc=lbyang@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lkundrak@v3.sk \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=pavel@ucw.cz \
    --cc=quozl@laptop.org \
    --cc=robh+dt@kernel.org \
    --cc=twang13@marvell.com \
    /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.