[PATCH v2] drivers: cpuidle: cpuidle-arm64: include asm/proc-fns.h explicitly

Catalin Marinas catalin.marinas at arm.com
Fri Feb 27 09:34:22 PST 2015


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 at codeaurora.org>
> >>>>>[lp: rewrote commit log]
> >>>>>Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> >>>>>Tested-by: Mark Rutland <mark.rutland at arm.com>
> >>>>>---
> >>>>>v2 changes:
> >>>>
> >>>>Acked-by: Will Deacon <will.deacon at 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).

-- 
Catalin



More information about the linux-arm-kernel mailing list