diff options
| author | Tony Lindgren <tony@atomide.com> | 2012-02-20 13:11:08 -0500 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2012-02-20 13:11:08 -0500 |
| commit | 856c5403462419eff9a7891efeee7bddc2a08af6 (patch) | |
| tree | 2f4bb681e10ec1f895600fa0a4b0b177dadf6fb4 /include/linux | |
| parent | b0ee4e394009f02a1d1b166091a19e8b842b4ea4 (diff) | |
| parent | d517110243130965e2803cc2373d434bdaf6dafb (diff) | |
Merge branch 'fixes-mmc' into fixes
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/bitops.h | 20 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 3 | ||||
| -rw-r--r-- | include/linux/cdrom.h | 3 | ||||
| -rw-r--r-- | include/linux/elevator.h | 9 | ||||
| -rw-r--r-- | include/linux/hyperv.h | 2 | ||||
| -rw-r--r-- | include/linux/iocontext.h | 5 | ||||
| -rw-r--r-- | include/linux/mmc/card.h | 4 | ||||
| -rw-r--r-- | include/linux/mmc/dw_mmc.h | 6 | ||||
| -rw-r--r-- | include/linux/mmc/host.h | 20 | ||||
| -rw-r--r-- | include/linux/proportions.h | 4 | ||||
| -rw-r--r-- | include/linux/usb/ch9.h | 2 |
11 files changed, 59 insertions, 19 deletions
diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 3c1063acb2ab..94300fe46cce 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h | |||
| @@ -56,6 +56,26 @@ static inline unsigned long hweight_long(unsigned long w) | |||
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | /** | 58 | /** |
| 59 | * rol64 - rotate a 64-bit value left | ||
| 60 | * @word: value to rotate | ||
| 61 | * @shift: bits to roll | ||
| 62 | */ | ||
| 63 | static inline __u64 rol64(__u64 word, unsigned int shift) | ||
| 64 | { | ||
| 65 | return (word << shift) | (word >> (64 - shift)); | ||
| 66 | } | ||
| 67 | |||
| 68 | /** | ||
| 69 | * ror64 - rotate a 64-bit value right | ||
| 70 | * @word: value to rotate | ||
| 71 | * @shift: bits to roll | ||
| 72 | */ | ||
| 73 | static inline __u64 ror64(__u64 word, unsigned int shift) | ||
| 74 | { | ||
| 75 | return (word >> shift) | (word << (64 - shift)); | ||
| 76 | } | ||
| 77 | |||
| 78 | /** | ||
| 59 | * rol32 - rotate a 32-bit value left | 79 | * rol32 - rotate a 32-bit value left |
| 60 | * @word: value to rotate | 80 | * @word: value to rotate |
| 61 | * @shift: bits to roll | 81 | * @shift: bits to roll |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 6c6a1f008065..606cf339bb56 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -399,9 +399,6 @@ struct request_queue { | |||
| 399 | /* Throttle data */ | 399 | /* Throttle data */ |
| 400 | struct throtl_data *td; | 400 | struct throtl_data *td; |
| 401 | #endif | 401 | #endif |
| 402 | #ifdef CONFIG_LOCKDEP | ||
| 403 | int ioc_release_depth; | ||
| 404 | #endif | ||
| 405 | }; | 402 | }; |
| 406 | 403 | ||
| 407 | #define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */ | 404 | #define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */ |
diff --git a/include/linux/cdrom.h b/include/linux/cdrom.h index 35eae4b67503..7c48029dffe6 100644 --- a/include/linux/cdrom.h +++ b/include/linux/cdrom.h | |||
| @@ -952,7 +952,8 @@ struct cdrom_device_info { | |||
| 952 | char name[20]; /* name of the device type */ | 952 | char name[20]; /* name of the device type */ |
| 953 | /* per-device flags */ | 953 | /* per-device flags */ |
| 954 | __u8 sanyo_slot : 2; /* Sanyo 3 CD changer support */ | 954 | __u8 sanyo_slot : 2; /* Sanyo 3 CD changer support */ |
| 955 | __u8 reserved : 6; /* not used yet */ | 955 | __u8 keeplocked : 1; /* CDROM_LOCKDOOR status */ |
| 956 | __u8 reserved : 5; /* not used yet */ | ||
| 956 | int cdda_method; /* see flags */ | 957 | int cdda_method; /* see flags */ |
| 957 | __u8 last_sense; | 958 | __u8 last_sense; |
| 958 | __u8 media_written; /* dirty flag, DVD+RW bookkeeping */ | 959 | __u8 media_written; /* dirty flag, DVD+RW bookkeeping */ |
diff --git a/include/linux/elevator.h b/include/linux/elevator.h index c24f3d7fbf1e..7d4e0356f329 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h | |||
| @@ -42,12 +42,6 @@ struct elevator_ops | |||
| 42 | elevator_merged_fn *elevator_merged_fn; | 42 | elevator_merged_fn *elevator_merged_fn; |
| 43 | elevator_merge_req_fn *elevator_merge_req_fn; | 43 | elevator_merge_req_fn *elevator_merge_req_fn; |
| 44 | elevator_allow_merge_fn *elevator_allow_merge_fn; | 44 | elevator_allow_merge_fn *elevator_allow_merge_fn; |
| 45 | |||
| 46 | /* | ||
| 47 | * Used for both plugged list and elevator merging and in the | ||
| 48 | * former case called without queue_lock. Read comment on top of | ||
| 49 | * attempt_plug_merge() for details. | ||
| 50 | */ | ||
| 51 | elevator_bio_merged_fn *elevator_bio_merged_fn; | 45 | elevator_bio_merged_fn *elevator_bio_merged_fn; |
| 52 | 46 | ||
| 53 | elevator_dispatch_fn *elevator_dispatch_fn; | 47 | elevator_dispatch_fn *elevator_dispatch_fn; |
| @@ -122,7 +116,6 @@ extern void elv_dispatch_add_tail(struct request_queue *, struct request *); | |||
| 122 | extern void elv_add_request(struct request_queue *, struct request *, int); | 116 | extern void elv_add_request(struct request_queue *, struct request *, int); |
| 123 | extern void __elv_add_request(struct request_queue *, struct request *, int); | 117 | extern void __elv_add_request(struct request_queue *, struct request *, int); |
| 124 | extern int elv_merge(struct request_queue *, struct request **, struct bio *); | 118 | extern int elv_merge(struct request_queue *, struct request **, struct bio *); |
| 125 | extern int elv_try_merge(struct request *, struct bio *); | ||
| 126 | extern void elv_merge_requests(struct request_queue *, struct request *, | 119 | extern void elv_merge_requests(struct request_queue *, struct request *, |
| 127 | struct request *); | 120 | struct request *); |
| 128 | extern void elv_merged_request(struct request_queue *, struct request *, int); | 121 | extern void elv_merged_request(struct request_queue *, struct request *, int); |
| @@ -155,7 +148,7 @@ extern ssize_t elv_iosched_store(struct request_queue *, const char *, size_t); | |||
| 155 | extern int elevator_init(struct request_queue *, char *); | 148 | extern int elevator_init(struct request_queue *, char *); |
| 156 | extern void elevator_exit(struct elevator_queue *); | 149 | extern void elevator_exit(struct elevator_queue *); |
| 157 | extern int elevator_change(struct request_queue *, const char *); | 150 | extern int elevator_change(struct request_queue *, const char *); |
| 158 | extern int elv_rq_merge_ok(struct request *, struct bio *); | 151 | extern bool elv_rq_merge_ok(struct request *, struct bio *); |
| 159 | 152 | ||
| 160 | /* | 153 | /* |
| 161 | * Helper functions. | 154 | * Helper functions. |
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 62b908e0e591..0ae065a5fcb2 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h | |||
| @@ -35,7 +35,7 @@ | |||
| 35 | #include <linux/mod_devicetable.h> | 35 | #include <linux/mod_devicetable.h> |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | #define MAX_PAGE_BUFFER_COUNT 18 | 38 | #define MAX_PAGE_BUFFER_COUNT 19 |
| 39 | #define MAX_MULTIPAGE_BUFFER_COUNT 32 /* 128K */ | 39 | #define MAX_MULTIPAGE_BUFFER_COUNT 32 /* 128K */ |
| 40 | 40 | ||
| 41 | #pragma pack(push, 1) | 41 | #pragma pack(push, 1) |
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index 7e1371c4bccf..119773eebe31 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
| @@ -133,7 +133,7 @@ static inline struct io_context *ioc_task_link(struct io_context *ioc) | |||
| 133 | 133 | ||
| 134 | struct task_struct; | 134 | struct task_struct; |
| 135 | #ifdef CONFIG_BLOCK | 135 | #ifdef CONFIG_BLOCK |
| 136 | void put_io_context(struct io_context *ioc, struct request_queue *locked_q); | 136 | void put_io_context(struct io_context *ioc); |
| 137 | void exit_io_context(struct task_struct *task); | 137 | void exit_io_context(struct task_struct *task); |
| 138 | struct io_context *get_task_io_context(struct task_struct *task, | 138 | struct io_context *get_task_io_context(struct task_struct *task, |
| 139 | gfp_t gfp_flags, int node); | 139 | gfp_t gfp_flags, int node); |
| @@ -141,8 +141,7 @@ void ioc_ioprio_changed(struct io_context *ioc, int ioprio); | |||
| 141 | void ioc_cgroup_changed(struct io_context *ioc); | 141 | void ioc_cgroup_changed(struct io_context *ioc); |
| 142 | #else | 142 | #else |
| 143 | struct io_context; | 143 | struct io_context; |
| 144 | static inline void put_io_context(struct io_context *ioc, | 144 | static inline void put_io_context(struct io_context *ioc) { } |
| 145 | struct request_queue *locked_q) { } | ||
| 146 | static inline void exit_io_context(struct task_struct *task) { } | 145 | static inline void exit_io_context(struct task_struct *task) { } |
| 147 | #endif | 146 | #endif |
| 148 | 147 | ||
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 9f22ba572de0..19a41d1737af 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h | |||
| @@ -217,6 +217,7 @@ struct mmc_card { | |||
| 217 | #define MMC_CARD_SDXC (1<<6) /* card is SDXC */ | 217 | #define MMC_CARD_SDXC (1<<6) /* card is SDXC */ |
| 218 | #define MMC_CARD_REMOVED (1<<7) /* card has been removed */ | 218 | #define MMC_CARD_REMOVED (1<<7) /* card has been removed */ |
| 219 | #define MMC_STATE_HIGHSPEED_200 (1<<8) /* card is in HS200 mode */ | 219 | #define MMC_STATE_HIGHSPEED_200 (1<<8) /* card is in HS200 mode */ |
| 220 | #define MMC_STATE_SLEEP (1<<9) /* card is in sleep state */ | ||
| 220 | unsigned int quirks; /* card quirks */ | 221 | unsigned int quirks; /* card quirks */ |
| 221 | #define MMC_QUIRK_LENIENT_FN0 (1<<0) /* allow SDIO FN0 writes outside of the VS CCCR range */ | 222 | #define MMC_QUIRK_LENIENT_FN0 (1<<0) /* allow SDIO FN0 writes outside of the VS CCCR range */ |
| 222 | #define MMC_QUIRK_BLKSZ_FOR_BYTE_MODE (1<<1) /* use func->cur_blksize */ | 223 | #define MMC_QUIRK_BLKSZ_FOR_BYTE_MODE (1<<1) /* use func->cur_blksize */ |
| @@ -382,6 +383,7 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data) | |||
| 382 | #define mmc_sd_card_uhs(c) ((c)->state & MMC_STATE_ULTRAHIGHSPEED) | 383 | #define mmc_sd_card_uhs(c) ((c)->state & MMC_STATE_ULTRAHIGHSPEED) |
| 383 | #define mmc_card_ext_capacity(c) ((c)->state & MMC_CARD_SDXC) | 384 | #define mmc_card_ext_capacity(c) ((c)->state & MMC_CARD_SDXC) |
| 384 | #define mmc_card_removed(c) ((c) && ((c)->state & MMC_CARD_REMOVED)) | 385 | #define mmc_card_removed(c) ((c) && ((c)->state & MMC_CARD_REMOVED)) |
| 386 | #define mmc_card_is_sleep(c) ((c)->state & MMC_STATE_SLEEP) | ||
| 385 | 387 | ||
| 386 | #define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT) | 388 | #define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT) |
| 387 | #define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY) | 389 | #define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY) |
| @@ -393,7 +395,9 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data) | |||
| 393 | #define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED) | 395 | #define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED) |
| 394 | #define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC) | 396 | #define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC) |
| 395 | #define mmc_card_set_removed(c) ((c)->state |= MMC_CARD_REMOVED) | 397 | #define mmc_card_set_removed(c) ((c)->state |= MMC_CARD_REMOVED) |
| 398 | #define mmc_card_set_sleep(c) ((c)->state |= MMC_STATE_SLEEP) | ||
| 396 | 399 | ||
| 400 | #define mmc_card_clr_sleep(c) ((c)->state &= ~MMC_STATE_SLEEP) | ||
| 397 | /* | 401 | /* |
| 398 | * Quirk add/remove for MMC products. | 402 | * Quirk add/remove for MMC products. |
| 399 | */ | 403 | */ |
diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h index e8779c6d1759..aae5d1f1bb39 100644 --- a/include/linux/mmc/dw_mmc.h +++ b/include/linux/mmc/dw_mmc.h | |||
| @@ -14,6 +14,8 @@ | |||
| 14 | #ifndef LINUX_MMC_DW_MMC_H | 14 | #ifndef LINUX_MMC_DW_MMC_H |
| 15 | #define LINUX_MMC_DW_MMC_H | 15 | #define LINUX_MMC_DW_MMC_H |
| 16 | 16 | ||
| 17 | #include <linux/scatterlist.h> | ||
| 18 | |||
| 17 | #define MAX_MCI_SLOTS 2 | 19 | #define MAX_MCI_SLOTS 2 |
| 18 | 20 | ||
| 19 | enum dw_mci_state { | 21 | enum dw_mci_state { |
| @@ -40,7 +42,7 @@ struct mmc_data; | |||
| 40 | * @lock: Spinlock protecting the queue and associated data. | 42 | * @lock: Spinlock protecting the queue and associated data. |
| 41 | * @regs: Pointer to MMIO registers. | 43 | * @regs: Pointer to MMIO registers. |
| 42 | * @sg: Scatterlist entry currently being processed by PIO code, if any. | 44 | * @sg: Scatterlist entry currently being processed by PIO code, if any. |
| 43 | * @pio_offset: Offset into the current scatterlist entry. | 45 | * @sg_miter: PIO mapping scatterlist iterator. |
| 44 | * @cur_slot: The slot which is currently using the controller. | 46 | * @cur_slot: The slot which is currently using the controller. |
| 45 | * @mrq: The request currently being processed on @cur_slot, | 47 | * @mrq: The request currently being processed on @cur_slot, |
| 46 | * or NULL if the controller is idle. | 48 | * or NULL if the controller is idle. |
| @@ -115,7 +117,7 @@ struct dw_mci { | |||
| 115 | void __iomem *regs; | 117 | void __iomem *regs; |
| 116 | 118 | ||
| 117 | struct scatterlist *sg; | 119 | struct scatterlist *sg; |
| 118 | unsigned int pio_offset; | 120 | struct sg_mapping_iter sg_miter; |
| 119 | 121 | ||
| 120 | struct dw_mci_slot *cur_slot; | 122 | struct dw_mci_slot *cur_slot; |
| 121 | struct mmc_request *mrq; | 123 | struct mmc_request *mrq; |
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 0beba1e5e1ed..ee2b0363c040 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
| @@ -257,6 +257,7 @@ struct mmc_host { | |||
| 257 | #define MMC_CAP2_HS200_1_2V_SDR (1 << 6) /* can support */ | 257 | #define MMC_CAP2_HS200_1_2V_SDR (1 << 6) /* can support */ |
| 258 | #define MMC_CAP2_HS200 (MMC_CAP2_HS200_1_8V_SDR | \ | 258 | #define MMC_CAP2_HS200 (MMC_CAP2_HS200_1_8V_SDR | \ |
| 259 | MMC_CAP2_HS200_1_2V_SDR) | 259 | MMC_CAP2_HS200_1_2V_SDR) |
| 260 | #define MMC_CAP2_BROKEN_VOLTAGE (1 << 7) /* Use the broken voltage */ | ||
| 260 | 261 | ||
| 261 | mmc_pm_flag_t pm_caps; /* supported pm features */ | 262 | mmc_pm_flag_t pm_caps; /* supported pm features */ |
| 262 | unsigned int power_notify_type; | 263 | unsigned int power_notify_type; |
| @@ -444,4 +445,23 @@ static inline int mmc_boot_partition_access(struct mmc_host *host) | |||
| 444 | return !(host->caps2 & MMC_CAP2_BOOTPART_NOACC); | 445 | return !(host->caps2 & MMC_CAP2_BOOTPART_NOACC); |
| 445 | } | 446 | } |
| 446 | 447 | ||
| 448 | #ifdef CONFIG_MMC_CLKGATE | ||
| 449 | void mmc_host_clk_hold(struct mmc_host *host); | ||
| 450 | void mmc_host_clk_release(struct mmc_host *host); | ||
| 451 | unsigned int mmc_host_clk_rate(struct mmc_host *host); | ||
| 452 | |||
| 453 | #else | ||
| 454 | static inline void mmc_host_clk_hold(struct mmc_host *host) | ||
| 455 | { | ||
| 456 | } | ||
| 457 | |||
| 458 | static inline void mmc_host_clk_release(struct mmc_host *host) | ||
| 459 | { | ||
| 460 | } | ||
| 461 | |||
| 462 | static inline unsigned int mmc_host_clk_rate(struct mmc_host *host) | ||
| 463 | { | ||
| 464 | return host->ios.clock; | ||
| 465 | } | ||
| 466 | #endif | ||
| 447 | #endif /* LINUX_MMC_HOST_H */ | 467 | #endif /* LINUX_MMC_HOST_H */ |
diff --git a/include/linux/proportions.h b/include/linux/proportions.h index ef35bb73f69b..26a8a4ed9b07 100644 --- a/include/linux/proportions.h +++ b/include/linux/proportions.h | |||
| @@ -81,7 +81,11 @@ void prop_inc_percpu(struct prop_descriptor *pd, struct prop_local_percpu *pl) | |||
| 81 | * Limit the time part in order to ensure there are some bits left for the | 81 | * Limit the time part in order to ensure there are some bits left for the |
| 82 | * cycle counter and fraction multiply. | 82 | * cycle counter and fraction multiply. |
| 83 | */ | 83 | */ |
| 84 | #if BITS_PER_LONG == 32 | ||
| 84 | #define PROP_MAX_SHIFT (3*BITS_PER_LONG/4) | 85 | #define PROP_MAX_SHIFT (3*BITS_PER_LONG/4) |
| 86 | #else | ||
| 87 | #define PROP_MAX_SHIFT (BITS_PER_LONG/2) | ||
| 88 | #endif | ||
| 85 | 89 | ||
| 86 | #define PROP_FRAC_SHIFT (BITS_PER_LONG - PROP_MAX_SHIFT - 1) | 90 | #define PROP_FRAC_SHIFT (BITS_PER_LONG - PROP_MAX_SHIFT - 1) |
| 87 | #define PROP_FRAC_BASE (1UL << PROP_FRAC_SHIFT) | 91 | #define PROP_FRAC_BASE (1UL << PROP_FRAC_SHIFT) |
diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h index 61b29057b054..3b6f628880f8 100644 --- a/include/linux/usb/ch9.h +++ b/include/linux/usb/ch9.h | |||
| @@ -589,7 +589,7 @@ static inline int usb_endpoint_is_isoc_out( | |||
| 589 | */ | 589 | */ |
| 590 | static inline int usb_endpoint_maxp(const struct usb_endpoint_descriptor *epd) | 590 | static inline int usb_endpoint_maxp(const struct usb_endpoint_descriptor *epd) |
| 591 | { | 591 | { |
| 592 | return le16_to_cpu(epd->wMaxPacketSize); | 592 | return __le16_to_cpu(epd->wMaxPacketSize); |
| 593 | } | 593 | } |
| 594 | 594 | ||
| 595 | /*-------------------------------------------------------------------------*/ | 595 | /*-------------------------------------------------------------------------*/ |
