From: Pavel Machek <pavel@ucw.cz>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Greg Ungerer <gerg@uclinux.org>,
linux-pm@vger.kernel.org,
linux-m68kvger.kernel.org@ramsan.of.borg,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PM / clk: Fix broken build due to non-matching code and header #ifdefs
Date: Mon, 19 Oct 2015 10:48:53 +0200 [thread overview]
Message-ID: <20151019084853.GA12164@amd> (raw)
In-Reply-To: <1445242567-24032-1-git-send-email-geert@linux-m68k.org>
On Mon 2015-10-19 10:16:07, Geert Uytterhoeven wrote:
> If an architecture's main Kconfig file doesn't include
> kernel/power/Kconfig, but CONFIG_PM=y and HAVE_CLK=y (e.g. m68knommu
> allmodconfig):
>
> drivers/base/power/clock_ops.c: In function ‘__pm_clk_add’:
> drivers/base/power/clock_ops.c:106: error: ‘struct pm_subsys_data’ has no member named ‘clock_list’
> drivers/base/power/clock_ops.c: At top level:
> drivers/base/power/clock_ops.c:120: error: redefinition of ‘pm_clk_add’
> include/linux/pm_clock.h:64: error: previous definition of ‘pm_clk_add’ was here
> drivers/base/power/clock_ops.c:135: error: redefinition of ‘pm_clk_add_clk’
> include/linux/pm_clock.h:69: error: previous definition of ‘pm_clk_add_clk’ was here
> drivers/base/power/clock_ops.c:171: error: redefinition of ‘pm_clk_remove’
> include/linux/pm_clock.h:73: error: previous definition of ‘pm_clk_remove’ was here
> drivers/base/power/clock_ops.c: In function ‘pm_clk_remove’:
> drivers/base/power/clock_ops.c:180: error: ‘struct pm_subsys_data’ has no member named ‘clock_list’
> drivers/base/power/clock_ops.c:180: error: ‘struct pm_subsys_data’ has no member named ‘clock_list’
> drivers/base/power/clock_ops.c: At top level:
> drivers/base/power/clock_ops.c:207: error: redefinition of ‘pm_clk_init’
> include/linux/pm_clock.h:54: error: previous definition of ‘pm_clk_init’ was here
> drivers/base/power/clock_ops.c: In function ‘pm_clk_init’:
> drivers/base/power/clock_ops.c:210: error: ‘struct pm_subsys_data’ has no member named ‘clock_list’
> drivers/base/power/clock_ops.c: At top level:
> drivers/base/power/clock_ops.c:221: error: redefinition of ‘pm_clk_create’
> include/linux/pm_clock.h:57: error: previous definition of ‘pm_clk_create’ was here
> drivers/base/power/clock_ops.c:234: error: redefinition of ‘pm_clk_destroy’
> include/linux/pm_clock.h:61: error: previous definition of ‘pm_clk_destroy’ was here
> drivers/base/power/clock_ops.c: In function ‘pm_clk_destroy’:
> drivers/base/power/clock_ops.c:246: error: ‘struct pm_subsys_data’ has no member named ‘clock_list’
> drivers/base/power/clock_ops.c:246: error: ‘struct pm_subsys_data’ has no member named ‘clock_list’
> drivers/base/power/clock_ops.c: At top level:
> drivers/base/power/clock_ops.c:263: error: expected identifier or ‘(’ before ‘void’
> drivers/base/power/clock_ops.c:263: error: expected ‘)’ before numeric constant
> drivers/base/power/clock_ops.c:293: error: expected identifier or ‘(’ before ‘void’
> drivers/base/power/clock_ops.c:293: error: expected ‘)’ before numeric constant
> drivers/base/power/clock_ops.c: In function ‘pm_clk_runtime_suspend’:
> drivers/base/power/clock_ops.c:384: error: called object ‘0u’ is not a function
> drivers/base/power/clock_ops.c: In function ‘pm_clk_runtime_resume’:
> drivers/base/power/clock_ops.c:400: error: called object ‘0u’ is not a function
>
> This happens because:
> - drivers/base/power/clock_ops.c depends on CONFIG_HAVE_CLK,
> - the failing code inside clock_ops.c additionally depends on
> CONFIG_PM,
> - the forward declarations and other definitions in <linux/pm_clock.h>
> depend on CONFIG_PM_CLK,
> - CONFIG_PM_CLK is defined as PM && HAVE_CLK in kernel/power/Kconfig,
> but it is not included on all architectures.
>
> Fix this by protecting the failing code inside clock_ops.c by
> CONFIG_PM_CLK instead of CONFIG_PM, so it matches <linux/pm_clock.h>.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
prev parent reply other threads:[~2015-10-19 8:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 8:16 [PATCH] PM / clk: Fix broken build due to non-matching code and header #ifdefs Geert Uytterhoeven
2015-10-19 8:48 ` Pavel Machek [this message]
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=20151019084853.GA12164@amd \
--to=pavel@ucw.cz \
--cc=geert@linux-m68k.org \
--cc=gerg@uclinux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68kvger.kernel.org@ramsan.of.borg \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
/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.