[PATCH 01/31] arch/arm/mach-lpc32xx: use kmemdup rather than duplicating its implementation

Arnd Bergmann arnd at arndb.de
Wed Sep 16 03:06:36 PDT 2015


On Wednesday 16 September 2015 11:52:37 Andrzej Hajda wrote:
> > @@ -87,7 +87,8 @@ static int lpc32xx_pm_enter(suspend_state_t state)
> >       void *iram_swap_area;
> >  
> >       /* Allocate some space for temporary IRAM storage */
> > -     iram_swap_area = kmalloc(lpc32xx_sys_suspend_sz, GFP_KERNEL);
> > +     iram_swap_area = kmemdup((void *)TEMP_IRAM_AREA,
> > +                              lpc32xx_sys_suspend_sz, GFP_KERNEL);
> >       if (!iram_swap_area) {
> >               printk(KERN_ERR
> >                      "PM Suspend: cannot allocate memory to save portion "
> > @@ -95,10 +96,6 @@ static int lpc32xx_pm_enter(suspend_state_t state)
> >               return -ENOMEM;
> >       }
> >  
> > -     /* Backup a small area of IRAM used for the suspend code */
> > -     memcpy(iram_swap_area, (void *) TEMP_IRAM_AREA,
> > -             lpc32xx_sys_suspend_sz);
> 

Hmm, the patch looks correct in principle, but I think I'd rather leave the
original version with the comment in place, because the source is not
just random memory but instead some SRAM.

We might want to use memcpy_fromio()/memcpy_toio here and remove the cast for
both copies instead.

	Arnd



More information about the linux-arm-kernel mailing list