All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Antoine Tenart <antoine.tenart@bootlin.com>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Nadav Haklai <nadavh@marvell.com>
Subject: Re: [PATCH 2/2] clk: core: link consumer with clock driver
Date: Fri, 23 Nov 2018 10:11:32 +0100	[thread overview]
Message-ID: <20181123101132.6be3829c@xps13> (raw)
In-Reply-To: <201811231627.H7ojlKLL%fengguang.wu@intel.com>

Hello,

kbuild test robot <lkp@intel.com> wrote on Fri, 23 Nov 2018 16:30:00
+0800:

> Hi Miquel,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on clk/clk-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/Miquel-Raynal/Link-consumer-with-clock-driver/20181123-113833
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
> config: sh-titan_defconfig (attached as .config)
> compiler: sh4-linux-gnu-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=sh 
> 
> All errors (new ones prefixed by >>):
> 
>    drivers//clk/clkdev.c: In function 'clk_get':
> >> drivers//clk/clkdev.c:209:3: error: implicit declaration of function '__clk_device_link'; did you mean '__clk_free_clk'? [-Werror=implicit-function-declaration]  
>       __clk_device_link(dev, clk);
>       ^~~~~~~~~~~~~~~~~
>       __clk_free_clk
>    drivers//clk/clkdev.c: In function 'clk_put':
> >> drivers//clk/clkdev.c:217:2: error: implicit declaration of function '__clk_device_unlink'; did you mean 'device_online'? [-Werror=implicit-function-declaration]  
>      __clk_device_unlink(clk);
>      ^~~~~~~~~~~~~~~~~~~
>      device_online
>    cc1: some warnings being treated as errors

I figured thanks to this report that this code won't compile with
architectures not compliant to the common clock framework. I see there
is the following block in clkdev.c.

#if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
#else
#endif

Would you agree with me adding dummy functions in the #else section
like:

static inline void __clk_device_link(struct device *consumer, struct clk *clk)
{
       return;
}

static inline void __clk_device_unlink(struct clk *clk)
{
       return;
}

Do you want me to also declare these functions in the #if section
(with the external keyword) to balance the above declarations?

Thanks for your input.
Miquèl

> 
> vim +209 drivers//clk/clkdev.c
> 
>    193	
>    194	struct clk *clk_get(struct device *dev, const char *con_id)
>    195	{
>    196		const char *dev_id = dev ? dev_name(dev) : NULL;
>    197		struct clk *clk = NULL;
>    198	
>    199		if (dev && dev->of_node) {
>    200			clk = __of_clk_get_by_name(dev->of_node, dev_id, con_id);
>    201			if (PTR_ERR(clk) == -EPROBE_DEFER)
>    202				return clk;
>    203		}
>    204	
>    205		if (IS_ERR_OR_NULL(clk))
>    206			clk = clk_get_sys(dev_id, con_id);
>    207	
>    208		if (!IS_ERR(clk))
>  > 209			__clk_device_link(dev, clk);  
>    210	
>    211		return clk;
>    212	}
>    213	EXPORT_SYMBOL(clk_get);
>    214	
>    215	void clk_put(struct clk *clk)
>    216	{
>  > 217		__clk_device_unlink(clk);  
>    218		__clk_put(clk);
>    219	}
>    220	EXPORT_SYMBOL(clk_put);
>    221	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

WARNING: multiple messages have this Message-ID (diff)
From: miquel.raynal@bootlin.com (Miquel Raynal)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] clk: core: link consumer with clock driver
Date: Fri, 23 Nov 2018 10:11:32 +0100	[thread overview]
Message-ID: <20181123101132.6be3829c@xps13> (raw)
In-Reply-To: <201811231627.H7ojlKLL%fengguang.wu@intel.com>

Hello,

kbuild test robot <lkp@intel.com> wrote on Fri, 23 Nov 2018 16:30:00
+0800:

> Hi Miquel,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on clk/clk-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/Miquel-Raynal/Link-consumer-with-clock-driver/20181123-113833
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
> config: sh-titan_defconfig (attached as .config)
> compiler: sh4-linux-gnu-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=sh 
> 
> All errors (new ones prefixed by >>):
> 
>    drivers//clk/clkdev.c: In function 'clk_get':
> >> drivers//clk/clkdev.c:209:3: error: implicit declaration of function '__clk_device_link'; did you mean '__clk_free_clk'? [-Werror=implicit-function-declaration]  
>       __clk_device_link(dev, clk);
>       ^~~~~~~~~~~~~~~~~
>       __clk_free_clk
>    drivers//clk/clkdev.c: In function 'clk_put':
> >> drivers//clk/clkdev.c:217:2: error: implicit declaration of function '__clk_device_unlink'; did you mean 'device_online'? [-Werror=implicit-function-declaration]  
>      __clk_device_unlink(clk);
>      ^~~~~~~~~~~~~~~~~~~
>      device_online
>    cc1: some warnings being treated as errors

I figured thanks to this report that this code won't compile with
architectures not compliant to the common clock framework. I see there
is the following block in clkdev.c.

#if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
#else
#endif

Would you agree with me adding dummy functions in the #else section
like:

static inline void __clk_device_link(struct device *consumer, struct clk *clk)
{
       return;
}

static inline void __clk_device_unlink(struct clk *clk)
{
       return;
}

Do you want me to also declare these functions in the #if section
(with the external keyword) to balance the above declarations?

Thanks for your input.
Miqu?l

> 
> vim +209 drivers//clk/clkdev.c
> 
>    193	
>    194	struct clk *clk_get(struct device *dev, const char *con_id)
>    195	{
>    196		const char *dev_id = dev ? dev_name(dev) : NULL;
>    197		struct clk *clk = NULL;
>    198	
>    199		if (dev && dev->of_node) {
>    200			clk = __of_clk_get_by_name(dev->of_node, dev_id, con_id);
>    201			if (PTR_ERR(clk) == -EPROBE_DEFER)
>    202				return clk;
>    203		}
>    204	
>    205		if (IS_ERR_OR_NULL(clk))
>    206			clk = clk_get_sys(dev_id, con_id);
>    207	
>    208		if (!IS_ERR(clk))
>  > 209			__clk_device_link(dev, clk);  
>    210	
>    211		return clk;
>    212	}
>    213	EXPORT_SYMBOL(clk_get);
>    214	
>    215	void clk_put(struct clk *clk)
>    216	{
>  > 217		__clk_device_unlink(clk);  
>    218		__clk_put(clk);
>    219	}
>    220	EXPORT_SYMBOL(clk_put);
>    221	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22 21:22 [PATCH 0/2] Link consumer with clock driver Miquel Raynal
2018-11-22 21:22 ` Miquel Raynal
2018-11-22 21:22 ` [PATCH 1/2] clk: core: clarify the check for runtime PM Miquel Raynal
2018-11-22 21:22   ` Miquel Raynal
2018-11-22 21:22 ` [PATCH 2/2] clk: core: link consumer with clock driver Miquel Raynal
2018-11-22 21:22   ` Miquel Raynal
2018-11-23  8:30   ` kbuild test robot
2018-11-23  8:30     ` kbuild test robot
2018-11-23  9:11     ` Miquel Raynal [this message]
2018-11-23  9:11       ` Miquel Raynal
2018-11-30  9:26       ` Stephen Boyd
2018-11-30  9:26         ` Stephen Boyd
2018-11-30 10:20         ` Miquel Raynal
2018-11-30 10:20           ` Miquel Raynal
2018-12-03 19:20           ` Stephen Boyd
2018-12-03 19:20             ` Stephen Boyd
2018-12-03 22:16             ` Miquel Raynal
2018-12-03 22:16               ` Miquel Raynal
2018-12-03 22:28               ` Stephen Boyd
2018-12-03 22:28                 ` Stephen Boyd
2018-11-27 12:38   ` Maxime Ripard
2018-11-27 12:38     ` Maxime Ripard
2018-11-29 16:03     ` Miquel Raynal
2018-11-29 16:03       ` Miquel Raynal
2018-11-30  9:24 ` [PATCH 0/2] Link " Stephen Boyd
2018-11-30  9:24   ` Stephen Boyd
2018-11-30 12:00   ` Miquel Raynal
2018-11-30 12:00     ` Miquel Raynal

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=20181123101132.6be3829c@xps13 \
    --to=miquel.raynal@bootlin.com \
    --cc=antoine.tenart@bootlin.com \
    --cc=gregory.clement@bootlin.com \
    --cc=kbuild-all@01.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lkp@intel.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mturquette@baylibre.com \
    --cc=nadavh@marvell.com \
    --cc=sboyd@kernel.org \
    --cc=thomas.petazzoni@bootlin.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.