Automatic merge of /spare/repo/linux-2.6/.git branch HEAD
This commit is contained in:
@@ -53,6 +53,7 @@ extern struct init_timer_opts timer_cyclone_init;
|
||||
|
||||
extern unsigned long calibrate_tsc(void);
|
||||
extern void init_cpu_khz(void);
|
||||
extern int recalibrate_cpu_khz(void);
|
||||
#ifdef CONFIG_HPET_TIMER
|
||||
extern struct init_timer_opts timer_hpet_init;
|
||||
extern unsigned long calibrate_tsc_hpet(unsigned long *tsc_hpet_quotient_ptr);
|
||||
|
||||
@@ -177,6 +177,10 @@ typedef union {
|
||||
|
||||
extern long perfmonctl(int fd, int cmd, void *arg, int narg);
|
||||
|
||||
typedef struct {
|
||||
void (*handler)(int irq, void *arg, struct pt_regs *regs);
|
||||
} pfm_intr_handler_desc_t;
|
||||
|
||||
extern void pfm_save_regs (struct task_struct *);
|
||||
extern void pfm_load_regs (struct task_struct *);
|
||||
|
||||
@@ -187,6 +191,10 @@ extern void pfm_syst_wide_update_task(struct task_struct *, unsigned long info,
|
||||
extern void pfm_inherit(struct task_struct *task, struct pt_regs *regs);
|
||||
extern void pfm_init_percpu(void);
|
||||
extern void pfm_handle_work(void);
|
||||
extern int pfm_install_alt_pmu_interrupt(pfm_intr_handler_desc_t *h);
|
||||
extern int pfm_remove_alt_pmu_interrupt(pfm_intr_handler_desc_t *h);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Reset PMD register flags
|
||||
|
||||
@@ -115,6 +115,13 @@
|
||||
#define SAL_IROUTER_INTR_XMIT SAL_CONSOLE_INTR_XMIT
|
||||
#define SAL_IROUTER_INTR_RECV SAL_CONSOLE_INTR_RECV
|
||||
|
||||
/*
|
||||
* Error Handling Features
|
||||
*/
|
||||
#define SAL_ERR_FEAT_MCA_SLV_TO_OS_INIT_SLV 0x1
|
||||
#define SAL_ERR_FEAT_LOG_SBES 0x2
|
||||
#define SAL_ERR_FEAT_MFR_OVERRIDE 0x4
|
||||
#define SAL_ERR_FEAT_SBE_THRESHOLD 0xffff0000
|
||||
|
||||
/*
|
||||
* SAL Error Codes
|
||||
@@ -341,6 +348,25 @@ ia64_sn_plat_cpei_handler(void)
|
||||
return ret_stuff.status;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set Error Handling Features
|
||||
*/
|
||||
static inline u64
|
||||
ia64_sn_plat_set_error_handling_features(void)
|
||||
{
|
||||
struct ia64_sal_retval ret_stuff;
|
||||
|
||||
ret_stuff.status = 0;
|
||||
ret_stuff.v0 = 0;
|
||||
ret_stuff.v1 = 0;
|
||||
ret_stuff.v2 = 0;
|
||||
SAL_CALL_REENTRANT(ret_stuff, SN_SAL_SET_ERROR_HANDLING_FEATURES,
|
||||
(SAL_ERR_FEAT_MCA_SLV_TO_OS_INIT_SLV | SAL_ERR_FEAT_LOG_SBES),
|
||||
0, 0, 0, 0, 0, 0);
|
||||
|
||||
return ret_stuff.status;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks for console input.
|
||||
*/
|
||||
@@ -472,7 +498,7 @@ static inline u64
|
||||
ia64_sn_pod_mode(void)
|
||||
{
|
||||
struct ia64_sal_retval isrv;
|
||||
SAL_CALL(isrv, SN_SAL_POD_MODE, 0, 0, 0, 0, 0, 0, 0);
|
||||
SAL_CALL_REENTRANT(isrv, SN_SAL_POD_MODE, 0, 0, 0, 0, 0, 0, 0);
|
||||
if (isrv.status)
|
||||
return 0;
|
||||
return isrv.v0;
|
||||
|
||||
@@ -1039,6 +1039,52 @@ typedef struct im_idma {
|
||||
#define CMXSCR_TS4CS_CLK7 0x00000006 /* SCC4 Tx Clock Source is CLK7 */
|
||||
#define CMXSCR_TS4CS_CLK8 0x00000007 /* SCC4 Tx Clock Source is CLK8 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SIUMCR - SIU Module Configuration Register 4-31
|
||||
*/
|
||||
#define SIUMCR_BBD 0x80000000 /* Bus Busy Disable */
|
||||
#define SIUMCR_ESE 0x40000000 /* External Snoop Enable */
|
||||
#define SIUMCR_PBSE 0x20000000 /* Parity Byte Select Enable */
|
||||
#define SIUMCR_CDIS 0x10000000 /* Core Disable */
|
||||
#define SIUMCR_DPPC00 0x00000000 /* Data Parity Pins Configuration*/
|
||||
#define SIUMCR_DPPC01 0x04000000 /* - " - */
|
||||
#define SIUMCR_DPPC10 0x08000000 /* - " - */
|
||||
#define SIUMCR_DPPC11 0x0c000000 /* - " - */
|
||||
#define SIUMCR_L2CPC00 0x00000000 /* L2 Cache Pins Configuration */
|
||||
#define SIUMCR_L2CPC01 0x01000000 /* - " - */
|
||||
#define SIUMCR_L2CPC10 0x02000000 /* - " - */
|
||||
#define SIUMCR_L2CPC11 0x03000000 /* - " - */
|
||||
#define SIUMCR_LBPC00 0x00000000 /* Local Bus Pins Configuration */
|
||||
#define SIUMCR_LBPC01 0x00400000 /* - " - */
|
||||
#define SIUMCR_LBPC10 0x00800000 /* - " - */
|
||||
#define SIUMCR_LBPC11 0x00c00000 /* - " - */
|
||||
#define SIUMCR_APPC00 0x00000000 /* Address Parity Pins Configuration*/
|
||||
#define SIUMCR_APPC01 0x00100000 /* - " - */
|
||||
#define SIUMCR_APPC10 0x00200000 /* - " - */
|
||||
#define SIUMCR_APPC11 0x00300000 /* - " - */
|
||||
#define SIUMCR_CS10PC00 0x00000000 /* CS10 Pin Configuration */
|
||||
#define SIUMCR_CS10PC01 0x00040000 /* - " - */
|
||||
#define SIUMCR_CS10PC10 0x00080000 /* - " - */
|
||||
#define SIUMCR_CS10PC11 0x000c0000 /* - " - */
|
||||
#define SIUMCR_BCTLC00 0x00000000 /* Buffer Control Configuration */
|
||||
#define SIUMCR_BCTLC01 0x00010000 /* - " - */
|
||||
#define SIUMCR_BCTLC10 0x00020000 /* - " - */
|
||||
#define SIUMCR_BCTLC11 0x00030000 /* - " - */
|
||||
#define SIUMCR_MMR00 0x00000000 /* Mask Masters Requests */
|
||||
#define SIUMCR_MMR01 0x00004000 /* - " - */
|
||||
#define SIUMCR_MMR10 0x00008000 /* - " - */
|
||||
#define SIUMCR_MMR11 0x0000c000 /* - " - */
|
||||
#define SIUMCR_LPBSE 0x00002000 /* LocalBus Parity Byte Select Enable*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock Control Register 9-8
|
||||
*/
|
||||
#define SCCR_PCI_MODE 0x00000100 /* PCI Mode */
|
||||
#define SCCR_PCI_MODCK 0x00000080 /* Value of PCI_MODCK pin */
|
||||
#define SCCR_PCIDF_MSK 0x00000078 /* PCI division factor */
|
||||
#define SCCR_PCIDF_SHIFT 3
|
||||
|
||||
|
||||
#endif /* __CPM2__ */
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
* Define the vendor/device ID for the MPC8265.
|
||||
*/
|
||||
#define PCI_DEVICE_ID_MPC8265 ((0x18C0 << 16) | PCI_VENDOR_ID_MOTOROLA)
|
||||
#define PCI_DEVICE_ID_MPC8272 ((0x18C1 << 16) | PCI_VENDOR_ID_MOTOROLA)
|
||||
|
||||
#define M8265_PCIBR0 0x101ac
|
||||
#define M8265_PCIBR1 0x101b0
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI_8260
|
||||
#include <syslib/m8260_pci.h>
|
||||
#include <syslib/m82xx_pci.h>
|
||||
#endif
|
||||
|
||||
/* Make sure the memory translation stuff is there if PCI not used.
|
||||
|
||||
@@ -147,9 +147,7 @@ struct device_node {
|
||||
struct device_node *sibling;
|
||||
struct device_node *next; /* next device of same type */
|
||||
struct device_node *allnext; /* next in list of all nodes */
|
||||
struct proc_dir_entry *pde; /* this node's proc directory */
|
||||
struct proc_dir_entry *name_link; /* name symlink */
|
||||
struct proc_dir_entry *addr_link; /* addr symlink */
|
||||
struct proc_dir_entry *pde; /* this node's proc directory */
|
||||
struct kref kref;
|
||||
unsigned long _flags;
|
||||
};
|
||||
@@ -174,15 +172,6 @@ static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_e
|
||||
dn->pde = de;
|
||||
}
|
||||
|
||||
static void inline set_node_name_link(struct device_node *dn, struct proc_dir_entry *de)
|
||||
{
|
||||
dn->name_link = de;
|
||||
}
|
||||
|
||||
static void inline set_node_addr_link(struct device_node *dn, struct proc_dir_entry *de)
|
||||
{
|
||||
dn->addr_link = de;
|
||||
}
|
||||
|
||||
/* OBSOLETE: Old stlye node lookup */
|
||||
extern struct device_node *find_devices(const char *name);
|
||||
|
||||
@@ -27,7 +27,7 @@ struct thread_info {
|
||||
|
||||
#endif
|
||||
|
||||
#define PREEMPT_ACTIVE 0x4000000
|
||||
#define PREEMPT_ACTIVE 0x10000000
|
||||
|
||||
/*
|
||||
* macros/functions for gaining access to the thread information structure
|
||||
|
||||
@@ -73,7 +73,7 @@ static inline struct thread_info *current_thread_info(void)
|
||||
|
||||
#define THREAD_SIZE 8192
|
||||
|
||||
#define PREEMPT_ACTIVE 0x4000000
|
||||
#define PREEMPT_ACTIVE 0x10000000
|
||||
|
||||
/* thread information flags */
|
||||
#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
|
||||
|
||||
@@ -16,4 +16,6 @@
|
||||
#define IOPTE_CACHE 0x0000000000000010UL /* Cached (in UPA E-cache) */
|
||||
#define IOPTE_WRITE 0x0000000000000002UL /* Writeable */
|
||||
|
||||
#define IOMMU_NUM_CTXS 4096
|
||||
|
||||
#endif /* !(_SPARC_IOMMU_H) */
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/iommu.h>
|
||||
|
||||
/* The abstraction used here is that there are PCI controllers,
|
||||
* each with one (Sabre) or two (PSYCHO/SCHIZO) PCI bus modules
|
||||
@@ -40,9 +41,6 @@ struct pci_iommu {
|
||||
*/
|
||||
spinlock_t lock;
|
||||
|
||||
/* Context allocator. */
|
||||
unsigned int iommu_cur_ctx;
|
||||
|
||||
/* IOMMU page table, a linear array of ioptes. */
|
||||
iopte_t *page_table; /* The page table itself. */
|
||||
int page_table_sz_bits; /* log2 of ow many pages does it map? */
|
||||
@@ -87,6 +85,10 @@ struct pci_iommu {
|
||||
u16 flush;
|
||||
} alloc_info[PBM_NCLUSTERS];
|
||||
|
||||
/* CTX allocation. */
|
||||
unsigned long ctx_lowest_free;
|
||||
unsigned long ctx_bitmap[IOMMU_NUM_CTXS / (sizeof(unsigned long) * 8)];
|
||||
|
||||
/* Here a PCI controller driver describes the areas of
|
||||
* PCI memory space where DMA to/from physical memory
|
||||
* are addressed. Drivers interrogate the PCI layer
|
||||
|
||||
@@ -98,7 +98,13 @@ extern unsigned long uml_physmem;
|
||||
|
||||
extern unsigned long to_phys(void *virt);
|
||||
extern void *to_virt(unsigned long phys);
|
||||
#define __pa(virt) to_phys((void *) virt)
|
||||
|
||||
/* Cast to unsigned long before casting to void * to avoid a warning from
|
||||
* mmap_kmem about cutting a long long down to a void *. Not sure that
|
||||
* casting is the right thing, but 32-bit UML can't have 64-bit virtual
|
||||
* addresses
|
||||
*/
|
||||
#define __pa(virt) to_phys((void *) (unsigned long) virt)
|
||||
#define __va(phys) to_virt((unsigned long) phys)
|
||||
|
||||
#define page_to_pfn(page) ((page) - mem_map)
|
||||
|
||||
@@ -114,17 +114,9 @@ extern unsigned long end_iomem;
|
||||
extern unsigned long pg0[1024];
|
||||
|
||||
/*
|
||||
* BAD_PAGETABLE is used when we need a bogus page-table, while
|
||||
* BAD_PAGE is used for a bogus page.
|
||||
*
|
||||
* ZERO_PAGE is a global shared page that is always zero: used
|
||||
* for zero-mapped memory areas etc..
|
||||
*/
|
||||
extern pte_t __bad_page(void);
|
||||
extern pte_t * __bad_pagetable(void);
|
||||
|
||||
#define BAD_PAGETABLE __bad_pagetable()
|
||||
#define BAD_PAGE __bad_page()
|
||||
|
||||
#define ZERO_PAGE(vaddr) virt_to_page(empty_zero_page)
|
||||
|
||||
|
||||
@@ -41,18 +41,17 @@ struct thread_info {
|
||||
#define init_thread_info (init_thread_union.thread_info)
|
||||
#define init_stack (init_thread_union.stack)
|
||||
|
||||
#define THREAD_SIZE ((1 << CONFIG_KERNEL_STACK_ORDER) * PAGE_SIZE)
|
||||
/* how to get the thread information struct from C */
|
||||
static inline struct thread_info *current_thread_info(void)
|
||||
{
|
||||
struct thread_info *ti;
|
||||
unsigned long mask = PAGE_SIZE *
|
||||
(1 << CONFIG_KERNEL_STACK_ORDER) - 1;
|
||||
ti = (struct thread_info *) (((unsigned long) &ti) & ~mask);
|
||||
unsigned long mask = THREAD_SIZE - 1;
|
||||
ti = (struct thread_info *) (((unsigned long) &ti) & ~mask);
|
||||
return ti;
|
||||
}
|
||||
|
||||
/* thread information allocation */
|
||||
#define THREAD_SIZE ((1 << CONFIG_KERNEL_STACK_ORDER) * PAGE_SIZE)
|
||||
#define alloc_thread_info(tsk) \
|
||||
((struct thread_info *) kmalloc(THREAD_SIZE, GFP_KERNEL))
|
||||
#define free_thread_info(ti) kfree(ti)
|
||||
@@ -62,7 +61,7 @@ static inline struct thread_info *current_thread_info(void)
|
||||
|
||||
#endif
|
||||
|
||||
#define PREEMPT_ACTIVE 0x4000000
|
||||
#define PREEMPT_ACTIVE 0x10000000
|
||||
|
||||
#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
|
||||
#define TIF_SIGPENDING 1 /* signal pending */
|
||||
|
||||
@@ -49,7 +49,7 @@ int cpufreq_unregister_notifier(struct notifier_block *nb, unsigned int list);
|
||||
/* Frequency values here are CPU kHz so that hardware which doesn't run
|
||||
* with some frequencies can complain without having to guess what per
|
||||
* cent / per mille means.
|
||||
* Maximum transition latency is in microseconds - if it's unknown,
|
||||
* Maximum transition latency is in nanoseconds - if it's unknown,
|
||||
* CPUFREQ_ETERNAL shall be used.
|
||||
*/
|
||||
|
||||
|
||||
@@ -55,19 +55,33 @@ static inline int is_zero_ether_addr(const u8 *addr)
|
||||
return !(addr[0] | addr[1] | addr[2] | addr[3] | addr[4] | addr[5]);
|
||||
}
|
||||
|
||||
/**
|
||||
* is_multicast_ether_addr - Determine if the given Ethernet address is a
|
||||
* multicast address.
|
||||
*
|
||||
* @addr: Pointer to a six-byte array containing the Ethernet address
|
||||
*
|
||||
* Return true if the address is a multicast address.
|
||||
*/
|
||||
static inline int is_multicast_ether_addr(const u8 *addr)
|
||||
{
|
||||
return addr[0] & 0x01;
|
||||
}
|
||||
|
||||
/**
|
||||
* is_valid_ether_addr - Determine if the given Ethernet address is valid
|
||||
* @addr: Pointer to a six-byte array containing the Ethernet address
|
||||
*
|
||||
* Check that the Ethernet address (MAC) is not 00:00:00:00:00:00, is not
|
||||
* a multicast address, and is not FF:FF:FF:FF:FF:FF. The multicast
|
||||
* and FF:FF:... tests are combined into the single test "!(addr[0]&1)".
|
||||
* a multicast address, and is not FF:FF:FF:FF:FF:FF.
|
||||
*
|
||||
* Return true if the address is valid.
|
||||
*/
|
||||
static inline int is_valid_ether_addr(const u8 *addr)
|
||||
{
|
||||
return !(addr[0]&1) && !is_zero_ether_addr(addr);
|
||||
/* FF:FF:FF:FF:FF:FF is a multicast address so we don't need to
|
||||
* explicitly check for it here. */
|
||||
return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,6 +97,6 @@ static inline void random_ether_addr(u8 *addr)
|
||||
addr [0] &= 0xfe; /* clear multicast bit */
|
||||
addr [0] |= 0x02; /* set local assignment bit (IEEE802) */
|
||||
}
|
||||
#endif
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _LINUX_ETHERDEVICE_H */
|
||||
|
||||
@@ -256,6 +256,7 @@ struct net_device;
|
||||
u32 ethtool_op_get_link(struct net_device *dev);
|
||||
u32 ethtool_op_get_tx_csum(struct net_device *dev);
|
||||
int ethtool_op_set_tx_csum(struct net_device *dev, u32 data);
|
||||
int ethtool_op_set_tx_hw_csum(struct net_device *dev, u32 data);
|
||||
u32 ethtool_op_get_sg(struct net_device *dev);
|
||||
int ethtool_op_set_sg(struct net_device *dev, u32 data);
|
||||
u32 ethtool_op_get_tso(struct net_device *dev);
|
||||
|
||||
@@ -67,6 +67,8 @@ int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mo
|
||||
void gameport_close(struct gameport *gameport);
|
||||
void gameport_rescan(struct gameport *gameport);
|
||||
|
||||
#if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE))
|
||||
|
||||
void __gameport_register_port(struct gameport *gameport, struct module *owner);
|
||||
static inline void gameport_register_port(struct gameport *gameport)
|
||||
{
|
||||
@@ -75,6 +77,29 @@ static inline void gameport_register_port(struct gameport *gameport)
|
||||
|
||||
void gameport_unregister_port(struct gameport *gameport);
|
||||
|
||||
void gameport_set_phys(struct gameport *gameport, const char *fmt, ...)
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
|
||||
#else
|
||||
|
||||
static inline void gameport_register_port(struct gameport *gameport)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void gameport_unregister_port(struct gameport *gameport)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void gameport_set_phys(struct gameport *gameport,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static inline struct gameport *gameport_allocate_port(void)
|
||||
{
|
||||
struct gameport *gameport = kcalloc(1, sizeof(struct gameport), GFP_KERNEL);
|
||||
@@ -92,9 +117,6 @@ static inline void gameport_set_name(struct gameport *gameport, const char *name
|
||||
strlcpy(gameport->name, name, sizeof(gameport->name));
|
||||
}
|
||||
|
||||
void gameport_set_phys(struct gameport *gameport, const char *fmt, ...)
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
|
||||
/*
|
||||
* Use the following fucntions to manipulate gameport's per-port
|
||||
* driver-specific data.
|
||||
|
||||
@@ -43,13 +43,17 @@
|
||||
#define __IRQ_MASK(x) ((1UL << (x))-1)
|
||||
|
||||
#define PREEMPT_MASK (__IRQ_MASK(PREEMPT_BITS) << PREEMPT_SHIFT)
|
||||
#define HARDIRQ_MASK (__IRQ_MASK(HARDIRQ_BITS) << HARDIRQ_SHIFT)
|
||||
#define SOFTIRQ_MASK (__IRQ_MASK(SOFTIRQ_BITS) << SOFTIRQ_SHIFT)
|
||||
#define HARDIRQ_MASK (__IRQ_MASK(HARDIRQ_BITS) << HARDIRQ_SHIFT)
|
||||
|
||||
#define PREEMPT_OFFSET (1UL << PREEMPT_SHIFT)
|
||||
#define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT)
|
||||
#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT)
|
||||
|
||||
#if PREEMPT_ACTIVE < (1 << (HARDIRQ_SHIFT + HARDIRQ_BITS))
|
||||
#error PREEMPT_ACTIVE is too low!
|
||||
#endif
|
||||
|
||||
#define hardirq_count() (preempt_count() & HARDIRQ_MASK)
|
||||
#define softirq_count() (preempt_count() & SOFTIRQ_MASK)
|
||||
#define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK))
|
||||
|
||||
@@ -29,6 +29,7 @@ struct ipv4_devconf
|
||||
int no_xfrm;
|
||||
int no_policy;
|
||||
int force_igmp_version;
|
||||
int promote_secondaries;
|
||||
void *sysctl;
|
||||
};
|
||||
|
||||
@@ -71,6 +72,7 @@ struct in_device
|
||||
#define IN_DEV_SEC_REDIRECTS(in_dev) (ipv4_devconf.secure_redirects || (in_dev)->cnf.secure_redirects)
|
||||
#define IN_DEV_IDTAG(in_dev) ((in_dev)->cnf.tag)
|
||||
#define IN_DEV_MEDIUM_ID(in_dev) ((in_dev)->cnf.medium_id)
|
||||
#define IN_DEV_PROMOTE_SECONDARIES(in_dev) (ipv4_devconf.promote_secondaries || (in_dev)->cnf.promote_secondaries)
|
||||
|
||||
#define IN_DEV_RX_REDIRECTS(in_dev) \
|
||||
((IN_DEV_FORWARD(in_dev) && \
|
||||
|
||||
@@ -410,6 +410,7 @@ extern u8 ata_chk_err(struct ata_port *ap);
|
||||
extern void ata_exec_command(struct ata_port *ap, struct ata_taskfile *tf);
|
||||
extern int ata_port_start (struct ata_port *ap);
|
||||
extern void ata_port_stop (struct ata_port *ap);
|
||||
extern void ata_host_stop (struct ata_host_set *host_set);
|
||||
extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
|
||||
extern void ata_qc_prep(struct ata_queued_cmd *qc);
|
||||
extern int ata_qc_issue_prot(struct ata_queued_cmd *qc);
|
||||
|
||||
@@ -401,7 +401,7 @@ struct net_device
|
||||
} reg_state;
|
||||
|
||||
/* Net device features */
|
||||
int features;
|
||||
unsigned long features;
|
||||
#define NETIF_F_SG 1 /* Scatter/gather IO. */
|
||||
#define NETIF_F_IP_CSUM 2 /* Can checksum only TCP/UDP over IPv4. */
|
||||
#define NETIF_F_NO_CSUM 4 /* Does not require checksum. F.e. loopack. */
|
||||
@@ -913,6 +913,7 @@ extern void dev_mc_discard(struct net_device *dev);
|
||||
extern void dev_set_promiscuity(struct net_device *dev, int inc);
|
||||
extern void dev_set_allmulti(struct net_device *dev, int inc);
|
||||
extern void netdev_state_change(struct net_device *dev);
|
||||
extern void netdev_features_change(struct net_device *dev);
|
||||
/* Load a device via the kmod */
|
||||
extern void dev_load(const char *name);
|
||||
extern void dev_mcast_init(void);
|
||||
|
||||
@@ -56,6 +56,7 @@ extern int notifier_call_chain(struct notifier_block **n, unsigned long val, voi
|
||||
#define NETDEV_CHANGEADDR 0x0008
|
||||
#define NETDEV_GOING_DOWN 0x0009
|
||||
#define NETDEV_CHANGENAME 0x000A
|
||||
#define NETDEV_FEAT_CHANGE 0x000B
|
||||
|
||||
#define SYS_DOWN 0x0001 /* Notify of system down */
|
||||
#define SYS_RESTART SYS_DOWN
|
||||
|
||||
@@ -1230,6 +1230,12 @@
|
||||
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 0x0258
|
||||
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 0x0259
|
||||
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 0x025B
|
||||
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_IDE 0x0265
|
||||
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA 0x0266
|
||||
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2 0x0267
|
||||
#define PCI_DEVICE_ID_NVIDIA_NVENET_12 0x0268
|
||||
#define PCI_DEVICE_ID_NVIDIA_NVENET_13 0x0269
|
||||
#define PCI_DEVICE_ID_NVIDIA_MCP51_AUDIO 0x026B
|
||||
#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4800 0x0280
|
||||
#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4800_8X 0x0281
|
||||
#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4800SE 0x0282
|
||||
|
||||
@@ -399,6 +399,7 @@ enum
|
||||
NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
|
||||
NET_IPV4_CONF_ARP_ANNOUNCE=18,
|
||||
NET_IPV4_CONF_ARP_IGNORE=19,
|
||||
NET_IPV4_CONF_PROMOTE_SECONDARIES=20,
|
||||
__NET_IPV4_CONF_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -181,9 +181,6 @@ static inline int ip_route_newports(struct rtable **rp, u16 sport, u16 dport,
|
||||
memcpy(&fl, &(*rp)->fl, sizeof(fl));
|
||||
fl.fl_ip_sport = sport;
|
||||
fl.fl_ip_dport = dport;
|
||||
#if defined(CONFIG_IP_ROUTE_MULTIPATH_CACHED)
|
||||
fl.flags |= FLOWI_FLAG_MULTIPATHOLDROUTE;
|
||||
#endif
|
||||
ip_rt_put(*rp);
|
||||
*rp = NULL;
|
||||
return ip_route_output_flow(rp, &fl, sk, 0);
|
||||
|
||||
Reference in New Issue
Block a user