/drivers/include/linux/asm/types.h |
---|
9,12 → 9,6 |
#ifndef __ASSEMBLY__ |
typedef u64 dma64_addr_t; |
#if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) |
/* DMA addresses come in 32-bit and 64-bit flavours. */ |
typedef u64 dma_addr_t; |
#else |
typedef u32 dma_addr_t; |
#endif |
#endif /* __ASSEMBLY__ */ |
#endif /* __KERNEL__ */ |
/drivers/include/linux/bitmap.h |
---|
55,7 → 55,8 |
* bitmap_parse(buf, buflen, dst, nbits) Parse bitmap dst from kernel buf |
* bitmap_parse_user(ubuf, ulen, dst, nbits) Parse bitmap dst from user buf |
* bitmap_scnlistprintf(buf, len, src, nbits) Print bitmap src as list to buf |
* bitmap_parselist(buf, dst, nbits) Parse bitmap dst from list |
* bitmap_parselist(buf, dst, nbits) Parse bitmap dst from kernel buf |
* bitmap_parselist_user(buf, dst, nbits) Parse bitmap dst from user buf |
* bitmap_find_free_region(bitmap, bits, order) Find and allocate bit region |
* bitmap_release_region(bitmap, pos, order) Free specified bit region |
* bitmap_allocate_region(bitmap, pos, order) Allocate specified bit region |
129,6 → 130,8 |
const unsigned long *src, int nbits); |
extern int bitmap_parselist(const char *buf, unsigned long *maskp, |
int nmaskbits); |
extern int bitmap_parselist_user(const char __user *ubuf, unsigned int ulen, |
unsigned long *dst, int nbits); |
extern void bitmap_remap(unsigned long *dst, const unsigned long *src, |
const unsigned long *old, const unsigned long *new, int bits); |
extern int bitmap_bitremap(int oldbit, |
/drivers/include/linux/bitops.h |
---|
109,6 → 109,17 |
return (word >> shift) | (word << (8 - shift)); |
} |
/** |
* sign_extend32 - sign extend a 32-bit value using specified bit as sign-bit |
* @value: value to sign extend |
* @index: 0 based bit index (0<=index<32) to sign bit |
*/ |
static inline __s32 sign_extend32(__u32 value, int index) |
{ |
__u8 shift = 31 - index; |
return (__s32)(value << shift) >> shift; |
} |
static inline unsigned fls_long(unsigned long l) |
{ |
if (sizeof(l) == 4) |
137,7 → 148,7 |
#ifdef __KERNEL__ |
#ifdef CONFIG_GENERIC_FIND_LAST_BIT |
#ifndef find_last_bit |
/** |
* find_last_bit - find the last set bit in a memory region |
* @addr: The address to start the search at |
147,7 → 158,7 |
*/ |
extern unsigned long find_last_bit(const unsigned long *addr, |
unsigned long size); |
#endif /* CONFIG_GENERIC_FIND_LAST_BIT */ |
#endif |
#endif /* __KERNEL__ */ |
#endif |
/drivers/include/linux/compiler-gcc.h |
---|
34,8 → 34,12 |
__asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ |
(typeof(ptr)) (__ptr + (off)); }) |
#ifdef __CHECKER__ |
#define __must_be_array(arr) 0 |
#else |
/* &a[0] degrades to a pointer: a different type from an array */ |
#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) |
#endif |
/* |
* Force always-inline if the user requests it so via the .config, |
92,3 → 96,11 |
#if !defined(__noclone) |
#define __noclone /* not needed */ |
#endif |
/* |
* A trick to suppress uninitialized variable warning without generating any |
* code |
*/ |
#define uninitialized_var(x) x = x |
#define __always_inline inline __attribute__((always_inline)) |
/drivers/include/linux/compiler-gcc3.h |
---|
21,11 → 21,3 |
# error "GCOV profiling support for gcc versions below 3.4 not included" |
# endif /* __GNUC_MINOR__ */ |
#endif /* CONFIG_GCOV_KERNEL */ |
/* |
* A trick to suppress uninitialized variable warning without generating any |
* code |
*/ |
#define uninitialized_var(x) x = x |
#define __always_inline inline __attribute__((always_inline)) |
/drivers/include/linux/compiler-gcc4.h |
---|
12,14 → 12,7 |
#define __used __attribute__((__used__)) |
#define __must_check __attribute__((warn_unused_result)) |
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) |
#define __always_inline inline __attribute__((always_inline)) |
/* |
* A trick to suppress uninitialized variable warning without generating any |
* code |
*/ |
#define uninitialized_var(x) x = x |
#if __GNUC_MINOR__ >= 3 |
/* Mark functions as cold. gcc will assume any path leading to a call |
to them will be unlikely. This means a lot of manual unlikely()s |
53,13 → 46,12 |
#define __noclone __attribute__((__noclone__)) |
#endif |
#endif |
#if __GNUC_MINOR__ > 0 |
#define __compiletime_object_size(obj) __builtin_object_size(obj, 0) |
#endif |
#if __GNUC_MINOR__ >= 4 |
#if __GNUC_MINOR__ >= 4 && !defined(__CHECKER__) |
#define __compiletime_warning(message) __attribute__((warning(message))) |
#define __compiletime_error(message) __attribute__((error(message))) |
#endif |
/drivers/include/linux/fb.h |
---|
151,6 → 151,8 |
#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */ |
#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */ |
#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */ |
struct fb_fix_screeninfo { |
char id[16]; /* identification string eg "TT Builtin" */ |
unsigned long smem_start; /* Start of frame buffer mem */ |
404,6 → 406,7 |
#include <linux/list.h> |
#include <linux/mutex.h> |
//#include <linux/backlight.h> |
#include <linux/slab.h> |
//#include <asm/io.h> |
struct vm_area_struct; |
531,7 → 534,7 |
#define FB_EVENT_GET_CONSOLE_MAP 0x07 |
/* CONSOLE-SPECIFIC: set console to framebuffer mapping */ |
#define FB_EVENT_SET_CONSOLE_MAP 0x08 |
/* A hardware display blank change occured */ |
/* A hardware display blank change occurred */ |
#define FB_EVENT_BLANK 0x09 |
/* Private modelist is to be replaced */ |
#define FB_EVENT_NEW_MODELIST 0x0A |
538,7 → 541,7 |
/* The resolution of the passed in fb_info about to change and |
all vc's should be changed */ |
#define FB_EVENT_MODE_CHANGE_ALL 0x0B |
/* A software display blank change occured */ |
/* A software display blank change occurred */ |
#define FB_EVENT_CONBLANK 0x0C |
/* Get drawing requirements */ |
#define FB_EVENT_GET_REQ 0x0D |
795,7 → 798,7 |
/* A driver may set this flag to indicate that it does want a set_par to be |
* called every time when fbcon_switch is executed. The advantage is that with |
* this flag set you can really be sure that set_par is always called before |
* any of the functions dependant on the correct hardware state or altering |
* any of the functions dependent on the correct hardware state or altering |
* that state, even if you are using some broken X releases. The disadvantage |
* is that it introduces unwanted delays to every console switch if set_par |
* is slow. It is a good idea to try this flag in the drivers initialization |
822,6 → 825,7 |
#define FBINFO_CAN_FORCE_OUTPUT 0x200000 |
struct fb_info { |
atomic_t count; |
int node; |
int flags; |
struct mutex lock; /* Lock for open/release/ioctl funcs */ |
867,7 → 871,7 |
void *fbcon_par; /* fbcon use-only private area */ |
/* From here on everything is device dependent */ |
void *par; |
/* we need the PCI or similiar aperture base/size not |
/* we need the PCI or similar aperture base/size not |
smem_start/size as smem_start may just be an object |
allocated inside the aperture so may not actually overlap */ |
struct apertures_struct { |
/drivers/include/linux/firmware.h |
---|
1,10 → 1,10 |
#ifndef _LINUX_FIRMWARE_H |
#define _LINUX_FIRMWARE_H |
#include <linux/module.h> |
#include <linux/types.h> |
#include <linux/compiler.h> |
#include <linux/kernel.h> |
#include <linux/module.h> |
#define FW_ACTION_NOHOTPLUG 0 |
#define FW_ACTION_HOTPLUG 1 |
/drivers/include/linux/i2c.h |
---|
52,8 → 52,8 |
/** |
* struct i2c_driver - represent an I2C device driver |
* @class: What kind of i2c device we instantiate (for detect) |
* @attach_adapter: Callback for bus addition (for legacy drivers) |
* @detach_adapter: Callback for bus removal (for legacy drivers) |
* @attach_adapter: Callback for bus addition (deprecated) |
* @detach_adapter: Callback for bus removal (deprecated) |
* @probe: Callback for device binding |
* @remove: Callback for device unbinding |
* @shutdown: Callback for device shutdown |
94,8 → 94,8 |
* removed. You should avoid using this, it will be removed in a |
* near future. |
*/ |
int (*attach_adapter)(struct i2c_adapter *); |
int (*detach_adapter)(struct i2c_adapter *); |
int (*attach_adapter)(struct i2c_adapter *) __deprecated; |
int (*detach_adapter)(struct i2c_adapter *) __deprecated; |
/* Standard driver model interfaces */ |
int (*probe)(struct i2c_client *, const struct i2c_device_id *); |
252,7 → 252,7 |
}; |
#define to_i2c_adapter(d) container_of(d, struct i2c_adapter, dev) |
static inline void *i2c_get_adapdata(const struct i2c_adapter *dev) |
static inline void *i2c_get_adapdata(struct i2c_adapter *dev) |
{ |
return dev_get_drvdata(&dev->dev); |
} |
/drivers/include/linux/kernel.h |
---|
11,6 → 11,7 |
#include <linux/stddef.h> |
#include <linux/types.h> |
#include <linux/compiler.h> |
#include <linux/bitops.h> |
#define USHRT_MAX ((u16)(~0U)) |
#define SHRT_MAX ((s16)(USHRT_MAX>>1)) |
54,7 → 55,21 |
#define KERN_NOTICE "<5>" /* normal but significant condition */ |
#define KERN_INFO "<6>" /* informational */ |
#define KERN_DEBUG "<7>" /* debug-level messages */ |
extern const char hex_asc[]; |
#define hex_asc_lo(x) hex_asc[((x) & 0x0f)] |
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4] |
static inline char *pack_hex_byte(char *buf, u8 byte) |
{ |
*buf++ = hex_asc_hi(byte); |
*buf++ = hex_asc_lo(byte); |
return buf; |
} |
extern int hex_to_bin(char ch); |
extern void hex2bin(u8 *dst, const char *src, size_t count); |
//int printk(const char *fmt, ...); |
#define printk(fmt, arg...) dbgprintf(fmt , ##arg) |
77,6 → 92,52 |
(void) (&_max1 == &_max2); \ |
_max1 > _max2 ? _max1 : _max2; }) |
#define min3(x, y, z) ({ \ |
typeof(x) _min1 = (x); \ |
typeof(y) _min2 = (y); \ |
typeof(z) _min3 = (z); \ |
(void) (&_min1 == &_min2); \ |
(void) (&_min1 == &_min3); \ |
_min1 < _min2 ? (_min1 < _min3 ? _min1 : _min3) : \ |
(_min2 < _min3 ? _min2 : _min3); }) |
#define max3(x, y, z) ({ \ |
typeof(x) _max1 = (x); \ |
typeof(y) _max2 = (y); \ |
typeof(z) _max3 = (z); \ |
(void) (&_max1 == &_max2); \ |
(void) (&_max1 == &_max3); \ |
_max1 > _max2 ? (_max1 > _max3 ? _max1 : _max3) : \ |
(_max2 > _max3 ? _max2 : _max3); }) |
/** |
* min_not_zero - return the minimum that is _not_ zero, unless both are zero |
* @x: value1 |
* @y: value2 |
*/ |
#define min_not_zero(x, y) ({ \ |
typeof(x) __x = (x); \ |
typeof(y) __y = (y); \ |
__x == 0 ? __y : ((__y == 0) ? __x : min(__x, __y)); }) |
/** |
* clamp - return a value clamped to a given range with strict typechecking |
* @val: current value |
* @min: minimum allowable value |
* @max: maximum allowable value |
* |
* This macro does strict typechecking of min/max to make sure they are of the |
* same type as val. See the unnecessary pointer comparisons. |
*/ |
#define clamp(val, min, max) ({ \ |
typeof(val) __val = (val); \ |
typeof(min) __min = (min); \ |
typeof(max) __max = (max); \ |
(void) (&__val == &__min); \ |
(void) (&__val == &__max); \ |
__val = __val < __min ? __min: __val; \ |
__val > __max ? __max: __val; }) |
/* |
* ..and if you can't take the strict |
* types, you can specify one yourself. |
112,18 → 173,7 |
return kzalloc(n * size, 0); |
} |
extern const char hex_asc[]; |
#define hex_asc_lo(x) hex_asc[((x) & 0x0f)] |
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4] |
static inline char *pack_hex_byte(char *buf, u8 byte) |
{ |
*buf++ = hex_asc_hi(byte); |
*buf++ = hex_asc_lo(byte); |
return buf; |
} |
void free (void *ptr); |
#endif /* __KERNEL__ */ |
/drivers/include/linux/kref.h |
---|
24,5 → 24,7 |
void kref_init(struct kref *kref); |
void kref_get(struct kref *kref); |
int kref_put(struct kref *kref, void (*release) (struct kref *kref)); |
int kref_sub(struct kref *kref, unsigned int count, |
void (*release) (struct kref *kref)); |
#endif /* _KREF_H_ */ |
/drivers/include/linux/list.h |
---|
5,8 → 5,6 |
#include <linux/stddef.h> |
#include <linux/poison.h> |
#define prefetch(x) __builtin_prefetch(x) |
/* |
* Simple doubly linked list implementation. |
* |
97,6 → 95,11 |
* in an undefined state. |
*/ |
#ifndef CONFIG_DEBUG_LIST |
static inline void __list_del_entry(struct list_head *entry) |
{ |
__list_del(entry->prev, entry->next); |
} |
static inline void list_del(struct list_head *entry) |
{ |
__list_del(entry->prev, entry->next); |
104,6 → 107,7 |
entry->prev = LIST_POISON2; |
} |
#else |
extern void __list_del_entry(struct list_head *entry); |
extern void list_del(struct list_head *entry); |
#endif |
136,7 → 140,7 |
*/ |
static inline void list_del_init(struct list_head *entry) |
{ |
__list_del(entry->prev, entry->next); |
__list_del_entry(entry); |
INIT_LIST_HEAD(entry); |
} |
147,7 → 151,7 |
*/ |
static inline void list_move(struct list_head *list, struct list_head *head) |
{ |
__list_del(list->prev, list->next); |
__list_del_entry(list); |
list_add(list, head); |
} |
159,7 → 163,7 |
static inline void list_move_tail(struct list_head *list, |
struct list_head *head) |
{ |
__list_del(list->prev, list->next); |
__list_del_entry(list); |
list_add_tail(list, head); |
} |
362,8 → 366,7 |
* @head: the head for your list. |
*/ |
#define list_for_each(pos, head) \ |
for (pos = (head)->next; prefetch(pos->next), pos != (head); \ |
pos = pos->next) |
for (pos = (head)->next; pos != (head); pos = pos->next) |
/** |
* __list_for_each - iterate over a list |
370,10 → 373,8 |
* @pos: the &struct list_head to use as a loop cursor. |
* @head: the head for your list. |
* |
* This variant differs from list_for_each() in that it's the |
* simplest possible list iteration code, no prefetching is done. |
* Use this for code that knows the list to be very short (empty |
* or 1 entry) most of the time. |
* This variant doesn't differ from list_for_each() any more. |
* We don't do prefetching in either case. |
*/ |
#define __list_for_each(pos, head) \ |
for (pos = (head)->next; pos != (head); pos = pos->next) |
384,8 → 385,7 |
* @head: the head for your list. |
*/ |
#define list_for_each_prev(pos, head) \ |
for (pos = (head)->prev; prefetch(pos->prev), pos != (head); \ |
pos = pos->prev) |
for (pos = (head)->prev; pos != (head); pos = pos->prev) |
/** |
* list_for_each_safe - iterate over a list safe against removal of list entry |
405,7 → 405,7 |
*/ |
#define list_for_each_prev_safe(pos, n, head) \ |
for (pos = (head)->prev, n = pos->prev; \ |
prefetch(pos->prev), pos != (head); \ |
pos != (head); \ |
pos = n, n = pos->prev) |
/** |
416,7 → 416,7 |
*/ |
#define list_for_each_entry(pos, head, member) \ |
for (pos = list_entry((head)->next, typeof(*pos), member); \ |
prefetch(pos->member.next), &pos->member != (head); \ |
&pos->member != (head); \ |
pos = list_entry(pos->member.next, typeof(*pos), member)) |
/** |
427,7 → 427,7 |
*/ |
#define list_for_each_entry_reverse(pos, head, member) \ |
for (pos = list_entry((head)->prev, typeof(*pos), member); \ |
prefetch(pos->member.prev), &pos->member != (head); \ |
&pos->member != (head); \ |
pos = list_entry(pos->member.prev, typeof(*pos), member)) |
/** |
452,7 → 452,7 |
*/ |
#define list_for_each_entry_continue(pos, head, member) \ |
for (pos = list_entry(pos->member.next, typeof(*pos), member); \ |
prefetch(pos->member.next), &pos->member != (head); \ |
&pos->member != (head); \ |
pos = list_entry(pos->member.next, typeof(*pos), member)) |
/** |
466,7 → 466,7 |
*/ |
#define list_for_each_entry_continue_reverse(pos, head, member) \ |
for (pos = list_entry(pos->member.prev, typeof(*pos), member); \ |
prefetch(pos->member.prev), &pos->member != (head); \ |
&pos->member != (head); \ |
pos = list_entry(pos->member.prev, typeof(*pos), member)) |
/** |
478,7 → 478,7 |
* Iterate over list of given type, continuing from current position. |
*/ |
#define list_for_each_entry_from(pos, head, member) \ |
for (; prefetch(pos->member.next), &pos->member != (head); \ |
for (; &pos->member != (head); \ |
pos = list_entry(pos->member.next, typeof(*pos), member)) |
/** |
659,8 → 659,7 |
#define hlist_entry(ptr, type, member) container_of(ptr,type,member) |
#define hlist_for_each(pos, head) \ |
for (pos = (head)->first; pos && ({ prefetch(pos->next); 1; }); \ |
pos = pos->next) |
for (pos = (head)->first; pos ; pos = pos->next) |
#define hlist_for_each_safe(pos, n, head) \ |
for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \ |
675,7 → 674,7 |
*/ |
#define hlist_for_each_entry(tpos, pos, head, member) \ |
for (pos = (head)->first; \ |
pos && ({ prefetch(pos->next); 1;}) && \ |
pos && \ |
({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ |
pos = pos->next) |
687,7 → 686,7 |
*/ |
#define hlist_for_each_entry_continue(tpos, pos, member) \ |
for (pos = (pos)->next; \ |
pos && ({ prefetch(pos->next); 1;}) && \ |
pos && \ |
({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ |
pos = pos->next) |
698,7 → 697,7 |
* @member: the name of the hlist_node within the struct. |
*/ |
#define hlist_for_each_entry_from(tpos, pos, member) \ |
for (; pos && ({ prefetch(pos->next); 1;}) && \ |
for (; pos && \ |
({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \ |
pos = pos->next) |
/drivers/include/linux/lockdep.h |
---|
430,16 → 430,8 |
#endif /* CONFIG_LOCKDEP */ |
#ifdef CONFIG_TRACE_IRQFLAGS |
extern void early_boot_irqs_off(void); |
extern void early_boot_irqs_on(void); |
extern void print_irqtrace_events(struct task_struct *curr); |
#else |
static inline void early_boot_irqs_off(void) |
{ |
} |
static inline void early_boot_irqs_on(void) |
{ |
} |
static inline void print_irqtrace_events(struct task_struct *curr) |
{ |
} |
489,12 → 481,15 |
#ifdef CONFIG_DEBUG_LOCK_ALLOC |
# ifdef CONFIG_PROVE_LOCKING |
# define mutex_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 2, NULL, i) |
# define mutex_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 2, n, i) |
# else |
# define mutex_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 1, NULL, i) |
# define mutex_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 1, n, i) |
# endif |
# define mutex_release(l, n, i) lock_release(l, n, i) |
#else |
# define mutex_acquire(l, s, t, i) do { } while (0) |
# define mutex_acquire_nest(l, s, t, n, i) do { } while (0) |
# define mutex_release(l, n, i) do { } while (0) |
#endif |
516,12 → 511,15 |
#ifdef CONFIG_DEBUG_LOCK_ALLOC |
# ifdef CONFIG_PROVE_LOCKING |
# define lock_map_acquire(l) lock_acquire(l, 0, 0, 0, 2, NULL, _THIS_IP_) |
# define lock_map_acquire_read(l) lock_acquire(l, 0, 0, 2, 2, NULL, _THIS_IP_) |
# else |
# define lock_map_acquire(l) lock_acquire(l, 0, 0, 0, 1, NULL, _THIS_IP_) |
# define lock_map_acquire_read(l) lock_acquire(l, 0, 0, 2, 1, NULL, _THIS_IP_) |
# endif |
# define lock_map_release(l) lock_release(l, 1, _THIS_IP_) |
#else |
# define lock_map_acquire(l) do { } while (0) |
# define lock_map_acquire_read(l) do { } while (0) |
# define lock_map_release(l) do { } while (0) |
#endif |
/drivers/include/linux/mod_devicetable.h |
---|
382,6 → 382,23 |
#define SSB_ANY_ID 0xFFFF |
#define SSB_ANY_REV 0xFF |
/* Broadcom's specific AMBA core, see drivers/bcma/ */ |
struct bcma_device_id { |
__u16 manuf; |
__u16 id; |
__u8 rev; |
__u8 class; |
}; |
#define BCMA_CORE(_manuf, _id, _rev, _class) \ |
{ .manuf = _manuf, .id = _id, .rev = _rev, .class = _class, } |
#define BCMA_CORETABLE_END \ |
{ 0, }, |
#define BCMA_ANY_MANUF 0xFFFF |
#define BCMA_ANY_ID 0xFFFF |
#define BCMA_ANY_REV 0xFF |
#define BCMA_ANY_CLASS 0xFF |
struct virtio_device_id { |
__u32 device; |
__u32 vendor; |
/drivers/include/linux/module.h |
---|
1,7 → 1,11 |
#ifndef _LINUX_MODULE_H |
#define _LINUX_MODULE_H |
/* |
* Dynamic loading of modules into the kernel. |
* |
* Rewritten by Richard Henderson <rth@tamu.edu> Dec 1996 |
* Rewritten again by Rusty Russell, 2002 |
*/ |
#include <linux/list.h> |
#include <linux/compiler.h> |
#include <linux/kernel.h> |
19,4 → 23,3 |
struct module {}; |
#endif /* _LINUX_MODULE_H */ |
/drivers/include/linux/pci.h |
---|
14,12 → 14,14 |
* PCI System Design Guide |
*/ |
#ifndef LINUX_PCI_H |
#define LINUX_PCI_H |
#include <types.h> |
#include <list.h> |
#ifndef __PCI_H__ |
#define __PCI_H__ |
#define PCI_ANY_ID (~0) |
/drivers/include/linux/pci_regs.h |
---|
223,7 → 223,7 |
#define PCI_PM_CAP_PME_CLOCK 0x0008 /* PME clock required */ |
#define PCI_PM_CAP_RESERVED 0x0010 /* Reserved field */ |
#define PCI_PM_CAP_DSI 0x0020 /* Device specific initialization */ |
#define PCI_PM_CAP_AUX_POWER 0x01C0 /* Auxilliary power support mask */ |
#define PCI_PM_CAP_AUX_POWER 0x01C0 /* Auxiliary power support mask */ |
#define PCI_PM_CAP_D1 0x0200 /* D1 power state support */ |
#define PCI_PM_CAP_D2 0x0400 /* D2 power state support */ |
#define PCI_PM_CAP_PME 0x0800 /* PME pin supported */ |
300,13 → 300,23 |
#define PCI_MSI_DATA_64 12 /* 16 bits of data for 64-bit devices */ |
#define PCI_MSI_MASK_64 16 /* Mask bits register for 64-bit devices */ |
/* MSI-X registers (these are at offset PCI_MSIX_FLAGS) */ |
/* MSI-X registers */ |
#define PCI_MSIX_FLAGS 2 |
#define PCI_MSIX_FLAGS_QSIZE 0x7FF |
#define PCI_MSIX_FLAGS_ENABLE (1 << 15) |
#define PCI_MSIX_FLAGS_MASKALL (1 << 14) |
#define PCI_MSIX_TABLE 4 |
#define PCI_MSIX_PBA 8 |
#define PCI_MSIX_FLAGS_BIRMASK (7 << 0) |
/* MSI-X entry's format */ |
#define PCI_MSIX_ENTRY_SIZE 16 |
#define PCI_MSIX_ENTRY_LOWER_ADDR 0 |
#define PCI_MSIX_ENTRY_UPPER_ADDR 4 |
#define PCI_MSIX_ENTRY_DATA 8 |
#define PCI_MSIX_ENTRY_VECTOR_CTRL 12 |
#define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 |
/* CompactPCI Hotswap Register */ |
#define PCI_CHSWP_CSR 2 /* Control and Status Register */ |
425,7 → 435,7 |
#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ |
#define PCI_EXP_LNKCAP_L1EL 0x00038000 /* L1 Exit Latency */ |
#define PCI_EXP_LNKCAP_CLKPM 0x00040000 /* L1 Clock Power Management */ |
#define PCI_EXP_LNKCAP_SDERC 0x00080000 /* Suprise Down Error Reporting Capable */ |
#define PCI_EXP_LNKCAP_SDERC 0x00080000 /* Surprise Down Error Reporting Capable */ |
#define PCI_EXP_LNKCAP_DLLLARC 0x00100000 /* Data Link Layer Link Active Reporting Capable */ |
#define PCI_EXP_LNKCAP_LBNC 0x00200000 /* Link Bandwidth Notification Capability */ |
#define PCI_EXP_LNKCAP_PN 0xff000000 /* Port Number */ |
494,10 → 504,22 |
#define PCI_EXP_RTCTL_CRSSVE 0x10 /* CRS Software Visibility Enable */ |
#define PCI_EXP_RTCAP 30 /* Root Capabilities */ |
#define PCI_EXP_RTSTA 32 /* Root Status */ |
#define PCI_EXP_RTSTA_PME 0x10000 /* PME status */ |
#define PCI_EXP_RTSTA_PENDING 0x20000 /* PME pending */ |
#define PCI_EXP_DEVCAP2 36 /* Device Capabilities 2 */ |
#define PCI_EXP_DEVCAP2_ARI 0x20 /* Alternative Routing-ID */ |
#define PCI_EXP_DEVCAP2_LTR 0x800 /* Latency tolerance reporting */ |
#define PCI_EXP_OBFF_MASK 0xc0000 /* OBFF support mechanism */ |
#define PCI_EXP_OBFF_MSG 0x40000 /* New message signaling */ |
#define PCI_EXP_OBFF_WAKE 0x80000 /* Re-use WAKE# for OBFF */ |
#define PCI_EXP_DEVCTL2 40 /* Device Control 2 */ |
#define PCI_EXP_DEVCTL2_ARI 0x20 /* Alternative Routing-ID */ |
#define PCI_EXP_IDO_REQ_EN 0x100 /* ID-based ordering request enable */ |
#define PCI_EXP_IDO_CMP_EN 0x200 /* ID-based ordering completion enable */ |
#define PCI_EXP_LTR_EN 0x400 /* Latency tolerance reporting */ |
#define PCI_EXP_OBFF_MSGA_EN 0x2000 /* OBFF enable with Message type A */ |
#define PCI_EXP_OBFF_MSGB_EN 0x4000 /* OBFF enable with Message type B */ |
#define PCI_EXP_OBFF_WAKE_EN 0x6000 /* OBFF using WAKE# signaling */ |
#define PCI_EXP_LNKCTL2 48 /* Link Control 2 */ |
#define PCI_EXP_SLTCTL2 56 /* Slot Control 2 */ |
515,6 → 537,7 |
#define PCI_EXT_CAP_ID_ARI 14 |
#define PCI_EXT_CAP_ID_ATS 15 |
#define PCI_EXT_CAP_ID_SRIOV 16 |
#define PCI_EXT_CAP_ID_LTR 24 |
/* Advanced Error Reporting */ |
#define PCI_ERR_UNCOR_STATUS 4 /* Uncorrectable Error Status */ |
671,6 → 694,12 |
#define PCI_SRIOV_VFM_MO 0x2 /* Active.MigrateOut */ |
#define PCI_SRIOV_VFM_AV 0x3 /* Active.Available */ |
#define PCI_LTR_MAX_SNOOP_LAT 0x4 |
#define PCI_LTR_MAX_NOSNOOP_LAT 0x6 |
#define PCI_LTR_VALUE_MASK 0x000003ff |
#define PCI_LTR_SCALE_MASK 0x00001c00 |
#define PCI_LTR_SCALE_SHIFT 10 |
/* Access Control Service */ |
#define PCI_ACS_CAP 0x04 /* ACS Capability Register */ |
#define PCI_ACS_SV 0x01 /* Source Validation */ |
/drivers/include/linux/seq_file.h |
---|
1,3 → 1,8 |
/* stub */ |
#ifndef _LINUX_SEQ_FILE_H |
#define _LINUX_SEQ_FILE_H |
#include <errno.h> |
#endif |
/drivers/include/linux/spinlock.h |
---|
8,13 → 8,13 |
* |
* on SMP builds: |
* |
* asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the |
* asm/spinlock_types.h: contains the arch_spinlock_t/arch_rwlock_t and the |
* initializers |
* |
* linux/spinlock_types.h: |
* defines the generic type and initializers |
* |
* asm/spinlock.h: contains the __raw_spin_*()/etc. lowlevel |
* asm/spinlock.h: contains the arch_spin_*()/etc. lowlevel |
* implementations, mostly inline assembly code |
* |
* (also included on UP-debug builds:) |
34,7 → 34,7 |
* defines the generic type and initializers |
* |
* linux/spinlock_up.h: |
* contains the __raw_spin_*()/etc. version of UP |
* contains the arch_spin_*()/etc. version of UP |
* builds. (which are NOPs on non-debug, non-preempt |
* builds) |
* |
60,7 → 60,7 |
/* |
* Must define these before including other files, inline functions need them |
*/ |
#define LOCK_SECTION_NAME ".text.lock."KBUILD_BASENAME |
#define LOCK_SECTION_NAME ".text..lock."KBUILD_BASENAME |
#define LOCK_SECTION_START(extra) \ |
".subsection 1\n\t" \ |
75,12 → 75,12 |
#define __lockfunc __attribute__((section(".spinlock.text"))) |
/* |
* Pull the raw_spinlock_t and raw_rwlock_t definitions: |
* Pull the arch_spinlock_t and arch_rwlock_t definitions: |
*/ |
#include <linux/spinlock_types.h> |
/* |
* Pull the __raw*() functions/declarations (UP-nondebug doesnt need them): |
* Pull the arch_spin*() functions/declarations (UP-nondebug doesn't need them): |
*/ |
#ifdef CONFIG_SMP |
# include <asm/spinlock.h> |
/drivers/include/linux/string.h |
---|
123,6 → 123,7 |
extern void argv_free(char **argv); |
extern bool sysfs_streq(const char *s1, const char *s2); |
extern int strtobool(const char *s, bool *res); |
#ifdef CONFIG_BINARY_PRINTF |
int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args); |
/drivers/include/linux/types.h |
---|
150,6 → 150,12 |
#define pgoff_t unsigned long |
#endif |
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT |
typedef u64 dma_addr_t; |
#else |
typedef u32 dma_addr_t; |
#endif /* dma_addr_t */ |
#endif /* __KERNEL__ */ |
/* |
370,8 → 376,3 |
#define PCI_DEVICE_ID_ATI_RADEON_QY 0x5159 |
#endif /* _LINUX_TYPES_H */ |