Merge branch 'linux-2.6'
This commit is contained in:
commit
c2a7dcad9f
367 changed files with 4090 additions and 2766 deletions
|
@ -72,25 +72,29 @@ IO_CONCAT(__IO_PREFIX,writew)(u16 b, volatile void __iomem *a)
|
|||
__EXTERN_INLINE u8
|
||||
IO_CONCAT(__IO_PREFIX,readb)(const volatile void __iomem *a)
|
||||
{
|
||||
return IO_CONCAT(__IO_PREFIX,ioread8)((void __iomem *)a);
|
||||
void __iomem *addr = (void __iomem *)a;
|
||||
return IO_CONCAT(__IO_PREFIX,ioread8)(addr);
|
||||
}
|
||||
|
||||
__EXTERN_INLINE u16
|
||||
IO_CONCAT(__IO_PREFIX,readw)(const volatile void __iomem *a)
|
||||
{
|
||||
return IO_CONCAT(__IO_PREFIX,ioread16)((void __iomem *)a);
|
||||
void __iomem *addr = (void __iomem *)a;
|
||||
return IO_CONCAT(__IO_PREFIX,ioread16)(addr);
|
||||
}
|
||||
|
||||
__EXTERN_INLINE void
|
||||
IO_CONCAT(__IO_PREFIX,writeb)(u8 b, volatile void __iomem *a)
|
||||
{
|
||||
IO_CONCAT(__IO_PREFIX,iowrite8)(b, (void __iomem *)a);
|
||||
void __iomem *addr = (void __iomem *)a;
|
||||
IO_CONCAT(__IO_PREFIX,iowrite8)(b, addr);
|
||||
}
|
||||
|
||||
__EXTERN_INLINE void
|
||||
IO_CONCAT(__IO_PREFIX,writew)(u16 b, volatile void __iomem *a)
|
||||
{
|
||||
IO_CONCAT(__IO_PREFIX,iowrite16)(b, (void __iomem *)a);
|
||||
void __iomem *addr = (void __iomem *)a;
|
||||
IO_CONCAT(__IO_PREFIX,iowrite16)(b, addr);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1784,6 +1784,7 @@
|
|||
#define CCCR_M_MASK 0x0060 /* Memory Frequency to Run Mode Frequency Multiplier */
|
||||
#define CCCR_L_MASK 0x001f /* Crystal Frequency to Memory Frequency Multiplier */
|
||||
|
||||
#define CKEN_AC97CONF (31) /* AC97 Controller Configuration */
|
||||
#define CKEN_CAMERA (24) /* Camera Interface Clock Enable */
|
||||
#define CKEN_SSP1 (23) /* SSP1 Unit Clock Enable */
|
||||
#define CKEN_MEMC (22) /* Memory Controller Clock Enable */
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#define _ASM_GENERIC__TLB_H
|
||||
|
||||
#include <linux/swap.h>
|
||||
#include <linux/quicklist.h>
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
|
@ -85,6 +86,9 @@ tlb_flush_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
|
|||
static inline void
|
||||
tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
|
||||
{
|
||||
#ifdef CONFIG_QUICKLIST
|
||||
tlb->need_flush += &__get_cpu_var(quicklist)[0].nr_pages != 0;
|
||||
#endif
|
||||
tlb_flush_mmu(tlb, start, end);
|
||||
|
||||
/* keep the page table cache within bounds */
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef _ASM_H8300_TIMEX_H
|
||||
#define _ASM_H8300_TIMEX_H
|
||||
|
||||
#define CLOCK_TICK_RATE CONFIG_CPU_CLOCK*1000/8192 /* Timer input freq. */
|
||||
#define CLOCK_TICK_RATE (CONFIG_CPU_CLOCK*1000/8192) /* Timer input freq. */
|
||||
|
||||
typedef unsigned long cycles_t;
|
||||
extern short h8300_timer_count;
|
||||
|
|
|
@ -124,10 +124,21 @@ clear_bit_unlock (int nr, volatile void *addr)
|
|||
/**
|
||||
* __clear_bit_unlock - Non-atomically clear a bit with release
|
||||
*
|
||||
* This is like clear_bit_unlock, but the implementation may use a non-atomic
|
||||
* store (this one uses an atomic, however).
|
||||
* This is like clear_bit_unlock, but the implementation uses a store
|
||||
* with release semantics. See also __raw_spin_unlock().
|
||||
*/
|
||||
#define __clear_bit_unlock clear_bit_unlock
|
||||
static __inline__ void
|
||||
__clear_bit_unlock(int nr, volatile void *addr)
|
||||
{
|
||||
__u32 mask, new;
|
||||
volatile __u32 *m;
|
||||
|
||||
m = (volatile __u32 *)addr + (nr >> 5);
|
||||
mask = ~(1 << (nr & 31));
|
||||
new = *m & mask;
|
||||
barrier();
|
||||
ia64_st4_rel_nta(m, new);
|
||||
}
|
||||
|
||||
/**
|
||||
* __clear_bit - Clears a bit in memory (non-atomic version)
|
||||
|
|
|
@ -191,6 +191,11 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__;
|
|||
asm volatile ("ldf.fill %0=[%1]" :"=f"(__f__): "r"(x)); \
|
||||
})
|
||||
|
||||
#define ia64_st4_rel_nta(m, val) \
|
||||
({ \
|
||||
asm volatile ("st4.rel.nta [%0] = %1\n\t" :: "r"(m), "r"(val)); \
|
||||
})
|
||||
|
||||
#define ia64_stfs(x, regnum) \
|
||||
({ \
|
||||
register double __f__ asm ("f"#regnum); \
|
||||
|
|
|
@ -63,7 +63,7 @@ extern int ia64_last_device_vector;
|
|||
#define IA64_NUM_DEVICE_VECTORS (IA64_LAST_DEVICE_VECTOR - IA64_FIRST_DEVICE_VECTOR + 1)
|
||||
|
||||
#define IA64_MCA_RENDEZ_VECTOR 0xe8 /* MCA rendez interrupt */
|
||||
#define IA64_PERFMON_VECTOR 0xee /* performanc monitor interrupt vector */
|
||||
#define IA64_PERFMON_VECTOR 0xee /* performance monitor interrupt vector */
|
||||
#define IA64_TIMER_VECTOR 0xef /* use highest-prio group 15 interrupt for timer */
|
||||
#define IA64_MCA_WAKEUP_VECTOR 0xf0 /* MCA wakeup (must be >MCA_RENDEZ_VECTOR) */
|
||||
#define IA64_IPI_LOCAL_TLB_FLUSH 0xfc /* SMP flush local TLB */
|
||||
|
|
|
@ -110,6 +110,9 @@
|
|||
#define ia64_st4_rel __st4_rel
|
||||
#define ia64_st8_rel __st8_rel
|
||||
|
||||
/* FIXME: need st4.rel.nta intrinsic */
|
||||
#define ia64_st4_rel_nta __st4_rel
|
||||
|
||||
#define ia64_ld1_acq __ld1_acq
|
||||
#define ia64_ld2_acq __ld2_acq
|
||||
#define ia64_ld4_acq __ld4_acq
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (c) 2000-2006 Silicon Graphics, Inc. All Rights Reserved.
|
||||
* Copyright (c) 2000-2007 Silicon Graphics, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
|
@ -150,6 +150,35 @@ typedef enum {
|
|||
BTEFAIL_NOTAVAIL, /* BTE not available */
|
||||
} bte_result_t;
|
||||
|
||||
#define BTEFAIL_SH2_RESP_SHORT 0x1 /* bit 000001 */
|
||||
#define BTEFAIL_SH2_RESP_LONG 0x2 /* bit 000010 */
|
||||
#define BTEFAIL_SH2_RESP_DSP 0x4 /* bit 000100 */
|
||||
#define BTEFAIL_SH2_RESP_ACCESS 0x8 /* bit 001000 */
|
||||
#define BTEFAIL_SH2_CRB_TO 0x10 /* bit 010000 */
|
||||
#define BTEFAIL_SH2_NACK_LIMIT 0x20 /* bit 100000 */
|
||||
#define BTEFAIL_SH2_ALL 0x3F /* bit 111111 */
|
||||
|
||||
#define BTE_ERR_BITS 0x3FUL
|
||||
#define BTE_ERR_SHIFT 36
|
||||
#define BTE_ERR_MASK (BTE_ERR_BITS << BTE_ERR_SHIFT)
|
||||
|
||||
#define BTE_ERROR_RETRY(value) \
|
||||
(is_shub2() ? (value != BTEFAIL_SH2_CRB_TO) \
|
||||
: (value != BTEFAIL_TOUT))
|
||||
|
||||
/*
|
||||
* On shub1 BTE_ERR_MASK will always be false, so no need for is_shub2()
|
||||
*/
|
||||
#define BTE_SHUB2_ERROR(_status) \
|
||||
((_status & BTE_ERR_MASK) \
|
||||
? (((_status >> BTE_ERR_SHIFT) & BTE_ERR_BITS) | IBLS_ERROR) \
|
||||
: _status)
|
||||
|
||||
#define BTE_GET_ERROR_STATUS(_status) \
|
||||
(BTE_SHUB2_ERROR(_status) & ~IBLS_ERROR)
|
||||
|
||||
#define BTE_VALID_SH2_ERROR(value) \
|
||||
((value >= BTEFAIL_SH2_RESP_SHORT) && (value <= BTEFAIL_SH2_ALL))
|
||||
|
||||
/*
|
||||
* Structure defining a bte. An instance of this
|
||||
|
|
|
@ -86,7 +86,7 @@ xp_bte_copy(u64 src, u64 vdst, u64 len, u64 mode, void *notification)
|
|||
BUG_ON(REGION_NUMBER(vdst) != RGN_KERNEL);
|
||||
|
||||
ret = bte_copy(src, pdst, len, mode, notification);
|
||||
if (ret != BTE_SUCCESS) {
|
||||
if ((ret != BTE_SUCCESS) && BTE_ERROR_RETRY(ret)) {
|
||||
if (!in_interrupt()) {
|
||||
cond_resched();
|
||||
}
|
||||
|
@ -244,7 +244,30 @@ enum xpc_retval {
|
|||
|
||||
xpcDisconnected, /* 51: channel disconnected (closed) */
|
||||
|
||||
xpcUnknownReason /* 52: unknown reason -- must be last in list */
|
||||
xpcBteSh2Start, /* 52: BTE CRB timeout */
|
||||
|
||||
/* 53: 0x1 BTE Error Response Short */
|
||||
xpcBteSh2RspShort = xpcBteSh2Start + BTEFAIL_SH2_RESP_SHORT,
|
||||
|
||||
/* 54: 0x2 BTE Error Response Long */
|
||||
xpcBteSh2RspLong = xpcBteSh2Start + BTEFAIL_SH2_RESP_LONG,
|
||||
|
||||
/* 56: 0x4 BTE Error Response DSB */
|
||||
xpcBteSh2RspDSB = xpcBteSh2Start + BTEFAIL_SH2_RESP_DSP,
|
||||
|
||||
/* 60: 0x8 BTE Error Response Access */
|
||||
xpcBteSh2RspAccess = xpcBteSh2Start + BTEFAIL_SH2_RESP_ACCESS,
|
||||
|
||||
/* 68: 0x10 BTE Error CRB timeout */
|
||||
xpcBteSh2CRBTO = xpcBteSh2Start + BTEFAIL_SH2_CRB_TO,
|
||||
|
||||
/* 84: 0x20 BTE Error NACK limit */
|
||||
xpcBteSh2NACKLimit = xpcBteSh2Start + BTEFAIL_SH2_NACK_LIMIT,
|
||||
|
||||
/* 115: BTE end */
|
||||
xpcBteSh2End = xpcBteSh2Start + BTEFAIL_SH2_ALL,
|
||||
|
||||
xpcUnknownReason /* 116: unknown reason -- must be last in list */
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (c) 2004-2006 Silicon Graphics, Inc. All Rights Reserved.
|
||||
* Copyright (c) 2004-2007 Silicon Graphics, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
||||
|
@ -1211,6 +1211,12 @@ xpc_IPI_init(int index)
|
|||
static inline enum xpc_retval
|
||||
xpc_map_bte_errors(bte_result_t error)
|
||||
{
|
||||
if (is_shub2()) {
|
||||
if (BTE_VALID_SH2_ERROR(error))
|
||||
return xpcBteSh2Start + error;
|
||||
else
|
||||
return xpcBteUnmappedError;
|
||||
}
|
||||
switch (error) {
|
||||
case BTE_SUCCESS: return xpcSuccess;
|
||||
case BTEFAIL_DIR: return xpcBteDirectoryError;
|
||||
|
|
|
@ -92,6 +92,10 @@ void smp_local_flush_tlb(void);
|
|||
#define smp_local_flush_tlb()
|
||||
#endif
|
||||
|
||||
#define flush_tlb_kernel_range(start, end) flush_tlb_all() /* XXX fix me */
|
||||
static inline void flush_tlb_kernel_range(unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
flush_tlb_all(); /* XXX fix me */
|
||||
}
|
||||
|
||||
#endif /* _ASM_IA64_TLBFLUSH_H */
|
||||
|
|
|
@ -1680,10 +1680,11 @@ enum soc_au1200_ints {
|
|||
#define Au1500_PCI_MEM_START 0x440000000ULL
|
||||
#define Au1500_PCI_MEM_END 0x44FFFFFFFULL
|
||||
|
||||
#define PCI_IO_START (Au1500_PCI_IO_START + 0x1000)
|
||||
#define PCI_IO_END (Au1500_PCI_IO_END)
|
||||
#define PCI_MEM_START (Au1500_PCI_MEM_START)
|
||||
#define PCI_MEM_END (Au1500_PCI_MEM_END)
|
||||
#define PCI_IO_START 0x00001000
|
||||
#define PCI_IO_END 0x000FFFFF
|
||||
#define PCI_MEM_START 0x40000000
|
||||
#define PCI_MEM_END 0x4FFFFFFF
|
||||
|
||||
#define PCI_FIRST_DEVFN (0<<3)
|
||||
#define PCI_LAST_DEVFN (19<<3)
|
||||
|
||||
|
|
|
@ -41,8 +41,11 @@
|
|||
|
||||
#define NUM_AU1100_MMC_CONTROLLERS 2
|
||||
|
||||
|
||||
#define AU1100_SD_IRQ 2
|
||||
#if defined(CONFIG_SOC_AU1100)
|
||||
#define AU1100_SD_IRQ AU1100_SD_INT
|
||||
#elif defined(CONFIG_SOC_AU1200)
|
||||
#define AU1100_SD_IRQ AU1200_SD_INT
|
||||
#endif
|
||||
|
||||
|
||||
#define SD0_BASE 0xB0600000
|
||||
|
|
|
@ -698,9 +698,6 @@ typedef struct risc_timer_pram {
|
|||
#define CICR_IEN ((uint)0x00000080) /* Int. enable */
|
||||
#define CICR_SPS ((uint)0x00000001) /* SCC Spread */
|
||||
|
||||
extern void cpm_install_handler(int vec, void (*handler)(void *), void *dev_id);
|
||||
extern void cpm_free_handler(int vec);
|
||||
|
||||
#define IMAP_ADDR (get_immrbase())
|
||||
|
||||
#define CPM_PIN_INPUT 0
|
||||
|
|
|
@ -453,12 +453,12 @@ static inline int pgd_bad(pgd_t pgd) { return 0; }
|
|||
|
||||
static inline int pud_present(pud_t pud)
|
||||
{
|
||||
return pud_val(pud) & _REGION_ENTRY_ORIGIN;
|
||||
return (pud_val(pud) & _REGION_ENTRY_ORIGIN) != 0UL;
|
||||
}
|
||||
|
||||
static inline int pud_none(pud_t pud)
|
||||
{
|
||||
return pud_val(pud) & _REGION_ENTRY_INV;
|
||||
return (pud_val(pud) & _REGION_ENTRY_INV) != 0UL;
|
||||
}
|
||||
|
||||
static inline int pud_bad(pud_t pud)
|
||||
|
@ -471,12 +471,12 @@ static inline int pud_bad(pud_t pud)
|
|||
|
||||
static inline int pmd_present(pmd_t pmd)
|
||||
{
|
||||
return pmd_val(pmd) & _SEGMENT_ENTRY_ORIGIN;
|
||||
return (pmd_val(pmd) & _SEGMENT_ENTRY_ORIGIN) != 0UL;
|
||||
}
|
||||
|
||||
static inline int pmd_none(pmd_t pmd)
|
||||
{
|
||||
return pmd_val(pmd) & _SEGMENT_ENTRY_INV;
|
||||
return (pmd_val(pmd) & _SEGMENT_ENTRY_INV) != 0UL;
|
||||
}
|
||||
|
||||
static inline int pmd_bad(pmd_t pmd)
|
||||
|
|
|
@ -333,6 +333,15 @@
|
|||
|
||||
#define NR_SYSCALLS 315
|
||||
|
||||
/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
|
||||
* it never had the plain ones and there is no value to adding those
|
||||
* old versions into the syscall table.
|
||||
*/
|
||||
#define __IGNORE_setresuid
|
||||
#define __IGNORE_getresuid
|
||||
#define __IGNORE_setresgid
|
||||
#define __IGNORE_getresgid
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define __ARCH_WANT_IPC_PARSE_VERSION
|
||||
#define __ARCH_WANT_OLD_READDIR
|
||||
|
|
|
@ -709,6 +709,10 @@ extern unsigned long sun4v_mmu_tsb_ctx0(unsigned long num_descriptions,
|
|||
*/
|
||||
#define HV_FAST_MMU_DEMAP_ALL 0x24
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern void sun4v_mmu_demap_all(void);
|
||||
#endif
|
||||
|
||||
/* mmu_map_perm_addr()
|
||||
* TRAP: HV_FAST_TRAP
|
||||
* FUNCTION: HV_FAST_MMU_MAP_PERM_ADDR
|
||||
|
|
|
@ -73,7 +73,7 @@ struct kprobe_ctlblk {
|
|||
unsigned long kprobe_status;
|
||||
unsigned long kprobe_old_eflags;
|
||||
unsigned long kprobe_saved_eflags;
|
||||
long *jprobe_saved_esp;
|
||||
unsigned long *jprobe_saved_esp;
|
||||
struct pt_regs jprobe_saved_regs;
|
||||
kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
|
||||
struct prev_kprobe prev_kprobe;
|
||||
|
|
|
@ -66,7 +66,7 @@ struct kprobe_ctlblk {
|
|||
unsigned long kprobe_status;
|
||||
unsigned long kprobe_old_rflags;
|
||||
unsigned long kprobe_saved_rflags;
|
||||
long *jprobe_saved_rsp;
|
||||
unsigned long *jprobe_saved_rsp;
|
||||
struct pt_regs jprobe_saved_regs;
|
||||
kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
|
||||
struct prev_kprobe prev_kprobe;
|
||||
|
|
|
@ -7,6 +7,13 @@
|
|||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/* entries in ARCH_DLINFO: */
|
||||
#ifdef CONFIG_IA32_EMULATION
|
||||
# define AT_VECTOR_SIZE_ARCH 2
|
||||
#else
|
||||
# define AT_VECTOR_SIZE_ARCH 1
|
||||
#endif
|
||||
|
||||
#define __SAVE(reg,offset) "movq %%" #reg ",(14-" #offset ")*8(%%rsp)\n\t"
|
||||
#define __RESTORE(reg,offset) "movq (14-" #offset ")*8(%%rsp),%%" #reg "\n\t"
|
||||
|
||||
|
|
|
@ -145,7 +145,6 @@ header-y += sound.h
|
|||
header-y += taskstats.h
|
||||
header-y += telephony.h
|
||||
header-y += termios.h
|
||||
header-y += ticable.h
|
||||
header-y += times.h
|
||||
header-y += tiocl.h
|
||||
header-y += tipc.h
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
|
||||
#include <linux/types.h>
|
||||
|
||||
typedef unsigned short apm_event_t;
|
||||
typedef unsigned short apm_eventinfo_t;
|
||||
|
||||
struct apm_bios_info {
|
||||
__u16 version;
|
||||
__u16 cseg;
|
||||
|
@ -32,9 +35,6 @@ struct apm_bios_info {
|
|||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
typedef unsigned short apm_event_t;
|
||||
typedef unsigned short apm_eventinfo_t;
|
||||
|
||||
#define APM_CS (GDT_ENTRY_APMBIOS_BASE * 8)
|
||||
#define APM_CS_16 (APM_CS + 8)
|
||||
#define APM_DS (APM_CS_16 + 8)
|
||||
|
|
|
@ -190,6 +190,8 @@ enum {
|
|||
ATA_CMD_READ_LOG_EXT = 0x2f,
|
||||
ATA_CMD_PMP_READ = 0xE4,
|
||||
ATA_CMD_PMP_WRITE = 0xE8,
|
||||
ATA_CMD_CONF_OVERLAY = 0xB1,
|
||||
ATA_CMD_SEC_FREEZE_LOCK = 0xF5,
|
||||
|
||||
/* READ_LOG_EXT pages */
|
||||
ATA_LOG_SATA_NCQ = 0x10,
|
||||
|
@ -239,6 +241,19 @@ enum {
|
|||
SATA_AN = 0x05, /* Asynchronous Notification */
|
||||
SATA_DIPM = 0x03, /* Device Initiated Power Management */
|
||||
|
||||
/* feature values for SET_MAX */
|
||||
ATA_SET_MAX_ADDR = 0x00,
|
||||
ATA_SET_MAX_PASSWD = 0x01,
|
||||
ATA_SET_MAX_LOCK = 0x02,
|
||||
ATA_SET_MAX_UNLOCK = 0x03,
|
||||
ATA_SET_MAX_FREEZE_LOCK = 0x04,
|
||||
|
||||
/* feature values for DEVICE CONFIGURATION OVERLAY */
|
||||
ATA_DCO_RESTORE = 0xC0,
|
||||
ATA_DCO_FREEZE_LOCK = 0xC1,
|
||||
ATA_DCO_IDENTIFY = 0xC2,
|
||||
ATA_DCO_SET = 0xC3,
|
||||
|
||||
/* ATAPI stuff */
|
||||
ATAPI_PKT_DMA = (1 << 0),
|
||||
ATAPI_DMADIR = (1 << 2), /* ATAPI data dir:
|
||||
|
|
|
@ -115,6 +115,7 @@ struct io_restrictions {
|
|||
unsigned short max_hw_segments;
|
||||
unsigned short hardsect_size;
|
||||
unsigned int max_segment_size;
|
||||
unsigned int max_hw_sectors;
|
||||
unsigned long seg_boundary_mask;
|
||||
unsigned long bounce_pfn;
|
||||
unsigned char no_cluster; /* inverted so that 0 is default */
|
||||
|
|
|
@ -119,7 +119,7 @@ extern void elv_put_request(struct request_queue *, struct request *);
|
|||
/*
|
||||
* io scheduler registration
|
||||
*/
|
||||
extern int elv_register(struct elevator_type *);
|
||||
extern void elv_register(struct elevator_type *);
|
||||
extern void elv_unregister(struct elevator_type *);
|
||||
|
||||
/*
|
||||
|
|
|
@ -33,7 +33,7 @@ void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed);
|
|||
|
||||
extern unsigned long max_huge_pages;
|
||||
extern unsigned long hugepages_treat_as_movable;
|
||||
extern int hugetlb_dynamic_pool;
|
||||
extern unsigned long nr_overcommit_huge_pages;
|
||||
extern const unsigned long hugetlb_zero, hugetlb_infinity;
|
||||
extern int sysctl_hugetlb_shm_group;
|
||||
|
||||
|
|
|
@ -1255,6 +1255,7 @@ int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *);
|
|||
|
||||
#ifdef CONFIG_BLK_DEV_IDEDMA
|
||||
int __ide_dma_bad_drive(ide_drive_t *);
|
||||
int ide_id_dma_bug(ide_drive_t *);
|
||||
|
||||
u8 ide_find_dma_mode(ide_drive_t *, u8);
|
||||
|
||||
|
@ -1264,7 +1265,6 @@ static inline u8 ide_max_dma_mode(ide_drive_t *drive)
|
|||
}
|
||||
|
||||
void ide_dma_off(ide_drive_t *);
|
||||
void ide_dma_verbose(ide_drive_t *);
|
||||
int ide_set_dma(ide_drive_t *);
|
||||
ide_startstop_t ide_dma_intr(ide_drive_t *);
|
||||
|
||||
|
@ -1287,6 +1287,7 @@ extern void ide_dma_timeout(ide_drive_t *);
|
|||
#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */
|
||||
|
||||
#else
|
||||
static inline int ide_id_dma_bug(ide_drive_t *drive) { return 0; }
|
||||
static inline u8 ide_find_dma_mode(ide_drive_t *drive, u8 speed) { return 0; }
|
||||
static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; }
|
||||
static inline void ide_dma_off(ide_drive_t *drive) { ; }
|
||||
|
@ -1333,8 +1334,7 @@ static inline void ide_set_hwifdata (ide_hwif_t * hwif, void *data)
|
|||
hwif->hwif_data = data;
|
||||
}
|
||||
|
||||
/* ide-lib.c */
|
||||
extern char *ide_xfer_verbose(u8 xfer_rate);
|
||||
const char *ide_xfer_verbose(u8 mode);
|
||||
extern void ide_toggle_bounce(ide_drive_t *drive, int on);
|
||||
extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate);
|
||||
|
||||
|
|
|
@ -339,6 +339,13 @@ extern void
|
|||
__set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained,
|
||||
const char *name);
|
||||
|
||||
/* caller has locked the irq_desc and both params are valid */
|
||||
static inline void __set_irq_handler_unlocked(int irq,
|
||||
irq_flow_handler_t handler)
|
||||
{
|
||||
irq_desc[irq].handle_irq = handler;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set a highlevel flow handler for a given IRQ:
|
||||
*/
|
||||
|
|
|
@ -119,6 +119,8 @@ enum {
|
|||
ATA_DEF_BUSY_WAIT = 10000,
|
||||
ATA_SHORT_PAUSE = (HZ >> 6) + 1,
|
||||
|
||||
ATAPI_MAX_DRAIN = 16 << 10,
|
||||
|
||||
ATA_SHT_EMULATED = 1,
|
||||
ATA_SHT_CMD_PER_LUN = 1,
|
||||
ATA_SHT_THIS_ID = -1,
|
||||
|
@ -211,7 +213,7 @@ enum {
|
|||
|
||||
ATA_PFLAG_SUSPENDED = (1 << 17), /* port is suspended (power) */
|
||||
ATA_PFLAG_PM_PENDING = (1 << 18), /* PM operation pending */
|
||||
ATA_PFLAG_GTM_VALID = (1 << 19), /* acpi_gtm data valid */
|
||||
ATA_PFLAG_INIT_GTM_VALID = (1 << 19), /* initial gtm data valid */
|
||||
|
||||
/* struct ata_queued_cmd flags */
|
||||
ATA_QCFLAG_ACTIVE = (1 << 0), /* cmd not yet ack'd to scsi lyer */
|
||||
|
@ -498,6 +500,7 @@ struct ata_device {
|
|||
struct scsi_device *sdev; /* attached SCSI device */
|
||||
#ifdef CONFIG_ATA_ACPI
|
||||
acpi_handle acpi_handle;
|
||||
union acpi_object *gtf_cache;
|
||||
#endif
|
||||
/* n_sector is used as CLEAR_OFFSET, read comment above CLEAR_OFFSET */
|
||||
u64 n_sectors; /* size of device, if ATA */
|
||||
|
@ -653,7 +656,7 @@ struct ata_port {
|
|||
|
||||
#ifdef CONFIG_ATA_ACPI
|
||||
acpi_handle acpi_handle;
|
||||
struct ata_acpi_gtm acpi_gtm;
|
||||
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
||||
#endif
|
||||
u8 sector_buf[ATA_SECT_SIZE]; /* owned by EH */
|
||||
};
|
||||
|
@ -939,10 +942,20 @@ enum {
|
|||
|
||||
/* libata-acpi.c */
|
||||
#ifdef CONFIG_ATA_ACPI
|
||||
static inline const struct ata_acpi_gtm *ata_acpi_init_gtm(struct ata_port *ap)
|
||||
{
|
||||
if (ap->pflags & ATA_PFLAG_INIT_GTM_VALID)
|
||||
return &ap->__acpi_init_gtm;
|
||||
return NULL;
|
||||
}
|
||||
extern int ata_acpi_cbl_80wire(struct ata_port *ap);
|
||||
int ata_acpi_stm(const struct ata_port *ap, struct ata_acpi_gtm *stm);
|
||||
int ata_acpi_gtm(const struct ata_port *ap, struct ata_acpi_gtm *stm);
|
||||
int ata_acpi_stm(struct ata_port *ap, const struct ata_acpi_gtm *stm);
|
||||
int ata_acpi_gtm(struct ata_port *ap, struct ata_acpi_gtm *stm);
|
||||
#else
|
||||
static inline const struct ata_acpi_gtm *ata_acpi_init_gtm(struct ata_port *ap)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline int ata_acpi_cbl_80wire(struct ata_port *ap) { return 0; }
|
||||
#endif
|
||||
|
||||
|
@ -1013,18 +1026,18 @@ extern void ata_do_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
|
|||
* printk helpers
|
||||
*/
|
||||
#define ata_port_printk(ap, lv, fmt, args...) \
|
||||
printk(lv"ata%u: "fmt, (ap)->print_id , ##args)
|
||||
printk("%sata%u: "fmt, lv, (ap)->print_id , ##args)
|
||||
|
||||
#define ata_link_printk(link, lv, fmt, args...) do { \
|
||||
if ((link)->ap->nr_pmp_links) \
|
||||
printk(lv"ata%u.%02u: "fmt, (link)->ap->print_id, \
|
||||
printk("%sata%u.%02u: "fmt, lv, (link)->ap->print_id, \
|
||||
(link)->pmp , ##args); \
|
||||
else \
|
||||
printk(lv"ata%u: "fmt, (link)->ap->print_id , ##args); \
|
||||
printk("%sata%u: "fmt, lv, (link)->ap->print_id , ##args); \
|
||||
} while(0)
|
||||
|
||||
#define ata_dev_printk(dev, lv, fmt, args...) \
|
||||
printk(lv"ata%u.%02u: "fmt, (dev)->link->ap->print_id, \
|
||||
printk("%sata%u.%02u: "fmt, lv, (dev)->link->ap->print_id, \
|
||||
(dev)->link->pmp + (dev)->devno , ##args)
|
||||
|
||||
/*
|
||||
|
|
|
@ -118,10 +118,6 @@ struct mmc_host {
|
|||
unsigned int removed:1; /* host is being removed */
|
||||
#endif
|
||||
|
||||
unsigned int mode; /* current card mode of host */
|
||||
#define MMC_MODE_MMC 0
|
||||
#define MMC_MODE_SD 1
|
||||
|
||||
struct mmc_card *card; /* device attached to this host */
|
||||
|
||||
wait_queue_head_t wq;
|
||||
|
|
|
@ -50,7 +50,8 @@ enum nf_br_hook_priorities {
|
|||
extern int nf_bridge_copy_header(struct sk_buff *skb);
|
||||
static inline int nf_bridge_maybe_copy_header(struct sk_buff *skb)
|
||||
{
|
||||
if (skb->nf_bridge)
|
||||
if (skb->nf_bridge &&
|
||||
skb->nf_bridge->mask & (BRNF_BRIDGED | BRNF_BRIDGED_DNAT))
|
||||
return nf_bridge_copy_header(skb);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2148,6 +2148,7 @@
|
|||
#define PCI_DEVICE_ID_JMICRON_JMB365 0x2365
|
||||
#define PCI_DEVICE_ID_JMICRON_JMB366 0x2366
|
||||
#define PCI_DEVICE_ID_JMICRON_JMB368 0x2368
|
||||
#define PCI_DEVICE_ID_JMICRON_JMB38X_SD 0x2381
|
||||
|
||||
#define PCI_VENDOR_ID_KORENIX 0x1982
|
||||
#define PCI_DEVICE_ID_KORENIX_JETCARDF0 0x1600
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
/* Hey EMACS -*- linux-c -*-
|
||||
*
|
||||
* tipar/tiser/tiusb - low level driver for handling link cables
|
||||
* designed for Texas Instruments graphing calculators.
|
||||
*
|
||||
* Copyright (C) 2000-2002, Romain Lievin <roms@lpg.ticalc.org>
|
||||
*
|
||||
* Redistribution of this file is permitted under the terms of the GNU
|
||||
* Public License (GPL)
|
||||
*/
|
||||
|
||||
#ifndef _TICABLE_H
|
||||
#define _TICABLE_H 1
|
||||
|
||||
/* Internal default constants for the kernel module */
|
||||
#define TIMAXTIME 15 /* 1.5 seconds */
|
||||
#define IO_DELAY 10 /* 10 micro-seconds */
|
||||
|
||||
/* Major & minor number for character devices */
|
||||
#define TIPAR_MAJOR 115 /* 0 to 7 */
|
||||
#define TIPAR_MINOR 0
|
||||
|
||||
#define TISER_MAJOR 115 /* 8 to 15 */
|
||||
#define TISER_MINOR 8
|
||||
|
||||
#define TIUSB_MAJOR 115 /* 16 to 31 */
|
||||
#define TIUSB_MINOR 16
|
||||
|
||||
/*
|
||||
* Request values for the 'ioctl' function.
|
||||
*/
|
||||
#define IOCTL_TIPAR_DELAY _IOW('p', 0xa8, int) /* set delay */
|
||||
#define IOCTL_TIPAR_TIMEOUT _IOW('p', 0xa9, int) /* set timeout */
|
||||
|
||||
#define IOCTL_TISER_DELAY _IOW('p', 0xa0, int) /* set delay */
|
||||
#define IOCTL_TISER_TIMEOUT _IOW('p', 0xa1, int) /* set timeout */
|
||||
|
||||
#define IOCTL_TIUSB_TIMEOUT _IOW('N', 0x20, int) /* set timeout */
|
||||
#define IOCTL_TIUSB_RESET_DEVICE _IOW('N', 0x21, int) /* reset device */
|
||||
#define IOCTL_TIUSB_RESET_PIPES _IOW('N', 0x22, int) /* reset both pipes*/
|
||||
#define IOCTL_TIUSB_GET_MAXPS _IOR('N', 0x23, int) /* max packet size */
|
||||
#define IOCTL_TIUSB_GET_DEVID _IOR('N', 0x24, int) /* get device type */
|
||||
|
||||
#endif /* TICABLE_H */
|
|
@ -107,6 +107,7 @@ enum usb_interface_condition {
|
|||
* @condition: binding state of the interface: not bound, binding
|
||||
* (in probe()), bound to a driver, or unbinding (in disconnect())
|
||||
* @is_active: flag set when the interface is bound and not suspended.
|
||||
* @sysfs_files_created: sysfs attributes exist
|
||||
* @needs_remote_wakeup: flag set when the driver requires remote-wakeup
|
||||
* capability during autosuspend.
|
||||
* @dev: driver model's view of this device
|
||||
|
|
|
@ -48,7 +48,10 @@
|
|||
US_FLAG(IGNORE_DEVICE, 0x00000800) \
|
||||
/* Don't claim device */ \
|
||||
US_FLAG(CAPACITY_HEURISTICS, 0x00001000) \
|
||||
/* sometimes sizes is too big */
|
||||
/* sometimes sizes is too big */ \
|
||||
US_FLAG(MAX_SECTORS_MIN,0x00002000) \
|
||||
/* Sets max_sectors to arch min */
|
||||
|
||||
|
||||
#define US_FLAG(name, value) US_FL_##name = value ,
|
||||
enum { US_DO_ALL_FLAGS };
|
||||
|
|
|
@ -208,6 +208,8 @@ int videobuf_cgmbuf(struct videobuf_queue *q,
|
|||
int videobuf_streamon(struct videobuf_queue *q);
|
||||
int videobuf_streamoff(struct videobuf_queue *q);
|
||||
|
||||
void videobuf_stop(struct videobuf_queue *q);
|
||||
|
||||
int videobuf_read_start(struct videobuf_queue *q);
|
||||
void videobuf_read_stop(struct videobuf_queue *q);
|
||||
ssize_t videobuf_read_stream(struct videobuf_queue *q,
|
||||
|
|
|
@ -242,6 +242,9 @@ extern struct scsi_device *__scsi_device_lookup_by_target(struct scsi_target *,
|
|||
uint);
|
||||
extern void starget_for_each_device(struct scsi_target *, void *,
|
||||
void (*fn)(struct scsi_device *, void *));
|
||||
extern void __starget_for_each_device(struct scsi_target *, void *,
|
||||
void (*fn)(struct scsi_device *,
|
||||
void *));
|
||||
|
||||
/* only exposed to implement shost_for_each_device */
|
||||
extern struct scsi_device *__scsi_iterate_devices(struct Scsi_Host *,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue