lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 9 Aug 2007 18:01:19 +0200
From:	Marc Pignat <marc.pignat@...s.ch>
To:	linux-arm-kernel@...ts.arm.linux.org.uk
Cc:	Hans-Jürgen Koch <hjk@...utronix.de>,
	Andy Herzig <andrew.herzig@....com>, andrew@...people.com,
	trivial@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] at91 pm: Compilation fix for at91sam926x

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 <andrew.herzig@....com>
> 
> Acked-by: Hans J. Koch <hjk@...utronix.de>
> 
> 
> > ---
> > 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 majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ