diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-04-08 13:34:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-08 13:34:54 -0400 |
commit | 0f2df9eac70423838a1f8d410fd3899ddd88317b (patch) | |
tree | 0617f723320d83eca5cef9c964c001014e74213f /include/linux | |
parent | 8c11e4ab09ffb975a89802dde0e9aa52a53b8aa5 (diff) | |
parent | 1144601118507f8b3b676a9a392584d216d3f2cc (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge
Conflicts:
Documentation/feature-removal-schedule.txt
drivers/net/wireless/ath/ath5k/phy.c
drivers/net/wireless/iwlwifi/iwl-4965.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/net/wireless/iwlwifi/iwl-tx.c
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/Kbuild | 2 | ||||
-rw-r--r-- | include/linux/ata.h | 3 | ||||
-rw-r--r-- | include/linux/blkdev.h | 65 | ||||
-rw-r--r-- | include/linux/cciss_defs.h | 130 | ||||
-rw-r--r-- | include/linux/cciss_ioctl.h | 128 | ||||
-rw-r--r-- | include/linux/clocksource.h | 5 | ||||
-rw-r--r-- | include/linux/davinci_emac.h | 39 | ||||
-rw-r--r-- | include/linux/ethtool.h | 24 | ||||
-rw-r--r-- | include/linux/gameport.h | 1 | ||||
-rw-r--r-- | include/linux/gpio_keys.h | 1 | ||||
-rw-r--r-- | include/linux/i2c-pnx.h | 19 | ||||
-rw-r--r-- | include/linux/i2c/twl.h | 4 | ||||
-rw-r--r-- | include/linux/i2o.h | 2 | ||||
-rw-r--r-- | include/linux/input.h | 17 | ||||
-rw-r--r-- | include/linux/input/sh_keysc.h | 7 | ||||
-rw-r--r-- | include/linux/iocontext.h | 2 | ||||
-rw-r--r-- | include/linux/irq.h | 2 | ||||
-rw-r--r-- | include/linux/kbd_kern.h | 3 | ||||
-rw-r--r-- | include/linux/libata.h | 5 | ||||
-rw-r--r-- | include/linux/omapfb.h | 9 | ||||
-rw-r--r-- | include/linux/pktcdvd.h | 10 | ||||
-rw-r--r-- | include/linux/sched.h | 4 | ||||
-rw-r--r-- | include/linux/serio.h | 1 | ||||
-rw-r--r-- | include/linux/snmp.h | 2 | ||||
-rw-r--r-- | include/linux/timex.h | 3 | ||||
-rw-r--r-- | include/linux/usb/audio.h | 120 | ||||
-rw-r--r-- | include/linux/usb/musb.h | 3 | ||||
-rw-r--r-- | include/linux/usb/otg.h | 10 |
28 files changed, 417 insertions, 204 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index d93080748a91..e2ea0b2159cd 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -43,6 +43,7 @@ header-y += blkpg.h | |||
43 | header-y += bpqether.h | 43 | header-y += bpqether.h |
44 | header-y += bsg.h | 44 | header-y += bsg.h |
45 | header-y += can.h | 45 | header-y += can.h |
46 | header-y += cciss_defs.h | ||
46 | header-y += cdk.h | 47 | header-y += cdk.h |
47 | header-y += chio.h | 48 | header-y += chio.h |
48 | header-y += coda_psdev.h | 49 | header-y += coda_psdev.h |
@@ -125,6 +126,7 @@ header-y += nfs2.h | |||
125 | header-y += nfs4_mount.h | 126 | header-y += nfs4_mount.h |
126 | header-y += nfs_mount.h | 127 | header-y += nfs_mount.h |
127 | header-y += nl80211.h | 128 | header-y += nl80211.h |
129 | header-y += omapfb.h | ||
128 | header-y += param.h | 130 | header-y += param.h |
129 | header-y += pci_regs.h | 131 | header-y += pci_regs.h |
130 | header-y += perf_event.h | 132 | header-y += perf_event.h |
diff --git a/include/linux/ata.h b/include/linux/ata.h index 20f31567ccee..b4c85e2adef5 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -841,7 +841,8 @@ static inline int ata_id_current_chs_valid(const u16 *id) | |||
841 | 841 | ||
842 | static inline int ata_id_is_cfa(const u16 *id) | 842 | static inline int ata_id_is_cfa(const u16 *id) |
843 | { | 843 | { |
844 | if (id[ATA_ID_CONFIG] == 0x848A) /* Traditional CF */ | 844 | if ((id[ATA_ID_CONFIG] == 0x848A) || /* Traditional CF */ |
845 | (id[ATA_ID_CONFIG] == 0x844A)) /* Delkin Devices CF */ | ||
845 | return 1; | 846 | return 1; |
846 | /* | 847 | /* |
847 | * CF specs don't require specific value in the word 0 anymore and yet | 848 | * CF specs don't require specific value in the word 0 anymore and yet |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 1896e868854f..ebd22dbed861 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -316,8 +316,7 @@ struct queue_limits { | |||
316 | unsigned int discard_alignment; | 316 | unsigned int discard_alignment; |
317 | 317 | ||
318 | unsigned short logical_block_size; | 318 | unsigned short logical_block_size; |
319 | unsigned short max_hw_segments; | 319 | unsigned short max_segments; |
320 | unsigned short max_phys_segments; | ||
321 | 320 | ||
322 | unsigned char misaligned; | 321 | unsigned char misaligned; |
323 | unsigned char discard_misaligned; | 322 | unsigned char discard_misaligned; |
@@ -462,6 +461,7 @@ struct request_queue | |||
462 | #define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */ | 461 | #define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */ |
463 | #define QUEUE_FLAG_IO_STAT 15 /* do IO stats */ | 462 | #define QUEUE_FLAG_IO_STAT 15 /* do IO stats */ |
464 | #define QUEUE_FLAG_DISCARD 16 /* supports DISCARD */ | 463 | #define QUEUE_FLAG_DISCARD 16 /* supports DISCARD */ |
464 | #define QUEUE_FLAG_NOXMERGES 17 /* No extended merges */ | ||
465 | 465 | ||
466 | #define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \ | 466 | #define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \ |
467 | (1 << QUEUE_FLAG_CLUSTER) | \ | 467 | (1 << QUEUE_FLAG_CLUSTER) | \ |
@@ -587,6 +587,8 @@ enum { | |||
587 | #define blk_queue_tagged(q) test_bit(QUEUE_FLAG_QUEUED, &(q)->queue_flags) | 587 | #define blk_queue_tagged(q) test_bit(QUEUE_FLAG_QUEUED, &(q)->queue_flags) |
588 | #define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags) | 588 | #define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags) |
589 | #define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags) | 589 | #define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags) |
590 | #define blk_queue_noxmerges(q) \ | ||
591 | test_bit(QUEUE_FLAG_NOXMERGES, &(q)->queue_flags) | ||
590 | #define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags) | 592 | #define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags) |
591 | #define blk_queue_io_stat(q) test_bit(QUEUE_FLAG_IO_STAT, &(q)->queue_flags) | 593 | #define blk_queue_io_stat(q) test_bit(QUEUE_FLAG_IO_STAT, &(q)->queue_flags) |
592 | #define blk_queue_flushing(q) ((q)->ordseq) | 594 | #define blk_queue_flushing(q) ((q)->ordseq) |
@@ -918,10 +920,27 @@ extern struct request_queue *blk_init_queue(request_fn_proc *, spinlock_t *); | |||
918 | extern void blk_cleanup_queue(struct request_queue *); | 920 | extern void blk_cleanup_queue(struct request_queue *); |
919 | extern void blk_queue_make_request(struct request_queue *, make_request_fn *); | 921 | extern void blk_queue_make_request(struct request_queue *, make_request_fn *); |
920 | extern void blk_queue_bounce_limit(struct request_queue *, u64); | 922 | extern void blk_queue_bounce_limit(struct request_queue *, u64); |
921 | extern void blk_queue_max_sectors(struct request_queue *, unsigned int); | ||
922 | extern void blk_queue_max_hw_sectors(struct request_queue *, unsigned int); | 923 | extern void blk_queue_max_hw_sectors(struct request_queue *, unsigned int); |
923 | extern void blk_queue_max_phys_segments(struct request_queue *, unsigned short); | 924 | |
924 | extern void blk_queue_max_hw_segments(struct request_queue *, unsigned short); | 925 | /* Temporary compatibility wrapper */ |
926 | static inline void blk_queue_max_sectors(struct request_queue *q, unsigned int max) | ||
927 | { | ||
928 | blk_queue_max_hw_sectors(q, max); | ||
929 | } | ||
930 | |||
931 | extern void blk_queue_max_segments(struct request_queue *, unsigned short); | ||
932 | |||
933 | static inline void blk_queue_max_phys_segments(struct request_queue *q, unsigned short max) | ||
934 | { | ||
935 | blk_queue_max_segments(q, max); | ||
936 | } | ||
937 | |||
938 | static inline void blk_queue_max_hw_segments(struct request_queue *q, unsigned short max) | ||
939 | { | ||
940 | blk_queue_max_segments(q, max); | ||
941 | } | ||
942 | |||
943 | |||
925 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); | 944 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); |
926 | extern void blk_queue_max_discard_sectors(struct request_queue *q, | 945 | extern void blk_queue_max_discard_sectors(struct request_queue *q, |
927 | unsigned int max_discard_sectors); | 946 | unsigned int max_discard_sectors); |
@@ -1014,11 +1033,15 @@ extern int blk_verify_command(unsigned char *cmd, fmode_t has_write_perm); | |||
1014 | #define MAX_PHYS_SEGMENTS 128 | 1033 | #define MAX_PHYS_SEGMENTS 128 |
1015 | #define MAX_HW_SEGMENTS 128 | 1034 | #define MAX_HW_SEGMENTS 128 |
1016 | #define SAFE_MAX_SECTORS 255 | 1035 | #define SAFE_MAX_SECTORS 255 |
1017 | #define BLK_DEF_MAX_SECTORS 1024 | ||
1018 | |||
1019 | #define MAX_SEGMENT_SIZE 65536 | 1036 | #define MAX_SEGMENT_SIZE 65536 |
1020 | 1037 | ||
1021 | #define BLK_SEG_BOUNDARY_MASK 0xFFFFFFFFUL | 1038 | enum blk_default_limits { |
1039 | BLK_MAX_SEGMENTS = 128, | ||
1040 | BLK_SAFE_MAX_SECTORS = 255, | ||
1041 | BLK_DEF_MAX_SECTORS = 1024, | ||
1042 | BLK_MAX_SEGMENT_SIZE = 65536, | ||
1043 | BLK_SEG_BOUNDARY_MASK = 0xFFFFFFFFUL, | ||
1044 | }; | ||
1022 | 1045 | ||
1023 | #define blkdev_entry_to_request(entry) list_entry((entry), struct request, queuelist) | 1046 | #define blkdev_entry_to_request(entry) list_entry((entry), struct request, queuelist) |
1024 | 1047 | ||
@@ -1042,14 +1065,9 @@ static inline unsigned int queue_max_hw_sectors(struct request_queue *q) | |||
1042 | return q->limits.max_hw_sectors; | 1065 | return q->limits.max_hw_sectors; |
1043 | } | 1066 | } |
1044 | 1067 | ||
1045 | static inline unsigned short queue_max_hw_segments(struct request_queue *q) | 1068 | static inline unsigned short queue_max_segments(struct request_queue *q) |
1046 | { | ||
1047 | return q->limits.max_hw_segments; | ||
1048 | } | ||
1049 | |||
1050 | static inline unsigned short queue_max_phys_segments(struct request_queue *q) | ||
1051 | { | 1069 | { |
1052 | return q->limits.max_phys_segments; | 1070 | return q->limits.max_segments; |
1053 | } | 1071 | } |
1054 | 1072 | ||
1055 | static inline unsigned int queue_max_segment_size(struct request_queue *q) | 1073 | static inline unsigned int queue_max_segment_size(struct request_queue *q) |
@@ -1110,18 +1128,13 @@ static inline int queue_alignment_offset(struct request_queue *q) | |||
1110 | return q->limits.alignment_offset; | 1128 | return q->limits.alignment_offset; |
1111 | } | 1129 | } |
1112 | 1130 | ||
1113 | static inline int queue_limit_alignment_offset(struct queue_limits *lim, sector_t offset) | 1131 | static inline int queue_limit_alignment_offset(struct queue_limits *lim, sector_t sector) |
1114 | { | 1132 | { |
1115 | unsigned int granularity = max(lim->physical_block_size, lim->io_min); | 1133 | unsigned int granularity = max(lim->physical_block_size, lim->io_min); |
1134 | unsigned int alignment = (sector << 9) & (granularity - 1); | ||
1116 | 1135 | ||
1117 | offset &= granularity - 1; | 1136 | return (granularity + lim->alignment_offset - alignment) |
1118 | return (granularity + lim->alignment_offset - offset) & (granularity - 1); | 1137 | & (granularity - 1); |
1119 | } | ||
1120 | |||
1121 | static inline int queue_sector_alignment_offset(struct request_queue *q, | ||
1122 | sector_t sector) | ||
1123 | { | ||
1124 | return queue_limit_alignment_offset(&q->limits, sector << 9); | ||
1125 | } | 1138 | } |
1126 | 1139 | ||
1127 | static inline int bdev_alignment_offset(struct block_device *bdev) | 1140 | static inline int bdev_alignment_offset(struct block_device *bdev) |
@@ -1145,10 +1158,8 @@ static inline int queue_discard_alignment(struct request_queue *q) | |||
1145 | return q->limits.discard_alignment; | 1158 | return q->limits.discard_alignment; |
1146 | } | 1159 | } |
1147 | 1160 | ||
1148 | static inline int queue_sector_discard_alignment(struct request_queue *q, | 1161 | static inline int queue_limit_discard_alignment(struct queue_limits *lim, sector_t sector) |
1149 | sector_t sector) | ||
1150 | { | 1162 | { |
1151 | struct queue_limits *lim = &q->limits; | ||
1152 | unsigned int alignment = (sector << 9) & (lim->discard_granularity - 1); | 1163 | unsigned int alignment = (sector << 9) & (lim->discard_granularity - 1); |
1153 | 1164 | ||
1154 | return (lim->discard_granularity + lim->discard_alignment - alignment) | 1165 | return (lim->discard_granularity + lim->discard_alignment - alignment) |
diff --git a/include/linux/cciss_defs.h b/include/linux/cciss_defs.h new file mode 100644 index 000000000000..316b670d4e33 --- /dev/null +++ b/include/linux/cciss_defs.h | |||
@@ -0,0 +1,130 @@ | |||
1 | #ifndef CCISS_DEFS_H | ||
2 | #define CCISS_DEFS_H | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | |||
6 | /* general boundary definitions */ | ||
7 | #define SENSEINFOBYTES 32 /* note that this value may vary | ||
8 | between host implementations */ | ||
9 | |||
10 | /* Command Status value */ | ||
11 | #define CMD_SUCCESS 0x0000 | ||
12 | #define CMD_TARGET_STATUS 0x0001 | ||
13 | #define CMD_DATA_UNDERRUN 0x0002 | ||
14 | #define CMD_DATA_OVERRUN 0x0003 | ||
15 | #define CMD_INVALID 0x0004 | ||
16 | #define CMD_PROTOCOL_ERR 0x0005 | ||
17 | #define CMD_HARDWARE_ERR 0x0006 | ||
18 | #define CMD_CONNECTION_LOST 0x0007 | ||
19 | #define CMD_ABORTED 0x0008 | ||
20 | #define CMD_ABORT_FAILED 0x0009 | ||
21 | #define CMD_UNSOLICITED_ABORT 0x000A | ||
22 | #define CMD_TIMEOUT 0x000B | ||
23 | #define CMD_UNABORTABLE 0x000C | ||
24 | |||
25 | /* transfer direction */ | ||
26 | #define XFER_NONE 0x00 | ||
27 | #define XFER_WRITE 0x01 | ||
28 | #define XFER_READ 0x02 | ||
29 | #define XFER_RSVD 0x03 | ||
30 | |||
31 | /* task attribute */ | ||
32 | #define ATTR_UNTAGGED 0x00 | ||
33 | #define ATTR_SIMPLE 0x04 | ||
34 | #define ATTR_HEADOFQUEUE 0x05 | ||
35 | #define ATTR_ORDERED 0x06 | ||
36 | #define ATTR_ACA 0x07 | ||
37 | |||
38 | /* cdb type */ | ||
39 | #define TYPE_CMD 0x00 | ||
40 | #define TYPE_MSG 0x01 | ||
41 | |||
42 | /* Type defs used in the following structs */ | ||
43 | #define BYTE __u8 | ||
44 | #define WORD __u16 | ||
45 | #define HWORD __u16 | ||
46 | #define DWORD __u32 | ||
47 | |||
48 | #define CISS_MAX_LUN 1024 | ||
49 | |||
50 | #define LEVEL2LUN 1 /* index into Target(x) structure, due to byte swapping */ | ||
51 | #define LEVEL3LUN 0 | ||
52 | |||
53 | #pragma pack(1) | ||
54 | |||
55 | /* Command List Structure */ | ||
56 | typedef union _SCSI3Addr_struct { | ||
57 | struct { | ||
58 | BYTE Dev; | ||
59 | BYTE Bus:6; | ||
60 | BYTE Mode:2; /* b00 */ | ||
61 | } PeripDev; | ||
62 | struct { | ||
63 | BYTE DevLSB; | ||
64 | BYTE DevMSB:6; | ||
65 | BYTE Mode:2; /* b01 */ | ||
66 | } LogDev; | ||
67 | struct { | ||
68 | BYTE Dev:5; | ||
69 | BYTE Bus:3; | ||
70 | BYTE Targ:6; | ||
71 | BYTE Mode:2; /* b10 */ | ||
72 | } LogUnit; | ||
73 | } SCSI3Addr_struct; | ||
74 | |||
75 | typedef struct _PhysDevAddr_struct { | ||
76 | DWORD TargetId:24; | ||
77 | DWORD Bus:6; | ||
78 | DWORD Mode:2; | ||
79 | SCSI3Addr_struct Target[2]; /* 2 level target device addr */ | ||
80 | } PhysDevAddr_struct; | ||
81 | |||
82 | typedef struct _LogDevAddr_struct { | ||
83 | DWORD VolId:30; | ||
84 | DWORD Mode:2; | ||
85 | BYTE reserved[4]; | ||
86 | } LogDevAddr_struct; | ||
87 | |||
88 | typedef union _LUNAddr_struct { | ||
89 | BYTE LunAddrBytes[8]; | ||
90 | SCSI3Addr_struct SCSI3Lun[4]; | ||
91 | PhysDevAddr_struct PhysDev; | ||
92 | LogDevAddr_struct LogDev; | ||
93 | } LUNAddr_struct; | ||
94 | |||
95 | typedef struct _RequestBlock_struct { | ||
96 | BYTE CDBLen; | ||
97 | struct { | ||
98 | BYTE Type:3; | ||
99 | BYTE Attribute:3; | ||
100 | BYTE Direction:2; | ||
101 | } Type; | ||
102 | HWORD Timeout; | ||
103 | BYTE CDB[16]; | ||
104 | } RequestBlock_struct; | ||
105 | |||
106 | typedef union _MoreErrInfo_struct{ | ||
107 | struct { | ||
108 | BYTE Reserved[3]; | ||
109 | BYTE Type; | ||
110 | DWORD ErrorInfo; | ||
111 | } Common_Info; | ||
112 | struct{ | ||
113 | BYTE Reserved[2]; | ||
114 | BYTE offense_size; /* size of offending entry */ | ||
115 | BYTE offense_num; /* byte # of offense 0-base */ | ||
116 | DWORD offense_value; | ||
117 | } Invalid_Cmd; | ||
118 | } MoreErrInfo_struct; | ||
119 | typedef struct _ErrorInfo_struct { | ||
120 | BYTE ScsiStatus; | ||
121 | BYTE SenseLen; | ||
122 | HWORD CommandStatus; | ||
123 | DWORD ResidualCnt; | ||
124 | MoreErrInfo_struct MoreErrInfo; | ||
125 | BYTE SenseInfo[SENSEINFOBYTES]; | ||
126 | } ErrorInfo_struct; | ||
127 | |||
128 | #pragma pack() | ||
129 | |||
130 | #endif /* CCISS_DEFS_H */ | ||
diff --git a/include/linux/cciss_ioctl.h b/include/linux/cciss_ioctl.h index eb130b4d8e72..986493f5b92b 100644 --- a/include/linux/cciss_ioctl.h +++ b/include/linux/cciss_ioctl.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/ioctl.h> | 5 | #include <linux/ioctl.h> |
6 | #include <linux/cciss_defs.h> | ||
6 | 7 | ||
7 | #define CCISS_IOC_MAGIC 'B' | 8 | #define CCISS_IOC_MAGIC 'B' |
8 | 9 | ||
@@ -36,133 +37,6 @@ typedef __u32 DriverVer_type; | |||
36 | 37 | ||
37 | #define MAX_KMALLOC_SIZE 128000 | 38 | #define MAX_KMALLOC_SIZE 128000 |
38 | 39 | ||
39 | #ifndef CCISS_CMD_H | ||
40 | // This defines are duplicated in cciss_cmd.h in the driver directory | ||
41 | |||
42 | //general boundary definitions | ||
43 | #define SENSEINFOBYTES 32//note that this value may vary between host implementations | ||
44 | |||
45 | //Command Status value | ||
46 | #define CMD_SUCCESS 0x0000 | ||
47 | #define CMD_TARGET_STATUS 0x0001 | ||
48 | #define CMD_DATA_UNDERRUN 0x0002 | ||
49 | #define CMD_DATA_OVERRUN 0x0003 | ||
50 | #define CMD_INVALID 0x0004 | ||
51 | #define CMD_PROTOCOL_ERR 0x0005 | ||
52 | #define CMD_HARDWARE_ERR 0x0006 | ||
53 | #define CMD_CONNECTION_LOST 0x0007 | ||
54 | #define CMD_ABORTED 0x0008 | ||
55 | #define CMD_ABORT_FAILED 0x0009 | ||
56 | #define CMD_UNSOLICITED_ABORT 0x000A | ||
57 | #define CMD_TIMEOUT 0x000B | ||
58 | #define CMD_UNABORTABLE 0x000C | ||
59 | |||
60 | //transfer direction | ||
61 | #define XFER_NONE 0x00 | ||
62 | #define XFER_WRITE 0x01 | ||
63 | #define XFER_READ 0x02 | ||
64 | #define XFER_RSVD 0x03 | ||
65 | |||
66 | //task attribute | ||
67 | #define ATTR_UNTAGGED 0x00 | ||
68 | #define ATTR_SIMPLE 0x04 | ||
69 | #define ATTR_HEADOFQUEUE 0x05 | ||
70 | #define ATTR_ORDERED 0x06 | ||
71 | #define ATTR_ACA 0x07 | ||
72 | |||
73 | //cdb type | ||
74 | #define TYPE_CMD 0x00 | ||
75 | #define TYPE_MSG 0x01 | ||
76 | |||
77 | // Type defs used in the following structs | ||
78 | #define BYTE __u8 | ||
79 | #define WORD __u16 | ||
80 | #define HWORD __u16 | ||
81 | #define DWORD __u32 | ||
82 | |||
83 | #define CISS_MAX_LUN 1024 | ||
84 | |||
85 | #define LEVEL2LUN 1 // index into Target(x) structure, due to byte swapping | ||
86 | #define LEVEL3LUN 0 | ||
87 | |||
88 | #pragma pack(1) | ||
89 | |||
90 | //Command List Structure | ||
91 | typedef union _SCSI3Addr_struct { | ||
92 | struct { | ||
93 | BYTE Dev; | ||
94 | BYTE Bus:6; | ||
95 | BYTE Mode:2; // b00 | ||
96 | } PeripDev; | ||
97 | struct { | ||
98 | BYTE DevLSB; | ||
99 | BYTE DevMSB:6; | ||
100 | BYTE Mode:2; // b01 | ||
101 | } LogDev; | ||
102 | struct { | ||
103 | BYTE Dev:5; | ||
104 | BYTE Bus:3; | ||
105 | BYTE Targ:6; | ||
106 | BYTE Mode:2; // b10 | ||
107 | } LogUnit; | ||
108 | } SCSI3Addr_struct; | ||
109 | |||
110 | typedef struct _PhysDevAddr_struct { | ||
111 | DWORD TargetId:24; | ||
112 | DWORD Bus:6; | ||
113 | DWORD Mode:2; | ||
114 | SCSI3Addr_struct Target[2]; //2 level target device addr | ||
115 | } PhysDevAddr_struct; | ||
116 | |||
117 | typedef struct _LogDevAddr_struct { | ||
118 | DWORD VolId:30; | ||
119 | DWORD Mode:2; | ||
120 | BYTE reserved[4]; | ||
121 | } LogDevAddr_struct; | ||
122 | |||
123 | typedef union _LUNAddr_struct { | ||
124 | BYTE LunAddrBytes[8]; | ||
125 | SCSI3Addr_struct SCSI3Lun[4]; | ||
126 | PhysDevAddr_struct PhysDev; | ||
127 | LogDevAddr_struct LogDev; | ||
128 | } LUNAddr_struct; | ||
129 | |||
130 | typedef struct _RequestBlock_struct { | ||
131 | BYTE CDBLen; | ||
132 | struct { | ||
133 | BYTE Type:3; | ||
134 | BYTE Attribute:3; | ||
135 | BYTE Direction:2; | ||
136 | } Type; | ||
137 | HWORD Timeout; | ||
138 | BYTE CDB[16]; | ||
139 | } RequestBlock_struct; | ||
140 | |||
141 | typedef union _MoreErrInfo_struct{ | ||
142 | struct { | ||
143 | BYTE Reserved[3]; | ||
144 | BYTE Type; | ||
145 | DWORD ErrorInfo; | ||
146 | }Common_Info; | ||
147 | struct{ | ||
148 | BYTE Reserved[2]; | ||
149 | BYTE offense_size;//size of offending entry | ||
150 | BYTE offense_num; //byte # of offense 0-base | ||
151 | DWORD offense_value; | ||
152 | }Invalid_Cmd; | ||
153 | }MoreErrInfo_struct; | ||
154 | typedef struct _ErrorInfo_struct { | ||
155 | BYTE ScsiStatus; | ||
156 | BYTE SenseLen; | ||
157 | HWORD CommandStatus; | ||
158 | DWORD ResidualCnt; | ||
159 | MoreErrInfo_struct MoreErrInfo; | ||
160 | BYTE SenseInfo[SENSEINFOBYTES]; | ||
161 | } ErrorInfo_struct; | ||
162 | |||
163 | #pragma pack() | ||
164 | #endif /* CCISS_CMD_H */ | ||
165 | |||
166 | typedef struct _IOCTL_Command_struct { | 40 | typedef struct _IOCTL_Command_struct { |
167 | LUNAddr_struct LUN_info; | 41 | LUNAddr_struct LUN_info; |
168 | RequestBlock_struct Request; | 42 | RequestBlock_struct Request; |
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 8a4a130cc196..4bca8b60cdf7 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h | |||
@@ -154,6 +154,7 @@ extern u64 timecounter_cyc2time(struct timecounter *tc, | |||
154 | * @max_idle_ns: max idle time permitted by the clocksource (nsecs) | 154 | * @max_idle_ns: max idle time permitted by the clocksource (nsecs) |
155 | * @flags: flags describing special properties | 155 | * @flags: flags describing special properties |
156 | * @vread: vsyscall based read | 156 | * @vread: vsyscall based read |
157 | * @suspend: suspend function for the clocksource, if necessary | ||
157 | * @resume: resume function for the clocksource, if necessary | 158 | * @resume: resume function for the clocksource, if necessary |
158 | */ | 159 | */ |
159 | struct clocksource { | 160 | struct clocksource { |
@@ -172,7 +173,8 @@ struct clocksource { | |||
172 | u64 max_idle_ns; | 173 | u64 max_idle_ns; |
173 | unsigned long flags; | 174 | unsigned long flags; |
174 | cycle_t (*vread)(void); | 175 | cycle_t (*vread)(void); |
175 | void (*resume)(void); | 176 | void (*suspend)(struct clocksource *cs); |
177 | void (*resume)(struct clocksource *cs); | ||
176 | #ifdef CONFIG_IA64 | 178 | #ifdef CONFIG_IA64 |
177 | void *fsys_mmio; /* used by fsyscall asm code */ | 179 | void *fsys_mmio; /* used by fsyscall asm code */ |
178 | #define CLKSRC_FSYS_MMIO_SET(mmio, addr) ((mmio) = (addr)) | 180 | #define CLKSRC_FSYS_MMIO_SET(mmio, addr) ((mmio) = (addr)) |
@@ -277,6 +279,7 @@ extern void clocksource_unregister(struct clocksource*); | |||
277 | extern void clocksource_touch_watchdog(void); | 279 | extern void clocksource_touch_watchdog(void); |
278 | extern struct clocksource* clocksource_get_next(void); | 280 | extern struct clocksource* clocksource_get_next(void); |
279 | extern void clocksource_change_rating(struct clocksource *cs, int rating); | 281 | extern void clocksource_change_rating(struct clocksource *cs, int rating); |
282 | extern void clocksource_suspend(void); | ||
280 | extern void clocksource_resume(void); | 283 | extern void clocksource_resume(void); |
281 | extern struct clocksource * __init __weak clocksource_default_clock(void); | 284 | extern struct clocksource * __init __weak clocksource_default_clock(void); |
282 | extern void clocksource_mark_unstable(struct clocksource *cs); | 285 | extern void clocksource_mark_unstable(struct clocksource *cs); |
diff --git a/include/linux/davinci_emac.h b/include/linux/davinci_emac.h new file mode 100644 index 000000000000..7c930dba477c --- /dev/null +++ b/include/linux/davinci_emac.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * TI DaVinci EMAC platform support | ||
3 | * | ||
4 | * Author: Kevin Hilman, Deep Root Systems, LLC | ||
5 | * | ||
6 | * 2007 (c) Deep Root Systems, LLC. This file is licensed under | ||
7 | * the terms of the GNU General Public License version 2. This program | ||
8 | * is licensed "as is" without any warranty of any kind, whether express | ||
9 | * or implied. | ||
10 | */ | ||
11 | #ifndef _LINUX_DAVINCI_EMAC_H | ||
12 | #define _LINUX_DAVINCI_EMAC_H | ||
13 | |||
14 | #include <linux/if_ether.h> | ||
15 | #include <linux/memory.h> | ||
16 | |||
17 | struct emac_platform_data { | ||
18 | char mac_addr[ETH_ALEN]; | ||
19 | u32 ctrl_reg_offset; | ||
20 | u32 ctrl_mod_reg_offset; | ||
21 | u32 ctrl_ram_offset; | ||
22 | u32 hw_ram_addr; | ||
23 | u32 mdio_reg_offset; | ||
24 | u32 ctrl_ram_size; | ||
25 | u32 phy_mask; | ||
26 | u32 mdio_max_freq; | ||
27 | u8 rmii_en; | ||
28 | u8 version; | ||
29 | void (*interrupt_enable) (void); | ||
30 | void (*interrupt_disable) (void); | ||
31 | }; | ||
32 | |||
33 | enum { | ||
34 | EMAC_VERSION_1, /* DM644x */ | ||
35 | EMAC_VERSION_2, /* DM646x */ | ||
36 | }; | ||
37 | |||
38 | void davinci_get_mac_addr(struct memory_accessor *mem_acc, void *context); | ||
39 | #endif | ||
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index cca1c3de140d..b33f316bb92e 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -61,6 +61,13 @@ struct ethtool_drvinfo { | |||
61 | /* For PCI devices, use pci_name(pci_dev). */ | 61 | /* For PCI devices, use pci_name(pci_dev). */ |
62 | char reserved1[32]; | 62 | char reserved1[32]; |
63 | char reserved2[12]; | 63 | char reserved2[12]; |
64 | /* | ||
65 | * Some struct members below are filled in | ||
66 | * using ops->get_sset_count(). Obtaining | ||
67 | * this info from ethtool_drvinfo is now | ||
68 | * deprecated; Use ETHTOOL_GSSET_INFO | ||
69 | * instead. | ||
70 | */ | ||
64 | __u32 n_priv_flags; /* number of flags valid in ETHTOOL_GPFLAGS */ | 71 | __u32 n_priv_flags; /* number of flags valid in ETHTOOL_GPFLAGS */ |
65 | __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */ | 72 | __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */ |
66 | __u32 testinfo_len; | 73 | __u32 testinfo_len; |
@@ -253,6 +260,17 @@ struct ethtool_gstrings { | |||
253 | __u8 data[0]; | 260 | __u8 data[0]; |
254 | }; | 261 | }; |
255 | 262 | ||
263 | struct ethtool_sset_info { | ||
264 | __u32 cmd; /* ETHTOOL_GSSET_INFO */ | ||
265 | __u32 reserved; | ||
266 | __u64 sset_mask; /* input: each bit selects an sset to query */ | ||
267 | /* output: each bit a returned sset */ | ||
268 | __u32 data[0]; /* ETH_SS_xxx count, in order, based on bits | ||
269 | in sset_mask. One bit implies one | ||
270 | __u32, two bits implies two | ||
271 | __u32's, etc. */ | ||
272 | }; | ||
273 | |||
256 | enum ethtool_test_flags { | 274 | enum ethtool_test_flags { |
257 | ETH_TEST_FL_OFFLINE = (1 << 0), /* online / offline */ | 275 | ETH_TEST_FL_OFFLINE = (1 << 0), /* online / offline */ |
258 | ETH_TEST_FL_FAILED = (1 << 1), /* test passed / failed */ | 276 | ETH_TEST_FL_FAILED = (1 << 1), /* test passed / failed */ |
@@ -606,9 +624,9 @@ struct ethtool_ops { | |||
606 | #define ETHTOOL_SRXCLSRLINS 0x00000032 /* Insert RX classification rule */ | 624 | #define ETHTOOL_SRXCLSRLINS 0x00000032 /* Insert RX classification rule */ |
607 | #define ETHTOOL_FLASHDEV 0x00000033 /* Flash firmware to device */ | 625 | #define ETHTOOL_FLASHDEV 0x00000033 /* Flash firmware to device */ |
608 | #define ETHTOOL_RESET 0x00000034 /* Reset hardware */ | 626 | #define ETHTOOL_RESET 0x00000034 /* Reset hardware */ |
609 | 627 | #define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */ | |
610 | #define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */ | 628 | #define ETHTOOL_GRXNTUPLE 0x00000036 /* Get n-tuple filters from device */ |
611 | #define ETHTOOL_GRXNTUPLE 0x00000036 /* Get n-tuple filters from device */ | 629 | #define ETHTOOL_GSSET_INFO 0x00000037 /* Get string set info */ |
612 | 630 | ||
613 | /* compatibility with older code */ | 631 | /* compatibility with older code */ |
614 | #define SPARC_ETH_GSET ETHTOOL_GSET | 632 | #define SPARC_ETH_GSET ETHTOOL_GSET |
diff --git a/include/linux/gameport.h b/include/linux/gameport.h index 1bc08541c2b9..48e68da097f6 100644 --- a/include/linux/gameport.h +++ b/include/linux/gameport.h | |||
@@ -46,7 +46,6 @@ struct gameport { | |||
46 | struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */ | 46 | struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */ |
47 | 47 | ||
48 | struct device dev; | 48 | struct device dev; |
49 | unsigned int registered; /* port has been fully registered with driver core */ | ||
50 | 49 | ||
51 | struct list_head node; | 50 | struct list_head node; |
52 | }; | 51 | }; |
diff --git a/include/linux/gpio_keys.h b/include/linux/gpio_keys.h index 1289fa7623ca..cd0b3f30f48e 100644 --- a/include/linux/gpio_keys.h +++ b/include/linux/gpio_keys.h | |||
@@ -10,6 +10,7 @@ struct gpio_keys_button { | |||
10 | int type; /* input event type (EV_KEY, EV_SW) */ | 10 | int type; /* input event type (EV_KEY, EV_SW) */ |
11 | int wakeup; /* configure the button as a wake-up source */ | 11 | int wakeup; /* configure the button as a wake-up source */ |
12 | int debounce_interval; /* debounce ticks interval in msecs */ | 12 | int debounce_interval; /* debounce ticks interval in msecs */ |
13 | bool can_disable; | ||
13 | }; | 14 | }; |
14 | 15 | ||
15 | struct gpio_keys_platform_data { | 16 | struct gpio_keys_platform_data { |
diff --git a/include/linux/i2c-pnx.h b/include/linux/i2c-pnx.h index 9eb07bbc6522..a87124d4d533 100644 --- a/include/linux/i2c-pnx.h +++ b/include/linux/i2c-pnx.h | |||
@@ -12,9 +12,8 @@ | |||
12 | #ifndef __I2C_PNX_H__ | 12 | #ifndef __I2C_PNX_H__ |
13 | #define __I2C_PNX_H__ | 13 | #define __I2C_PNX_H__ |
14 | 14 | ||
15 | #include <linux/pm.h> | ||
16 | |||
17 | struct platform_device; | 15 | struct platform_device; |
16 | struct clk; | ||
18 | 17 | ||
19 | struct i2c_pnx_mif { | 18 | struct i2c_pnx_mif { |
20 | int ret; /* Return value */ | 19 | int ret; /* Return value */ |
@@ -26,20 +25,18 @@ struct i2c_pnx_mif { | |||
26 | }; | 25 | }; |
27 | 26 | ||
28 | struct i2c_pnx_algo_data { | 27 | struct i2c_pnx_algo_data { |
29 | u32 base; | 28 | void __iomem *ioaddr; |
30 | u32 ioaddr; | ||
31 | int irq; | ||
32 | struct i2c_pnx_mif mif; | 29 | struct i2c_pnx_mif mif; |
33 | int last; | 30 | int last; |
31 | struct clk *clk; | ||
32 | struct i2c_pnx_data *i2c_pnx; | ||
33 | struct i2c_adapter adapter; | ||
34 | }; | 34 | }; |
35 | 35 | ||
36 | struct i2c_pnx_data { | 36 | struct i2c_pnx_data { |
37 | int (*suspend) (struct platform_device *pdev, pm_message_t state); | 37 | const char *name; |
38 | int (*resume) (struct platform_device *pdev); | 38 | u32 base; |
39 | u32 (*calculate_input_freq) (struct platform_device *pdev); | 39 | int irq; |
40 | int (*set_clock_run) (struct platform_device *pdev); | ||
41 | int (*set_clock_stop) (struct platform_device *pdev); | ||
42 | struct i2c_adapter *adapter; | ||
43 | }; | 40 | }; |
44 | 41 | ||
45 | #endif /* __I2C_PNX_H__ */ | 42 | #endif /* __I2C_PNX_H__ */ |
diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h index bf1c5be1f5b6..7897f3096560 100644 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h | |||
@@ -547,6 +547,10 @@ struct twl4030_codec_data { | |||
547 | unsigned int audio_mclk; | 547 | unsigned int audio_mclk; |
548 | struct twl4030_codec_audio_data *audio; | 548 | struct twl4030_codec_audio_data *audio; |
549 | struct twl4030_codec_vibra_data *vibra; | 549 | struct twl4030_codec_vibra_data *vibra; |
550 | |||
551 | /* twl6030 */ | ||
552 | int audpwron_gpio; /* audio power-on gpio */ | ||
553 | int naudint_irq; /* audio interrupt */ | ||
550 | }; | 554 | }; |
551 | 555 | ||
552 | struct twl4030_platform_data { | 556 | struct twl4030_platform_data { |
diff --git a/include/linux/i2o.h b/include/linux/i2o.h index 4c4e57d1f19d..87018dc5527d 100644 --- a/include/linux/i2o.h +++ b/include/linux/i2o.h | |||
@@ -385,7 +385,7 @@ | |||
385 | /* defines for max_sectors and max_phys_segments */ | 385 | /* defines for max_sectors and max_phys_segments */ |
386 | #define I2O_MAX_SECTORS 1024 | 386 | #define I2O_MAX_SECTORS 1024 |
387 | #define I2O_MAX_SECTORS_LIMITED 128 | 387 | #define I2O_MAX_SECTORS_LIMITED 128 |
388 | #define I2O_MAX_PHYS_SEGMENTS MAX_PHYS_SEGMENTS | 388 | #define I2O_MAX_PHYS_SEGMENTS BLK_MAX_SEGMENTS |
389 | 389 | ||
390 | /* | 390 | /* |
391 | * Message structures | 391 | * Message structures |
diff --git a/include/linux/input.h b/include/linux/input.h index f44ee9114401..dc24effb6d0e 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -378,7 +378,7 @@ struct input_absinfo { | |||
378 | #define KEY_WIMAX 246 | 378 | #define KEY_WIMAX 246 |
379 | #define KEY_RFKILL 247 /* Key that controls all radios */ | 379 | #define KEY_RFKILL 247 /* Key that controls all radios */ |
380 | 380 | ||
381 | /* Range 248 - 255 is reserved for special needs of AT keyboard driver */ | 381 | /* Code 255 is reserved for special needs of AT keyboard driver */ |
382 | 382 | ||
383 | #define BTN_MISC 0x100 | 383 | #define BTN_MISC 0x100 |
384 | #define BTN_0 0x100 | 384 | #define BTN_0 0x100 |
@@ -597,6 +597,7 @@ struct input_absinfo { | |||
597 | #define KEY_NUMERIC_POUND 0x20b | 597 | #define KEY_NUMERIC_POUND 0x20b |
598 | 598 | ||
599 | #define KEY_CAMERA_FOCUS 0x210 | 599 | #define KEY_CAMERA_FOCUS 0x210 |
600 | #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ | ||
600 | 601 | ||
601 | #define BTN_TRIGGER_HAPPY 0x2c0 | 602 | #define BTN_TRIGGER_HAPPY 0x2c0 |
602 | #define BTN_TRIGGER_HAPPY1 0x2c0 | 603 | #define BTN_TRIGGER_HAPPY1 0x2c0 |
@@ -1242,6 +1243,10 @@ struct input_handle; | |||
1242 | * @event: event handler. This method is being called by input core with | 1243 | * @event: event handler. This method is being called by input core with |
1243 | * interrupts disabled and dev->event_lock spinlock held and so | 1244 | * interrupts disabled and dev->event_lock spinlock held and so |
1244 | * it may not sleep | 1245 | * it may not sleep |
1246 | * @filter: similar to @event; separates normal event handlers from | ||
1247 | * "filters". | ||
1248 | * @match: called after comparing device's id with handler's id_table | ||
1249 | * to perform fine-grained matching between device and handler | ||
1245 | * @connect: called when attaching a handler to an input device | 1250 | * @connect: called when attaching a handler to an input device |
1246 | * @disconnect: disconnects a handler from input device | 1251 | * @disconnect: disconnects a handler from input device |
1247 | * @start: starts handler for given handle. This function is called by | 1252 | * @start: starts handler for given handle. This function is called by |
@@ -1253,8 +1258,6 @@ struct input_handle; | |||
1253 | * @name: name of the handler, to be shown in /proc/bus/input/handlers | 1258 | * @name: name of the handler, to be shown in /proc/bus/input/handlers |
1254 | * @id_table: pointer to a table of input_device_ids this driver can | 1259 | * @id_table: pointer to a table of input_device_ids this driver can |
1255 | * handle | 1260 | * handle |
1256 | * @blacklist: pointer to a table of input_device_ids this driver should | ||
1257 | * ignore even if they match @id_table | ||
1258 | * @h_list: list of input handles associated with the handler | 1261 | * @h_list: list of input handles associated with the handler |
1259 | * @node: for placing the driver onto input_handler_list | 1262 | * @node: for placing the driver onto input_handler_list |
1260 | * | 1263 | * |
@@ -1263,6 +1266,11 @@ struct input_handle; | |||
1263 | * same time. All of them will get their copy of input event generated by | 1266 | * same time. All of them will get their copy of input event generated by |
1264 | * the device. | 1267 | * the device. |
1265 | * | 1268 | * |
1269 | * The very same structure is used to implement input filters. Input core | ||
1270 | * allows filters to run first and will not pass event to regular handlers | ||
1271 | * if any of the filters indicate that the event should be filtered (by | ||
1272 | * returning %true from their filter() method). | ||
1273 | * | ||
1266 | * Note that input core serializes calls to connect() and disconnect() | 1274 | * Note that input core serializes calls to connect() and disconnect() |
1267 | * methods. | 1275 | * methods. |
1268 | */ | 1276 | */ |
@@ -1271,6 +1279,8 @@ struct input_handler { | |||
1271 | void *private; | 1279 | void *private; |
1272 | 1280 | ||
1273 | void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value); | 1281 | void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value); |
1282 | bool (*filter)(struct input_handle *handle, unsigned int type, unsigned int code, int value); | ||
1283 | bool (*match)(struct input_handler *handler, struct input_dev *dev); | ||
1274 | int (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id); | 1284 | int (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id); |
1275 | void (*disconnect)(struct input_handle *handle); | 1285 | void (*disconnect)(struct input_handle *handle); |
1276 | void (*start)(struct input_handle *handle); | 1286 | void (*start)(struct input_handle *handle); |
@@ -1280,7 +1290,6 @@ struct input_handler { | |||
1280 | const char *name; | 1290 | const char *name; |
1281 | 1291 | ||
1282 | const struct input_device_id *id_table; | 1292 | const struct input_device_id *id_table; |
1283 | const struct input_device_id *blacklist; | ||
1284 | 1293 | ||
1285 | struct list_head h_list; | 1294 | struct list_head h_list; |
1286 | struct list_head node; | 1295 | struct list_head node; |
diff --git a/include/linux/input/sh_keysc.h b/include/linux/input/sh_keysc.h index c211b5cf08e6..649dc7f12925 100644 --- a/include/linux/input/sh_keysc.h +++ b/include/linux/input/sh_keysc.h | |||
@@ -1,14 +1,15 @@ | |||
1 | #ifndef __SH_KEYSC_H__ | 1 | #ifndef __SH_KEYSC_H__ |
2 | #define __SH_KEYSC_H__ | 2 | #define __SH_KEYSC_H__ |
3 | 3 | ||
4 | #define SH_KEYSC_MAXKEYS 30 | 4 | #define SH_KEYSC_MAXKEYS 49 |
5 | 5 | ||
6 | struct sh_keysc_info { | 6 | struct sh_keysc_info { |
7 | enum { SH_KEYSC_MODE_1, SH_KEYSC_MODE_2, SH_KEYSC_MODE_3 } mode; | 7 | enum { SH_KEYSC_MODE_1, SH_KEYSC_MODE_2, SH_KEYSC_MODE_3, |
8 | SH_KEYSC_MODE_4, SH_KEYSC_MODE_5, SH_KEYSC_MODE_6 } mode; | ||
8 | int scan_timing; /* 0 -> 7, see KYCR1, SCN[2:0] */ | 9 | int scan_timing; /* 0 -> 7, see KYCR1, SCN[2:0] */ |
9 | int delay; | 10 | int delay; |
10 | int kycr2_delay; | 11 | int kycr2_delay; |
11 | int keycodes[SH_KEYSC_MAXKEYS]; | 12 | int keycodes[SH_KEYSC_MAXKEYS]; /* KEYIN * KEYOUT */ |
12 | }; | 13 | }; |
13 | 14 | ||
14 | #endif /* __SH_KEYSC_H__ */ | 15 | #endif /* __SH_KEYSC_H__ */ |
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index 78ef023227d4..1195a806fe0c 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
@@ -49,8 +49,8 @@ struct io_context { | |||
49 | /* | 49 | /* |
50 | * For request batching | 50 | * For request batching |
51 | */ | 51 | */ |
52 | unsigned long last_waited; /* Time last woken after wait for request */ | ||
53 | int nr_batch_requests; /* Number of requests left in the batch */ | 52 | int nr_batch_requests; /* Number of requests left in the batch */ |
53 | unsigned long last_waited; /* Time last woken after wait for request */ | ||
54 | 54 | ||
55 | struct radix_tree_root radix_root; | 55 | struct radix_tree_root radix_root; |
56 | struct hlist_head cic_list; | 56 | struct hlist_head cic_list; |
diff --git a/include/linux/irq.h b/include/linux/irq.h index 451481c082b5..d13492df57a1 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -90,7 +90,7 @@ struct msi_desc; | |||
90 | * @startup: start up the interrupt (defaults to ->enable if NULL) | 90 | * @startup: start up the interrupt (defaults to ->enable if NULL) |
91 | * @shutdown: shut down the interrupt (defaults to ->disable if NULL) | 91 | * @shutdown: shut down the interrupt (defaults to ->disable if NULL) |
92 | * @enable: enable the interrupt (defaults to chip->unmask if NULL) | 92 | * @enable: enable the interrupt (defaults to chip->unmask if NULL) |
93 | * @disable: disable the interrupt (defaults to chip->mask if NULL) | 93 | * @disable: disable the interrupt |
94 | * @ack: start of a new interrupt | 94 | * @ack: start of a new interrupt |
95 | * @mask: mask an interrupt source | 95 | * @mask: mask an interrupt source |
96 | * @mask_ack: ack and mask an interrupt source | 96 | * @mask_ack: ack and mask an interrupt source |
diff --git a/include/linux/kbd_kern.h b/include/linux/kbd_kern.h index 8bdb16bfe5fb..506ad20c18f8 100644 --- a/include/linux/kbd_kern.h +++ b/include/linux/kbd_kern.h | |||
@@ -161,7 +161,4 @@ static inline void con_schedule_flip(struct tty_struct *t) | |||
161 | schedule_delayed_work(&t->buf.work, 0); | 161 | schedule_delayed_work(&t->buf.work, 0); |
162 | } | 162 | } |
163 | 163 | ||
164 | /* mac_hid.c */ | ||
165 | extern int mac_hid_mouse_emulate_buttons(int, unsigned int, int); | ||
166 | |||
167 | #endif | 164 | #endif |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 73112250862c..f8ea71e6d0e2 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -857,6 +857,7 @@ struct ata_port_operations { | |||
857 | unsigned int (*sff_data_xfer)(struct ata_device *dev, | 857 | unsigned int (*sff_data_xfer)(struct ata_device *dev, |
858 | unsigned char *buf, unsigned int buflen, int rw); | 858 | unsigned char *buf, unsigned int buflen, int rw); |
859 | u8 (*sff_irq_on)(struct ata_port *); | 859 | u8 (*sff_irq_on)(struct ata_port *); |
860 | bool (*sff_irq_check)(struct ata_port *); | ||
860 | void (*sff_irq_clear)(struct ata_port *); | 861 | void (*sff_irq_clear)(struct ata_port *); |
861 | 862 | ||
862 | void (*bmdma_setup)(struct ata_queued_cmd *qc); | 863 | void (*bmdma_setup)(struct ata_queued_cmd *qc); |
@@ -1642,8 +1643,8 @@ extern int ata_pci_sff_activate_host(struct ata_host *host, | |||
1642 | irq_handler_t irq_handler, | 1643 | irq_handler_t irq_handler, |
1643 | struct scsi_host_template *sht); | 1644 | struct scsi_host_template *sht); |
1644 | extern int ata_pci_sff_init_one(struct pci_dev *pdev, | 1645 | extern int ata_pci_sff_init_one(struct pci_dev *pdev, |
1645 | const struct ata_port_info * const * ppi, | 1646 | const struct ata_port_info * const * ppi, |
1646 | struct scsi_host_template *sht, void *host_priv); | 1647 | struct scsi_host_template *sht, void *host_priv, int hflags); |
1647 | #endif /* CONFIG_PCI */ | 1648 | #endif /* CONFIG_PCI */ |
1648 | 1649 | ||
1649 | /** | 1650 | /** |
diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h index f46c40ac6d45..9bdd91486b49 100644 --- a/include/linux/omapfb.h +++ b/include/linux/omapfb.h | |||
@@ -57,6 +57,7 @@ | |||
57 | #define OMAPFB_WAITFORGO OMAP_IO(60) | 57 | #define OMAPFB_WAITFORGO OMAP_IO(60) |
58 | #define OMAPFB_GET_VRAM_INFO OMAP_IOR(61, struct omapfb_vram_info) | 58 | #define OMAPFB_GET_VRAM_INFO OMAP_IOR(61, struct omapfb_vram_info) |
59 | #define OMAPFB_SET_TEARSYNC OMAP_IOW(62, struct omapfb_tearsync_info) | 59 | #define OMAPFB_SET_TEARSYNC OMAP_IOW(62, struct omapfb_tearsync_info) |
60 | #define OMAPFB_GET_DISPLAY_INFO OMAP_IOR(63, struct omapfb_display_info) | ||
60 | 61 | ||
61 | #define OMAPFB_CAPS_GENERIC_MASK 0x00000fff | 62 | #define OMAPFB_CAPS_GENERIC_MASK 0x00000fff |
62 | #define OMAPFB_CAPS_LCDC_MASK 0x00fff000 | 63 | #define OMAPFB_CAPS_LCDC_MASK 0x00fff000 |
@@ -206,6 +207,14 @@ struct omapfb_tearsync_info { | |||
206 | __u16 reserved2; | 207 | __u16 reserved2; |
207 | }; | 208 | }; |
208 | 209 | ||
210 | struct omapfb_display_info { | ||
211 | __u16 xres; | ||
212 | __u16 yres; | ||
213 | __u32 width; /* phys width of the display in micrometers */ | ||
214 | __u32 height; /* phys height of the display in micrometers */ | ||
215 | __u32 reserved[5]; | ||
216 | }; | ||
217 | |||
209 | #ifdef __KERNEL__ | 218 | #ifdef __KERNEL__ |
210 | 219 | ||
211 | #include <plat/board.h> | 220 | #include <plat/board.h> |
diff --git a/include/linux/pktcdvd.h b/include/linux/pktcdvd.h index 76e5053e1fac..721301b0a908 100644 --- a/include/linux/pktcdvd.h +++ b/include/linux/pktcdvd.h | |||
@@ -163,10 +163,8 @@ struct packet_iosched | |||
163 | atomic_t attention; /* Set to non-zero when queue processing is needed */ | 163 | atomic_t attention; /* Set to non-zero when queue processing is needed */ |
164 | int writing; /* Non-zero when writing, zero when reading */ | 164 | int writing; /* Non-zero when writing, zero when reading */ |
165 | spinlock_t lock; /* Protecting read/write queue manipulations */ | 165 | spinlock_t lock; /* Protecting read/write queue manipulations */ |
166 | struct bio *read_queue; | 166 | struct bio_list read_queue; |
167 | struct bio *read_queue_tail; | 167 | struct bio_list write_queue; |
168 | struct bio *write_queue; | ||
169 | struct bio *write_queue_tail; | ||
170 | sector_t last_write; /* The sector where the last write ended */ | 168 | sector_t last_write; /* The sector where the last write ended */ |
171 | int successive_reads; | 169 | int successive_reads; |
172 | }; | 170 | }; |
@@ -206,8 +204,8 @@ struct packet_data | |||
206 | spinlock_t lock; /* Lock protecting state transitions and */ | 204 | spinlock_t lock; /* Lock protecting state transitions and */ |
207 | /* orig_bios list */ | 205 | /* orig_bios list */ |
208 | 206 | ||
209 | struct bio *orig_bios; /* Original bios passed to pkt_make_request */ | 207 | struct bio_list orig_bios; /* Original bios passed to pkt_make_request */ |
210 | struct bio *orig_bios_tail;/* that will be handled by this packet */ | 208 | /* that will be handled by this packet */ |
211 | int write_size; /* Total size of all bios in the orig_bios */ | 209 | int write_size; /* Total size of all bios in the orig_bios */ |
212 | /* list, measured in number of frames */ | 210 | /* list, measured in number of frames */ |
213 | 211 | ||
diff --git a/include/linux/sched.h b/include/linux/sched.h index 0eef87b58ea5..4b1753f7e48e 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -97,7 +97,7 @@ struct sched_param { | |||
97 | struct exec_domain; | 97 | struct exec_domain; |
98 | struct futex_pi_state; | 98 | struct futex_pi_state; |
99 | struct robust_list_head; | 99 | struct robust_list_head; |
100 | struct bio; | 100 | struct bio_list; |
101 | struct fs_struct; | 101 | struct fs_struct; |
102 | struct bts_context; | 102 | struct bts_context; |
103 | struct perf_event_context; | 103 | struct perf_event_context; |
@@ -1454,7 +1454,7 @@ struct task_struct { | |||
1454 | void *journal_info; | 1454 | void *journal_info; |
1455 | 1455 | ||
1456 | /* stacked block device info */ | 1456 | /* stacked block device info */ |
1457 | struct bio *bio_list, **bio_tail; | 1457 | struct bio_list *bio_list; |
1458 | 1458 | ||
1459 | /* VM state */ | 1459 | /* VM state */ |
1460 | struct reclaim_state *reclaim_state; | 1460 | struct reclaim_state *reclaim_state; |
diff --git a/include/linux/serio.h b/include/linux/serio.h index 813d26c247ec..64b473066b9a 100644 --- a/include/linux/serio.h +++ b/include/linux/serio.h | |||
@@ -30,7 +30,6 @@ struct serio { | |||
30 | char phys[32]; | 30 | char phys[32]; |
31 | 31 | ||
32 | bool manual_bind; | 32 | bool manual_bind; |
33 | bool registered; /* port has been fully registered with driver core */ | ||
34 | 33 | ||
35 | struct serio_device_id id; | 34 | struct serio_device_id id; |
36 | 35 | ||
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index e28f5a0182e8..4435d1084755 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h | |||
@@ -225,6 +225,8 @@ enum | |||
225 | LINUX_MIB_SACKSHIFTED, | 225 | LINUX_MIB_SACKSHIFTED, |
226 | LINUX_MIB_SACKMERGED, | 226 | LINUX_MIB_SACKMERGED, |
227 | LINUX_MIB_SACKSHIFTFALLBACK, | 227 | LINUX_MIB_SACKSHIFTFALLBACK, |
228 | LINUX_MIB_TCPBACKLOGDROP, | ||
229 | LINUX_MIB_TCPMINTTLDROP, /* RFC 5082 */ | ||
228 | __LINUX_MIB_MAX | 230 | __LINUX_MIB_MAX |
229 | }; | 231 | }; |
230 | 232 | ||
diff --git a/include/linux/timex.h b/include/linux/timex.h index 94f8faecdcbc..7a082b32d8e1 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
@@ -238,9 +238,6 @@ extern int tickadj; /* amount of adjustment per tick */ | |||
238 | * phase-lock loop variables | 238 | * phase-lock loop variables |
239 | */ | 239 | */ |
240 | extern int time_status; /* clock synchronization status bits */ | 240 | extern int time_status; /* clock synchronization status bits */ |
241 | extern long time_maxerror; /* maximum error */ | ||
242 | extern long time_esterror; /* estimated error */ | ||
243 | |||
244 | extern long time_adjust; /* The amount of adjtime left */ | 241 | extern long time_adjust; /* The amount of adjtime left */ |
245 | 242 | ||
246 | extern void ntp_init(void); | 243 | extern void ntp_init(void); |
diff --git a/include/linux/usb/audio.h b/include/linux/usb/audio.h index eaf9dffe0a01..6bb293684eb8 100644 --- a/include/linux/usb/audio.h +++ b/include/linux/usb/audio.h | |||
@@ -25,6 +25,9 @@ | |||
25 | #define USB_SUBCLASS_AUDIOSTREAMING 0x02 | 25 | #define USB_SUBCLASS_AUDIOSTREAMING 0x02 |
26 | #define USB_SUBCLASS_MIDISTREAMING 0x03 | 26 | #define USB_SUBCLASS_MIDISTREAMING 0x03 |
27 | 27 | ||
28 | #define UAC_VERSION_1 0x00 | ||
29 | #define UAC_VERSION_2 0x20 | ||
30 | |||
28 | /* A.5 Audio Class-Specific AC Interface Descriptor Subtypes */ | 31 | /* A.5 Audio Class-Specific AC Interface Descriptor Subtypes */ |
29 | #define UAC_HEADER 0x01 | 32 | #define UAC_HEADER 0x01 |
30 | #define UAC_INPUT_TERMINAL 0x02 | 33 | #define UAC_INPUT_TERMINAL 0x02 |
@@ -32,8 +35,17 @@ | |||
32 | #define UAC_MIXER_UNIT 0x04 | 35 | #define UAC_MIXER_UNIT 0x04 |
33 | #define UAC_SELECTOR_UNIT 0x05 | 36 | #define UAC_SELECTOR_UNIT 0x05 |
34 | #define UAC_FEATURE_UNIT 0x06 | 37 | #define UAC_FEATURE_UNIT 0x06 |
35 | #define UAC_PROCESSING_UNIT 0x07 | 38 | #define UAC_PROCESSING_UNIT_V1 0x07 |
36 | #define UAC_EXTENSION_UNIT 0x08 | 39 | #define UAC_EXTENSION_UNIT_V1 0x08 |
40 | |||
41 | /* UAC v2.0 types */ | ||
42 | #define UAC_EFFECT_UNIT 0x07 | ||
43 | #define UAC_PROCESSING_UNIT_V2 0x08 | ||
44 | #define UAC_EXTENSION_UNIT_V2 0x09 | ||
45 | #define UAC_CLOCK_SOURCE 0x0a | ||
46 | #define UAC_CLOCK_SELECTOR 0x0b | ||
47 | #define UAC_CLOCK_MULTIPLIER 0x0c | ||
48 | #define UAC_SAMPLE_RATE_CONVERTER 0x0d | ||
37 | 49 | ||
38 | /* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */ | 50 | /* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */ |
39 | #define UAC_AS_GENERAL 0x01 | 51 | #define UAC_AS_GENERAL 0x01 |
@@ -66,6 +78,10 @@ | |||
66 | 78 | ||
67 | #define UAC_GET_STAT 0xff | 79 | #define UAC_GET_STAT 0xff |
68 | 80 | ||
81 | /* Audio class v2.0 handles all the parameter calls differently */ | ||
82 | #define UAC2_CS_CUR 0x01 | ||
83 | #define UAC2_CS_RANGE 0x02 | ||
84 | |||
69 | /* MIDI - A.1 MS Class-Specific Interface Descriptor Subtypes */ | 85 | /* MIDI - A.1 MS Class-Specific Interface Descriptor Subtypes */ |
70 | #define UAC_MS_HEADER 0x01 | 86 | #define UAC_MS_HEADER 0x01 |
71 | #define UAC_MIDI_IN_JACK 0x02 | 87 | #define UAC_MIDI_IN_JACK 0x02 |
@@ -81,7 +97,7 @@ | |||
81 | 97 | ||
82 | /* Terminal Control Selectors */ | 98 | /* Terminal Control Selectors */ |
83 | /* 4.3.2 Class-Specific AC Interface Descriptor */ | 99 | /* 4.3.2 Class-Specific AC Interface Descriptor */ |
84 | struct uac_ac_header_descriptor { | 100 | struct uac_ac_header_descriptor_v1 { |
85 | __u8 bLength; /* 8 + n */ | 101 | __u8 bLength; /* 8 + n */ |
86 | __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ | 102 | __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ |
87 | __u8 bDescriptorSubtype; /* UAC_MS_HEADER */ | 103 | __u8 bDescriptorSubtype; /* UAC_MS_HEADER */ |
@@ -95,7 +111,7 @@ struct uac_ac_header_descriptor { | |||
95 | 111 | ||
96 | /* As above, but more useful for defining your own descriptors: */ | 112 | /* As above, but more useful for defining your own descriptors: */ |
97 | #define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \ | 113 | #define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \ |
98 | struct uac_ac_header_descriptor_##n { \ | 114 | struct uac_ac_header_descriptor_v1_##n { \ |
99 | __u8 bLength; \ | 115 | __u8 bLength; \ |
100 | __u8 bDescriptorType; \ | 116 | __u8 bDescriptorType; \ |
101 | __u8 bDescriptorSubtype; \ | 117 | __u8 bDescriptorSubtype; \ |
@@ -130,8 +146,12 @@ struct uac_input_terminal_descriptor { | |||
130 | #define UAC_INPUT_TERMINAL_MICROPHONE_ARRAY 0x205 | 146 | #define UAC_INPUT_TERMINAL_MICROPHONE_ARRAY 0x205 |
131 | #define UAC_INPUT_TERMINAL_PROC_MICROPHONE_ARRAY 0x206 | 147 | #define UAC_INPUT_TERMINAL_PROC_MICROPHONE_ARRAY 0x206 |
132 | 148 | ||
149 | /* Terminals - control selectors */ | ||
150 | |||
151 | #define UAC_TERMINAL_CS_COPY_PROTECT_CONTROL 0x01 | ||
152 | |||
133 | /* 4.3.2.2 Output Terminal Descriptor */ | 153 | /* 4.3.2.2 Output Terminal Descriptor */ |
134 | struct uac_output_terminal_descriptor { | 154 | struct uac_output_terminal_descriptor_v1 { |
135 | __u8 bLength; /* in bytes: 9 */ | 155 | __u8 bLength; /* in bytes: 9 */ |
136 | __u8 bDescriptorType; /* CS_INTERFACE descriptor type */ | 156 | __u8 bDescriptorType; /* CS_INTERFACE descriptor type */ |
137 | __u8 bDescriptorSubtype; /* OUTPUT_TERMINAL descriptor subtype */ | 157 | __u8 bDescriptorSubtype; /* OUTPUT_TERMINAL descriptor subtype */ |
@@ -171,7 +191,7 @@ struct uac_feature_unit_descriptor_##ch { \ | |||
171 | } __attribute__ ((packed)) | 191 | } __attribute__ ((packed)) |
172 | 192 | ||
173 | /* 4.5.2 Class-Specific AS Interface Descriptor */ | 193 | /* 4.5.2 Class-Specific AS Interface Descriptor */ |
174 | struct uac_as_header_descriptor { | 194 | struct uac_as_header_descriptor_v1 { |
175 | __u8 bLength; /* in bytes: 7 */ | 195 | __u8 bLength; /* in bytes: 7 */ |
176 | __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ | 196 | __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */ |
177 | __u8 bDescriptorSubtype; /* AS_GENERAL */ | 197 | __u8 bDescriptorSubtype; /* AS_GENERAL */ |
@@ -180,6 +200,19 @@ struct uac_as_header_descriptor { | |||
180 | __le16 wFormatTag; /* The Audio Data Format */ | 200 | __le16 wFormatTag; /* The Audio Data Format */ |
181 | } __attribute__ ((packed)); | 201 | } __attribute__ ((packed)); |
182 | 202 | ||
203 | struct uac_as_header_descriptor_v2 { | ||
204 | __u8 bLength; | ||
205 | __u8 bDescriptorType; | ||
206 | __u8 bDescriptorSubtype; | ||
207 | __u8 bTerminalLink; | ||
208 | __u8 bmControls; | ||
209 | __u8 bFormatType; | ||
210 | __u32 bmFormats; | ||
211 | __u8 bNrChannels; | ||
212 | __u32 bmChannelConfig; | ||
213 | __u8 iChannelNames; | ||
214 | } __attribute__((packed)); | ||
215 | |||
183 | #define UAC_DT_AS_HEADER_SIZE 7 | 216 | #define UAC_DT_AS_HEADER_SIZE 7 |
184 | 217 | ||
185 | /* Formats - A.1.1 Audio Data Format Type I Codes */ | 218 | /* Formats - A.1.1 Audio Data Format Type I Codes */ |
@@ -232,11 +265,62 @@ struct uac_format_type_i_discrete_descriptor_##n { \ | |||
232 | 265 | ||
233 | #define UAC_FORMAT_TYPE_I_DISCRETE_DESC_SIZE(n) (8 + (n * 3)) | 266 | #define UAC_FORMAT_TYPE_I_DISCRETE_DESC_SIZE(n) (8 + (n * 3)) |
234 | 267 | ||
268 | struct uac_format_type_i_ext_descriptor { | ||
269 | __u8 bLength; | ||
270 | __u8 bDescriptorType; | ||
271 | __u8 bDescriptorSubtype; | ||
272 | __u8 bSubslotSize; | ||
273 | __u8 bFormatType; | ||
274 | __u8 bBitResolution; | ||
275 | __u8 bHeaderLength; | ||
276 | __u8 bControlSize; | ||
277 | __u8 bSideBandProtocol; | ||
278 | } __attribute__((packed)); | ||
279 | |||
280 | |||
281 | /* Formats - Audio Data Format Type I Codes */ | ||
282 | |||
283 | #define UAC_FORMAT_TYPE_II_MPEG 0x1001 | ||
284 | #define UAC_FORMAT_TYPE_II_AC3 0x1002 | ||
285 | |||
286 | struct uac_format_type_ii_discrete_descriptor { | ||
287 | __u8 bLength; | ||
288 | __u8 bDescriptorType; | ||
289 | __u8 bDescriptorSubtype; | ||
290 | __u8 bFormatType; | ||
291 | __le16 wMaxBitRate; | ||
292 | __le16 wSamplesPerFrame; | ||
293 | __u8 bSamFreqType; | ||
294 | __u8 tSamFreq[][3]; | ||
295 | } __attribute__((packed)); | ||
296 | |||
297 | struct uac_format_type_ii_ext_descriptor { | ||
298 | __u8 bLength; | ||
299 | __u8 bDescriptorType; | ||
300 | __u8 bDescriptorSubtype; | ||
301 | __u8 bFormatType; | ||
302 | __u16 wMaxBitRate; | ||
303 | __u16 wSamplesPerFrame; | ||
304 | __u8 bHeaderLength; | ||
305 | __u8 bSideBandProtocol; | ||
306 | } __attribute__((packed)); | ||
307 | |||
308 | /* type III */ | ||
309 | #define UAC_FORMAT_TYPE_III_IEC1937_AC3 0x2001 | ||
310 | #define UAC_FORMAT_TYPE_III_IEC1937_MPEG1_LAYER1 0x2002 | ||
311 | #define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_NOEXT 0x2003 | ||
312 | #define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_EXT 0x2004 | ||
313 | #define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_LAYER1_LS 0x2005 | ||
314 | #define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_LAYER23_LS 0x2006 | ||
315 | |||
235 | /* Formats - A.2 Format Type Codes */ | 316 | /* Formats - A.2 Format Type Codes */ |
236 | #define UAC_FORMAT_TYPE_UNDEFINED 0x0 | 317 | #define UAC_FORMAT_TYPE_UNDEFINED 0x0 |
237 | #define UAC_FORMAT_TYPE_I 0x1 | 318 | #define UAC_FORMAT_TYPE_I 0x1 |
238 | #define UAC_FORMAT_TYPE_II 0x2 | 319 | #define UAC_FORMAT_TYPE_II 0x2 |
239 | #define UAC_FORMAT_TYPE_III 0x3 | 320 | #define UAC_FORMAT_TYPE_III 0x3 |
321 | #define UAC_EXT_FORMAT_TYPE_I 0x81 | ||
322 | #define UAC_EXT_FORMAT_TYPE_II 0x82 | ||
323 | #define UAC_EXT_FORMAT_TYPE_III 0x83 | ||
240 | 324 | ||
241 | struct uac_iso_endpoint_descriptor { | 325 | struct uac_iso_endpoint_descriptor { |
242 | __u8 bLength; /* in bytes: 7 */ | 326 | __u8 bLength; /* in bytes: 7 */ |
@@ -252,7 +336,31 @@ struct uac_iso_endpoint_descriptor { | |||
252 | #define UAC_EP_CS_ATTR_PITCH_CONTROL 0x02 | 336 | #define UAC_EP_CS_ATTR_PITCH_CONTROL 0x02 |
253 | #define UAC_EP_CS_ATTR_FILL_MAX 0x80 | 337 | #define UAC_EP_CS_ATTR_FILL_MAX 0x80 |
254 | 338 | ||
339 | /* Audio class v2.0: CLOCK_SOURCE descriptor */ | ||
340 | |||
341 | struct uac_clock_source_descriptor { | ||
342 | __u8 bLength; | ||
343 | __u8 bDescriptorType; | ||
344 | __u8 bDescriptorSubtype; | ||
345 | __u8 bClockID; | ||
346 | __u8 bmAttributes; | ||
347 | __u8 bmControls; | ||
348 | __u8 bAssocTerminal; | ||
349 | __u8 iClockSource; | ||
350 | } __attribute__((packed)); | ||
351 | |||
255 | /* A.10.2 Feature Unit Control Selectors */ | 352 | /* A.10.2 Feature Unit Control Selectors */ |
353 | |||
354 | struct uac_feature_unit_descriptor { | ||
355 | __u8 bLength; | ||
356 | __u8 bDescriptorType; | ||
357 | __u8 bDescriptorSubtype; | ||
358 | __u8 bUnitID; | ||
359 | __u8 bSourceID; | ||
360 | __u8 bControlSize; | ||
361 | __u8 controls[0]; /* variable length */ | ||
362 | } __attribute__((packed)); | ||
363 | |||
256 | #define UAC_FU_CONTROL_UNDEFINED 0x00 | 364 | #define UAC_FU_CONTROL_UNDEFINED 0x00 |
257 | #define UAC_MUTE_CONTROL 0x01 | 365 | #define UAC_MUTE_CONTROL 0x01 |
258 | #define UAC_VOLUME_CONTROL 0x02 | 366 | #define UAC_VOLUME_CONTROL 0x02 |
diff --git a/include/linux/usb/musb.h b/include/linux/usb/musb.h index d43755669261..5dc2f227a0f1 100644 --- a/include/linux/usb/musb.h +++ b/include/linux/usb/musb.h | |||
@@ -84,6 +84,9 @@ struct musb_hdrc_platform_data { | |||
84 | 84 | ||
85 | /* MUSB configuration-specific details */ | 85 | /* MUSB configuration-specific details */ |
86 | struct musb_hdrc_config *config; | 86 | struct musb_hdrc_config *config; |
87 | |||
88 | /* Architecture specific board data */ | ||
89 | void *board_data; | ||
87 | }; | 90 | }; |
88 | 91 | ||
89 | 92 | ||
diff --git a/include/linux/usb/otg.h b/include/linux/usb/otg.h index 52bb917641f0..fef0972c8146 100644 --- a/include/linux/usb/otg.h +++ b/include/linux/usb/otg.h | |||
@@ -110,9 +110,19 @@ struct otg_transceiver { | |||
110 | /* for board-specific init logic */ | 110 | /* for board-specific init logic */ |
111 | extern int otg_set_transceiver(struct otg_transceiver *); | 111 | extern int otg_set_transceiver(struct otg_transceiver *); |
112 | 112 | ||
113 | #if defined(CONFIG_NOP_USB_XCEIV) || defined(CONFIG_NOP_USB_XCEIV_MODULE) | ||
113 | /* sometimes transceivers are accessed only through e.g. ULPI */ | 114 | /* sometimes transceivers are accessed only through e.g. ULPI */ |
114 | extern void usb_nop_xceiv_register(void); | 115 | extern void usb_nop_xceiv_register(void); |
115 | extern void usb_nop_xceiv_unregister(void); | 116 | extern void usb_nop_xceiv_unregister(void); |
117 | #else | ||
118 | static inline void usb_nop_xceiv_register(void) | ||
119 | { | ||
120 | } | ||
121 | |||
122 | static inline void usb_nop_xceiv_unregister(void) | ||
123 | { | ||
124 | } | ||
125 | #endif | ||
116 | 126 | ||
117 | /* helpers for direct access thru low-level io interface */ | 127 | /* helpers for direct access thru low-level io interface */ |
118 | static inline int otg_io_read(struct otg_transceiver *otg, u32 reg) | 128 | static inline int otg_io_read(struct otg_transceiver *otg, u32 reg) |