Re: [PATCH] at91 pm: Compilation fix for at91sam926x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

On Thursday 09 August 2007 16:53, Hans-Jürgen Koch wrote:
> (added linux-arm-kernel to CC)
> 
> Am Donnerstag 09 August 2007 14:10 schrieb Andy Herzig:
> > Hello all,
> > 
> > This patch is intended to fix compilation errors when I tried to add in
> > power management to my Atmel AT91SAM9260 board. First, there is no
> > separate memory controller in the 9260 as there is in the 9200, so calls
> > to do anything with it in pm.c fail.
> 
> Correct. I made the same discovery with my AT91SAM9263 board.
> 
> > 
> > Secondly, at91_suspend_entering_slow_clock() is not declared extern by
> > drivers that use it. This used to cause only a warning, but in
> > 2.6.23-rc1 and beyond, it is an error.
> 
> Patch looks good to me. Kernel compiles for my 9263. Didn't test
> suspend/resume yet, though.
> 
> > 
> > Signed-off-by: Andrew J. Herzig <[email protected]>
> 
> Acked-by: Hans J. Koch <[email protected]>
> 
> 
> > ---
> > arch/arm/mach-at91/pm.c       |    5 ++++-
> > drivers/serial/atmel_serial.c |    2 ++
> > drivers/usb/gadget/at91_udc.c |    2 ++
> > drivers/usb/host/ohci-at91.c  |    1 +
> > 4 files changed, 9 insertions(+), 1 deletion(-)
> > 
> > diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff
> > linux-2.6.23-rc2-vanilla/arch/arm/mach-at91/pm.c
> > linux-2.6.23-rc2/arch/arm/mach-at91/pm.c
> > --- linux-2.6.23-rc2-vanilla/arch/arm/mach-at91/pm.c    2007-08-08
> > 13:28:37.000000000 -0400
> > +++ linux-2.6.23-rc2/arch/arm/mach-at91/pm.c    2007-08-08
> > 13:36:43.000000000 -0400
> > @@ -176,7 +176,9 @@ static int at91_pm_enter(suspend_state_t
> >                          */
> >                         asm("b 1f; .align 5; 1:");
> >                         asm("mcr p15, 0, r0, c7, c10, 4");      /* drain
> > write buffer */
> > +#if defined(CONFIG_ARCH_AT91RM9200)
> >                         at91_sys_write(AT91_SDRAMC_SRR, 1);     /*
> > self-refresh mode */
Why don't use:
if (cpu_is_at91rm9200())
	at91_sys_write(AT91_SDRAMC_SRR, 1);

> > +#endif
> >                         /* fall though to next state */
> >  
> >                 case PM_SUSPEND_ON:
> > @@ -218,8 +220,9 @@ static int __init at91_pm_init(void)
> >  #endif
> >  
> >         /* Disable SDRAM low-power mode.  Cannot be used with
> > self-refresh. */
> > +#if defined(CONFIG_ARCH_AT91RM9200)
> >         at91_sys_write(AT91_SDRAMC_LPR, 0);
> > -
> > +#endif
same comment

...
> > --- linux-2.6.23-rc2-vanilla/drivers/serial/atmel_serial.c
> > 2007-08-08 13:28:33.000000000 -0400
> > +++ linux-2.6.23-rc2/drivers/serial/atmel_serial.c      2007-08-08
> > 13:32:52.000000000 -0400
> > @@ -916,6 +916,8 @@ static struct uart_driver atmel_uart = {
> >  };
> >  
> >  #ifdef CONFIG_PM
> > +extern int at91_suspend_entering_slow_clock(void);
> > +
> >  static int atmel_serial_suspend(struct platform_device *pdev,
> > pm_message_t state)
> >  {
> >         struct uart_port *port = platform_get_drvdata(pdev);
> > diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff
> > linux-2.6.23-rc2-vanilla/drivers/usb/gadget/at91_udc.c
> > linux-2.6.23-rc2/drivers/usb/gadget/at91_udc.c 
> > --- linux-2.6.23-rc2-vanilla/drivers/usb/gadget/at91_udc.c
> > 2007-08-08 13:28:27.000000000 -0400
> > +++ linux-2.6.23-rc2/drivers/usb/gadget/at91_udc.c      2007-08-08
> > 13:33:21.000000000 -0400
> > @@ -1770,6 +1770,8 @@ static int __exit at91udc_remove(struct 
> >  }
> >  
> >  #ifdef CONFIG_PM
> > +extern int at91_suspend_entering_slow_clock(void);
> > +
> >  static int at91udc_suspend(struct platform_device *pdev, pm_message_t
> > mesg)
> >  {
> >         struct at91_udc *udc = platform_get_drvdata(pdev);
> > diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff
> > linux-2.6.23-rc2-vanilla/drivers/usb/host/ohci-at91.c
> > linux-2.6.23-rc2/drivers/usb/host/ohci-at91.c
> > --- linux-2.6.23-rc2-vanilla/drivers/usb/host/ohci-at91.c
> > 2007-08-08 13:28:27.000000000 -0400
> > +++ linux-2.6.23-rc2/drivers/usb/host/ohci-at91.c       2007-08-08
> > 13:32:45.000000000 -0400
> > @@ -282,6 +282,7 @@ static int ohci_hcd_at91_drv_remove(stru
> >  }
> >  
> >  #ifdef CONFIG_PM
> > +extern int at91_suspend_entering_slow_clock(void);
Why do you define 3 times this function?
Can't you place it in a .h?

Regards

Marc


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux