diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-31 14:31:54 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-31 14:31:54 -0500 |
| commit | d195ea4b1456192abe780fd773778cbe9f6d77ea (patch) | |
| tree | 25ea330c4fced145290f6f5cfb1b06a1cf8402c0 /include | |
| parent | bb4bc81a234c66e8d8a4475110fa2d7988a34671 (diff) | |
| parent | df7559d3440ff759ff6e1371ff722bb3a73a3639 (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-serial
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/serial_8250.h | 2 | ||||
| -rw-r--r-- | include/linux/serial_core.h | 72 |
2 files changed, 38 insertions, 36 deletions
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index cee302aefdb7..73b464f0926a 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
| @@ -26,7 +26,7 @@ struct plat_serial8250_port { | |||
| 26 | unsigned char regshift; /* register shift */ | 26 | unsigned char regshift; /* register shift */ |
| 27 | unsigned char iotype; /* UPIO_* */ | 27 | unsigned char iotype; /* UPIO_* */ |
| 28 | unsigned char hub6; | 28 | unsigned char hub6; |
| 29 | unsigned int flags; /* UPF_* flags */ | 29 | upf_t flags; /* UPF_* flags */ |
| 30 | }; | 30 | }; |
| 31 | 31 | ||
| 32 | /* | 32 | /* |
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index ec351005bf9d..4041122dabfc 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
| @@ -203,6 +203,8 @@ struct uart_icount { | |||
| 203 | __u32 buf_overrun; | 203 | __u32 buf_overrun; |
| 204 | }; | 204 | }; |
| 205 | 205 | ||
| 206 | typedef unsigned int __bitwise__ upf_t; | ||
| 207 | |||
| 206 | struct uart_port { | 208 | struct uart_port { |
| 207 | spinlock_t lock; /* port lock */ | 209 | spinlock_t lock; /* port lock */ |
| 208 | unsigned int iobase; /* in/out[bwl] */ | 210 | unsigned int iobase; /* in/out[bwl] */ |
| @@ -230,36 +232,34 @@ struct uart_port { | |||
| 230 | unsigned long sysrq; /* sysrq timeout */ | 232 | unsigned long sysrq; /* sysrq timeout */ |
| 231 | #endif | 233 | #endif |
| 232 | 234 | ||
| 233 | unsigned int flags; | 235 | upf_t flags; |
| 234 | 236 | ||
| 235 | #define UPF_FOURPORT (1 << 1) | 237 | #define UPF_FOURPORT ((__force upf_t) (1 << 1)) |
| 236 | #define UPF_SAK (1 << 2) | 238 | #define UPF_SAK ((__force upf_t) (1 << 2)) |
| 237 | #define UPF_SPD_MASK (0x1030) | 239 | #define UPF_SPD_MASK ((__force upf_t) (0x1030)) |
| 238 | #define UPF_SPD_HI (0x0010) | 240 | #define UPF_SPD_HI ((__force upf_t) (0x0010)) |
| 239 | #define UPF_SPD_VHI (0x0020) | 241 | #define UPF_SPD_VHI ((__force upf_t) (0x0020)) |
| 240 | #define UPF_SPD_CUST (0x0030) | 242 | #define UPF_SPD_CUST ((__force upf_t) (0x0030)) |
| 241 | #define UPF_SPD_SHI (0x1000) | 243 | #define UPF_SPD_SHI ((__force upf_t) (0x1000)) |
| 242 | #define UPF_SPD_WARP (0x1010) | 244 | #define UPF_SPD_WARP ((__force upf_t) (0x1010)) |
| 243 | #define UPF_SKIP_TEST (1 << 6) | 245 | #define UPF_SKIP_TEST ((__force upf_t) (1 << 6)) |
| 244 | #define UPF_AUTO_IRQ (1 << 7) | 246 | #define UPF_AUTO_IRQ ((__force upf_t) (1 << 7)) |
| 245 | #define UPF_HARDPPS_CD (1 << 11) | 247 | #define UPF_HARDPPS_CD ((__force upf_t) (1 << 11)) |
| 246 | #define UPF_LOW_LATENCY (1 << 13) | 248 | #define UPF_LOW_LATENCY ((__force upf_t) (1 << 13)) |
| 247 | #define UPF_BUGGY_UART (1 << 14) | 249 | #define UPF_BUGGY_UART ((__force upf_t) (1 << 14)) |
| 248 | #define UPF_AUTOPROBE (1 << 15) | 250 | #define UPF_MAGIC_MULTIPLIER ((__force upf_t) (1 << 16)) |
| 249 | #define UPF_MAGIC_MULTIPLIER (1 << 16) | 251 | #define UPF_CONS_FLOW ((__force upf_t) (1 << 23)) |
| 250 | #define UPF_BOOT_ONLYMCA (1 << 22) | 252 | #define UPF_SHARE_IRQ ((__force upf_t) (1 << 24)) |
| 251 | #define UPF_CONS_FLOW (1 << 23) | 253 | #define UPF_BOOT_AUTOCONF ((__force upf_t) (1 << 28)) |
| 252 | #define UPF_SHARE_IRQ (1 << 24) | 254 | #define UPF_IOREMAP ((__force upf_t) (1 << 31)) |
| 253 | #define UPF_BOOT_AUTOCONF (1 << 28) | 255 | |
| 254 | #define UPF_IOREMAP (1 << 31) | 256 | #define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) |
| 255 | 257 | #define UPF_USR_MASK ((__force upf_t) (UPF_SPD_MASK|UPF_LOW_LATENCY)) | |
| 256 | #define UPF_CHANGE_MASK (0x17fff) | ||
| 257 | #define UPF_USR_MASK (UPF_SPD_MASK|UPF_LOW_LATENCY) | ||
| 258 | 258 | ||
| 259 | unsigned int mctrl; /* current modem ctrl settings */ | 259 | unsigned int mctrl; /* current modem ctrl settings */ |
| 260 | unsigned int timeout; /* character-based timeout */ | 260 | unsigned int timeout; /* character-based timeout */ |
| 261 | unsigned int type; /* port type */ | 261 | unsigned int type; /* port type */ |
| 262 | struct uart_ops *ops; | 262 | const struct uart_ops *ops; |
| 263 | unsigned int custom_divisor; | 263 | unsigned int custom_divisor; |
| 264 | unsigned int line; /* port index */ | 264 | unsigned int line; /* port index */ |
| 265 | unsigned long mapbase; /* for ioremap */ | 265 | unsigned long mapbase; /* for ioremap */ |
| @@ -289,6 +289,9 @@ struct uart_state { | |||
| 289 | }; | 289 | }; |
| 290 | 290 | ||
| 291 | #define UART_XMIT_SIZE PAGE_SIZE | 291 | #define UART_XMIT_SIZE PAGE_SIZE |
| 292 | |||
| 293 | typedef unsigned int __bitwise__ uif_t; | ||
| 294 | |||
| 292 | /* | 295 | /* |
| 293 | * This is the state information which is only valid when the port | 296 | * This is the state information which is only valid when the port |
| 294 | * is open; it may be freed by the core driver once the device has | 297 | * is open; it may be freed by the core driver once the device has |
| @@ -298,17 +301,16 @@ struct uart_state { | |||
| 298 | struct uart_info { | 301 | struct uart_info { |
| 299 | struct tty_struct *tty; | 302 | struct tty_struct *tty; |
| 300 | struct circ_buf xmit; | 303 | struct circ_buf xmit; |
| 301 | unsigned int flags; | 304 | uif_t flags; |
| 302 | 305 | ||
| 303 | /* | 306 | /* |
| 304 | * These are the flags that specific to info->flags, and reflect our | 307 | * Definitions for info->flags. These are _private_ to serial_core, and |
| 305 | * internal state. They can not be accessed via port->flags. Low | 308 | * are specific to this structure. They may be queried by low level drivers. |
| 306 | * level drivers must not change these, but may query them instead. | ||
| 307 | */ | 309 | */ |
| 308 | #define UIF_CHECK_CD (1 << 25) | 310 | #define UIF_CHECK_CD ((__force uif_t) (1 << 25)) |
| 309 | #define UIF_CTS_FLOW (1 << 26) | 311 | #define UIF_CTS_FLOW ((__force uif_t) (1 << 26)) |
| 310 | #define UIF_NORMAL_ACTIVE (1 << 29) | 312 | #define UIF_NORMAL_ACTIVE ((__force uif_t) (1 << 29)) |
| 311 | #define UIF_INITIALIZED (1 << 31) | 313 | #define UIF_INITIALIZED ((__force uif_t) (1 << 31)) |
| 312 | 314 | ||
| 313 | int blocked_open; | 315 | int blocked_open; |
| 314 | 316 | ||
| @@ -430,7 +432,7 @@ static inline int uart_handle_break(struct uart_port *port) | |||
| 430 | port->sysrq = 0; | 432 | port->sysrq = 0; |
| 431 | } | 433 | } |
| 432 | #endif | 434 | #endif |
| 433 | if (info->flags & UPF_SAK) | 435 | if (port->flags & UPF_SAK) |
| 434 | do_SAK(info->tty); | 436 | do_SAK(info->tty); |
| 435 | return 0; | 437 | return 0; |
| 436 | } | 438 | } |
