linux-kernel.vger.kernel.org archive mirror
 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 --]

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

Thread overview: 15+ 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  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).