- Address -Wmissing-prototype warnings

- Remove repeated 'the' in comments
  - Remove unused current_untag_mask()
  - Document urgent tip branch timing
  - Clean up MSR kernel-doc notation
  - Clean up paravirt_ops doc
  - Update Srivatsa S. Bhat's maintained areas
  - Remove unused extern declaration acpi_copy_wakeup_routine()
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEV76QKkVc4xCGURexaDWVMHDJkrAFAmSZ6xIACgkQaDWVMHDJ
 krB9aQ/+NjB4CiWLbrnOYj9QYG6p1GE7lfu2dzIDdmcNuiai8htopXys54Igy3Rq
 BbIoW4E0SGK5E2OD7nLe4fBA/LpsYZTwDhGUu3SiovxLOoC5qkF0Q+6aVypPJE5o
 q7kn0Eo9IDL1dO0EbJptFDJRjk3K5caEoyXJRelarjIfPRbDEhUFaybVRykMZN9I
 4AOxrlb9WFggT4gUE4+N0kWyEqdgI9/aguavmasaG4lBHZ5JAHNQPNIa8bkVSAPL
 wULAzsrGp96V3tVxdjDCzD9aumk4xlJq7gk+v7mfx013dg7Cjs074Xoi2Y+TmaC7
 fdIZiGPJIkNToW+nENVO7BYtACSQhXeVTGxLQO/HNTDc//ZWiIUoJT2U4qu/6e6F
 aAIGoLwv68H4BghS2qx6Gz+BTIfl35mcPUb75MQhu+D84QZoZWrdamCYhsvHeZzc
 uC3nojrb6PBOth9nJsRae+j1zpRe/DT2LvHSWPJgK6EygOAi05ZfYUll/6sb0vze
 IXkUrVV1BvDDVpY9/HnE8RpDCDolP0/ezK9zsw48arZtkc+Qmw2WlD/2D98E+pSb
 MJPelbVmpzWTaoR4jDzXJCXkWe7CQJ5uPQj5azAE9l7YvnxgCQP5xnm5sLU9eyLu
 RsOwRzss0+3z44x5rJi9nSxQJ0LHfTAzW8/ZmNSZGHzi0ClszK0=
 =N82i
 -----END PGP SIGNATURE-----

Merge tag 'x86_cleanups_for_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 cleanups from Dave Hansen:
 "As usual, these are all over the map. The biggest cluster is work from
  Arnd to eliminate -Wmissing-prototype warnings:

   - Address -Wmissing-prototype warnings

   - Remove repeated 'the' in comments

   - Remove unused current_untag_mask()

   - Document urgent tip branch timing

   - Clean up MSR kernel-doc notation

   - Clean up paravirt_ops doc

   - Update Srivatsa S. Bhat's maintained areas

   - Remove unused extern declaration acpi_copy_wakeup_routine()"

* tag 'x86_cleanups_for_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
  x86/acpi: Remove unused extern declaration acpi_copy_wakeup_routine()
  Documentation: virt: Clean up paravirt_ops doc
  x86/mm: Remove unused current_untag_mask()
  x86/mm: Remove repeated word in comments
  x86/lib/msr: Clean up kernel-doc notation
  x86/platform: Avoid missing-prototype warnings for OLPC
  x86/mm: Add early_memremap_pgprot_adjust() prototype
  x86/usercopy: Include arch_wb_cache_pmem() declaration
  x86/vdso: Include vdso/processor.h
  x86/mce: Add copy_mc_fragile_handle_tail() prototype
  x86/fbdev: Include asm/fb.h as needed
  x86/hibernate: Declare global functions in suspend.h
  x86/entry: Add do_SYSENTER_32() prototype
  x86/quirks: Include linux/pnp.h for arch_pnpbios_disabled()
  x86/mm: Include asm/numa.h for set_highmem_pages_init()
  x86: Avoid missing-prototype warnings for doublefault code
  x86/fpu: Include asm/fpu/regset.h
  x86: Add dummy prototype for mk_early_pgtbl_32()
  x86/pci: Mark local functions as 'static'
  x86/ftrace: Move prepare_ftrace_return prototype to header
  ...
This commit is contained in:
Linus Torvalds 2023-06-26 16:43:54 -07:00
commit 19300488c9
28 changed files with 78 additions and 54 deletions

View File

@ -383,6 +383,12 @@ E: tomas@nocrew.org
W: http://tomas.nocrew.org/ W: http://tomas.nocrew.org/
D: dsp56k device driver D: dsp56k device driver
N: Srivatsa S. Bhat
E: srivatsa@csail.mit.edu
D: Maintainer of Generic Paravirt-Ops subsystem
D: Maintainer of VMware hypervisor interface
D: Maintainer of VMware virtual PTP clock driver (ptp_vmw)
N: Ross Biro N: Ross Biro
E: ross.biro@gmail.com E: ross.biro@gmail.com
D: Original author of the Linux networking code D: Original author of the Linux networking code

View File

@ -421,6 +421,9 @@ allowing themselves a breath. Please respect that.
The release candidate -rc1 is the starting point for new patches to be The release candidate -rc1 is the starting point for new patches to be
applied which are targeted for the next merge window. applied which are targeted for the next merge window.
So called _urgent_ branches will be merged into mainline during the
stabilization phase of each release.
Git Git
^^^ ^^^

View File

@ -5,31 +5,31 @@ Paravirt_ops
============ ============
Linux provides support for different hypervisor virtualization technologies. Linux provides support for different hypervisor virtualization technologies.
Historically different binary kernels would be required in order to support Historically, different binary kernels would be required in order to support
different hypervisors, this restriction was removed with pv_ops. different hypervisors; this restriction was removed with pv_ops.
Linux pv_ops is a virtualization API which enables support for different Linux pv_ops is a virtualization API which enables support for different
hypervisors. It allows each hypervisor to override critical operations and hypervisors. It allows each hypervisor to override critical operations and
allows a single kernel binary to run on all supported execution environments allows a single kernel binary to run on all supported execution environments
including native machine -- without any hypervisors. including native machine -- without any hypervisors.
pv_ops provides a set of function pointers which represent operations pv_ops provides a set of function pointers which represent operations
corresponding to low level critical instructions and high level corresponding to low-level critical instructions and high-level
functionalities in various areas. pv-ops allows for optimizations at run functionalities in various areas. pv_ops allows for optimizations at run
time by enabling binary patching of the low-ops critical operations time by enabling binary patching of the low-level critical operations
at boot time. at boot time.
pv_ops operations are classified into three categories: pv_ops operations are classified into three categories:
- simple indirect call - simple indirect call
These operations correspond to high level functionality where it is These operations correspond to high-level functionality where it is
known that the overhead of indirect call isn't very important. known that the overhead of indirect call isn't very important.
- indirect call which allows optimization with binary patch - indirect call which allows optimization with binary patch
Usually these operations correspond to low level critical instructions. They Usually these operations correspond to low-level critical instructions. They
are called frequently and are performance critical. The overhead is are called frequently and are performance critical. The overhead is
very important. very important.
- a set of macros for hand written assembly code - a set of macros for hand written assembly code
Hand written assembly codes (.S files) also need paravirtualization Hand written assembly codes (.S files) also need paravirtualization
because they include sensitive instructions or some of code paths in because they include sensitive instructions or some code paths in
them are very performance critical. them are very performance critical.

View File

@ -15974,7 +15974,7 @@ F: include/uapi/linux/ppdev.h
PARAVIRT_OPS INTERFACE PARAVIRT_OPS INTERFACE
M: Juergen Gross <jgross@suse.com> M: Juergen Gross <jgross@suse.com>
M: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu> R: Ajay Kaher <akaher@vmware.com>
R: Alexey Makhalov <amakhalov@vmware.com> R: Alexey Makhalov <amakhalov@vmware.com>
R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com> R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
L: virtualization@lists.linux-foundation.org L: virtualization@lists.linux-foundation.org
@ -22546,7 +22546,7 @@ S: Supported
F: drivers/misc/vmw_balloon.c F: drivers/misc/vmw_balloon.c
VMWARE HYPERVISOR INTERFACE VMWARE HYPERVISOR INTERFACE
M: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu> M: Ajay Kaher <akaher@vmware.com>
M: Alexey Makhalov <amakhalov@vmware.com> M: Alexey Makhalov <amakhalov@vmware.com>
R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com> R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
L: virtualization@lists.linux-foundation.org L: virtualization@lists.linux-foundation.org
@ -22573,8 +22573,8 @@ F: drivers/scsi/vmw_pvscsi.c
F: drivers/scsi/vmw_pvscsi.h F: drivers/scsi/vmw_pvscsi.h
VMWARE VIRTUAL PTP CLOCK DRIVER VMWARE VIRTUAL PTP CLOCK DRIVER
M: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
M: Deep Shah <sdeep@vmware.com> M: Deep Shah <sdeep@vmware.com>
R: Ajay Kaher <akaher@vmware.com>
R: Alexey Makhalov <amakhalov@vmware.com> R: Alexey Makhalov <amakhalov@vmware.com>
R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com> R: VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org

View File

@ -8,6 +8,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/getcpu.h> #include <linux/getcpu.h>
#include <asm/segment.h> #include <asm/segment.h>
#include <vdso/processor.h>
notrace long notrace long
__vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused) __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)

View File

@ -2,6 +2,8 @@
#ifndef _ASM_X86_DOUBLEFAULT_H #ifndef _ASM_X86_DOUBLEFAULT_H
#define _ASM_X86_DOUBLEFAULT_H #define _ASM_X86_DOUBLEFAULT_H
#include <linux/linkage.h>
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
extern void doublefault_init_cpu_tss(void); extern void doublefault_init_cpu_tss(void);
#else #else
@ -10,4 +12,6 @@ static inline void doublefault_init_cpu_tss(void)
} }
#endif #endif
asmlinkage void __noreturn doublefault_shim(void);
#endif /* _ASM_X86_DOUBLEFAULT_H */ #endif /* _ASM_X86_DOUBLEFAULT_H */

View File

@ -106,6 +106,9 @@ struct dyn_arch_ftrace {
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
void prepare_ftrace_return(unsigned long ip, unsigned long *parent,
unsigned long frame_pointer);
#if defined(CONFIG_FUNCTION_TRACER) && defined(CONFIG_DYNAMIC_FTRACE) #if defined(CONFIG_FUNCTION_TRACER) && defined(CONFIG_DYNAMIC_FTRACE)
extern void set_ftrace_ops_ro(void); extern void set_ftrace_ops_ro(void);
#else #else

View File

@ -350,4 +350,7 @@ static inline void mce_amd_feature_init(struct cpuinfo_x86 *c) { }
#endif #endif
static inline void mce_hygon_feature_init(struct cpuinfo_x86 *c) { return mce_amd_feature_init(c); } static inline void mce_hygon_feature_init(struct cpuinfo_x86 *c) { return mce_amd_feature_init(c); }
unsigned long copy_mc_fragile_handle_tail(char *to, char *from, unsigned len);
#endif /* _ASM_X86_MCE_H */ #endif /* _ASM_X86_MCE_H */

View File

@ -127,9 +127,11 @@ static inline int syscall_get_arch(struct task_struct *task)
} }
void do_syscall_64(struct pt_regs *regs, int nr); void do_syscall_64(struct pt_regs *regs, int nr);
void do_int80_syscall_32(struct pt_regs *regs);
long do_fast_syscall_32(struct pt_regs *regs);
#endif /* CONFIG_X86_32 */ #endif /* CONFIG_X86_32 */
void do_int80_syscall_32(struct pt_regs *regs);
long do_fast_syscall_32(struct pt_regs *regs);
long do_SYSENTER_32(struct pt_regs *regs);
#endif /* _ASM_X86_SYSCALL_H */ #endif /* _ASM_X86_SYSCALL_H */

View File

@ -14,6 +14,8 @@
#include <asm/processor-flags.h> #include <asm/processor-flags.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
DECLARE_PER_CPU(u64, tlbstate_untag_mask);
void __flush_tlb_all(void); void __flush_tlb_all(void);
#define TLB_FLUSH_ALL -1UL #define TLB_FLUSH_ALL -1UL
@ -54,15 +56,6 @@ static inline void cr4_clear_bits(unsigned long mask)
local_irq_restore(flags); local_irq_restore(flags);
} }
#ifdef CONFIG_ADDRESS_MASKING
DECLARE_PER_CPU(u64, tlbstate_untag_mask);
static inline u64 current_untag_mask(void)
{
return this_cpu_read(tlbstate_untag_mask);
}
#endif
#ifndef MODULE #ifndef MODULE
/* /*
* 6 because 6 should be plenty and struct tlb_state will fit in two cache * 6 because 6 should be plenty and struct tlb_state will fit in two cache

View File

@ -12,7 +12,6 @@ extern int wakeup_pmode_return;
extern u8 wake_sleep_flags; extern u8 wake_sleep_flags;
extern unsigned long acpi_copy_wakeup_routine(unsigned long);
extern void wakeup_long64(void); extern void wakeup_long64(void);
extern void do_suspend_lowlevel(void); extern void do_suspend_lowlevel(void);

View File

@ -9,6 +9,7 @@
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/desc.h> #include <asm/desc.h>
#include <asm/traps.h> #include <asm/traps.h>
#include <asm/doublefault.h>
#define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + MAXMEM) #define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + MAXMEM)

View File

@ -525,9 +525,6 @@ static void *addr_from_call(void *ptr)
return ptr + CALL_INSN_SIZE + call.disp; return ptr + CALL_INSN_SIZE + call.disp;
} }
void prepare_ftrace_return(unsigned long ip, unsigned long *parent,
unsigned long frame_pointer);
/* /*
* If the ops->trampoline was not allocated, then it probably * If the ops->trampoline was not allocated, then it probably
* has a static trampoline func, or is the ftrace caller itself. * has a static trampoline func, or is the ftrace caller itself.

View File

@ -69,6 +69,7 @@ asmlinkage __visible void __init __noreturn i386_start_kernel(void)
* to the first kernel PMD. Note the upper half of each PMD or PTE are * to the first kernel PMD. Note the upper half of each PMD or PTE are
* always zero at this stage. * always zero at this stage.
*/ */
void __init mk_early_pgtbl_32(void);
void __init mk_early_pgtbl_32(void) void __init mk_early_pgtbl_32(void)
{ {
#ifdef __pa #ifdef __pa

View File

@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/pnp.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/bios_ebda.h> #include <asm/bios_ebda.h>

View File

@ -27,14 +27,14 @@ void msrs_free(struct msr *msrs)
EXPORT_SYMBOL(msrs_free); EXPORT_SYMBOL(msrs_free);
/** /**
* Read an MSR with error handling * msr_read - Read an MSR with error handling
*
* @msr: MSR to read * @msr: MSR to read
* @m: value to read into * @m: value to read into
* *
* It returns read data only on success, otherwise it doesn't change the output * It returns read data only on success, otherwise it doesn't change the output
* argument @m. * argument @m.
* *
* Return: %0 for success, otherwise an error code
*/ */
static int msr_read(u32 msr, struct msr *m) static int msr_read(u32 msr, struct msr *m)
{ {
@ -49,10 +49,12 @@ static int msr_read(u32 msr, struct msr *m)
} }
/** /**
* Write an MSR with error handling * msr_write - Write an MSR with error handling
* *
* @msr: MSR to write * @msr: MSR to write
* @m: value to write * @m: value to write
*
* Return: %0 for success, otherwise an error code
*/ */
static int msr_write(u32 msr, struct msr *m) static int msr_write(u32 msr, struct msr *m)
{ {
@ -88,12 +90,14 @@ static inline int __flip_bit(u32 msr, u8 bit, bool set)
} }
/** /**
* Set @bit in a MSR @msr. * msr_set_bit - Set @bit in a MSR @msr.
* @msr: MSR to write
* @bit: bit number to set
* *
* Retval: * Return:
* < 0: An error was encountered. * * < 0: An error was encountered.
* = 0: Bit was already set. * * = 0: Bit was already set.
* > 0: Hardware accepted the MSR write. * * > 0: Hardware accepted the MSR write.
*/ */
int msr_set_bit(u32 msr, u8 bit) int msr_set_bit(u32 msr, u8 bit)
{ {
@ -101,12 +105,14 @@ int msr_set_bit(u32 msr, u8 bit)
} }
/** /**
* Clear @bit in a MSR @msr. * msr_clear_bit - Clear @bit in a MSR @msr.
* @msr: MSR to write
* @bit: bit number to clear
* *
* Retval: * Return:
* < 0: An error was encountered. * * < 0: An error was encountered.
* = 0: Bit was already cleared. * * = 0: Bit was already cleared.
* > 0: Hardware accepted the MSR write. * * > 0: Hardware accepted the MSR write.
*/ */
int msr_clear_bit(u32 msr, u8 bit) int msr_clear_bit(u32 msr, u8 bit)
{ {

View File

@ -9,6 +9,7 @@
#include <linux/export.h> #include <linux/export.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/highmem.h> #include <linux/highmem.h>
#include <linux/libnvdimm.h>
/* /*
* Zero Userspace * Zero Userspace

View File

@ -32,6 +32,7 @@
#include <asm/traps.h> #include <asm/traps.h>
#include <asm/user.h> #include <asm/user.h>
#include <asm/fpu/api.h> #include <asm/fpu/api.h>
#include <asm/fpu/regset.h>
#include "fpu_system.h" #include "fpu_system.h"
#include "fpu_emu.h" #include "fpu_emu.h"

View File

@ -3,6 +3,7 @@
#include <linux/export.h> #include <linux/export.h>
#include <linux/swap.h> /* for totalram_pages */ #include <linux/swap.h> /* for totalram_pages */
#include <linux/memblock.h> #include <linux/memblock.h>
#include <asm/numa.h>
void __init set_highmem_pages_init(void) void __init set_highmem_pages_init(void)
{ {

View File

@ -232,7 +232,7 @@ within_inclusive(unsigned long addr, unsigned long start, unsigned long end)
* points to #2, but almost all physical-to-virtual translations point to #1. * points to #2, but almost all physical-to-virtual translations point to #1.
* *
* This is so that we can have both a directmap of all physical memory *and* * This is so that we can have both a directmap of all physical memory *and*
* take full advantage of the the limited (s32) immediate addressing range (2G) * take full advantage of the limited (s32) immediate addressing range (2G)
* of x86_64. * of x86_64.
* *
* See Documentation/arch/x86/x86_64/mm.rst for more detail. * See Documentation/arch/x86/x86_64/mm.rst for more detail.

View File

@ -83,7 +83,7 @@ static void ehci_reg_read(struct sim_dev_reg *reg, u32 *value)
*value |= 0x100; *value |= 0x100;
} }
void sata_revid_init(struct sim_dev_reg *reg) static void sata_revid_init(struct sim_dev_reg *reg)
{ {
reg->sim_reg.value = 0x01060100; reg->sim_reg.value = 0x01060100;
reg->sim_reg.mask = 0; reg->sim_reg.mask = 0;
@ -172,7 +172,7 @@ static inline void extract_bytes(u32 *value, int reg, int len)
*value &= mask; *value &= mask;
} }
int bridge_read(unsigned int devfn, int reg, int len, u32 *value) static int bridge_read(unsigned int devfn, int reg, int len, u32 *value)
{ {
u32 av_bridge_base, av_bridge_limit; u32 av_bridge_base, av_bridge_limit;
int retval = 0; int retval = 0;

View File

@ -234,7 +234,7 @@ static int __init olpc_dt_compatible_match(phandle node, const char *compat)
return 0; return 0;
} }
void __init olpc_dt_fixup(void) static void __init olpc_dt_fixup(void)
{ {
phandle node; phandle node;
u32 board_rev; u32 board_rev;

View File

@ -10,6 +10,7 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/vgaarb.h> #include <linux/vgaarb.h>
#include <asm/fb.h>
int fb_is_primary_device(struct fb_info *info) int fb_is_primary_device(struct fb_info *info)
{ {

View File

@ -68,6 +68,11 @@ void *devm_memremap(struct device *dev, resource_size_t offset,
size_t size, unsigned long flags); size_t size, unsigned long flags);
void devm_memunmap(struct device *dev, void *addr); void devm_memunmap(struct device *dev, void *addr);
/* architectures can override this */
pgprot_t __init early_memremap_pgprot_adjust(resource_size_t phys_addr,
unsigned long size, pgprot_t prot);
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
/* /*
* The PCI specifications (Rev 3.0, 3.2.5 "Transaction Ordering and * The PCI specifications (Rev 3.0, 3.2.5 "Transaction Ordering and

View File

@ -56,6 +56,8 @@ extern int olpc_ec_sci_query(u16 *sci_value);
extern bool olpc_ec_wakeup_available(void); extern bool olpc_ec_wakeup_available(void);
asmlinkage int xo1_do_sleep(u8 sleep_state);
#else #else
static inline int olpc_ec_cmd(u8 cmd, u8 *inbuf, size_t inlen, u8 *outbuf, static inline int olpc_ec_cmd(u8 cmd, u8 *inbuf, size_t inlen, u8 *outbuf,

View File

@ -452,6 +452,10 @@ extern struct pbe *restore_pblist;
int pfn_is_nosave(unsigned long pfn); int pfn_is_nosave(unsigned long pfn);
int hibernate_quiet_exec(int (*func)(void *data), void *data); int hibernate_quiet_exec(int (*func)(void *data), void *data);
int hibernate_resume_nonboot_cpu_disable(void);
int arch_hibernation_header_save(void *addr, unsigned int max_size);
int arch_hibernation_header_restore(void *addr);
#else /* CONFIG_HIBERNATION */ #else /* CONFIG_HIBERNATION */
static inline void register_nosave_region(unsigned long b, unsigned long e) {} static inline void register_nosave_region(unsigned long b, unsigned long e) {}
static inline int swsusp_page_is_forbidden(struct page *p) { return 0; } static inline int swsusp_page_is_forbidden(struct page *p) { return 0; }

View File

@ -26,9 +26,6 @@ extern void __init hibernate_image_size_init(void);
/* Maximum size of architecture specific data in a hibernation header */ /* Maximum size of architecture specific data in a hibernation header */
#define MAX_ARCH_HEADER_SIZE (sizeof(struct new_utsname) + 4) #define MAX_ARCH_HEADER_SIZE (sizeof(struct new_utsname) + 4)
extern int arch_hibernation_header_save(void *addr, unsigned int max_size);
extern int arch_hibernation_header_restore(void *addr);
static inline int init_header_complete(struct swsusp_info *info) static inline int init_header_complete(struct swsusp_info *info)
{ {
return arch_hibernation_header_save(info, MAX_ARCH_HEADER_SIZE); return arch_hibernation_header_save(info, MAX_ARCH_HEADER_SIZE);
@ -41,8 +38,6 @@ static inline const char *check_image_kernel(struct swsusp_info *info)
} }
#endif /* CONFIG_ARCH_HIBERNATION_HEADER */ #endif /* CONFIG_ARCH_HIBERNATION_HEADER */
extern int hibernate_resume_nonboot_cpu_disable(void);
/* /*
* Keep some memory free so that I/O operations can succeed without paging * Keep some memory free so that I/O operations can succeed without paging
* [Might this be more than 4 MB?] * [Might this be more than 4 MB?]

View File

@ -178,12 +178,6 @@ extern unsigned long highest_memmap_pfn;
*/ */
#define MAX_RECLAIM_RETRIES 16 #define MAX_RECLAIM_RETRIES 16
/*
* in mm/early_ioremap.c
*/
pgprot_t __init early_memremap_pgprot_adjust(resource_size_t phys_addr,
unsigned long size, pgprot_t prot);
/* /*
* in mm/vmscan.c: * in mm/vmscan.c:
*/ */