All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] drivers: cpuidle: cpuidle-arm64: include asm/proc-fns.h explicitly
Date: Fri, 27 Feb 2015 17:54:31 +0000	[thread overview]
Message-ID: <20150227175431.GA30173@red-moon> (raw)
In-Reply-To: <20150227173422.GI17949@e104818-lin.cambridge.arm.com>

On Fri, Feb 27, 2015 at 05:34:22PM +0000, Catalin Marinas wrote:
> On Fri, Feb 27, 2015 at 06:18:59PM +0100, Daniel Lezcano wrote:
> > On 02/27/2015 06:16 PM, Lorenzo Pieralisi wrote:
> > >On Fri, Feb 27, 2015 at 04:44:42PM +0000, Daniel Lezcano wrote:
> > >>On 02/26/2015 07:23 PM, Catalin Marinas wrote:
> > >>>On Wed, Feb 25, 2015 at 01:11:40PM +0000, Will Deacon wrote:
> > >>>>On Wed, Feb 25, 2015 at 12:59:42PM +0000, Lorenzo Pieralisi wrote:
> > >>>>>ARM64 CPUidle driver requires the cpu_do_idle function so that it can
> > >>>>>be used to enter the shallowest idle state, and it is declared in
> > >>>>>asm/proc-fns.h.
> > >>>>>
> > >>>>>The current ARM64 CPUidle driver does not include asm/proc-fns.h
> > >>>>>explicitly and it has so far relied on implicit inclusion from other
> > >>>>>header files.
> > >>>>>
> > >>>>>Owing to some header dependencies reshuffling this currently triggers
> > >>>>>build failures when CONFIG_ARM64_64K_PAGES=y:
> > >>>>>
> > >>>>>drivers/cpuidle/cpuidle-arm64.c: In function "arm64_enter_idle_state"
> > >>>>>drivers/cpuidle/cpuidle-arm64.c:42:3: error: implicit declaration of
> > >>>>>function "cpu_do_idle" [-Werror=implicit-function-declaration]
> > >>>>>     cpu_do_idle();
> > >>>>>     ^
> > >>>>>
> > >>>>>This patch adds the explicit inclusion of the asm/proc-fns.h header file
> > >>>>>to fix the build breakage and stop relying on implicit asm/proc-fns.h
> > >>>>>inclusion.
> > >>>>>
> > >>>>>Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
> > >>>>>[lp: rewrote commit log]
> > >>>>>Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> > >>>>>Tested-by: Mark Rutland <mark.rutland@arm.com>
> > >>>>>---
> > >>>>>v2 changes:
> > >>>>
> > >>>>Acked-by: Will Deacon <will.deacon@arm.com>
> > >>>>
> > >>>>Catalin will pick this up for -rc2, I suspect.
> > >>>
> > >>>I can merge this as long as Daniel or Rafael are fine with it.
> > >>
> > >>I am wondering if asm/proc-fns.h shouldn't be directly included in
> > >>asm/cpuidle.h, otherwise each time cpuidle.h is included somewhere we
> > >>have to include proc-fns.h also.
> > >>
> > >>It is not a problem for ARM64 because there is not a big number of
> > >>cpuidle drivers but for ARM32 it is not the case. I have a patchset
> > >>which put proc-fns.h inclusion directly in asm/cpuidle.h and cleanup the
> > >>drivers. For the sake of consistency between ARM/ARM64 may be it would
> > >>make sense to include in the cpuidle.h directly, no ?
> > >
> > >This patch is a build fix, and I'd rather get it in asap. We can move
> > >the inclusion and merge the resulting clean-up patch in your series later.
> > >I will put together the patch now, if Catalin has the pull request ready
> > >to be sent I do not see the point in delaying it though.
> > 
> > I was just suggesting to put the proc-fns.h inclusion in cpuidle.h directly.
> > That fixes the build also.
> 
> This would do as well, especially since you plan to clean up arch/arm as
> well (or just move the cpu_do_idle() prototype in asm/cpuidle.h; we
> moved cpu_suspend() there already).

What I wanted to say is that the clean-up will be merged the coming
cycle anyway, not now, so I wanted to avoid delaying the pull request
for something that could have been done later.

Reworked patch below (I kept the tags to avoid even more churn for a
one-liner).

Thanks,
Lorenzo

-- >8 --
Subject: [PATCH] ARM64: cpuidle: add asm/proc-fns.h inclusion

ARM64 CPUidle driver requires the cpu_do_idle function so that it can
be used to enter the shallowest idle state, and it is declared in
asm/proc-fns.h.

The current ARM64 CPUidle driver does not include asm/proc-fns.h
explicitly and it has so far relied on implicit inclusion from other
header files.

Owing to some header dependencies reshuffling this currently triggers
build failures when CONFIG_ARM64_64K_PAGES=y:

drivers/cpuidle/cpuidle-arm64.c: In function "arm64_enter_idle_state"
drivers/cpuidle/cpuidle-arm64.c:42:3: error: implicit declaration of
function "cpu_do_idle" [-Werror=implicit-function-declaration]
   cpu_do_idle();
   ^

This patch adds the explicit inclusion of the asm/proc-fns.h header file
in the arm64 asm/cpuidle.h header file, so that the build breakage is fixed
and the required header inclusion is added to the appropriate arch back-end
CPUidle header, already included by the CPUidle arm64 driver, where
CPUidle arch related function declarations belong.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
[lp: rewrote commit log, moved include to arm64 asm/cpuidle.h]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
---
 arch/arm64/include/asm/cpuidle.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/include/asm/cpuidle.h b/arch/arm64/include/asm/cpuidle.h
index 0710654..c60643f 100644
--- a/arch/arm64/include/asm/cpuidle.h
+++ b/arch/arm64/include/asm/cpuidle.h
@@ -1,6 +1,8 @@
 #ifndef __ASM_CPUIDLE_H
 #define __ASM_CPUIDLE_H
 
+#include <asm/proc-fns.h>
+
 #ifdef CONFIG_CPU_IDLE
 extern int cpu_init_idle(unsigned int cpu);
 extern int cpu_suspend(unsigned long arg);
-- 
1.9.1

  reply	other threads:[~2015-02-27 17:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-25 12:59 [PATCH v2] drivers: cpuidle: cpuidle-arm64: include asm/proc-fns.h explicitly Lorenzo Pieralisi
2015-02-25 13:11 ` Will Deacon
2015-02-26 18:23   ` Catalin Marinas
2015-02-26 21:52     ` Rafael J. Wysocki
2015-02-27 16:44     ` Daniel Lezcano
2015-02-27 17:16       ` Lorenzo Pieralisi
2015-02-27 17:18         ` Daniel Lezcano
2015-02-27 17:34           ` Catalin Marinas
2015-02-27 17:54             ` Lorenzo Pieralisi [this message]
2015-02-27 18:03               ` Catalin Marinas

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=20150227175431.GA30173@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.