summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/siginfo.h2
-rw-r--r--include/asm-i386/processor.h1
-rw-r--r--include/asm-i386/suspend.h258
-rw-r--r--include/asm-sparc/btfixup.h43
-rw-r--r--include/asm-sparc/page.h4
-rw-r--r--include/asm-sparc/ultra.h52
-rw-r--r--include/asm-sparc/vac-ops.h2
-rw-r--r--include/asm-sparc64/page.h5
-rw-r--r--include/linux/if_bonding.h5
-rw-r--r--include/linux/init.h4
-rw-r--r--include/linux/sunrpc/xdr.h7
-rw-r--r--include/linux/suspend.h4
-rw-r--r--include/linux/zlib.h2
-rw-r--r--include/net/pkt_sched.h3
14 files changed, 43 insertions, 349 deletions
diff --git a/include/asm-generic/siginfo.h b/include/asm-generic/siginfo.h
index 005c5316ca5d..dcca9fc715a8 100644
--- a/include/asm-generic/siginfo.h
+++ b/include/asm-generic/siginfo.h
@@ -232,6 +232,8 @@ typedef struct sigevent {
#ifdef __KERNEL__
+struct siginfo;
+
#ifndef HAVE_ARCH_COPY_SIGINFO
#include <linux/string.h>
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
index 0e72ad90e1e9..37c4d2fc2fc7 100644
--- a/include/asm-i386/processor.h
+++ b/include/asm-i386/processor.h
@@ -60,6 +60,7 @@ struct cpuinfo_x86 {
#define X86_VENDOR_RISE 6
#define X86_VENDOR_TRANSMETA 7
#define X86_VENDOR_NSC 8
+#define X86_VENDOR_NUM 9
#define X86_VENDOR_UNKNOWN 0xff
/*
diff --git a/include/asm-i386/suspend.h b/include/asm-i386/suspend.h
index b41d88f45928..7d73c89da525 100644
--- a/include/asm-i386/suspend.h
+++ b/include/asm-i386/suspend.h
@@ -33,266 +33,14 @@ struct saved_context {
u32 eflags;
} __attribute__((packed));
-static struct saved_context saved_context;
-
#define loaddebug(thread,register) \
__asm__("movl %0,%%db" #register \
: /* no output */ \
:"r" ((thread)->debugreg[register]))
-
-/*
- * save_processor_context
- *
- * Save the state of the processor before we go to sleep.
- *
- * return_stack is the value of the stack pointer (%esp) as the caller sees it.
- * A good way could not be found to obtain it from here (don't want to make _too_
- * many assumptions about the layout of the stack this far down.) Also, the
- * handy little __builtin_frame_pointer(level) where level > 0, is blatantly
- * buggy - it returns the value of the stack at the proper location, not the
- * location, like it should (as of gcc 2.91.66)
- *
- * Note that the context and timing of this function is pretty critical.
- * With a minimal amount of things going on in the caller and in here, gcc
- * does a good job of being just a dumb compiler. Watch the assembly output
- * if anything changes, though, and make sure everything is going in the right
- * place.
- */
-static inline void save_processor_context (void)
-{
- kernel_fpu_begin();
-
- /*
- * descriptor tables
- */
- asm volatile ("sgdt (%0)" : "=m" (saved_context.gdt_limit));
- asm volatile ("sidt (%0)" : "=m" (saved_context.idt_limit));
- asm volatile ("sldt (%0)" : "=m" (saved_context.ldt));
- asm volatile ("str (%0)" : "=m" (saved_context.tr));
-
- /*
- * save the general registers.
- * note that gcc has constructs to specify output of certain registers,
- * but they're not used here, because it assumes that you want to modify
- * those registers, so it tries to be smart and save them beforehand.
- * It's really not necessary, and kinda fishy (check the assembly output),
- * so it's avoided.
- */
- asm volatile ("movl %%esp, (%0)" : "=m" (saved_context.esp));
- asm volatile ("movl %%eax, (%0)" : "=m" (saved_context.eax));
- asm volatile ("movl %%ebx, (%0)" : "=m" (saved_context.ebx));
- asm volatile ("movl %%ecx, (%0)" : "=m" (saved_context.ecx));
- asm volatile ("movl %%edx, (%0)" : "=m" (saved_context.edx));
- asm volatile ("movl %%ebp, (%0)" : "=m" (saved_context.ebp));
- asm volatile ("movl %%esi, (%0)" : "=m" (saved_context.esi));
- asm volatile ("movl %%edi, (%0)" : "=m" (saved_context.edi));
-
- /*
- * segment registers
- */
- asm volatile ("movw %%es, %0" : "=r" (saved_context.es));
- asm volatile ("movw %%fs, %0" : "=r" (saved_context.fs));
- asm volatile ("movw %%gs, %0" : "=r" (saved_context.gs));
- asm volatile ("movw %%ss, %0" : "=r" (saved_context.ss));
-
- /*
- * control registers
- */
- asm volatile ("movl %%cr0, %0" : "=r" (saved_context.cr0));
- asm volatile ("movl %%cr2, %0" : "=r" (saved_context.cr2));
- asm volatile ("movl %%cr3, %0" : "=r" (saved_context.cr3));
- asm volatile ("movl %%cr4, %0" : "=r" (saved_context.cr4));
-
- /*
- * eflags
- */
- asm volatile ("pushfl ; popl (%0)" : "=m" (saved_context.eflags));
-}
-
-static void fix_processor_context(void)
-{
- int nr = smp_processor_id();
- struct tss_struct * t = &init_tss[nr];
-
- set_tss_desc(nr,t); /* This just modifies memory; should not be neccessary. But... This is neccessary, because 386 hardware has concept of busy tsc or some similar stupidity. */
- gdt_table[__TSS(nr)].b &= 0xfffffdff;
-
- load_TR(nr); /* This does ltr */
-
- load_LDT(&current->mm->context); /* This does lldt */
-
- /*
- * Now maybe reload the debug registers
- */
- if (current->thread.debugreg[7]){
- loaddebug(&current->thread, 0);
- loaddebug(&current->thread, 1);
- loaddebug(&current->thread, 2);
- loaddebug(&current->thread, 3);
- /* no 4 and 5 */
- loaddebug(&current->thread, 6);
- loaddebug(&current->thread, 7);
- }
-
-}
-
-static void
-do_fpu_end(void)
-{
- /* restore FPU regs if necessary */
- /* Do it out of line so that gcc does not move cr0 load to some stupid place */
- kernel_fpu_end();
-}
-
-/*
- * restore_processor_context
- *
- * Restore the processor context as it was before we went to sleep
- * - descriptor tables
- * - control registers
- * - segment registers
- * - flags
- *
- * Note that it is critical that this function is declared inline.
- * It was separated out from restore_state to make that function
- * a little clearer, but it needs to be inlined because we won't have a
- * stack when we get here (so we can't push a return address).
- */
-static inline void restore_processor_context (void)
-{
- /*
- * first restore %ds, so we can access our data properly
- */
- asm volatile (".align 4");
- asm volatile ("movw %0, %%ds" :: "r" ((u16)__KERNEL_DS));
-
-
- /*
- * control registers
- */
- asm volatile ("movl %0, %%cr4" :: "r" (saved_context.cr4));
- asm volatile ("movl %0, %%cr3" :: "r" (saved_context.cr3));
- asm volatile ("movl %0, %%cr2" :: "r" (saved_context.cr2));
- asm volatile ("movl %0, %%cr0" :: "r" (saved_context.cr0));
-
- /*
- * segment registers
- */
- asm volatile ("movw %0, %%es" :: "r" (saved_context.es));
- asm volatile ("movw %0, %%fs" :: "r" (saved_context.fs));
- asm volatile ("movw %0, %%gs" :: "r" (saved_context.gs));
- asm volatile ("movw %0, %%ss" :: "r" (saved_context.ss));
-
- /*
- * the other general registers
- *
- * note that even though gcc has constructs to specify memory
- * input into certain registers, it will try to be too smart
- * and save them at the beginning of the function. This is esp.
- * bad since we don't have a stack set up when we enter, and we
- * want to preserve the values on exit. So, we set them manually.
- */
- asm volatile ("movl %0, %%esp" :: "m" (saved_context.esp));
- asm volatile ("movl %0, %%ebp" :: "m" (saved_context.ebp));
- asm volatile ("movl %0, %%eax" :: "m" (saved_context.eax));
- asm volatile ("movl %0, %%ebx" :: "m" (saved_context.ebx));
- asm volatile ("movl %0, %%ecx" :: "m" (saved_context.ecx));
- asm volatile ("movl %0, %%edx" :: "m" (saved_context.edx));
- asm volatile ("movl %0, %%esi" :: "m" (saved_context.esi));
- asm volatile ("movl %0, %%edi" :: "m" (saved_context.edi));
-
- /*
- * now restore the descriptor tables to their proper values
- * ltr is done i fix_processor_context().
- */
- asm volatile ("lgdt (%0)" :: "m" (saved_context.gdt_limit));
- asm volatile ("lidt (%0)" :: "m" (saved_context.idt_limit));
- asm volatile ("lldt (%0)" :: "m" (saved_context.ldt));
-
- fix_processor_context();
-
- /*
- * the flags
- */
- asm volatile ("pushl %0 ; popfl" :: "m" (saved_context.eflags));
-
- do_fpu_end();
-}
-
-#ifdef SUSPEND_C
-/* Local variables for do_magic */
-static int loop __nosavedata = 0;
-static int loop2 __nosavedata = 0;
-
-/*
- * (KG): Since we affect stack here, we make this function as flat and easy
- * as possible in order to not provoke gcc to use local variables on the stack.
- * Note that on resume, all (expect nosave) variables will have the state from
- * the time of writing (suspend_save_image) and the registers (including the
- * stack pointer, but excluding the instruction pointer) will be loaded with
- * the values saved at save_processor_context() time.
- */
-static void do_magic(int resume)
-{
- /* DANGER WILL ROBINSON!
- *
- * If this function is too difficult for gcc to optimize, it will crash and burn!
- * see above.
- *
- * DO NOT TOUCH.
- */
-
- if (!resume) {
- do_magic_suspend_1();
- save_processor_context(); /* We need to capture registers and memory at "same time" */
- do_magic_suspend_2(); /* If everything goes okay, this function does not return */
- return;
- }
-
- /* We want to run from swapper_pg_dir, since swapper_pg_dir is stored in constant
- * place in memory
- */
-
- __asm__( "movl %%ecx,%%cr3\n" ::"c"(__pa(swapper_pg_dir)));
-
-/*
- * Final function for resuming: after copying the pages to their original
- * position, it restores the register state.
- *
- * What about page tables? Writing data pages may toggle
- * accessed/dirty bits in our page tables. That should be no problems
- * with 4MB page tables. That's why we require have_pse.
- *
- * This loops destroys stack from under itself, so it better should
- * not use any stack space, itself. When this function is entered at
- * resume time, we move stack to _old_ place. This is means that this
- * function must use no stack and no local variables in registers,
- * until calling restore_processor_context();
- *
- * Critical section here: noone should touch saved memory after
- * do_magic_resume_1; copying works, because nr_copy_pages,
- * pagedir_nosave, loop and loop2 are nosavedata.
- */
- do_magic_resume_1();
-
- for (loop=0; loop < nr_copy_pages; loop++) {
- /* You may not call something (like copy_page) here: see above */
- for (loop2=0; loop2 < PAGE_SIZE; loop2++) {
- *(((char *)((pagedir_nosave+loop)->orig_address))+loop2) =
- *(((char *)((pagedir_nosave+loop)->address))+loop2);
- __flush_tlb();
- }
- }
-
- restore_processor_context();
-
-/* Ahah, we now run with our old stack, and with registers copied from
- suspend time */
-
- do_magic_resume_2();
-}
-#endif
+extern void do_fpu_end(void);
+extern void fix_processor_context(void);
+extern void do_magic(int resume);
#ifdef CONFIG_ACPI_SLEEP
extern unsigned long saved_eip;
diff --git a/include/asm-sparc/btfixup.h b/include/asm-sparc/btfixup.h
index e2ad32144df2..f0ea6d09d1de 100644
--- a/include/asm-sparc/btfixup.h
+++ b/include/asm-sparc/btfixup.h
@@ -16,7 +16,22 @@ extern unsigned int ___illegal_use_of_BTFIXUP_SIMM13_in_module(void);
extern unsigned int ___illegal_use_of_BTFIXUP_SETHI_in_module(void);
extern unsigned int ___illegal_use_of_BTFIXUP_HALF_in_module(void);
extern unsigned int ___illegal_use_of_BTFIXUP_INT_in_module(void);
-#endif
+
+#define BTFIXUP_SIMM13(__name) ___illegal_use_of_BTFIXUP_SIMM13_in_module()
+#define BTFIXUP_HALF(__name) ___illegal_use_of_BTFIXUP_HALF_in_module()
+#define BTFIXUP_SETHI(__name) ___illegal_use_of_BTFIXUP_SETHI_in_module()
+#define BTFIXUP_INT(__name) ___illegal_use_of_BTFIXUP_INT_in_module()
+#define BTFIXUP_BLACKBOX(__name) ___illegal_use_of_BTFIXUP_BLACKBOX_in_module
+
+#else
+
+#define BTFIXUP_SIMM13(__name) ___sf_##__name()
+#define BTFIXUP_HALF(__name) ___af_##__name()
+#define BTFIXUP_SETHI(__name) ___hf_##__name()
+#define BTFIXUP_INT(__name) ((unsigned int)&___i_##__name)
+/* This must be written in assembly and present in a sethi */
+#define BTFIXUP_BLACKBOX(__name) ___b_##__name
+#endif /* MODULE */
/* Fixup call xx */
@@ -30,12 +45,6 @@ extern unsigned int ___illegal_use_of_BTFIXUP_INT_in_module(void);
#define BTFIXUPDEF_BLACKBOX(__name) \
extern unsigned ___bs_##__name[2];
-#ifdef MODULE
-#define BTFIXUP_BLACKBOX(__name) ___illegal_use_of_BTFIXUP_BLACKBOX_in_module
-#else
-/* This must be written in assembly and present in a sethi */
-#define BTFIXUP_BLACKBOX(__name) ___b_##__name
-#endif
/* Put bottom 13bits into some register variable */
@@ -55,11 +64,6 @@ extern unsigned int ___illegal_use_of_BTFIXUP_INT_in_module(void);
__asm__ ("or %%g0, ___s_" #__name "__btset_" #__val ", %0" : "=r"(ret));\
return ret; \
}
-#ifdef MODULE
-#define BTFIXUP_SIMM13(__name) ___illegal_use_of_BTFIXUP_SIMM13_in_module()
-#else
-#define BTFIXUP_SIMM13(__name) ___sf_##__name()
-#endif
/* Put either bottom 13 bits, or upper 22 bits into some register variable
* (depending on the value, this will lead into sethi FIX, reg; or
@@ -82,11 +86,6 @@ extern unsigned int ___illegal_use_of_BTFIXUP_INT_in_module(void);
__asm__ ("or %%g0, ___a_" #__name "__btset_" #__val ", %0" : "=r"(ret));\
return ret; \
}
-#ifdef MODULE
-#define BTFIXUP_HALF(__name) ___illegal_use_of_BTFIXUP_HALF_in_module()
-#else
-#define BTFIXUP_HALF(__name) ___af_##__name()
-#endif
/* Put upper 22 bits into some register variable */
@@ -107,22 +106,12 @@ extern unsigned int ___illegal_use_of_BTFIXUP_INT_in_module(void);
"=r"(ret)); \
return ret; \
}
-#ifdef MODULE
-#define BTFIXUP_SETHI(__name) ___illegal_use_of_BTFIXUP_SETHI_in_module()
-#else
-#define BTFIXUP_SETHI(__name) ___hf_##__name()
-#endif
/* Put a full 32bit integer into some register variable */
#define BTFIXUPDEF_INT(__name) \
extern unsigned char ___i_##__name; \
extern unsigned ___is_##__name[2];
-#ifdef MODULE
-#define BTFIXUP_INT(__name) ___illegal_use_of_BTFIXUP_INT_in_module()
-#else
-#define BTFIXUP_INT(__name) ((unsigned int)&___i_##__name)
-#endif
#define BTFIXUPCALL_NORM 0x00000000 /* Always call */
#define BTFIXUPCALL_NOP 0x01000000 /* Possibly optimize to nop */
diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h
index 4ce13153c390..0c5b3a066d97 100644
--- a/include/asm-sparc/page.h
+++ b/include/asm-sparc/page.h
@@ -54,8 +54,8 @@
#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
#define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE)
-#define clear_user_page(page, vaddr) clear_page(page)
-#define copy_user_page(to, from, vaddr) copy_page(to, from)
+#define clear_user_page(addr, vaddr, page) clear_page(addr)
+#define copy_user_page(to, from, vaddr, page) copy_page(to, from)
/* The following structure is used to hold the physical
* memory configuration of the machine. This is filled in
diff --git a/include/asm-sparc/ultra.h b/include/asm-sparc/ultra.h
deleted file mode 100644
index fdc6c7f488f1..000000000000
--- a/include/asm-sparc/ultra.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* $Id: ultra.h,v 1.2 1995/11/25 02:33:10 davem Exp $
- * ultra.h: Definitions and defines for the TI V9 UltraSparc.
- *
- * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#ifndef _SPARC_ULTRA_H
-#define _SPARC_ULTRA_H
-
-/* Spitfire MMU control register:
- *
- * ----------------------------------------------------------
- * | | IMPL | VERS | | MID | |
- * ----------------------------------------------------------
- * 64 31-28 27-24 23-22 21-17 16 0
- *
- * IMPL: Implementation of this Spitfire.
- * VERS: Version of this Spitfire.
- * MID: Module ID of this processor.
- */
-
-#define SPITFIRE_MIDMASK 0x00000000003e0000
-
-/* Spitfire Load Store Unit control register:
- *
- * ---------------------------------------------------------------------
- * | RSV | PWR | PWW | VWR | VWW | RSV | PMASK | DME | IME | DCE | ICE |
- * ---------------------------------------------------------------------
- * 63-25 24 23 22 21 20 19-4 3 2 1 0
- *
- * PWR: Physical Watchpoint Read enable: 0=off 1=on
- * PWW: Physical Watchpoint Write enable: 0=off 1=on
- * VWR: Virtual Watchpoint Read enable: 0=off 1=on
- * VWW: Virtual Watchpoint Write enable: 0=off 1=on
- * PMASK: Parity MASK ???
- * DME: Data MMU Enable: 0=off 1=on
- * IME: Instruction MMU Enable: 0=off 1=on
- * DCE: Data Cache Enable: 0=off 1=on
- * ICE: Instruction Cache Enable: 0=off 1=on
- */
-
-#define SPITFIRE_LSU_PWR 0x01000000
-#define SPITFIRE_LSU_PWW 0x00800000
-#define SPITFIRE_LSU_VWR 0x00400000
-#define SPITFIRE_LSU_VWW 0x00200000
-#define SPITFIRE_LSU_PMASK 0x000ffff0
-#define SPITFIRE_LSU_DME 0x00000008
-#define SPITFIRE_LSU_IME 0x00000004
-#define SPITFIRE_LSU_DCE 0x00000002
-#define SPITFIRE_LSU_ICE 0x00000001
-
-#endif /* !(_SPARC_ULTRA_H) */
diff --git a/include/asm-sparc/vac-ops.h b/include/asm-sparc/vac-ops.h
index eafe7a45287a..83ceb56d91ab 100644
--- a/include/asm-sparc/vac-ops.h
+++ b/include/asm-sparc/vac-ops.h
@@ -107,8 +107,6 @@ struct sun4c_vac_props {
extern struct sun4c_vac_props sun4c_vacinfo;
-extern void sun4c_flush_all(void);
-
/* sun4c_enable_vac() enables the sun4c virtual address cache. */
extern __inline__ void sun4c_enable_vac(void)
{
diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h
index a0ffd1ac93ea..c01cafda59ee 100644
--- a/include/asm-sparc64/page.h
+++ b/include/asm-sparc64/page.h
@@ -35,8 +35,9 @@ extern void do_BUG(const char *file, int line);
extern void _clear_page(void *page);
#define clear_page(X) _clear_page((void *)(X))
-extern void clear_user_page(void *page, unsigned long vaddr);
-extern void copy_user_page(void *to, void *from, unsigned long vaddr);
+struct page;
+extern void clear_user_page(void *addr, unsigned long vaddr, struct page *page);
+extern void copy_user_page(void *to, void *from, unsigned long vaddr, struct page *topage);
/* GROSS, defining this makes gcc pass these types as aggregates,
* and thus on the stack, turn this crap off... -DaveM
diff --git a/include/linux/if_bonding.h b/include/linux/if_bonding.h
index 97d490fd8dd8..a263da6bd01c 100644
--- a/include/linux/if_bonding.h
+++ b/include/linux/if_bonding.h
@@ -51,7 +51,7 @@
#define BOND_STATE_ACTIVE 0 /* link is active */
#define BOND_STATE_BACKUP 1 /* link is backup */
-#define MAX_BONDS 1 /* Maximum number of devices to support */
+#define BOND_DEFAULT_MAX_BONDS 1 /* Default maximum number of devices to support */
typedef struct ifbond {
__s32 bond_mode;
@@ -76,6 +76,7 @@ typedef struct slave {
short delay;
char link; /* one of BOND_LINK_XXXX */
char state; /* one of BOND_STATE_XXXX */
+ unsigned short original_flags;
u32 link_failure_count;
} slave_t;
@@ -104,6 +105,8 @@ typedef struct bonding {
#endif /* CONFIG_PROC_FS */
struct bonding *next_bond;
struct net_device *device;
+ struct dev_mc_list *mc_list;
+ unsigned short flags;
} bonding_t;
#endif /* __KERNEL__ */
diff --git a/include/linux/init.h b/include/linux/init.h
index ca7e75f37883..b45b95c5e640 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -61,7 +61,7 @@ extern initcall_t __initcall_start, __initcall_end;
static initcall_t __initcall_##fn __attribute__ ((unused,__section__ (".initcall" level ".init"))) = fn
#define core_initcall(fn) __define_initcall("1",fn)
-#define unused_initcall(fn) __define_initcall("2",fn)
+#define postcore_initcall(fn) __define_initcall("2",fn)
#define arch_initcall(fn) __define_initcall("3",fn)
#define subsys_initcall(fn) __define_initcall("4",fn)
#define fs_initcall(fn) __define_initcall("5",fn)
@@ -160,7 +160,7 @@ typedef void (*__cleanup_module_func_t)(void);
#define __setup(str,func) /* nothing */
#define core_initcall(fn) module_init(fn)
-#define unused_initcall(fn) module_init(fn)
+#define postcore_initcall(fn) module_init(fn)
#define arch_initcall(fn) module_init(fn)
#define subsys_initcall(fn) module_init(fn)
#define fs_initcall(fn) module_init(fn)
diff --git a/include/linux/sunrpc/xdr.h b/include/linux/sunrpc/xdr.h
index 821c2e0704df..3875f87e938b 100644
--- a/include/linux/sunrpc/xdr.h
+++ b/include/linux/sunrpc/xdr.h
@@ -137,10 +137,9 @@ void xdr_zero_iovec(struct iovec *, int, size_t);
/*
* XDR buffer helper functions
*/
-extern int xdr_kmap(struct iovec *, struct xdr_buf *, unsigned int);
-extern void xdr_kunmap(struct xdr_buf *, unsigned int);
-extern void xdr_shift_buf(struct xdr_buf *, unsigned int);
-extern void xdr_zero_buf(struct xdr_buf *, unsigned int);
+extern int xdr_kmap(struct iovec *, struct xdr_buf *, size_t);
+extern void xdr_kunmap(struct xdr_buf *, size_t);
+extern void xdr_shift_buf(struct xdr_buf *, size_t);
/*
* Helper structure for copying from an sk_buff.
diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index 88abb25a67de..c73dc5655a24 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -55,6 +55,10 @@ extern int register_suspend_notifier(struct notifier_block *);
extern int unregister_suspend_notifier(struct notifier_block *);
extern void refrigerator(unsigned long);
+extern unsigned int nr_copy_pages __nosavedata;
+extern suspend_pagedir_t *pagedir_nosave __nosavedata;
+
+
#else
#define software_suspend() do { } while(0)
#define software_resume() do { } while(0)
diff --git a/include/linux/zlib.h b/include/linux/zlib.h
index 43b32c613d76..4582d5343c89 100644
--- a/include/linux/zlib.h
+++ b/include/linux/zlib.h
@@ -31,7 +31,7 @@
#ifndef _ZLIB_H
#define _ZLIB_H
-#include "zconf.h"
+#include <linux/zconf.h>
#ifdef __cplusplus
extern "C" {
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
index 84c94256dc65..313bf3b7b212 100644
--- a/include/net/pkt_sched.h
+++ b/include/net/pkt_sched.h
@@ -8,6 +8,7 @@
#define PSCHED_CLOCK_SOURCE PSCHED_JIFFIES
#include <linux/config.h>
+#include <linux/types.h>
#include <linux/pkt_sched.h>
#include <net/pkt_cls.h>
@@ -221,7 +222,7 @@ extern psched_time_t psched_time_base;
#define PSCHED_EXPORTLIST_2
-#if ~0UL == 0xFFFFFFFF
+#if BITS_PER_LONG <= 32
#define PSCHED_WATCHER unsigned long