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
next prev parent 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).