From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp754.redcondor.net (smtp754.redcondor.net [208.80.206.54]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3qQQdR3PJzzDq6T for ; Thu, 17 Mar 2016 09:09:47 +1100 (AEDT) Subject: Re: commit 9178ba294b6839eeff1a91bed95515d783f3ee6c an A-Eon Tabor Board To: Alexander Graf References: <56B1C97A.9010807@candw.ms> <56B26689.8060905@suse.de> <56B27BEE.9090503@candw.ms> <56B27D26.5080507@suse.de> <56B28509.2080303@candw.ms> <56B2866A.40202@suse.de> <56E949E8.9090402@candw.ms> Cc: Michael Ellerman , linuxppc-dev@lists.ozlabs.org From: Julian Margetson Message-ID: <56E9D993.1070800@candw.ms> Date: Wed, 16 Mar 2016 18:09:23 -0400 MIME-Version: 1.0 In-Reply-To: <56E949E8.9090402@candw.ms> Content-Type: multipart/alternative; boundary="------------090209060702000802060106" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is a multi-part message in MIME format. --------------090209060702000802060106 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 3/16/2016 7:56 AM, Julian Margetson wrote: > On 2/3/2016 6:59 PM, Alexander Graf wrote: >> >> >> On 02/03/2016 11:54 PM, Julian Margetson wrote: >>> On 2/3/2016 6:20 PM, Alexander Graf wrote: >>>> >>>> >>>> On 02/03/2016 11:15 PM, Julian Margetson wrote: >>>>> On 2/3/2016 4:43 PM, Alexander Graf wrote: >>>>>> >>>>>> >>>>>> On 02/03/2016 10:33 AM, Julian Margetson wrote: >>>>>>> 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 >>>>>> >>>>>> I can't seem to find that file in Linux upstream? >>>>>> >>>>>> >>>>>> Alex >>>>>> >>>>>> >>>>>> >>>>> >>>>> It may have been discontinued as the patches used were maintained >>>>> along with patches for the (Varisys) A-Eon Cyrus board >>>>> which is officially supported from kernel 4.4. >>>>> >>>>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c383ee84e1d575b09d167185d15df24bde25eb15 >>>>> >>>> >>>> I don't quite understand how an internal API change in Linux >>>> breaking random external patches is a bug? Either your code is >>>> upstream or it can break on every git commit done upstream. >>>> >>>> >>>> Alex >>>> >>>> >>>> >>> >>> Sorry I am relatively new at this. >>> If I manage to pinpoint a problem on my powerpc machines I report it >>> . Most of them so far have indeed been bugs. >>> The random external patches were done by person with far greater >>> competence than me who are no longer in the picture. >>> Any guidance would be greatly appreciated. >> >> I think the most important step really is to upstream board support, >> otherwise things will continue to fall apart for sure. >> >> As for the exact breakage you saw, just remove the line and put a >> line like >> >> pm_power_off = tabor_power_off; >> >> in your board probe function in tabor.c. >> >> >> Alex >> >> >> > > Could not get it to work with the > pm_power_off = tabor_power_off; > > > so resorted to the option below and it builds and boots (Tested Kernel > 4.5.0). > shuts down but no power off. > Can live with that for now. > > > Thanks for your help . > > > Regards > Julian > > > define_machine(tabor) { > .name= "Tabor", > .probe= tabor_probe, > .setup_arch= tabor_setup_arch, > .init_IRQ= tabor_pic_init, > #ifdef CONFIG_PCI > .pcibios_fixup_bus= fsl_pcibios_fixup_bus, > .pcibios_fixup_phb= fsl_pcibios_fixup_phb, > #endif > .get_irq= mpic_get_irq, > .restart= fsl_rstcr_restart, > .calibrate_decr= generic_calibrate_decr, > .progress= udbg_progress, > }; > Revisited and got everything working . Thanks again. Regards Julian static void tabor_power_off(void) { local_irq_disable(); if (power_gpio) /* set mcu control register */ out_be32(power_gpio, in_be32(power_gpio) & 0xefff7fff); /* MCU Power Off */ else printk(KERN_ERR "Power control not available\n"); while (1) ; pm_power_off = tabor_power_off; } define_machine(tabor) { .name= "Tabor", .probe= tabor_probe, .setup_arch= tabor_setup_arch, .init_IRQ= tabor_pic_init, #ifdef CONFIG_PCI .pcibios_fixup_bus= fsl_pcibios_fixup_bus, .pcibios_fixup_phb= fsl_pcibios_fixup_phb, #endif .restart= tabor_restart, .halt= tabor_power_off, .get_irq= mpic_get_irq, .restart= fsl_rstcr_restart, .calibrate_decr= generic_calibrate_decr, .progress= udbg_progress, }; --------------090209060702000802060106 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
On 3/16/2016 7:56 AM, Julian Margetson wrote:
On 2/3/2016 6:59 PM, Alexander Graf wrote:


On 02/03/2016 11:54 PM, Julian Margetson wrote:
On 2/3/2016 6:20 PM, Alexander Graf wrote:


On 02/03/2016 11:15 PM, Julian Margetson wrote:
On 2/3/2016 4:43 PM, Alexander Graf wrote:


On 02/03/2016 10:33 AM, Julian Margetson wrote:
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

I can't seem to find that file in Linux upstream?


Alex




It may have been discontinued as the patches used were maintained along with patches for the (Varisys)  A-Eon Cyrus board
which is officially supported from kernel 4.4.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c383ee84e1d575b09d167185d15df24bde25eb15

I don't quite understand how an internal API change in Linux breaking random external patches is a bug? Either your code is upstream or it can break on every git commit done upstream.


Alex




Sorry I am relatively new at this.
If I manage to pinpoint a problem on my powerpc machines I report it . Most of them so far have indeed been bugs.
The random external patches were done by person with far greater competence than me who are no longer in the picture.
Any  guidance would be greatly  appreciated.

I think the most important step really is to upstream board support, otherwise things will continue to fall apart for sure.

As for the exact breakage you saw, just remove the line and put a line like

  pm_power_off = tabor_power_off;

in your board probe function in tabor.c.


Alex




Could not get it to work with the
 pm_power_off = tabor_power_off;


so resorted to the option below and it builds and boots (Tested Kernel 4.5.0).
shuts down but no power off.
Can live with that for now.


Thanks for your help .


Regards
Julian


define_machine(tabor) {
     .name             = "Tabor",
     .probe                  = tabor_probe,
     .setup_arch       = tabor_setup_arch,
     .init_IRQ         = tabor_pic_init,
#ifdef CONFIG_PCI
     .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
     .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
#endif
     .get_irq          = mpic_get_irq,
     .restart          = fsl_rstcr_restart,
     .calibrate_decr         = generic_calibrate_decr,
     .progress         = udbg_progress,
};


Revisited and got  everything working  .
Thanks again.

Regards
Julian

static void tabor_power_off(void)
{
      local_irq_disable();
      if (power_gpio)
            /* set mcu control register */
            out_be32(power_gpio, in_be32(power_gpio) & 0xefff7fff); /* MCU Power Off */
      else
            printk(KERN_ERR "Power control not available\n");
      while (1) ;
     
        pm_power_off = tabor_power_off;

}


define_machine(tabor) {
      .name             = "Tabor",
      .probe            = tabor_probe,
      .setup_arch       = tabor_setup_arch,
      .init_IRQ         = tabor_pic_init,
#ifdef CONFIG_PCI
      .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
      .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
#endif
      .restart          = tabor_restart,
      .halt             = tabor_power_off,
      .get_irq          = mpic_get_irq,
      .restart          = fsl_rstcr_restart,
      .calibrate_decr         = generic_calibrate_decr,
      .progress         = udbg_progress,
};
 



--------------090209060702000802060106--