linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: kbuild test robot <lkp@intel.com>
Cc: <kbuild-all@01.org>, <tony@atomide.com>, <robh+dt@kernel.org>,
	<bcousson@baylibre.com>, <ssantosh@kernel.org>, <ohad@wizery.com>,
	<bjorn.andersson@linaro.org>, <s-anna@ti.com>, <nsekhar@ti.com>,
	<t-kristo@ti.com>, <nsaulnier@ti.com>, <jreeder@ti.com>,
	<m-karicheri2@ti.com>, <woods.technical@gmail.com>,
	<linux-omap@vger.kernel.org>, <linux-remoteproc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>
Subject: Re: [PATCH 11/17] soc: ti: pruss: add pruss_get()/put() API
Date: Fri, 23 Nov 2018 11:41:58 +0200	[thread overview]
Message-ID: <5BF7CB66.5010506@ti.com> (raw)
In-Reply-To: <201811231005.TMHd9O2k%fengguang.wu@intel.com>

On 23/11/18 04:47, kbuild test robot wrote:
> Hi Tero,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on keystone/next]
> [also build test ERROR on v4.20-rc3 next-20181122]
> [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/Roger-Quadros/Add-support-for-TI-PRU-ICSS/20181123-083903
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git next
> config: arm-allmodconfig (attached as .config)
> compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.2.0 make.cross ARCH=arm 
> 
> All error/warnings (new ones prefixed by >>):
> 
>    In file included from drivers/soc/ti/pruss_intc.c:16:0:
>>> include/linux/pruss.h:39:32: warning: 'struct rproc' declared inside parameter list will not be visible outside of this definition or declaration
>     struct pruss *pruss_get(struct rproc *rproc);
>                                    ^~~~~

This was my bad due to re-ordering of patches. Fixed now.

cheers,
-roger

> --
>    In file included from drivers/soc/ti/pruss.c:15:0:
>>> include/linux/pruss.h:39:32: warning: 'struct rproc' declared inside parameter list will not be visible outside of this definition or declaration
>     struct pruss *pruss_get(struct rproc *rproc);
>                                    ^~~~~
>>> drivers/soc/ti/pruss.c:34:15: error: conflicting types for 'pruss_get'
>     struct pruss *pruss_get(struct rproc *rproc)
>                   ^~~~~~~~~
>    In file included from drivers/soc/ti/pruss.c:15:0:
>    include/linux/pruss.h:39:15: note: previous declaration of 'pruss_get' was here
>     struct pruss *pruss_get(struct rproc *rproc);
>                   ^~~~~~~~~
>    In file included from include/linux/linkage.h:7:0,
>                     from include/linux/kernel.h:7,
>                     from include/linux/list.h:9,
>                     from include/linux/kobject.h:19,
>                     from include/linux/device.h:16,
>                     from include/linux/dma-mapping.h:7,
>                     from drivers/soc/ti/pruss.c:10:
>    drivers/soc/ti/pruss.c:58:19: error: conflicting types for 'pruss_get'
>     EXPORT_SYMBOL_GPL(pruss_get);
>                       ^
>    include/linux/export.h:79:21: note: in definition of macro '___EXPORT_SYMBOL'
>      extern typeof(sym) sym;      \
>                         ^~~
>>> drivers/soc/ti/pruss.c:58:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
>     EXPORT_SYMBOL_GPL(pruss_get);
>     ^~~~~~~~~~~~~~~~~
>    In file included from drivers/soc/ti/pruss.c:15:0:
>    include/linux/pruss.h:39:15: note: previous declaration of 'pruss_get' was here
>     struct pruss *pruss_get(struct rproc *rproc);
>                   ^~~~~~~~~
> --
>    In file included from drivers/soc//ti/pruss.c:15:0:
>>> include/linux/pruss.h:39:32: warning: 'struct rproc' declared inside parameter list will not be visible outside of this definition or declaration
>     struct pruss *pruss_get(struct rproc *rproc);
>                                    ^~~~~
>    drivers/soc//ti/pruss.c:34:15: error: conflicting types for 'pruss_get'
>     struct pruss *pruss_get(struct rproc *rproc)
>                   ^~~~~~~~~
>    In file included from drivers/soc//ti/pruss.c:15:0:
>    include/linux/pruss.h:39:15: note: previous declaration of 'pruss_get' was here
>     struct pruss *pruss_get(struct rproc *rproc);
>                   ^~~~~~~~~
>    In file included from include/linux/linkage.h:7:0,
>                     from include/linux/kernel.h:7,
>                     from include/linux/list.h:9,
>                     from include/linux/kobject.h:19,
>                     from include/linux/device.h:16,
>                     from include/linux/dma-mapping.h:7,
>                     from drivers/soc//ti/pruss.c:10:
>    drivers/soc//ti/pruss.c:58:19: error: conflicting types for 'pruss_get'
>     EXPORT_SYMBOL_GPL(pruss_get);
>                       ^
>    include/linux/export.h:79:21: note: in definition of macro '___EXPORT_SYMBOL'
>      extern typeof(sym) sym;      \
>                         ^~~
>    drivers/soc//ti/pruss.c:58:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
>     EXPORT_SYMBOL_GPL(pruss_get);
>     ^~~~~~~~~~~~~~~~~
>    In file included from drivers/soc//ti/pruss.c:15:0:
>    include/linux/pruss.h:39:15: note: previous declaration of 'pruss_get' was here
>     struct pruss *pruss_get(struct rproc *rproc);
>                   ^~~~~~~~~
> 
> vim +/pruss_get +34 drivers/soc/ti/pruss.c
> 
>   > 10	#include <linux/dma-mapping.h>
>     11	#include <linux/module.h>
>     12	#include <linux/io.h>
>     13	#include <linux/of_address.h>
>     14	#include <linux/of_device.h>
>   > 15	#include <linux/pruss.h>
>     16	#include <linux/remoteproc.h>
>     17	
>     18	#include "pruss.h"
>     19	
>     20	/**
>     21	 * pruss_get() - get the pruss for a given PRU remoteproc
>     22	 * @rproc: remoteproc handle of a PRU instance
>     23	 *
>     24	 * Finds the parent pruss device for a PRU given the @rproc handle of the
>     25	 * PRU remote processor. This function increments the pruss device's refcount,
>     26	 * so always use pruss_put() to decrement it back once pruss isn't needed
>     27	 * anymore.
>     28	 *
>     29	 * Returns the pruss handle on success, and an ERR_PTR on failure using one
>     30	 * of the following error values
>     31	 *    -EINVAL if invalid parameter
>     32	 *    -ENODEV if PRU device or PRUSS device is not found
>     33	 */
>   > 34	struct pruss *pruss_get(struct rproc *rproc)
>     35	{
>     36		struct pruss *pruss;
>     37		struct device *dev;
>     38		struct platform_device *ppdev;
>     39	
>     40		if (IS_ERR_OR_NULL(rproc))
>     41			return ERR_PTR(-EINVAL);
>     42	
>     43		dev = &rproc->dev;
>     44		if (!dev->parent)
>     45			return ERR_PTR(-ENODEV);
>     46	
>     47		/* rudimentary check to make sure rproc handle is for a PRU */
>     48		if (!strstr(dev_name(dev->parent), "pru"))
>     49			return ERR_PTR(-ENODEV);
>     50	
>     51		ppdev = to_platform_device(dev->parent->parent);
>     52		pruss = platform_get_drvdata(ppdev);
>     53		if (pruss)
>     54			get_device(pruss->dev);
>     55	
>     56		return pruss ? pruss : ERR_PTR(-ENODEV);
>     57	}
>   > 58	EXPORT_SYMBOL_GPL(pruss_get);
>     59	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

  reply	other threads:[~2018-11-23  9:42 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22 11:38 [PATCH 00/17] Add support for TI PRU ICSS Roger Quadros
2018-11-22 11:38 ` [PATCH 01/17] dt-bindings: remoteproc: Add TI PRUSS bindings Roger Quadros
2018-11-23 16:24   ` Tony Lindgren
2018-11-26  7:47     ` Roger Quadros
2018-11-26 19:35       ` Tony Lindgren
2018-11-26 21:14   ` David Lechner
2018-11-26 23:41     ` Tony Lindgren
2018-11-27 15:15     ` Roger Quadros
2018-11-28 15:42       ` David Lechner
2018-11-29  8:49         ` Roger Quadros
2018-11-29 16:18           ` David Lechner
2018-11-22 11:38 ` [PATCH 02/17] soc: ti: pruss: Define platform data for PRUSS bus driver Roger Quadros
2018-11-22 11:38 ` [PATCH 03/17] soc: ti: pruss: Add pruss_soc_bus platform driver Roger Quadros
2018-11-22 11:39 ` [PATCH 04/17] soc: ti: pruss: Fix system suspend/MStandby config issues Roger Quadros
2018-11-22 11:39 ` [PATCH 05/17] soc: ti: pruss: Configure SYSCFG properly during probe/remove Roger Quadros
2018-11-23 16:26   ` Tony Lindgren
2018-11-22 11:39 ` [PATCH 06/17] soc: ti: pruss: Add a platform driver for PRUSS in TI SoCs Roger Quadros
2018-11-26 21:15   ` David Lechner
2018-11-27 15:17     ` Roger Quadros
2018-11-22 11:39 ` [PATCH 07/17] soc: ti: pruss: enable OCP master ports in SYSCFG always Roger Quadros
2018-11-23 16:35   ` Tony Lindgren
2018-11-22 11:39 ` [PATCH 08/17] soc: ti: pruss: Add a PRUSS irqchip driver for PRUSS interrupts Roger Quadros
2018-11-23 16:37   ` Tony Lindgren
2018-11-26  8:09     ` Roger Quadros
2018-11-26 19:33       ` Tony Lindgren
2018-12-12 15:48         ` Roger Quadros
2018-12-12 17:25           ` Tony Lindgren
2018-11-26  8:09     ` Roger Quadros
2018-11-26 21:17   ` David Lechner
2018-11-27 15:39     ` Roger Quadros
2018-11-28 15:46       ` David Lechner
2018-11-22 11:39 ` [PATCH 09/17] soc: ti: pruss: add pruss_{request,release}_mem_region() API Roger Quadros
2018-11-26 21:18   ` David Lechner
2018-11-22 11:39 ` [PATCH 10/17] soc: ti: pruss_intc: Add API to trigger a PRU sysevent Roger Quadros
2018-11-26 21:18   ` David Lechner
2018-11-22 11:39 ` [PATCH 11/17] soc: ti: pruss: add pruss_get()/put() API Roger Quadros
2018-11-23  2:47   ` kbuild test robot
2018-11-23  9:41     ` Roger Quadros [this message]
2018-11-23  8:20   ` Arnd Bergmann
2018-11-23  8:58     ` Tero Kristo
2018-11-23  9:40     ` Roger Quadros
2018-11-26 21:18   ` David Lechner
2018-11-22 11:39 ` [PATCH 12/17] soc: ti: pruss: add pruss_cfg_read()/update() API Roger Quadros
2018-11-22 11:39 ` [PATCH 13/17] soc: ti: pruss: export pruss_intc_configure/unconfigure APIs Roger Quadros
2018-11-26 21:19   ` David Lechner
2018-11-22 11:39 ` [PATCH 14/17] ARM: OMAP2+: use pdata quirks for PRUSS reset lines on AM335x Roger Quadros
2018-11-23 16:40   ` Tony Lindgren
2018-11-22 11:39 ` [PATCH 15/17] ARM: dts: AM33xx: Add the PRU-ICSS DT nodes Roger Quadros
2018-11-26 16:37   ` David Lechner
2018-11-22 11:39 ` [PATCH 16/17] ARM: dts: AM33xx: Add PRU system events for virtio Roger Quadros
2018-11-22 11:39 ` [PATCH 17/17] ARM: dts: am335x-*: Enable PRU-ICSS nodes Roger Quadros
2018-11-26 16:45   ` David Lechner
2018-12-03  2:04 ` [PATCH 00/17] Add support for TI PRU ICSS Derald D. Woods

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=5BF7CB66.5010506@ti.com \
    --to=rogerq@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jreeder@ti.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=m-karicheri2@ti.com \
    --cc=nsaulnier@ti.com \
    --cc=nsekhar@ti.com \
    --cc=ohad@wizery.com \
    --cc=robh+dt@kernel.org \
    --cc=s-anna@ti.com \
    --cc=ssantosh@kernel.org \
    --cc=t-kristo@ti.com \
    --cc=tony@atomide.com \
    --cc=woods.technical@gmail.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).