mirror of
https://github.com/genesi/linux-legacy.git
synced 2026-09-17 12:14:24 +00:00
Merge branch 'linus' into x86/pat
This commit is contained in:
@@ -110,7 +110,6 @@ extern int __bitmap_weight(const unsigned long *bitmap, int bits);
|
||||
|
||||
extern int bitmap_scnprintf(char *buf, unsigned int len,
|
||||
const unsigned long *src, int nbits);
|
||||
extern int bitmap_scnprintf_len(unsigned int len);
|
||||
extern int __bitmap_parse(const char *buf, unsigned int buflen, int is_user,
|
||||
unsigned long *dst, int nbits);
|
||||
extern int bitmap_parse_user(const char __user *ubuf, unsigned int ulen,
|
||||
|
||||
@@ -289,13 +289,6 @@ static inline int __cpumask_scnprintf(char *buf, int len,
|
||||
return bitmap_scnprintf(buf, len, srcp->bits, nbits);
|
||||
}
|
||||
|
||||
#define cpumask_scnprintf_len(len) \
|
||||
__cpumask_scnprintf_len((len))
|
||||
static inline int __cpumask_scnprintf_len(int len)
|
||||
{
|
||||
return bitmap_scnprintf_len(len);
|
||||
}
|
||||
|
||||
#define cpumask_parse_user(ubuf, ulen, dst) \
|
||||
__cpumask_parse_user((ubuf), (ulen), &(dst), NR_CPUS)
|
||||
static inline int __cpumask_parse_user(const char __user *buf, int len,
|
||||
|
||||
@@ -183,7 +183,6 @@ struct class {
|
||||
struct module *owner;
|
||||
|
||||
struct kset subsys;
|
||||
struct list_head children;
|
||||
struct list_head devices;
|
||||
struct list_head interfaces;
|
||||
struct kset class_dirs;
|
||||
|
||||
@@ -109,6 +109,7 @@ struct fuse_file_lock {
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
#define FUSE_FILE_OPS (1 << 2)
|
||||
#define FUSE_ATOMIC_O_TRUNC (1 << 3)
|
||||
#define FUSE_BIG_WRITES (1 << 5)
|
||||
|
||||
/**
|
||||
* Release flags
|
||||
|
||||
@@ -525,7 +525,7 @@ struct unixware_disklabel {
|
||||
#define ADDPART_FLAG_RAID 1
|
||||
#define ADDPART_FLAG_WHOLEDISK 2
|
||||
|
||||
extern dev_t blk_lookup_devt(const char *name);
|
||||
extern dev_t blk_lookup_devt(const char *name, int part);
|
||||
extern char *disk_name (struct gendisk *hd, int part, char *buf);
|
||||
|
||||
extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev);
|
||||
@@ -553,7 +553,7 @@ static inline struct block_device *bdget_disk(struct gendisk *disk, int index)
|
||||
|
||||
static inline void printk_all_partitions(void) { }
|
||||
|
||||
static inline dev_t blk_lookup_devt(const char *name)
|
||||
static inline dev_t blk_lookup_devt(const char *name, int part)
|
||||
{
|
||||
dev_t devt = MKDEV(0, 0);
|
||||
return devt;
|
||||
|
||||
@@ -965,7 +965,6 @@ typedef struct ide_task_s {
|
||||
void ide_tf_dump(const char *, struct ide_taskfile *);
|
||||
|
||||
extern void SELECT_DRIVE(ide_drive_t *);
|
||||
extern void SELECT_MASK(ide_drive_t *, int);
|
||||
|
||||
extern int drive_is_ready(ide_drive_t *);
|
||||
|
||||
@@ -1058,8 +1057,8 @@ enum {
|
||||
IDE_HFLAG_NO_SET_MODE = (1 << 9),
|
||||
/* trust BIOS for programming chipset/device for DMA */
|
||||
IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10),
|
||||
/* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */
|
||||
IDE_HFLAG_VDMA = (1 << 11),
|
||||
/* host is CS5510/CS5520 */
|
||||
IDE_HFLAG_CS5520 = (1 << 11),
|
||||
/* ATAPI DMA is unsupported */
|
||||
IDE_HFLAG_NO_ATAPI_DMA = (1 << 12),
|
||||
/* set if host is a "non-bootable" controller */
|
||||
@@ -1070,8 +1069,6 @@ enum {
|
||||
IDE_HFLAG_NO_AUTODMA = (1 << 15),
|
||||
/* host uses MMIO */
|
||||
IDE_HFLAG_MMIO = (1 << 16),
|
||||
/* host is CS5510/CS5520 */
|
||||
IDE_HFLAG_CS5520 = IDE_HFLAG_VDMA,
|
||||
/* no LBA48 */
|
||||
IDE_HFLAG_NO_LBA48 = (1 << 17),
|
||||
/* no LBA48 DMA */
|
||||
@@ -1101,6 +1098,8 @@ enum {
|
||||
IDE_HFLAG_NO_IO_32BIT = (1 << 30),
|
||||
/* never unmask IRQs */
|
||||
IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31),
|
||||
/* host uses VDMA (disabled for now) */
|
||||
IDE_HFLAG_VDMA = 0,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_OFFBOARD
|
||||
|
||||
@@ -83,16 +83,6 @@ __attribute__((format(printf,1,2)));
|
||||
static inline void __check_printsym_format(const char *fmt, ...)
|
||||
{
|
||||
}
|
||||
/* ia64 and ppc64 use function descriptors, which contain the real address */
|
||||
#if defined(CONFIG_IA64) || defined(CONFIG_PPC64)
|
||||
#define print_fn_descriptor_symbol(fmt, addr) \
|
||||
do { \
|
||||
unsigned long *__faddr = (unsigned long*) addr; \
|
||||
print_symbol(fmt, __faddr[0]); \
|
||||
} while (0)
|
||||
#else
|
||||
#define print_fn_descriptor_symbol(fmt, addr) print_symbol(fmt, addr)
|
||||
#endif
|
||||
|
||||
static inline void print_symbol(const char *fmt, unsigned long addr)
|
||||
{
|
||||
@@ -101,6 +91,20 @@ static inline void print_symbol(const char *fmt, unsigned long addr)
|
||||
__builtin_extract_return_addr((void *)addr));
|
||||
}
|
||||
|
||||
/*
|
||||
* Pretty-print a function pointer.
|
||||
*
|
||||
* ia64 and ppc64 function pointers are really function descriptors,
|
||||
* which contain a pointer the real address.
|
||||
*/
|
||||
static inline void print_fn_descriptor_symbol(const char *fmt, void *addr)
|
||||
{
|
||||
#if defined(CONFIG_IA64) || defined(CONFIG_PPC64)
|
||||
addr = *(void **)addr;
|
||||
#endif
|
||||
print_symbol(fmt, (unsigned long)addr);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_64BIT
|
||||
#define print_ip_sym(ip) \
|
||||
do { \
|
||||
|
||||
@@ -276,7 +276,17 @@ extern void print_hex_dump(const char *level, const char *prefix_str,
|
||||
const void *buf, size_t len, bool ascii);
|
||||
extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
|
||||
const void *buf, size_t len);
|
||||
#define hex_asc(x) "0123456789abcdef"[x]
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
#define pr_emerg(fmt, arg...) \
|
||||
printk(KERN_EMERG fmt, ##arg)
|
||||
|
||||
@@ -226,8 +226,17 @@ struct mm_struct {
|
||||
rwlock_t ioctx_list_lock; /* aio lock */
|
||||
struct kioctx *ioctx_list;
|
||||
#ifdef CONFIG_MM_OWNER
|
||||
struct task_struct *owner; /* The thread group leader that */
|
||||
/* owns the mm_struct. */
|
||||
/*
|
||||
* "owner" points to a task that is regarded as the canonical
|
||||
* user/owner of this mm. All of the following must be true in
|
||||
* order for it to be changed:
|
||||
*
|
||||
* current == mm->owner
|
||||
* current->mm != mm
|
||||
* new_owner->mm == mm
|
||||
* new_owner->alloc_lock is held
|
||||
*/
|
||||
struct task_struct *owner;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
||||
@@ -93,14 +93,16 @@ struct wireless_dev;
|
||||
* used.
|
||||
*/
|
||||
|
||||
#if !defined(CONFIG_AX25) && !defined(CONFIG_AX25_MODULE) && !defined(CONFIG_TR)
|
||||
#define LL_MAX_HEADER 32
|
||||
#if defined(CONFIG_WLAN_80211) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
|
||||
# if defined(CONFIG_MAC80211_MESH)
|
||||
# define LL_MAX_HEADER 128
|
||||
# else
|
||||
# define LL_MAX_HEADER 96
|
||||
# endif
|
||||
#elif defined(CONFIG_TR)
|
||||
# define LL_MAX_HEADER 48
|
||||
#else
|
||||
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
|
||||
#define LL_MAX_HEADER 96
|
||||
#else
|
||||
#define LL_MAX_HEADER 48
|
||||
#endif
|
||||
# define LL_MAX_HEADER 32
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_NET_IPIP) && !defined(CONFIG_NET_IPIP_MODULE) && \
|
||||
@@ -244,11 +246,16 @@ struct hh_cache
|
||||
*
|
||||
* We could use other alignment values, but we must maintain the
|
||||
* relationship HH alignment <= LL alignment.
|
||||
*
|
||||
* LL_ALLOCATED_SPACE also takes into account the tailroom the device
|
||||
* may need.
|
||||
*/
|
||||
#define LL_RESERVED_SPACE(dev) \
|
||||
(((dev)->hard_header_len&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
|
||||
((((dev)->hard_header_len+(dev)->needed_headroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
|
||||
#define LL_RESERVED_SPACE_EXTRA(dev,extra) \
|
||||
((((dev)->hard_header_len+extra)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
|
||||
((((dev)->hard_header_len+(dev)->needed_headroom+(extra))&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
|
||||
#define LL_ALLOCATED_SPACE(dev) \
|
||||
((((dev)->hard_header_len+(dev)->needed_headroom+(dev)->needed_tailroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
|
||||
|
||||
struct header_ops {
|
||||
int (*create) (struct sk_buff *skb, struct net_device *dev,
|
||||
@@ -567,6 +574,13 @@ struct net_device
|
||||
unsigned short type; /* interface hardware type */
|
||||
unsigned short hard_header_len; /* hardware hdr length */
|
||||
|
||||
/* extra head- and tailroom the hardware may need, but not in all cases
|
||||
* can this be guaranteed, especially tailroom. Some cases also use
|
||||
* LL_MAX_HEADER instead to allocate the skb.
|
||||
*/
|
||||
unsigned short needed_headroom;
|
||||
unsigned short needed_tailroom;
|
||||
|
||||
struct net_device *master; /* Pointer to master device of a group,
|
||||
* which this device is member of.
|
||||
*/
|
||||
@@ -715,6 +729,9 @@ struct net_device
|
||||
struct net *nd_net;
|
||||
#endif
|
||||
|
||||
/* mid-layer private */
|
||||
void *ml_priv;
|
||||
|
||||
/* bridge stuff */
|
||||
struct net_bridge_port *br_port;
|
||||
/* macvlan */
|
||||
|
||||
@@ -29,5 +29,5 @@ int match_token(char *, match_table_t table, substring_t args[]);
|
||||
int match_int(substring_t *, int *result);
|
||||
int match_octal(substring_t *, int *result);
|
||||
int match_hex(substring_t *, int *result);
|
||||
void match_strcpy(char *, const substring_t *);
|
||||
size_t match_strlcpy(char *, const substring_t *, size_t);
|
||||
char *match_strdup(const substring_t *);
|
||||
|
||||
@@ -13,8 +13,14 @@
|
||||
__attribute__((__section__(".data.percpu"))) \
|
||||
PER_CPU_ATTRIBUTES __typeof__(type) per_cpu__##name
|
||||
|
||||
#ifdef MODULE
|
||||
#define SHARED_ALIGNED_SECTION ".data.percpu"
|
||||
#else
|
||||
#define SHARED_ALIGNED_SECTION ".data.percpu.shared_aligned"
|
||||
#endif
|
||||
|
||||
#define DEFINE_PER_CPU_SHARED_ALIGNED(type, name) \
|
||||
__attribute__((__section__(".data.percpu.shared_aligned"))) \
|
||||
__attribute__((__section__(SHARED_ALIGNED_SECTION))) \
|
||||
PER_CPU_ATTRIBUTES __typeof__(type) per_cpu__##name \
|
||||
____cacheline_aligned_in_smp
|
||||
#else
|
||||
|
||||
@@ -2027,7 +2027,7 @@ static inline int fatal_signal_pending(struct task_struct *p)
|
||||
|
||||
static inline int need_resched(void)
|
||||
{
|
||||
return unlikely(test_tsk_need_resched(current));
|
||||
return unlikely(test_thread_flag(TIF_NEED_RESCHED));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2038,7 +2038,7 @@ static inline int need_resched(void)
|
||||
* cond_resched_softirq() will enable bhs before scheduling.
|
||||
*/
|
||||
extern int _cond_resched(void);
|
||||
#ifdef CONFIG_PREEMPT
|
||||
#ifdef CONFIG_PREEMPT_BKL
|
||||
static inline int cond_resched(void)
|
||||
{
|
||||
return 0;
|
||||
|
||||
150
include/linux/usb/association.h
Normal file
150
include/linux/usb/association.h
Normal file
@@ -0,0 +1,150 @@
|
||||
/*
|
||||
* Wireless USB - Cable Based Association
|
||||
*
|
||||
* Copyright (C) 2006 Intel Corporation
|
||||
* Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License version
|
||||
* 2 as published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
#ifndef __LINUX_USB_ASSOCIATION_H
|
||||
#define __LINUX_USB_ASSOCIATION_H
|
||||
|
||||
|
||||
/*
|
||||
* Association attributes
|
||||
*
|
||||
* Association Models Supplement to WUSB 1.0 T[3-1]
|
||||
*
|
||||
* Each field in the structures has it's ID, it's length and then the
|
||||
* value. This is the actual definition of the field's ID and its
|
||||
* length.
|
||||
*/
|
||||
struct wusb_am_attr {
|
||||
__u8 id;
|
||||
__u8 len;
|
||||
};
|
||||
|
||||
/* Different fields defined by the spec */
|
||||
#define WUSB_AR_AssociationTypeId { .id = 0x0000, .len = 2 }
|
||||
#define WUSB_AR_AssociationSubTypeId { .id = 0x0001, .len = 2 }
|
||||
#define WUSB_AR_Length { .id = 0x0002, .len = 4 }
|
||||
#define WUSB_AR_AssociationStatus { .id = 0x0004, .len = 4 }
|
||||
#define WUSB_AR_LangID { .id = 0x0008, .len = 2 }
|
||||
#define WUSB_AR_DeviceFriendlyName { .id = 0x000b, .len = 64 } /* max */
|
||||
#define WUSB_AR_HostFriendlyName { .id = 0x000c, .len = 64 } /* max */
|
||||
#define WUSB_AR_CHID { .id = 0x1000, .len = 16 }
|
||||
#define WUSB_AR_CDID { .id = 0x1001, .len = 16 }
|
||||
#define WUSB_AR_ConnectionContext { .id = 0x1002, .len = 48 }
|
||||
#define WUSB_AR_BandGroups { .id = 0x1004, .len = 2 }
|
||||
|
||||
/* CBAF Control Requests (AMS1.0[T4-1] */
|
||||
enum {
|
||||
CBAF_REQ_GET_ASSOCIATION_INFORMATION = 0x01,
|
||||
CBAF_REQ_GET_ASSOCIATION_REQUEST,
|
||||
CBAF_REQ_SET_ASSOCIATION_RESPONSE
|
||||
};
|
||||
|
||||
/*
|
||||
* CBAF USB-interface defitions
|
||||
*
|
||||
* No altsettings, one optional interrupt endpoint.
|
||||
*/
|
||||
enum {
|
||||
CBAF_IFACECLASS = 0xef,
|
||||
CBAF_IFACESUBCLASS = 0x03,
|
||||
CBAF_IFACEPROTOCOL = 0x01,
|
||||
};
|
||||
|
||||
/* Association Information (AMS1.0[T4-3]) */
|
||||
struct wusb_cbaf_assoc_info {
|
||||
__le16 Length;
|
||||
__u8 NumAssociationRequests;
|
||||
__le16 Flags;
|
||||
__u8 AssociationRequestsArray[];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Association Request (AMS1.0[T4-4]) */
|
||||
struct wusb_cbaf_assoc_request {
|
||||
__u8 AssociationDataIndex;
|
||||
__u8 Reserved;
|
||||
__le16 AssociationTypeId;
|
||||
__le16 AssociationSubTypeId;
|
||||
__le32 AssociationTypeInfoSize;
|
||||
} __attribute__((packed));
|
||||
|
||||
enum {
|
||||
AR_TYPE_WUSB = 0x0001,
|
||||
AR_TYPE_WUSB_RETRIEVE_HOST_INFO = 0x0000,
|
||||
AR_TYPE_WUSB_ASSOCIATE = 0x0001,
|
||||
};
|
||||
|
||||
/* Association Attribute header (AMS1.0[3.8]) */
|
||||
struct wusb_cbaf_attr_hdr {
|
||||
__le16 id;
|
||||
__le16 len;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Host Info (AMS1.0[T4-7]) (yeah, more headers and fields...) */
|
||||
struct wusb_cbaf_host_info {
|
||||
struct wusb_cbaf_attr_hdr AssociationTypeId_hdr;
|
||||
__le16 AssociationTypeId;
|
||||
struct wusb_cbaf_attr_hdr AssociationSubTypeId_hdr;
|
||||
__le16 AssociationSubTypeId;
|
||||
struct wusb_cbaf_attr_hdr CHID_hdr;
|
||||
struct wusb_ckhdid CHID;
|
||||
struct wusb_cbaf_attr_hdr LangID_hdr;
|
||||
__le16 LangID;
|
||||
struct wusb_cbaf_attr_hdr HostFriendlyName_hdr;
|
||||
__u8 HostFriendlyName[];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Device Info (AMS1.0[T4-8])
|
||||
*
|
||||
* I still don't get this tag'n'header stuff for each goddamn
|
||||
* field...
|
||||
*/
|
||||
struct wusb_cbaf_device_info {
|
||||
struct wusb_cbaf_attr_hdr Length_hdr;
|
||||
__le32 Length;
|
||||
struct wusb_cbaf_attr_hdr CDID_hdr;
|
||||
struct wusb_ckhdid CDID;
|
||||
struct wusb_cbaf_attr_hdr BandGroups_hdr;
|
||||
__le16 BandGroups;
|
||||
struct wusb_cbaf_attr_hdr LangID_hdr;
|
||||
__le16 LangID;
|
||||
struct wusb_cbaf_attr_hdr DeviceFriendlyName_hdr;
|
||||
__u8 DeviceFriendlyName[];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Connection Context; CC_DATA - Success case (AMS1.0[T4-9]) */
|
||||
struct wusb_cbaf_cc_data {
|
||||
struct wusb_cbaf_attr_hdr AssociationTypeId_hdr;
|
||||
__le16 AssociationTypeId;
|
||||
struct wusb_cbaf_attr_hdr AssociationSubTypeId_hdr;
|
||||
__le16 AssociationSubTypeId;
|
||||
struct wusb_cbaf_attr_hdr Length_hdr;
|
||||
__le32 Length;
|
||||
struct wusb_cbaf_attr_hdr ConnectionContext_hdr;
|
||||
struct wusb_ckhdid CHID;
|
||||
struct wusb_ckhdid CDID;
|
||||
struct wusb_ckhdid CK;
|
||||
struct wusb_cbaf_attr_hdr BandGroups_hdr;
|
||||
__le16 BandGroups;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* CC_DATA - Failure case (AMS1.0[T4-10]) */
|
||||
struct wusb_cbaf_cc_data_fail {
|
||||
struct wusb_cbaf_attr_hdr AssociationTypeId_hdr;
|
||||
__le16 AssociationTypeId;
|
||||
struct wusb_cbaf_attr_hdr AssociationSubTypeId_hdr;
|
||||
__le16 AssociationSubTypeId;
|
||||
struct wusb_cbaf_attr_hdr Length_hdr;
|
||||
__le16 Length;
|
||||
struct wusb_cbaf_attr_hdr AssociationStatus_hdr;
|
||||
__u32 AssociationStatus;
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* __LINUX_USB_ASSOCIATION_H */
|
||||
Reference in New Issue
Block a user