Subject: Re: commit 9178ba294b6839eeff1a91bed95515d783f3ee6c an A-Eon Tabor Board

From: Julian Margetson <[email-masked]>
Date: Wed, 3 Feb 2016 05:33:46 -0400

Resending as it was attached to and old thread relating to a different 
motherboard.

On 2/2/2016 9:54 AM, Julian Margetson wrote:
>
> Commit 9178ba294b6839eeff1a91bed95515d783f3ee6c prevents building of 
> kernel 4.1 branch on A-Eon Tabor Board.
>
> CC arch/powerpc/math-emu/fsqrt.o
> arch/powerpc/platforms/85xx/tabor.c:194:2: error: unknown field 
> ‘power_off’ specified in initializer
>   .power_off  = tabor_power_off,
>   ^
> make[2]: *** [arch/powerpc/platforms/85xx/tabor.o] Error 1
> make[1]: *** [arch/powerpc/platforms/85xx] Error 2
> make: *** [arch/powerpc/platforms] Error 2
>
>
> Builds after reverting  85xx portions of commit.
>
> ==========================================================================================================
> commit 9178ba294b6839eeff1a91bed95515d783f3ee6c
>
> Author: Alexander Graf <[email-masked]>
>
> Date: Mon Oct 13 16:01:09 2014 +0200
>
>
> powerpc: Convert power off logic to pm_power_off
>
> The generic Linux framework to power off the machine is a function 
> pointer
>
> called pm_power_off. The trick about this pointer is that device 
> drivers can
>
> potentially implement it rather than board files.
>
> Today on powerpc we set pm_power_off to invoke our generic full 
> machine power
>
> off logic which then calls ppc_md.power_off to invoke machine specific 
> power
>
> off.
>
> However, when we want to add a power off GPIO via the "gpio-poweroff" 
> driver,
>
> this card house falls apart. That driver only registers itself if 
> pm_power_off
>
> is NULL to ensure it doesn't override board specific logic. However, 
> since we
>
> always set pm_power_off to the generic power off logic (which will 
> just not
>
> power off the machine if no ppc_md.power_off call is implemented), we 
> can't
>
> implement power off via the generic GPIO power off driver.
>
> To fix this up, let's get rid of the ppc_md.power_off logic and just 
> always use
>
> pm_power_off as was intended. Then individual drivers such as the GPIO 
> power off
>
> driver can implement power off logic via that function pointer.
>
> With this patch set applied and a few patches on top of QEMU that 
> implement a
>
> power off GPIO on the virt e500 machine, I can successfully turn off 
> my virtual
>
> machine after halt.
>
> Signed-off-by: Alexander Graf <[email-masked]>
>
> [mpe: Squash into one patch and update changelog based on cover letter]
>
> Signed-off-by: Michael Ellerman <[email-masked]>
>
>
> :040000 040000 11d9242dda2d364042ad2443b81aa124655ca79d 
> 8e5c37793f68e09977278bcea28e97ac7e0b812d M arch
>
> root@julian-VirtualBox:/usr/src/linux-test#
>
>
> root@julian-VirtualBox:/usr/src/linux-test# git bisect log
>
> git bisect start
>
> # bad: [97bf6af1f928216fd6c5a66e8a57bfa95a659672] Linux 3.19-rc1
>
> git bisect bad 97bf6af1f928216fd6c5a66e8a57bfa95a659672
>
> # good: [b2776bf7149bddd1f4161f14f79520f17fc1d71d] Linux 3.18
>
> git bisect good b2776bf7149bddd1f4161f14f79520f17fc1d71d
>
> # bad: [97bf6af1f928216fd6c5a66e8a57bfa95a659672] Linux 3.19-rc1
>
> git bisect bad 97bf6af1f928216fd6c5a66e8a57bfa95a659672
>
> # bad: [97bf6af1f928216fd6c5a66e8a57bfa95a659672] Linux 3.19-rc1
>
> git bisect bad 97bf6af1f928216fd6c5a66e8a57bfa95a659672
>
> # good: [70e71ca0af244f48a5dcf56dc435243792e3a495] Merge 
> git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
>
> git bisect good 70e71ca0af244f48a5dcf56dc435243792e3a495
>
> # bad: [988adfdffdd43cfd841df734664727993076d7cb] Merge branch 
> 'drm-next' of git://people.freedesktop.org/~airlied/linux
>
> git bisect bad 988adfdffdd43cfd841df734664727993076d7cb
>
> # bad: [e7cf773d431a63a2417902696fcc9e0ebdc83bbe] Merge tag 
> 'usb-3.19-rc1' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
>
> git bisect bad e7cf773d431a63a2417902696fcc9e0ebdc83bbe
>
> # bad: [26ceb127f7bcf473db926c6a026b18ddd6f274e8] Merge branch 
> 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
>
> git bisect bad 26ceb127f7bcf473db926c6a026b18ddd6f274e8
>
> # bad: [9bfccec24e31f4f83445cfe0c1b0a5ef97900628] Merge tag 
> 'ext4_for_linus' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
>
> git bisect bad 9bfccec24e31f4f83445cfe0c1b0a5ef97900628
>
> # good: [e2965cd0003f222bd49f67907c2bc6ed691c6d20] MIPS: Add MFHC0 and 
> MTHC0 instructions to uasm.
>
> git bisect good e2965cd0003f222bd49f67907c2bc6ed691c6d20
>
> # bad: [56548fc0e86cb9156af7a7e1f15ba78f251dafaf] powerpc/powernv: 
> Return to cpu offline loop when finished in KVM guest
>
> git bisect bad 56548fc0e86cb9156af7a7e1f15ba78f251dafaf
>
> # bad: [59994fb01a102a448ba758c9b824a29b4a99cc1b] powerpc: Use generic 
> PIE randomization
>
> git bisect bad 59994fb01a102a448ba758c9b824a29b4a99cc1b
>
> # bad: [7aa189c8f57f2141b8655c2a13c7486d0844d490] powerpc/pseries: 
> Quieten ibm,pcie-link-speed-stats warning
>
> git bisect bad 7aa189c8f57f2141b8655c2a13c7486d0844d490
>
> # bad: [6e4c632cdff7bf0238a2543dfe98bd1ad40313c2] powerpc: make __ffs 
> return unsigned long
>
> git bisect bad 6e4c632cdff7bf0238a2543dfe98bd1ad40313c2
>
> # bad: [adb7cd732292b06ee964d9f6090b17c70bd8bd3d] powerpc/pci: Quieten 
> unset I/O resource warning
>
> git bisect bad adb7cd732292b06ee964d9f6090b17c70bd8bd3d
>
> # bad: [8418804ef27e5f7988480d86ecf9dfd56cebc53b] Merge branch 
> 'topic/pm-power-off' into next
>
> git bisect bad 8418804ef27e5f7988480d86ecf9dfd56cebc53b
>
> # bad: [9178ba294b6839eeff1a91bed95515d783f3ee6c] powerpc: Convert 
> power off logic to pm_power_off
>
> git bisect bad 9178ba294b6839eeff1a91bed95515d783f3ee6c
>
> # first bad commit: [9178ba294b6839eeff1a91bed95515d783f3ee6c] 
> powerpc: Convert power off logic to pm_power_off
>