Skip to content

Commit

Permalink
nosave: consolidate __nosave_{begin,end} in <asm/sections.h>
Browse files Browse the repository at this point in the history
The different architectures used their own (and different) declarations:

    extern __visible const void __nosave_begin, __nosave_end;
    extern const void __nosave_begin, __nosave_end;
    extern long __nosave_begin, __nosave_end;

Consolidate them using the first variant in <asm/sections.h>.

Signed-off-by: Geert Uytterhoeven <[email protected]>
Cc: Russell King <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Guan Xuetao <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
  • Loading branch information
geertu authored and sfrothwell committed Sep 23, 2014
1 parent 2b587fb commit 03f8e04
Show file tree
Hide file tree
Showing 12 changed files with 12 additions and 31 deletions.
3 changes: 1 addition & 2 deletions arch/arm/kernel/hibernate.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
#include <asm/idmap.h>
#include <asm/suspend.h>
#include <asm/memory.h>

extern const void __nosave_begin, __nosave_end;
#include <asm/sections.h>

int pfn_is_nosave(unsigned long pfn)
{
Expand Down
7 changes: 0 additions & 7 deletions arch/mips/include/asm/suspend.h

This file was deleted.

2 changes: 1 addition & 1 deletion arch/mips/power/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* Author: Hu Hongbing <[email protected]>
* Wu Zhangjin <[email protected]>
*/
#include <asm/suspend.h>
#include <asm/sections.h>
#include <asm/fpu.h>
#include <asm/dsp.h>

Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/kernel/suspend.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@

#include <linux/mm.h>
#include <asm/page.h>

/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
#include <asm/sections.h>

/*
* pfn_is_nosave - check if given pfn is in the 'nosave' section
Expand Down
6 changes: 1 addition & 5 deletions arch/s390/kernel/suspend.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,9 @@
#include <asm/ipl.h>
#include <asm/cio.h>
#include <asm/pci.h>
#include <asm/sections.h>
#include "entry.h"

/*
* References to section boundaries
*/
extern const void __nosave_begin, __nosave_end;

/*
* The restore of the saved pages in an hibernation image will set
* the change and referenced bits in the storage key for each page.
Expand Down
1 change: 0 additions & 1 deletion arch/sh/include/asm/sections.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#include <asm-generic/sections.h>

extern long __nosave_begin, __nosave_end;
extern long __machvec_start, __machvec_end;
extern char __uncached_start, __uncached_end;
extern char __start_eh_frame[], __stop_eh_frame[];
Expand Down
4 changes: 1 addition & 3 deletions arch/sparc/power/hibernate.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@
#include <asm/hibernate.h>
#include <asm/visasm.h>
#include <asm/page.h>
#include <asm/sections.h>
#include <asm/tlb.h>

/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;

struct saved_context saved_context;

/*
Expand Down
3 changes: 0 additions & 3 deletions arch/unicore32/include/mach/pm.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,5 @@ extern int puv3_pm_enter(suspend_state_t state);
/* Defined in hibernate_asm.S */
extern int restore_image(pgd_t *resume_pg_dir, struct pbe *restore_pblist);

/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;

extern struct pbe *restore_pblist;
#endif
1 change: 1 addition & 0 deletions arch/unicore32/kernel/hibernate.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
#include <asm/sections.h>
#include <asm/suspend.h>

#include "mach/pm.h"
Expand Down
4 changes: 1 addition & 3 deletions arch/x86/power/hibernate_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,11 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/mmzone.h>
#include <asm/sections.h>

/* Defined in hibernate_asm_32.S */
extern int restore_image(void);

/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;

/* Pointer to the temporary resume page tables */
pgd_t *resume_pg_dir;

Expand Down
4 changes: 1 addition & 3 deletions arch/x86/power/hibernate_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/mtrr.h>
#include <asm/sections.h>
#include <asm/suspend.h>

/* References to section boundaries */
extern __visible const void __nosave_begin, __nosave_end;

/* Defined in hibernate_asm_64.S */
extern asmlinkage __visible int restore_image(void);

Expand Down
4 changes: 4 additions & 0 deletions include/asm-generic/sections.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

/* References to section boundaries */

#include <linux/compiler.h>

/*
* Usage guidelines:
* _text, _data: architecture specific, don't use them in arch-independent code
Expand Down Expand Up @@ -37,6 +39,8 @@ extern char __start_rodata[], __end_rodata[];
/* Start and end of .ctors section - used for constructor calls. */
extern char __ctors_start[], __ctors_end[];

extern __visible const void __nosave_begin, __nosave_end;

/* function descriptor handling (if any). Override
* in asm/sections.h */
#ifndef dereference_function_descriptor
Expand Down

0 comments on commit 03f8e04

Please sign in to comment.