Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into fixes
This commit is contained in:
@@ -23,5 +23,11 @@ typedef unsigned int umode_t;
|
||||
|
||||
#define BITS_PER_LONG 64
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
typedef u64 dma_addr_t;
|
||||
typedef u64 dma64_addr_t;
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ALPHA_TYPES_H */
|
||||
|
||||
@@ -66,36 +66,6 @@ struct MAC_SCC
|
||||
# define mac_scc ((*(volatile struct SCC*)MAC_SCC_BAS))
|
||||
#endif
|
||||
|
||||
/* hardware stuff */
|
||||
|
||||
#define MACHW_DECLARE(name) unsigned name : 1
|
||||
#define MACHW_SET(name) (mac_hw_present.name = 1)
|
||||
#define MACHW_PRESENT(name) (mac_hw_present.name)
|
||||
|
||||
struct mac_hw_present {
|
||||
/* video hardware */
|
||||
/* sound hardware */
|
||||
/* disk storage interfaces */
|
||||
MACHW_DECLARE(MAC_SCSI_80); /* Directly mapped NCR5380 */
|
||||
MACHW_DECLARE(MAC_SCSI_96); /* 53c9[46] */
|
||||
MACHW_DECLARE(MAC_SCSI_96_2); /* 2nd 53c9[46] Q900 and Q950 */
|
||||
MACHW_DECLARE(IDE); /* IDE Interface */
|
||||
/* other I/O hardware */
|
||||
MACHW_DECLARE(SCC); /* Serial Communications Contr. */
|
||||
/* DMA */
|
||||
MACHW_DECLARE(SCSI_DMA); /* DMA for the NCR5380 */
|
||||
/* real time clocks */
|
||||
MACHW_DECLARE(RTC_CLK); /* clock chip */
|
||||
/* supporting hardware */
|
||||
MACHW_DECLARE(VIA1); /* Versatile Interface Ad. 1 */
|
||||
MACHW_DECLARE(VIA2); /* Versatile Interface Ad. 2 */
|
||||
MACHW_DECLARE(RBV); /* Versatile Interface Ad. 2+ */
|
||||
/* NUBUS */
|
||||
MACHW_DECLARE(NUBUS); /* NUBUS */
|
||||
};
|
||||
|
||||
extern struct mac_hw_present mac_hw_present;
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* linux/machw.h */
|
||||
|
||||
@@ -19,8 +19,6 @@
|
||||
|
||||
typedef unsigned short umode_t;
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
|
||||
@@ -58,7 +58,7 @@ extern struct mn10300_cpuinfo boot_cpu_data;
|
||||
extern void identify_cpu(struct mn10300_cpuinfo *);
|
||||
extern void print_cpu_info(struct mn10300_cpuinfo *);
|
||||
extern void dodgy_tsc(void);
|
||||
#define cpu_relax() do {} while (0)
|
||||
#define cpu_relax() barrier()
|
||||
|
||||
/*
|
||||
* User space process size: 1.75GB (default).
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _ASM_POWERPC_IO_H
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/*
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
@@ -18,6 +18,9 @@ extern int check_legacy_ioport(unsigned long base_port);
|
||||
#define _PNPWRP 0xa79
|
||||
#define PNPBIOS_BASE 0xf000
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/byteorder.h>
|
||||
@@ -744,6 +747,9 @@ static inline void * bus_to_virt(unsigned long address)
|
||||
|
||||
#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
|
||||
|
||||
void __iomem *devm_ioremap_prot(struct device *dev, resource_size_t offset,
|
||||
size_t size, unsigned long flags);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _ASM_POWERPC_IO_H */
|
||||
|
||||
@@ -59,6 +59,7 @@ struct kvm_vcpu_stat {
|
||||
u32 emulated_inst_exits;
|
||||
u32 dec_exits;
|
||||
u32 ext_intr_exits;
|
||||
u32 halt_wakeup;
|
||||
};
|
||||
|
||||
struct tlbe {
|
||||
|
||||
@@ -77,12 +77,17 @@ static inline void kvmppc_clear_exception(struct kvm_vcpu *vcpu, int exception)
|
||||
clear_bit(priority, &vcpu->arch.pending_exceptions);
|
||||
}
|
||||
|
||||
/* Helper function for "full" MSR writes. No need to call this if only EE is
|
||||
* changing. */
|
||||
static inline void kvmppc_set_msr(struct kvm_vcpu *vcpu, u32 new_msr)
|
||||
{
|
||||
if ((new_msr & MSR_PR) != (vcpu->arch.msr & MSR_PR))
|
||||
kvmppc_mmu_priv_switch(vcpu, new_msr & MSR_PR);
|
||||
|
||||
vcpu->arch.msr = new_msr;
|
||||
|
||||
if (vcpu->arch.msr & MSR_WE)
|
||||
kvm_vcpu_block(vcpu);
|
||||
}
|
||||
|
||||
#endif /* __POWERPC_KVM_PPC_H__ */
|
||||
|
||||
@@ -30,7 +30,7 @@ asmlinkage int sys_fork(unsigned long p1, unsigned long p2,
|
||||
asmlinkage int sys_vfork(unsigned long p1, unsigned long p2,
|
||||
unsigned long p3, unsigned long p4, unsigned long p5,
|
||||
unsigned long p6, struct pt_regs *regs);
|
||||
asmlinkage int sys_pipe(int __user *fildes);
|
||||
asmlinkage long sys_pipe(int __user *fildes);
|
||||
asmlinkage long sys_rt_sigaction(int sig,
|
||||
const struct sigaction __user *act,
|
||||
struct sigaction __user *oact, size_t sigsetsize);
|
||||
|
||||
@@ -104,6 +104,7 @@ struct sie_block {
|
||||
|
||||
struct kvm_vcpu_stat {
|
||||
u32 exit_userspace;
|
||||
u32 exit_null;
|
||||
u32 exit_external_request;
|
||||
u32 exit_external_interrupt;
|
||||
u32 exit_stop_request;
|
||||
|
||||
@@ -125,6 +125,17 @@ page_get_storage_key(unsigned long addr)
|
||||
return skey;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PAGE_STATES
|
||||
|
||||
struct page;
|
||||
void arch_free_page(struct page *page, int order);
|
||||
void arch_alloc_page(struct page *page, int order);
|
||||
|
||||
#define HAVE_ARCH_FREE_PAGE
|
||||
#define HAVE_ARCH_ALLOC_PAGE
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
/* to align the pointer to the (next) page boundary */
|
||||
|
||||
@@ -471,6 +471,8 @@ struct task_struct;
|
||||
extern void user_enable_single_step(struct task_struct *);
|
||||
extern void user_disable_single_step(struct task_struct *);
|
||||
|
||||
#define __ARCH_WANT_COMPAT_SYS_PTRACE
|
||||
|
||||
#define user_mode(regs) (((regs)->psw.mask & PSW_MASK_PSTATE) != 0)
|
||||
#define instruction_pointer(regs) ((regs)->psw.addr & PSW_ADDR_INSN)
|
||||
#define regs_return_value(regs)((regs)->gprs[2])
|
||||
|
||||
@@ -116,6 +116,12 @@ extern void pfault_fini(void);
|
||||
#define pfault_fini() do { } while (0)
|
||||
#endif /* CONFIG_PFAULT */
|
||||
|
||||
#ifdef CONFIG_PAGE_STATES
|
||||
extern void cmma_init(void);
|
||||
#else
|
||||
static inline void cmma_init(void) { }
|
||||
#endif
|
||||
|
||||
#define finish_arch_switch(prev) do { \
|
||||
set_fs(current->thread.mm_segment); \
|
||||
account_vtime(prev); \
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
|
||||
/* extensible setup data list node */
|
||||
struct setup_data {
|
||||
u64 next;
|
||||
u32 type;
|
||||
u32 len;
|
||||
u8 data[0];
|
||||
__u64 next;
|
||||
__u32 type;
|
||||
__u32 len;
|
||||
__u8 data[0];
|
||||
};
|
||||
|
||||
struct setup_header {
|
||||
|
||||
@@ -314,6 +314,9 @@ struct kvm_arch{
|
||||
struct page *apic_access_page;
|
||||
|
||||
gpa_t wall_clock;
|
||||
|
||||
struct page *ept_identity_pagetable;
|
||||
bool ept_identity_pagetable_done;
|
||||
};
|
||||
|
||||
struct kvm_vm_stat {
|
||||
@@ -422,6 +425,7 @@ struct kvm_x86_ops {
|
||||
struct kvm_run *run);
|
||||
|
||||
int (*set_tss_addr)(struct kvm *kvm, unsigned int addr);
|
||||
int (*get_tdp_level)(void);
|
||||
};
|
||||
|
||||
extern struct kvm_x86_ops *kvm_x86_ops;
|
||||
@@ -433,6 +437,9 @@ void kvm_mmu_destroy(struct kvm_vcpu *vcpu);
|
||||
int kvm_mmu_create(struct kvm_vcpu *vcpu);
|
||||
int kvm_mmu_setup(struct kvm_vcpu *vcpu);
|
||||
void kvm_mmu_set_nonpresent_ptes(u64 trap_pte, u64 notrap_pte);
|
||||
void kvm_mmu_set_base_ptes(u64 base_pte);
|
||||
void kvm_mmu_set_mask_ptes(u64 user_mask, u64 accessed_mask,
|
||||
u64 dirty_mask, u64 nx_mask, u64 x_mask);
|
||||
|
||||
int kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
|
||||
void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot);
|
||||
@@ -620,7 +627,7 @@ static inline void fx_restore(struct i387_fxsave_struct *image)
|
||||
asm("fxrstor (%0)":: "r" (image));
|
||||
}
|
||||
|
||||
static inline void fpu_init(void)
|
||||
static inline void fx_finit(void)
|
||||
{
|
||||
asm("finit");
|
||||
}
|
||||
@@ -644,6 +651,7 @@ static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code)
|
||||
#define ASM_VMX_VMWRITE_RSP_RDX ".byte 0x0f, 0x79, 0xd4"
|
||||
#define ASM_VMX_VMXOFF ".byte 0x0f, 0x01, 0xc4"
|
||||
#define ASM_VMX_VMXON_RAX ".byte 0xf3, 0x0f, 0xc7, 0x30"
|
||||
#define ASM_VMX_INVEPT ".byte 0x66, 0x0f, 0x38, 0x80, 0x08"
|
||||
#define ASM_VMX_INVVPID ".byte 0x66, 0x0f, 0x38, 0x81, 0x08"
|
||||
|
||||
#define MSR_IA32_TIME_STAMP_COUNTER 0x010
|
||||
|
||||
@@ -88,14 +88,7 @@ extern unsigned long pg0[];
|
||||
/* To avoid harmful races, pmd_none(x) should check only the lower when PAE */
|
||||
#define pmd_none(x) (!(unsigned long)pmd_val((x)))
|
||||
#define pmd_present(x) (pmd_val((x)) & _PAGE_PRESENT)
|
||||
|
||||
extern int pmd_bad(pmd_t pmd);
|
||||
|
||||
#define pmd_bad_v1(x) \
|
||||
(_KERNPG_TABLE != (pmd_val((x)) & ~(PAGE_MASK | _PAGE_USER)))
|
||||
#define pmd_bad_v2(x) \
|
||||
(_KERNPG_TABLE != (pmd_val((x)) & ~(PAGE_MASK | _PAGE_USER | \
|
||||
_PAGE_PSE | _PAGE_NX)))
|
||||
#define pmd_bad(x) ((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE)
|
||||
|
||||
#define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT))
|
||||
|
||||
|
||||
@@ -158,14 +158,12 @@ static inline unsigned long pgd_bad(pgd_t pgd)
|
||||
|
||||
static inline unsigned long pud_bad(pud_t pud)
|
||||
{
|
||||
return pud_val(pud) &
|
||||
~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER | _PAGE_PSE | _PAGE_NX);
|
||||
return pud_val(pud) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER);
|
||||
}
|
||||
|
||||
static inline unsigned long pmd_bad(pmd_t pmd)
|
||||
{
|
||||
return pmd_val(pmd) &
|
||||
~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER | _PAGE_PSE | _PAGE_NX);
|
||||
return pmd_val(pmd) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER);
|
||||
}
|
||||
|
||||
#define pte_none(x) (!pte_val((x)))
|
||||
|
||||
@@ -33,6 +33,19 @@ enum fid_type {
|
||||
* 32 bit parent directory inode number.
|
||||
*/
|
||||
FILEID_INO32_GEN_PARENT = 2,
|
||||
|
||||
/*
|
||||
* 32 bit block number, 16 bit partition reference,
|
||||
* 16 bit unused, 32 bit generation number.
|
||||
*/
|
||||
FILEID_UDF_WITHOUT_PARENT = 0x51,
|
||||
|
||||
/*
|
||||
* 32 bit block number, 16 bit partition reference,
|
||||
* 16 bit unused, 32 bit generation number,
|
||||
* 32 bit parent block number, 32 bit parent generation number
|
||||
*/
|
||||
FILEID_UDF_WITH_PARENT = 0x52,
|
||||
};
|
||||
|
||||
struct fid {
|
||||
@@ -43,6 +56,14 @@ struct fid {
|
||||
u32 parent_ino;
|
||||
u32 parent_gen;
|
||||
} i32;
|
||||
struct {
|
||||
u32 block;
|
||||
u16 partref;
|
||||
u16 parent_partref;
|
||||
u32 generation;
|
||||
u32 parent_block;
|
||||
u32 parent_generation;
|
||||
} udf;
|
||||
__u32 raw[0];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1289,17 +1289,12 @@ extern ssize_t vfs_readv(struct file *, const struct iovec __user *,
|
||||
extern ssize_t vfs_writev(struct file *, const struct iovec __user *,
|
||||
unsigned long, loff_t *);
|
||||
|
||||
/*
|
||||
* NOTE: write_inode, delete_inode, clear_inode, put_inode can be called
|
||||
* without the big kernel lock held in all filesystems.
|
||||
*/
|
||||
struct super_operations {
|
||||
struct inode *(*alloc_inode)(struct super_block *sb);
|
||||
void (*destroy_inode)(struct inode *);
|
||||
|
||||
void (*dirty_inode) (struct inode *);
|
||||
int (*write_inode) (struct inode *, int);
|
||||
void (*put_inode) (struct inode *);
|
||||
void (*drop_inode) (struct inode *);
|
||||
void (*delete_inode) (struct inode *);
|
||||
void (*put_super) (struct super_block *);
|
||||
@@ -1821,7 +1816,6 @@ extern void iget_failed(struct inode *);
|
||||
extern void clear_inode(struct inode *);
|
||||
extern void destroy_inode(struct inode *);
|
||||
extern struct inode *new_inode(struct super_block *);
|
||||
extern int __remove_suid(struct dentry *, int);
|
||||
extern int should_remove_suid(struct dentry *);
|
||||
extern int remove_suid(struct dentry *);
|
||||
|
||||
|
||||
+18
-17
@@ -178,17 +178,17 @@ static inline struct hd_struct *get_part(struct gendisk *gendiskp,
|
||||
|
||||
static inline void disk_stat_set_all(struct gendisk *gendiskp, int value) {
|
||||
int i;
|
||||
|
||||
for_each_possible_cpu(i)
|
||||
memset(per_cpu_ptr(gendiskp->dkstats, i), value,
|
||||
sizeof (struct disk_stats));
|
||||
sizeof(struct disk_stats));
|
||||
}
|
||||
|
||||
#define __part_stat_add(part, field, addnd) \
|
||||
(per_cpu_ptr(part->dkstats, smp_processor_id())->field += addnd)
|
||||
|
||||
#define __all_stat_add(gendiskp, field, addnd, sector) \
|
||||
#define __all_stat_add(gendiskp, part, field, addnd, sector) \
|
||||
({ \
|
||||
struct hd_struct *part = get_part(gendiskp, sector); \
|
||||
if (part) \
|
||||
__part_stat_add(part, field, addnd); \
|
||||
__disk_stat_add(gendiskp, field, addnd); \
|
||||
@@ -203,11 +203,13 @@ static inline void disk_stat_set_all(struct gendisk *gendiskp, int value) {
|
||||
res; \
|
||||
})
|
||||
|
||||
static inline void part_stat_set_all(struct hd_struct *part, int value) {
|
||||
static inline void part_stat_set_all(struct hd_struct *part, int value)
|
||||
{
|
||||
int i;
|
||||
|
||||
for_each_possible_cpu(i)
|
||||
memset(per_cpu_ptr(part->dkstats, i), value,
|
||||
sizeof(struct disk_stats));
|
||||
sizeof(struct disk_stats));
|
||||
}
|
||||
|
||||
#else /* !CONFIG_SMP */
|
||||
@@ -223,9 +225,8 @@ static inline void disk_stat_set_all(struct gendisk *gendiskp, int value)
|
||||
#define __part_stat_add(part, field, addnd) \
|
||||
(part->dkstats.field += addnd)
|
||||
|
||||
#define __all_stat_add(gendiskp, field, addnd, sector) \
|
||||
#define __all_stat_add(gendiskp, part, field, addnd, sector) \
|
||||
({ \
|
||||
struct hd_struct *part = get_part(gendiskp, sector); \
|
||||
if (part) \
|
||||
part->dkstats.field += addnd; \
|
||||
__disk_stat_add(gendiskp, field, addnd); \
|
||||
@@ -276,10 +277,10 @@ static inline void part_stat_set_all(struct hd_struct *part, int value)
|
||||
#define part_stat_sub(gendiskp, field, subnd) \
|
||||
part_stat_add(gendiskp, field, -subnd)
|
||||
|
||||
#define all_stat_add(gendiskp, field, addnd, sector) \
|
||||
#define all_stat_add(gendiskp, part, field, addnd, sector) \
|
||||
do { \
|
||||
preempt_disable(); \
|
||||
__all_stat_add(gendiskp, field, addnd, sector); \
|
||||
__all_stat_add(gendiskp, part, field, addnd, sector); \
|
||||
preempt_enable(); \
|
||||
} while (0)
|
||||
|
||||
@@ -288,15 +289,15 @@ static inline void part_stat_set_all(struct hd_struct *part, int value)
|
||||
#define all_stat_dec(gendiskp, field, sector) \
|
||||
all_stat_add(gendiskp, field, -1, sector)
|
||||
|
||||
#define __all_stat_inc(gendiskp, field, sector) \
|
||||
__all_stat_add(gendiskp, field, 1, sector)
|
||||
#define all_stat_inc(gendiskp, field, sector) \
|
||||
all_stat_add(gendiskp, field, 1, sector)
|
||||
#define __all_stat_inc(gendiskp, part, field, sector) \
|
||||
__all_stat_add(gendiskp, part, field, 1, sector)
|
||||
#define all_stat_inc(gendiskp, part, field, sector) \
|
||||
all_stat_add(gendiskp, part, field, 1, sector)
|
||||
|
||||
#define __all_stat_sub(gendiskp, field, subnd, sector) \
|
||||
__all_stat_add(gendiskp, field, -subnd, sector)
|
||||
#define all_stat_sub(gendiskp, field, subnd, sector) \
|
||||
all_stat_add(gendiskp, field, -subnd, sector)
|
||||
#define __all_stat_sub(gendiskp, part, field, subnd, sector) \
|
||||
__all_stat_add(gendiskp, part, field, -subnd, sector)
|
||||
#define all_stat_sub(gendiskp, part, field, subnd, sector) \
|
||||
all_stat_add(gendiskp, part, field, -subnd, sector)
|
||||
|
||||
/* Inlines to alloc and free disk stats in struct gendisk */
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
@@ -316,6 +316,15 @@ static inline int hrtimer_is_queued(struct hrtimer *timer)
|
||||
(HRTIMER_STATE_ENQUEUED | HRTIMER_STATE_PENDING);
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to check, whether the timer is running the callback
|
||||
* function
|
||||
*/
|
||||
static inline int hrtimer_callback_running(struct hrtimer *timer)
|
||||
{
|
||||
return timer->state & HRTIMER_STATE_CALLBACK;
|
||||
}
|
||||
|
||||
/* Forward a hrtimer so it expires after now: */
|
||||
extern u64
|
||||
hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval);
|
||||
|
||||
@@ -65,5 +65,6 @@ void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
|
||||
void devm_iounmap(struct device *dev, void __iomem *addr);
|
||||
int check_signature(const volatile void __iomem *io_addr,
|
||||
const unsigned char *signature, int length);
|
||||
void devm_ioremap_release(struct device *dev, void *res);
|
||||
|
||||
#endif /* _LINUX_IO_H */
|
||||
|
||||
@@ -67,6 +67,20 @@ static inline int task_nice_ioprio(struct task_struct *task)
|
||||
return (task_nice(task) + 20) / 5;
|
||||
}
|
||||
|
||||
/*
|
||||
* This is for the case where the task hasn't asked for a specific IO class.
|
||||
* Check for idle and rt task process, and return appropriate IO class.
|
||||
*/
|
||||
static inline int task_nice_ioclass(struct task_struct *task)
|
||||
{
|
||||
if (task->policy == SCHED_IDLE)
|
||||
return IOPRIO_CLASS_IDLE;
|
||||
else if (task->policy == SCHED_FIFO || task->policy == SCHED_RR)
|
||||
return IOPRIO_CLASS_RT;
|
||||
else
|
||||
return IOPRIO_CLASS_BE;
|
||||
}
|
||||
|
||||
/*
|
||||
* For inheritance, return the highest of the two given priorities
|
||||
*/
|
||||
|
||||
@@ -261,10 +261,12 @@ struct kgdb_io {
|
||||
|
||||
extern struct kgdb_arch arch_kgdb_ops;
|
||||
|
||||
extern unsigned long __weak kgdb_arch_pc(int exception, struct pt_regs *regs);
|
||||
|
||||
extern int kgdb_register_io_module(struct kgdb_io *local_kgdb_io_ops);
|
||||
extern void kgdb_unregister_io_module(struct kgdb_io *local_kgdb_io_ops);
|
||||
|
||||
extern int kgdb_hex2long(char **ptr, long *long_val);
|
||||
extern int kgdb_hex2long(char **ptr, unsigned long *long_val);
|
||||
extern int kgdb_mem2hex(char *mem, char *buf, int count);
|
||||
extern int kgdb_hex2mem(char *buf, char *mem, int count);
|
||||
|
||||
|
||||
@@ -1039,6 +1039,7 @@ extern void ata_eh_thaw_port(struct ata_port *ap);
|
||||
|
||||
extern void ata_eh_qc_complete(struct ata_queued_cmd *qc);
|
||||
extern void ata_eh_qc_retry(struct ata_queued_cmd *qc);
|
||||
extern void ata_eh_analyze_ncq_error(struct ata_link *link);
|
||||
|
||||
extern void ata_do_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
|
||||
ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
|
||||
@@ -1381,6 +1382,21 @@ static inline struct ata_port *ata_shost_to_port(struct Scsi_Host *host)
|
||||
return *(struct ata_port **)&host->hostdata[0];
|
||||
}
|
||||
|
||||
static inline int ata_check_ready(u8 status)
|
||||
{
|
||||
/* Some controllers report 0x77 or 0x7f during intermediate
|
||||
* not-ready stages.
|
||||
*/
|
||||
if (status == 0x77 || status == 0x7f)
|
||||
return 0;
|
||||
|
||||
/* 0xff indicates either no device or device not ready */
|
||||
if (status == 0xff)
|
||||
return -ENODEV;
|
||||
|
||||
return !(status & ATA_BUSY);
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* PMP - drivers/ata/libata-pmp.c
|
||||
|
||||
@@ -1,19 +1,31 @@
|
||||
/*
|
||||
* MV-643XX ethernet platform device data definition file.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_MV643XX_ETH_H
|
||||
#define __LINUX_MV643XX_ETH_H
|
||||
|
||||
#define MV643XX_ETH_SHARED_NAME "mv643xx_eth_shared"
|
||||
#define MV643XX_ETH_NAME "mv643xx_eth"
|
||||
#include <linux/mbus.h>
|
||||
|
||||
#define MV643XX_ETH_SHARED_NAME "mv643xx_eth"
|
||||
#define MV643XX_ETH_NAME "mv643xx_eth_port"
|
||||
#define MV643XX_ETH_SHARED_REGS 0x2000
|
||||
#define MV643XX_ETH_SHARED_REGS_SIZE 0x2000
|
||||
#define MV643XX_ETH_BAR_4 0x2220
|
||||
#define MV643XX_ETH_SIZE_REG_4 0x2224
|
||||
#define MV643XX_ETH_BASE_ADDR_ENABLE_REG 0x2290
|
||||
|
||||
struct mv643xx_eth_shared_platform_data {
|
||||
struct mbus_dram_target_info *dram;
|
||||
unsigned int t_clk;
|
||||
};
|
||||
|
||||
struct mv643xx_eth_platform_data {
|
||||
struct platform_device *shared;
|
||||
int port_number;
|
||||
|
||||
struct platform_device *shared_smi;
|
||||
|
||||
u16 force_phy_addr; /* force override if phy_addr == 0 */
|
||||
u16 phy_addr;
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
struct nf_ct_sip_master {
|
||||
unsigned int register_cseq;
|
||||
unsigned int invite_cseq;
|
||||
};
|
||||
|
||||
enum sip_expectation_classes {
|
||||
|
||||
+3
-2
@@ -44,6 +44,7 @@
|
||||
#include <linux/mod_devicetable.h>
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/compiler.h>
|
||||
@@ -474,7 +475,7 @@ extern struct pci_bus *pci_find_bus(int domain, int busnr);
|
||||
void pci_bus_add_devices(struct pci_bus *bus);
|
||||
struct pci_bus *pci_scan_bus_parented(struct device *parent, int bus,
|
||||
struct pci_ops *ops, void *sysdata);
|
||||
static inline struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops,
|
||||
static inline struct pci_bus * __devinit pci_scan_bus(int bus, struct pci_ops *ops,
|
||||
void *sysdata)
|
||||
{
|
||||
struct pci_bus *root_bus;
|
||||
@@ -666,7 +667,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
|
||||
|
||||
void pci_walk_bus(struct pci_bus *top, void (*cb)(struct pci_dev *, void *),
|
||||
void *userdata);
|
||||
int pci_cfg_space_size_ext(struct pci_dev *dev, unsigned check_exp_pcix);
|
||||
int pci_cfg_space_size_ext(struct pci_dev *dev);
|
||||
int pci_cfg_space_size(struct pci_dev *dev);
|
||||
unsigned char pci_bus_max_busnr(struct pci_bus *bus);
|
||||
|
||||
|
||||
@@ -412,6 +412,8 @@ int mdiobus_register(struct mii_bus *bus);
|
||||
void mdiobus_unregister(struct mii_bus *bus);
|
||||
void phy_sanitize_settings(struct phy_device *phydev);
|
||||
int phy_stop_interrupts(struct phy_device *phydev);
|
||||
int phy_enable_interrupts(struct phy_device *phydev);
|
||||
int phy_disable_interrupts(struct phy_device *phydev);
|
||||
|
||||
static inline int phy_read_status(struct phy_device *phydev) {
|
||||
return phydev->drv->read_status(phydev);
|
||||
@@ -447,5 +449,8 @@ int phy_register_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask,
|
||||
int (*run)(struct phy_device *));
|
||||
int phy_scan_fixups(struct phy_device *phydev);
|
||||
|
||||
int __init mdio_bus_init(void);
|
||||
void mdio_bus_exit(void);
|
||||
|
||||
extern struct bus_type mdio_bus_type;
|
||||
#endif /* __PHY_H */
|
||||
|
||||
+37
-1
@@ -158,6 +158,8 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
|
||||
}
|
||||
#endif
|
||||
|
||||
extern unsigned long long time_sync_thresh;
|
||||
|
||||
/*
|
||||
* Task state bitmask. NOTE! These bits are also
|
||||
* encoded in fs/proc/array.c: get_task_state().
|
||||
@@ -1551,6 +1553,35 @@ static inline int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)
|
||||
|
||||
extern unsigned long long sched_clock(void);
|
||||
|
||||
#ifndef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
|
||||
static inline void sched_clock_init(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline u64 sched_clock_cpu(int cpu)
|
||||
{
|
||||
return sched_clock();
|
||||
}
|
||||
|
||||
static inline void sched_clock_tick(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void sched_clock_idle_sleep_event(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void sched_clock_idle_wakeup_event(u64 delta_ns)
|
||||
{
|
||||
}
|
||||
#else
|
||||
extern void sched_clock_init(void);
|
||||
extern u64 sched_clock_cpu(int cpu);
|
||||
extern void sched_clock_tick(void);
|
||||
extern void sched_clock_idle_sleep_event(void);
|
||||
extern void sched_clock_idle_wakeup_event(u64 delta_ns);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* For kernel-internal use: high-speed (but slightly incorrect) per-cpu
|
||||
* clock constructed from sched_clock():
|
||||
@@ -1977,6 +2008,11 @@ static inline void clear_tsk_need_resched(struct task_struct *tsk)
|
||||
clear_tsk_thread_flag(tsk,TIF_NEED_RESCHED);
|
||||
}
|
||||
|
||||
static inline int test_tsk_need_resched(struct task_struct *tsk)
|
||||
{
|
||||
return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED));
|
||||
}
|
||||
|
||||
static inline int signal_pending(struct task_struct *p)
|
||||
{
|
||||
return unlikely(test_tsk_thread_flag(p,TIF_SIGPENDING));
|
||||
@@ -1991,7 +2027,7 @@ static inline int fatal_signal_pending(struct task_struct *p)
|
||||
|
||||
static inline int need_resched(void)
|
||||
{
|
||||
return unlikely(test_thread_flag(TIF_NEED_RESCHED));
|
||||
return unlikely(test_tsk_need_resched(current));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -196,12 +196,6 @@ static inline int sysfs_update_group(struct kobject *kobj,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int sysfs_update_group(struct kobject *kobj,
|
||||
const struct attribute_group *grp)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void sysfs_remove_group(struct kobject *kobj,
|
||||
const struct attribute_group *grp)
|
||||
{
|
||||
|
||||
+1
-1
@@ -210,7 +210,7 @@ int ip_dont_fragment(struct sock *sk, struct dst_entry *dst)
|
||||
{
|
||||
return (inet_sk(sk)->pmtudisc == IP_PMTUDISC_DO ||
|
||||
(inet_sk(sk)->pmtudisc == IP_PMTUDISC_WANT &&
|
||||
!(dst_metric(dst, RTAX_LOCK)&(1<<RTAX_MTU))));
|
||||
!(dst_metric_locked(dst, RTAX_MTU))));
|
||||
}
|
||||
|
||||
extern void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more);
|
||||
|
||||
+40
-8
@@ -648,14 +648,46 @@ extern void xfrm_audit_state_notfound(struct sk_buff *skb, u16 family,
|
||||
extern void xfrm_audit_state_icvfail(struct xfrm_state *x,
|
||||
struct sk_buff *skb, u8 proto);
|
||||
#else
|
||||
#define xfrm_audit_policy_add(x, r, a, se, s) do { ; } while (0)
|
||||
#define xfrm_audit_policy_delete(x, r, a, se, s) do { ; } while (0)
|
||||
#define xfrm_audit_state_add(x, r, a, se, s) do { ; } while (0)
|
||||
#define xfrm_audit_state_delete(x, r, a, se, s) do { ; } while (0)
|
||||
#define xfrm_audit_state_replay_overflow(x, s) do { ; } while (0)
|
||||
#define xfrm_audit_state_notfound_simple(s, f) do { ; } while (0)
|
||||
#define xfrm_audit_state_notfound(s, f, sp, sq) do { ; } while (0)
|
||||
#define xfrm_audit_state_icvfail(x, s, p) do { ; } while (0)
|
||||
|
||||
static inline void xfrm_audit_policy_add(struct xfrm_policy *xp, int result,
|
||||
u32 auid, u32 ses, u32 secid)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_policy_delete(struct xfrm_policy *xp, int result,
|
||||
u32 auid, u32 ses, u32 secid)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_state_add(struct xfrm_state *x, int result,
|
||||
u32 auid, u32 ses, u32 secid)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_state_delete(struct xfrm_state *x, int result,
|
||||
u32 auid, u32 ses, u32 secid)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_state_replay_overflow(struct xfrm_state *x,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_state_notfound_simple(struct sk_buff *skb,
|
||||
u16 family)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_state_notfound(struct sk_buff *skb, u16 family,
|
||||
__be32 net_spi, __be32 net_seq)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void xfrm_audit_state_icvfail(struct xfrm_state *x,
|
||||
struct sk_buff *skb, u8 proto)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_AUDITSYSCALL */
|
||||
|
||||
static inline void xfrm_pol_hold(struct xfrm_policy *policy)
|
||||
|
||||
Reference in New Issue
Block a user