diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/can/core.h | 9 | ||||
| -rw-r--r-- | include/linux/ethtool.h | 1 | ||||
| -rw-r--r-- | include/linux/interrupt.h | 8 | ||||
| -rw-r--r-- | include/linux/irq.h | 128 | ||||
| -rw-r--r-- | include/linux/irqdesc.h | 60 | ||||
| -rw-r--r-- | include/linux/mmc/sh_mobile_sdhi.h (renamed from include/linux/mfd/sh_mobile_sdhi.h) | 0 | ||||
| -rw-r--r-- | include/linux/mmc/tmio.h | 63 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 8 | ||||
| -rw-r--r-- | include/linux/vmalloc.h | 32 |
9 files changed, 109 insertions, 200 deletions
diff --git a/include/linux/can/core.h b/include/linux/can/core.h index 6c507bea275f..6f70a6d3a16e 100644 --- a/include/linux/can/core.h +++ b/include/linux/can/core.h | |||
| @@ -36,10 +36,10 @@ | |||
| 36 | * @prot: pointer to struct proto structure. | 36 | * @prot: pointer to struct proto structure. |
| 37 | */ | 37 | */ |
| 38 | struct can_proto { | 38 | struct can_proto { |
| 39 | int type; | 39 | int type; |
| 40 | int protocol; | 40 | int protocol; |
| 41 | struct proto_ops *ops; | 41 | const struct proto_ops *ops; |
| 42 | struct proto *prot; | 42 | struct proto *prot; |
| 43 | }; | 43 | }; |
| 44 | 44 | ||
| 45 | /* function prototypes for the CAN networklayer core (af_can.c) */ | 45 | /* function prototypes for the CAN networklayer core (af_can.c) */ |
| @@ -58,5 +58,6 @@ extern void can_rx_unregister(struct net_device *dev, canid_t can_id, | |||
| 58 | void *data); | 58 | void *data); |
| 59 | 59 | ||
| 60 | extern int can_send(struct sk_buff *skb, int loop); | 60 | extern int can_send(struct sk_buff *skb, int loop); |
| 61 | extern int can_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); | ||
| 61 | 62 | ||
| 62 | #endif /* CAN_CORE_H */ | 63 | #endif /* CAN_CORE_H */ |
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index ae757bcf1280..c8fcbdd2b0e7 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
| @@ -680,6 +680,7 @@ int ethtool_op_set_ufo(struct net_device *dev, u32 data); | |||
| 680 | u32 ethtool_op_get_flags(struct net_device *dev); | 680 | u32 ethtool_op_get_flags(struct net_device *dev); |
| 681 | int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported); | 681 | int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported); |
| 682 | void ethtool_ntuple_flush(struct net_device *dev); | 682 | void ethtool_ntuple_flush(struct net_device *dev); |
| 683 | bool ethtool_invalid_flags(struct net_device *dev, u32 data, u32 supported); | ||
| 683 | 684 | ||
| 684 | /** | 685 | /** |
| 685 | * ðtool_ops - Alter and report network device settings | 686 | * ðtool_ops - Alter and report network device settings |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 59b72ca1c5d1..943c9b53695c 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
| @@ -338,14 +338,6 @@ static inline void enable_irq_lockdep_irqrestore(unsigned int irq, unsigned long | |||
| 338 | /* IRQ wakeup (PM) control: */ | 338 | /* IRQ wakeup (PM) control: */ |
| 339 | extern int irq_set_irq_wake(unsigned int irq, unsigned int on); | 339 | extern int irq_set_irq_wake(unsigned int irq, unsigned int on); |
| 340 | 340 | ||
| 341 | #ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT | ||
| 342 | /* Please do not use: Use the replacement functions instead */ | ||
| 343 | static inline int set_irq_wake(unsigned int irq, unsigned int on) | ||
| 344 | { | ||
| 345 | return irq_set_irq_wake(irq, on); | ||
| 346 | } | ||
| 347 | #endif | ||
| 348 | |||
| 349 | static inline int enable_irq_wake(unsigned int irq) | 341 | static inline int enable_irq_wake(unsigned int irq) |
| 350 | { | 342 | { |
| 351 | return irq_set_irq_wake(irq, 1); | 343 | return irq_set_irq_wake(irq, 1); |
diff --git a/include/linux/irq.h b/include/linux/irq.h index b3741c83774c..09a308072f56 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
| @@ -64,13 +64,6 @@ typedef void (*irq_preflow_handler_t)(struct irq_data *data); | |||
| 64 | * IRQ_NO_BALANCING - Interrupt cannot be balanced (affinity set) | 64 | * IRQ_NO_BALANCING - Interrupt cannot be balanced (affinity set) |
| 65 | * IRQ_MOVE_PCNTXT - Interrupt can be migrated from process context | 65 | * IRQ_MOVE_PCNTXT - Interrupt can be migrated from process context |
| 66 | * IRQ_NESTED_TRHEAD - Interrupt nests into another thread | 66 | * IRQ_NESTED_TRHEAD - Interrupt nests into another thread |
| 67 | * | ||
| 68 | * Deprecated bits. They are kept updated as long as | ||
| 69 | * CONFIG_GENERIC_HARDIRQS_NO_COMPAT is not set. Will go away soon. These bits | ||
| 70 | * are internal state of the core code and if you really need to acces | ||
| 71 | * them then talk to the genirq maintainer instead of hacking | ||
| 72 | * something weird. | ||
| 73 | * | ||
| 74 | */ | 67 | */ |
| 75 | enum { | 68 | enum { |
| 76 | IRQ_TYPE_NONE = 0x00000000, | 69 | IRQ_TYPE_NONE = 0x00000000, |
| @@ -92,18 +85,6 @@ enum { | |||
| 92 | IRQ_NO_BALANCING = (1 << 13), | 85 | IRQ_NO_BALANCING = (1 << 13), |
| 93 | IRQ_MOVE_PCNTXT = (1 << 14), | 86 | IRQ_MOVE_PCNTXT = (1 << 14), |
| 94 | IRQ_NESTED_THREAD = (1 << 15), | 87 | IRQ_NESTED_THREAD = (1 << 15), |
| 95 | |||
| 96 | #ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT | ||
| 97 | IRQ_INPROGRESS = (1 << 16), | ||
| 98 | IRQ_REPLAY = (1 << 17), | ||
| 99 | IRQ_WAITING = (1 << 18), | ||
| 100 | IRQ_DISABLED = (1 << 19), | ||
| 101 | IRQ_PENDING = (1 << 20), | ||
| 102 | IRQ_MASKED = (1 << 21), | ||
| 103 | IRQ_MOVE_PENDING = (1 << 22), | ||
| 104 | IRQ_AFFINITY_SET = (1 << 23), | ||
| 105 | IRQ_WAKEUP = (1 << 24), | ||
| 106 | #endif | ||
| 107 | }; | 88 | }; |
| 108 | 89 | ||
| 109 | #define IRQF_MODIFY_MASK \ | 90 | #define IRQF_MODIFY_MASK \ |
| @@ -321,28 +302,6 @@ static inline void irqd_clr_chained_irq_inprogress(struct irq_data *d) | |||
| 321 | */ | 302 | */ |
| 322 | struct irq_chip { | 303 | struct irq_chip { |
| 323 | const char *name; | 304 | const char *name; |
| 324 | #ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED | ||
| 325 | unsigned int (*startup)(unsigned int irq); | ||
| 326 | void (*shutdown)(unsigned int irq); | ||
| 327 | void (*enable)(unsigned int irq); | ||
| 328 | void (*disable)(unsigned int irq); | ||
| 329 | |||
| 330 | void (*ack)(unsigned int irq); | ||
| 331 | void (*mask)(unsigned int irq); | ||
| 332 | void (*mask_ack)(unsigned int irq); | ||
| 333 | void (*unmask)(unsigned int irq); | ||
| 334 | void (*eoi)(unsigned int irq); | ||
| 335 | |||
| 336 | void (*end)(unsigned int irq); | ||
| 337 | int (*set_affinity)(unsigned int irq, | ||
| 338 | const struct cpumask *dest); | ||
| 339 | int (*retrigger)(unsigned int irq); | ||
| 340 | int (*set_type)(unsigned int irq, unsigned int flow_type); | ||
| 341 | int (*set_wake)(unsigned int irq, unsigned int on); | ||
| 342 | |||
| 343 | void (*bus_lock)(unsigned int irq); | ||
| 344 | void (*bus_sync_unlock)(unsigned int irq); | ||
| 345 | #endif | ||
| 346 | unsigned int (*irq_startup)(struct irq_data *data); | 305 | unsigned int (*irq_startup)(struct irq_data *data); |
| 347 | void (*irq_shutdown)(struct irq_data *data); | 306 | void (*irq_shutdown)(struct irq_data *data); |
| 348 | void (*irq_enable)(struct irq_data *data); | 307 | void (*irq_enable)(struct irq_data *data); |
| @@ -420,13 +379,9 @@ extern int __irq_set_affinity_locked(struct irq_data *data, const struct cpumas | |||
| 420 | #ifdef CONFIG_GENERIC_HARDIRQS | 379 | #ifdef CONFIG_GENERIC_HARDIRQS |
| 421 | 380 | ||
| 422 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_PENDING_IRQ) | 381 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_PENDING_IRQ) |
| 423 | void move_native_irq(int irq); | ||
| 424 | void move_masked_irq(int irq); | ||
| 425 | void irq_move_irq(struct irq_data *data); | 382 | void irq_move_irq(struct irq_data *data); |
| 426 | void irq_move_masked_irq(struct irq_data *data); | 383 | void irq_move_masked_irq(struct irq_data *data); |
| 427 | #else | 384 | #else |
| 428 | static inline void move_native_irq(int irq) { } | ||
| 429 | static inline void move_masked_irq(int irq) { } | ||
| 430 | static inline void irq_move_irq(struct irq_data *data) { } | 385 | static inline void irq_move_irq(struct irq_data *data) { } |
| 431 | static inline void irq_move_masked_irq(struct irq_data *data) { } | 386 | static inline void irq_move_masked_irq(struct irq_data *data) { } |
| 432 | #endif | 387 | #endif |
| @@ -589,89 +544,6 @@ static inline struct msi_desc *irq_data_get_msi(struct irq_data *d) | |||
| 589 | return d->msi_desc; | 544 | return d->msi_desc; |
| 590 | } | 545 | } |
| 591 | 546 | ||
| 592 | #ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT | ||
| 593 | /* Please do not use: Use the replacement functions instead */ | ||
| 594 | static inline int set_irq_chip(unsigned int irq, struct irq_chip *chip) | ||
| 595 | { | ||
| 596 | return irq_set_chip(irq, chip); | ||
| 597 | } | ||
| 598 | static inline int set_irq_data(unsigned int irq, void *data) | ||
| 599 | { | ||
| 600 | return irq_set_handler_data(irq, data); | ||
| 601 | } | ||
| 602 | static inline int set_irq_chip_data(unsigned int irq, void *data) | ||
| 603 | { | ||
| 604 | return irq_set_chip_data(irq, data); | ||
| 605 | } | ||
| 606 | static inline int set_irq_type(unsigned int irq, unsigned int type) | ||
| 607 | { | ||
| 608 | return irq_set_irq_type(irq, type); | ||
| 609 | } | ||
| 610 | static inline int set_irq_msi(unsigned int irq, struct msi_desc *entry) | ||
| 611 | { | ||
| 612 | return irq_set_msi_desc(irq, entry); | ||
| 613 | } | ||
| 614 | static inline struct irq_chip *get_irq_chip(unsigned int irq) | ||
| 615 | { | ||
| 616 | return irq_get_chip(irq); | ||
| 617 | } | ||
| 618 | static inline void *get_irq_chip_data(unsigned int irq) | ||
| 619 | { | ||
| 620 | return irq_get_chip_data(irq); | ||
| 621 | } | ||
| 622 | static inline void *get_irq_data(unsigned int irq) | ||
| 623 | { | ||
| 624 | return irq_get_handler_data(irq); | ||
| 625 | } | ||
| 626 | static inline void *irq_data_get_irq_data(struct irq_data *d) | ||
| 627 | { | ||
| 628 | return irq_data_get_irq_handler_data(d); | ||
| 629 | } | ||
| 630 | static inline struct msi_desc *get_irq_msi(unsigned int irq) | ||
| 631 | { | ||
| 632 | return irq_get_msi_desc(irq); | ||
| 633 | } | ||
| 634 | static inline void set_irq_noprobe(unsigned int irq) | ||
| 635 | { | ||
| 636 | irq_set_noprobe(irq); | ||
| 637 | } | ||
| 638 | static inline void set_irq_probe(unsigned int irq) | ||
| 639 | { | ||
| 640 | irq_set_probe(irq); | ||
| 641 | } | ||
| 642 | static inline void set_irq_nested_thread(unsigned int irq, int nest) | ||
| 643 | { | ||
| 644 | irq_set_nested_thread(irq, nest); | ||
| 645 | } | ||
| 646 | static inline void | ||
| 647 | set_irq_chip_and_handler_name(unsigned int irq, struct irq_chip *chip, | ||
| 648 | irq_flow_handler_t handle, const char *name) | ||
| 649 | { | ||
| 650 | irq_set_chip_and_handler_name(irq, chip, handle, name); | ||
| 651 | } | ||
| 652 | static inline void | ||
| 653 | set_irq_chip_and_handler(unsigned int irq, struct irq_chip *chip, | ||
| 654 | irq_flow_handler_t handle) | ||
| 655 | { | ||
| 656 | irq_set_chip_and_handler(irq, chip, handle); | ||
| 657 | } | ||
| 658 | static inline void | ||
| 659 | __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, | ||
| 660 | const char *name) | ||
| 661 | { | ||
| 662 | __irq_set_handler(irq, handle, is_chained, name); | ||
| 663 | } | ||
| 664 | static inline void set_irq_handler(unsigned int irq, irq_flow_handler_t handle) | ||
| 665 | { | ||
| 666 | irq_set_handler(irq, handle); | ||
| 667 | } | ||
| 668 | static inline void | ||
| 669 | set_irq_chained_handler(unsigned int irq, irq_flow_handler_t handle) | ||
| 670 | { | ||
| 671 | irq_set_chained_handler(irq, handle); | ||
| 672 | } | ||
| 673 | #endif | ||
| 674 | |||
| 675 | int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node); | 547 | int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node); |
| 676 | void irq_free_descs(unsigned int irq, unsigned int cnt); | 548 | void irq_free_descs(unsigned int irq, unsigned int cnt); |
| 677 | int irq_reserve_irqs(unsigned int from, unsigned int cnt); | 549 | int irq_reserve_irqs(unsigned int from, unsigned int cnt); |
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index 15e6c3905f41..a082905b5ebe 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
| @@ -35,32 +35,7 @@ struct timer_rand_state; | |||
| 35 | * @name: flow handler name for /proc/interrupts output | 35 | * @name: flow handler name for /proc/interrupts output |
| 36 | */ | 36 | */ |
| 37 | struct irq_desc { | 37 | struct irq_desc { |
| 38 | |||
| 39 | #ifdef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED | ||
| 40 | struct irq_data irq_data; | 38 | struct irq_data irq_data; |
| 41 | #else | ||
| 42 | /* | ||
| 43 | * This union will go away, once we fixed the direct access to | ||
| 44 | * irq_desc all over the place. The direct fields are a 1:1 | ||
| 45 | * overlay of irq_data. | ||
| 46 | */ | ||
| 47 | union { | ||
| 48 | struct irq_data irq_data; | ||
| 49 | struct { | ||
| 50 | unsigned int irq; | ||
| 51 | unsigned int node; | ||
| 52 | unsigned int pad_do_not_even_think_about_it; | ||
| 53 | struct irq_chip *chip; | ||
| 54 | void *handler_data; | ||
| 55 | void *chip_data; | ||
| 56 | struct msi_desc *msi_desc; | ||
| 57 | #ifdef CONFIG_SMP | ||
| 58 | cpumask_var_t affinity; | ||
| 59 | #endif | ||
| 60 | }; | ||
| 61 | }; | ||
| 62 | #endif | ||
| 63 | |||
| 64 | struct timer_rand_state *timer_rand_state; | 39 | struct timer_rand_state *timer_rand_state; |
| 65 | unsigned int __percpu *kstat_irqs; | 40 | unsigned int __percpu *kstat_irqs; |
| 66 | irq_flow_handler_t handle_irq; | 41 | irq_flow_handler_t handle_irq; |
| @@ -68,11 +43,7 @@ struct irq_desc { | |||
| 68 | irq_preflow_handler_t preflow_handler; | 43 | irq_preflow_handler_t preflow_handler; |
| 69 | #endif | 44 | #endif |
| 70 | struct irqaction *action; /* IRQ action list */ | 45 | struct irqaction *action; /* IRQ action list */ |
| 71 | #ifdef CONFIG_GENERIC_HARDIRQS_NO_COMPAT | ||
| 72 | unsigned int status_use_accessors; | 46 | unsigned int status_use_accessors; |
| 73 | #else | ||
| 74 | unsigned int status; /* IRQ status */ | ||
| 75 | #endif | ||
| 76 | unsigned int core_internal_state__do_not_mess_with_it; | 47 | unsigned int core_internal_state__do_not_mess_with_it; |
| 77 | unsigned int depth; /* nested irq disables */ | 48 | unsigned int depth; /* nested irq disables */ |
| 78 | unsigned int wake_depth; /* nested wake enables */ | 49 | unsigned int wake_depth; /* nested wake enables */ |
| @@ -127,27 +98,6 @@ static inline struct msi_desc *irq_desc_get_msi_desc(struct irq_desc *desc) | |||
| 127 | return desc->irq_data.msi_desc; | 98 | return desc->irq_data.msi_desc; |
| 128 | } | 99 | } |
| 129 | 100 | ||
| 130 | #ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT | ||
| 131 | static inline struct irq_chip *get_irq_desc_chip(struct irq_desc *desc) | ||
| 132 | { | ||
| 133 | return irq_desc_get_chip(desc); | ||
| 134 | } | ||
| 135 | static inline void *get_irq_desc_data(struct irq_desc *desc) | ||
| 136 | { | ||
| 137 | return irq_desc_get_handler_data(desc); | ||
| 138 | } | ||
| 139 | |||
| 140 | static inline void *get_irq_desc_chip_data(struct irq_desc *desc) | ||
| 141 | { | ||
| 142 | return irq_desc_get_chip_data(desc); | ||
| 143 | } | ||
| 144 | |||
| 145 | static inline struct msi_desc *get_irq_desc_msi(struct irq_desc *desc) | ||
| 146 | { | ||
| 147 | return irq_desc_get_msi_desc(desc); | ||
| 148 | } | ||
| 149 | #endif | ||
| 150 | |||
| 151 | /* | 101 | /* |
| 152 | * Architectures call this to let the generic IRQ layer | 102 | * Architectures call this to let the generic IRQ layer |
| 153 | * handle an interrupt. If the descriptor is attached to an | 103 | * handle an interrupt. If the descriptor is attached to an |
| @@ -194,21 +144,13 @@ __irq_set_chip_handler_name_locked(unsigned int irq, struct irq_chip *chip, | |||
| 194 | desc->name = name; | 144 | desc->name = name; |
| 195 | } | 145 | } |
| 196 | 146 | ||
| 197 | #ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT | ||
| 198 | static inline void __set_irq_handler_unlocked(int irq, | ||
| 199 | irq_flow_handler_t handler) | ||
| 200 | { | ||
| 201 | __irq_set_handler_locked(irq, handler); | ||
| 202 | } | ||
| 203 | |||
| 204 | static inline int irq_balancing_disabled(unsigned int irq) | 147 | static inline int irq_balancing_disabled(unsigned int irq) |
| 205 | { | 148 | { |
| 206 | struct irq_desc *desc; | 149 | struct irq_desc *desc; |
| 207 | 150 | ||
| 208 | desc = irq_to_desc(irq); | 151 | desc = irq_to_desc(irq); |
| 209 | return desc->status & IRQ_NO_BALANCING_MASK; | 152 | return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; |
| 210 | } | 153 | } |
| 211 | #endif | ||
| 212 | 154 | ||
| 213 | static inline void | 155 | static inline void |
| 214 | irq_set_lockdep_class(unsigned int irq, struct lock_class_key *class) | 156 | irq_set_lockdep_class(unsigned int irq, struct lock_class_key *class) |
diff --git a/include/linux/mfd/sh_mobile_sdhi.h b/include/linux/mmc/sh_mobile_sdhi.h index c981b959760f..c981b959760f 100644 --- a/include/linux/mfd/sh_mobile_sdhi.h +++ b/include/linux/mmc/sh_mobile_sdhi.h | |||
diff --git a/include/linux/mmc/tmio.h b/include/linux/mmc/tmio.h new file mode 100644 index 000000000000..19490b942db0 --- /dev/null +++ b/include/linux/mmc/tmio.h | |||
| @@ -0,0 +1,63 @@ | |||
| 1 | /* | ||
| 2 | * include/linux/mmc/tmio.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2007 Ian Molton | ||
| 5 | * Copyright (C) 2004 Ian Molton | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | * | ||
| 11 | * Driver for the MMC / SD / SDIO cell found in: | ||
| 12 | * | ||
| 13 | * TC6393XB TC6391XB TC6387XB T7L66XB ASIC3 | ||
| 14 | */ | ||
| 15 | #ifndef _LINUX_MMC_TMIO_H_ | ||
| 16 | #define _LINUX_MMC_TMIO_H_ | ||
| 17 | |||
| 18 | #define CTL_SD_CMD 0x00 | ||
| 19 | #define CTL_ARG_REG 0x04 | ||
| 20 | #define CTL_STOP_INTERNAL_ACTION 0x08 | ||
| 21 | #define CTL_XFER_BLK_COUNT 0xa | ||
| 22 | #define CTL_RESPONSE 0x0c | ||
| 23 | #define CTL_STATUS 0x1c | ||
| 24 | #define CTL_IRQ_MASK 0x20 | ||
| 25 | #define CTL_SD_CARD_CLK_CTL 0x24 | ||
| 26 | #define CTL_SD_XFER_LEN 0x26 | ||
| 27 | #define CTL_SD_MEM_CARD_OPT 0x28 | ||
| 28 | #define CTL_SD_ERROR_DETAIL_STATUS 0x2c | ||
| 29 | #define CTL_SD_DATA_PORT 0x30 | ||
| 30 | #define CTL_TRANSACTION_CTL 0x34 | ||
| 31 | #define CTL_SDIO_STATUS 0x36 | ||
| 32 | #define CTL_SDIO_IRQ_MASK 0x38 | ||
| 33 | #define CTL_RESET_SD 0xe0 | ||
| 34 | #define CTL_SDIO_REGS 0x100 | ||
| 35 | #define CTL_CLK_AND_WAIT_CTL 0x138 | ||
| 36 | #define CTL_RESET_SDIO 0x1e0 | ||
| 37 | |||
| 38 | /* Definitions for values the CTRL_STATUS register can take. */ | ||
| 39 | #define TMIO_STAT_CMDRESPEND 0x00000001 | ||
| 40 | #define TMIO_STAT_DATAEND 0x00000004 | ||
| 41 | #define TMIO_STAT_CARD_REMOVE 0x00000008 | ||
| 42 | #define TMIO_STAT_CARD_INSERT 0x00000010 | ||
| 43 | #define TMIO_STAT_SIGSTATE 0x00000020 | ||
| 44 | #define TMIO_STAT_WRPROTECT 0x00000080 | ||
| 45 | #define TMIO_STAT_CARD_REMOVE_A 0x00000100 | ||
| 46 | #define TMIO_STAT_CARD_INSERT_A 0x00000200 | ||
| 47 | #define TMIO_STAT_SIGSTATE_A 0x00000400 | ||
| 48 | #define TMIO_STAT_CMD_IDX_ERR 0x00010000 | ||
| 49 | #define TMIO_STAT_CRCFAIL 0x00020000 | ||
| 50 | #define TMIO_STAT_STOPBIT_ERR 0x00040000 | ||
| 51 | #define TMIO_STAT_DATATIMEOUT 0x00080000 | ||
| 52 | #define TMIO_STAT_RXOVERFLOW 0x00100000 | ||
| 53 | #define TMIO_STAT_TXUNDERRUN 0x00200000 | ||
| 54 | #define TMIO_STAT_CMDTIMEOUT 0x00400000 | ||
| 55 | #define TMIO_STAT_RXRDY 0x01000000 | ||
| 56 | #define TMIO_STAT_TXRQ 0x02000000 | ||
| 57 | #define TMIO_STAT_ILL_FUNC 0x20000000 | ||
| 58 | #define TMIO_STAT_CMD_BUSY 0x40000000 | ||
| 59 | #define TMIO_STAT_ILL_ACCESS 0x80000000 | ||
| 60 | |||
| 61 | #define TMIO_BBS 512 /* Boot block size */ | ||
| 62 | |||
| 63 | #endif /* _LINUX_MMC_TMIO_H_ */ | ||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 24cfa626931e..239083bfea13 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -122,8 +122,14 @@ struct sk_buff_head { | |||
| 122 | 122 | ||
| 123 | struct sk_buff; | 123 | struct sk_buff; |
| 124 | 124 | ||
| 125 | /* To allow 64K frame to be packed as single skb without frag_list */ | 125 | /* To allow 64K frame to be packed as single skb without frag_list. Since |
| 126 | * GRO uses frags we allocate at least 16 regardless of page size. | ||
| 127 | */ | ||
| 128 | #if (65536/PAGE_SIZE + 2) < 16 | ||
| 129 | #define MAX_SKB_FRAGS 16 | ||
| 130 | #else | ||
| 126 | #define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2) | 131 | #define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2) |
| 132 | #endif | ||
| 127 | 133 | ||
| 128 | typedef struct skb_frag_struct skb_frag_t; | 134 | typedef struct skb_frag_struct skb_frag_t; |
| 129 | 135 | ||
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 4ed6fcd6b726..9332e52ea8c2 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
| @@ -95,10 +95,27 @@ extern struct vm_struct *remove_vm_area(const void *addr); | |||
| 95 | 95 | ||
| 96 | extern int map_vm_area(struct vm_struct *area, pgprot_t prot, | 96 | extern int map_vm_area(struct vm_struct *area, pgprot_t prot, |
| 97 | struct page ***pages); | 97 | struct page ***pages); |
| 98 | #ifdef CONFIG_MMU | ||
| 98 | extern int map_kernel_range_noflush(unsigned long start, unsigned long size, | 99 | extern int map_kernel_range_noflush(unsigned long start, unsigned long size, |
| 99 | pgprot_t prot, struct page **pages); | 100 | pgprot_t prot, struct page **pages); |
| 100 | extern void unmap_kernel_range_noflush(unsigned long addr, unsigned long size); | 101 | extern void unmap_kernel_range_noflush(unsigned long addr, unsigned long size); |
| 101 | extern void unmap_kernel_range(unsigned long addr, unsigned long size); | 102 | extern void unmap_kernel_range(unsigned long addr, unsigned long size); |
| 103 | #else | ||
| 104 | static inline int | ||
| 105 | map_kernel_range_noflush(unsigned long start, unsigned long size, | ||
| 106 | pgprot_t prot, struct page **pages) | ||
| 107 | { | ||
| 108 | return size >> PAGE_SHIFT; | ||
| 109 | } | ||
| 110 | static inline void | ||
| 111 | unmap_kernel_range_noflush(unsigned long addr, unsigned long size) | ||
| 112 | { | ||
| 113 | } | ||
| 114 | static inline void | ||
| 115 | unmap_kernel_range(unsigned long addr, unsigned long size) | ||
| 116 | { | ||
| 117 | } | ||
| 118 | #endif | ||
| 102 | 119 | ||
| 103 | /* Allocate/destroy a 'vmalloc' VM area. */ | 120 | /* Allocate/destroy a 'vmalloc' VM area. */ |
| 104 | extern struct vm_struct *alloc_vm_area(size_t size); | 121 | extern struct vm_struct *alloc_vm_area(size_t size); |
| @@ -116,11 +133,26 @@ extern struct vm_struct *vmlist; | |||
| 116 | extern __init void vm_area_register_early(struct vm_struct *vm, size_t align); | 133 | extern __init void vm_area_register_early(struct vm_struct *vm, size_t align); |
| 117 | 134 | ||
| 118 | #ifdef CONFIG_SMP | 135 | #ifdef CONFIG_SMP |
| 136 | # ifdef CONFIG_MMU | ||
| 119 | struct vm_struct **pcpu_get_vm_areas(const unsigned long *offsets, | 137 | struct vm_struct **pcpu_get_vm_areas(const unsigned long *offsets, |
| 120 | const size_t *sizes, int nr_vms, | 138 | const size_t *sizes, int nr_vms, |
| 121 | size_t align); | 139 | size_t align); |
| 122 | 140 | ||
| 123 | void pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms); | 141 | void pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms); |
| 142 | # else | ||
| 143 | static inline struct vm_struct ** | ||
| 144 | pcpu_get_vm_areas(const unsigned long *offsets, | ||
| 145 | const size_t *sizes, int nr_vms, | ||
| 146 | size_t align) | ||
| 147 | { | ||
| 148 | return NULL; | ||
| 149 | } | ||
| 150 | |||
| 151 | static inline void | ||
| 152 | pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms) | ||
| 153 | { | ||
| 154 | } | ||
| 155 | # endif | ||
| 124 | #endif | 156 | #endif |
| 125 | 157 | ||
| 126 | #endif /* _LINUX_VMALLOC_H */ | 158 | #endif /* _LINUX_VMALLOC_H */ |
