<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <p style="margin-bottom: 0in; line-height: 100%">Commit
      9178ba294b6839eeff1a91bed95515d783f3ee6c prevents building of
      kernel 4.1 branch on A-Eon Tabor Board.</p>
    <p style="margin-bottom: 0in; line-height: 100%">CC     
      arch/powerpc/math-emu/fsqrt.o<br>
      arch/powerpc/platforms/85xx/tabor.c:194:2: error: unknown field
      ‘power_off’ specified in initializer<br>
        .power_off  = tabor_power_off,<br>
        ^<br>
      make[2]: *** [arch/powerpc/platforms/85xx/tabor.o] Error 1<br>
      make[1]: *** [arch/powerpc/platforms/85xx] Error 2<br>
      make: *** [arch/powerpc/platforms] Error 2<br>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%"><br>
      Builds after reverting  85xx portions of commit.<br>
      <br>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </p>
    <p style="margin-bottom: 0in; line-height: 100%">
      <title>commit 9178ba294b6839eeff1a91bed95515d783f3ee6c </title>
      <meta name="generator" content="LibreOffice 4.4.5.2 (Windows)">
      <style type="text/css">
                @page { margin: 0.79in }
                pre.cjk { font-family: "NSimSun", monospace }
                p { margin-bottom: 0.1in; line-height: 120% }/85xx</style> </p>
    <p style="margin-bottom: 0in; line-height: 100%">==========================================================================================================<br>
      commit 9178ba294b6839eeff1a91bed95515d783f3ee6c </p>
    <p style="margin-bottom: 0in; line-height: 100%">Author: Alexander
      Graf <a class="moz-txt-link-rfc2396E" href="mailto:agraf@suse.de"><agraf@suse.de></a>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%">Date: Mon Oct 13
      16:01:09 2014 +0200 </p>
    <p style="margin-bottom: 0in; line-height: 100%"><br>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%"> powerpc: Convert
      power off logic to pm_power_off </p>
    <p style="margin-bottom: 0in; line-height: 100%"> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> The generic Linux
      framework to power off the machine is a function pointer </p>
    <p style="margin-bottom: 0in; line-height: 100%"> called
      pm_power_off. The trick about this pointer is that device drivers
      can </p>
    <p style="margin-bottom: 0in; line-height: 100%"> potentially
      implement it rather than board files. </p>
    <p style="margin-bottom: 0in; line-height: 100%"> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> Today on powerpc
      we set pm_power_off to invoke our generic full machine power </p>
    <p style="margin-bottom: 0in; line-height: 100%"> off logic which
      then calls ppc_md.power_off to invoke machine specific power </p>
    <p style="margin-bottom: 0in; line-height: 100%"> off. </p>
    <p style="margin-bottom: 0in; line-height: 100%"> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> However, when we
      want to add a power off GPIO via the "gpio-poweroff" driver, </p>
    <p style="margin-bottom: 0in; line-height: 100%"> this card house
      falls apart. That driver only registers itself if pm_power_off </p>
    <p style="margin-bottom: 0in; line-height: 100%"> is NULL to ensure
      it doesn't override board specific logic. However, since we </p>
    <p style="margin-bottom: 0in; line-height: 100%"> always set
      pm_power_off to the generic power off logic (which will just not </p>
    <p style="margin-bottom: 0in; line-height: 100%"> power off the
      machine if no ppc_md.power_off call is implemented), we can't </p>
    <p style="margin-bottom: 0in; line-height: 100%"> implement power
      off via the generic GPIO power off driver. </p>
    <p style="margin-bottom: 0in; line-height: 100%"> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> To fix this up,
      let's get rid of the ppc_md.power_off logic and just always use </p>
    <p style="margin-bottom: 0in; line-height: 100%"> pm_power_off as
      was intended. Then individual drivers such as the GPIO power off </p>
    <p style="margin-bottom: 0in; line-height: 100%"> driver can
      implement power off logic via that function pointer. </p>
    <p style="margin-bottom: 0in; line-height: 100%"> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> With this patch
      set applied and a few patches on top of QEMU that implement a </p>
    <p style="margin-bottom: 0in; line-height: 100%"> power off GPIO on
      the virt e500 machine, I can successfully turn off my virtual </p>
    <p style="margin-bottom: 0in; line-height: 100%"> machine after
      halt. </p>
    <p style="margin-bottom: 0in; line-height: 100%"> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> Signed-off-by:
      Alexander Graf <a class="moz-txt-link-rfc2396E"
        href="mailto:agraf@suse.de"><agraf@suse.de></a> </p>
    <p style="margin-bottom: 0in; line-height: 100%"> [mpe: Squash into
      one patch and update changelog based on cover letter] </p>
    <p style="margin-bottom: 0in; line-height: 100%"> Signed-off-by:
      Michael Ellerman <a class="moz-txt-link-rfc2396E"
        href="mailto:mpe@ellerman.id.au"><mpe@ellerman.id.au></a>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%"><br>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%">:040000 040000
      11d9242dda2d364042ad2443b81aa124655ca79d
      8e5c37793f68e09977278bcea28e97ac7e0b812d M arch </p>
    <p style="margin-bottom: 0in; line-height: 100%">root@julian-VirtualBox:/usr/src/linux-test#

    </p>
    <p style="margin-bottom: 0in; line-height: 100%"><br>
    </p>
    <p style="margin-bottom: 0in; line-height: 100%">root@julian-VirtualBox:/usr/src/linux-test#
git

      bisect log </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect start </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [97bf6af1f928216fd6c5a66e8a57bfa95a659672] Linux 3.19-rc1 </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      97bf6af1f928216fd6c5a66e8a57bfa95a659672 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># good:
      [b2776bf7149bddd1f4161f14f79520f17fc1d71d] Linux 3.18 </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect good
      b2776bf7149bddd1f4161f14f79520f17fc1d71d </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [97bf6af1f928216fd6c5a66e8a57bfa95a659672] Linux 3.19-rc1 </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      97bf6af1f928216fd6c5a66e8a57bfa95a659672 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [97bf6af1f928216fd6c5a66e8a57bfa95a659672] Linux 3.19-rc1 </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      97bf6af1f928216fd6c5a66e8a57bfa95a659672 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># good:
      [70e71ca0af244f48a5dcf56dc435243792e3a495] Merge
      git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect good
      70e71ca0af244f48a5dcf56dc435243792e3a495 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [988adfdffdd43cfd841df734664727993076d7cb] Merge branch 'drm-next'
      of git://people.freedesktop.org/~airlied/linux </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      988adfdffdd43cfd841df734664727993076d7cb </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [e7cf773d431a63a2417902696fcc9e0ebdc83bbe] Merge tag
      'usb-3.19-rc1' of
      git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      e7cf773d431a63a2417902696fcc9e0ebdc83bbe </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [26ceb127f7bcf473db926c6a026b18ddd6f274e8] Merge branch
      'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      26ceb127f7bcf473db926c6a026b18ddd6f274e8 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [9bfccec24e31f4f83445cfe0c1b0a5ef97900628] Merge tag
      'ext4_for_linus' of
      git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      9bfccec24e31f4f83445cfe0c1b0a5ef97900628 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># good:
      [e2965cd0003f222bd49f67907c2bc6ed691c6d20] MIPS: Add MFHC0 and
      MTHC0 instructions to uasm. </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect good
      e2965cd0003f222bd49f67907c2bc6ed691c6d20 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [56548fc0e86cb9156af7a7e1f15ba78f251dafaf] powerpc/powernv: Return
      to cpu offline loop when finished in KVM guest </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      56548fc0e86cb9156af7a7e1f15ba78f251dafaf </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [59994fb01a102a448ba758c9b824a29b4a99cc1b] powerpc: Use generic
      PIE randomization </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      59994fb01a102a448ba758c9b824a29b4a99cc1b </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [7aa189c8f57f2141b8655c2a13c7486d0844d490] powerpc/pseries:
      Quieten ibm,pcie-link-speed-stats warning </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      7aa189c8f57f2141b8655c2a13c7486d0844d490 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [6e4c632cdff7bf0238a2543dfe98bd1ad40313c2] powerpc: make __ffs
      return unsigned long </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      6e4c632cdff7bf0238a2543dfe98bd1ad40313c2 </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [adb7cd732292b06ee964d9f6090b17c70bd8bd3d] powerpc/pci: Quieten
      unset I/O resource warning </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      adb7cd732292b06ee964d9f6090b17c70bd8bd3d </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [8418804ef27e5f7988480d86ecf9dfd56cebc53b] Merge branch
      'topic/pm-power-off' into next </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      8418804ef27e5f7988480d86ecf9dfd56cebc53b </p>
    <p style="margin-bottom: 0in; line-height: 100%"># bad:
      [9178ba294b6839eeff1a91bed95515d783f3ee6c] powerpc: Convert power
      off logic to pm_power_off </p>
    <p style="margin-bottom: 0in; line-height: 100%">git bisect bad
      9178ba294b6839eeff1a91bed95515d783f3ee6c </p>
    <p style="margin-bottom: 0in; line-height: 100%"># first bad commit:
      [9178ba294b6839eeff1a91bed95515d783f3ee6c] powerpc: Convert power
      off logic to pm_power_off </p>
    <title></title>
    <meta name="generator" content="LibreOffice 4.4.5.2 (Windows)">
    <style type="text/css">
                @page { margin: 0.79in }
                p { margin-bottom: 0.1in; line-height: 120% }
        </style>
  </body>
</html>