diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2011-05-19 21:27:06 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-06-01 15:12:28 -0400 |
commit | 9d75ef0f8f6d2e31ed940b3057a42a25f07076fb (patch) | |
tree | 712c09addf9f229bf25593e6f9f8a8d7d6d94859 /include/linux/bcma | |
parent | 505fb019d4924e425bb1024eb603a7bc7fe7fe63 (diff) |
bcma: host pci: implement block R/W operations
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/bcma')
-rw-r--r-- | include/linux/bcma/bcma.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h index 8b0cef9fd69..27a27a79bea 100644 --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h | |||
@@ -31,6 +31,12 @@ struct bcma_host_ops { | |||
31 | void (*write8)(struct bcma_device *core, u16 offset, u8 value); | 31 | void (*write8)(struct bcma_device *core, u16 offset, u8 value); |
32 | void (*write16)(struct bcma_device *core, u16 offset, u16 value); | 32 | void (*write16)(struct bcma_device *core, u16 offset, u16 value); |
33 | void (*write32)(struct bcma_device *core, u16 offset, u32 value); | 33 | void (*write32)(struct bcma_device *core, u16 offset, u32 value); |
34 | #ifdef CONFIG_BCMA_BLOCKIO | ||
35 | void (*block_read)(struct bcma_device *core, void *buffer, | ||
36 | size_t count, u16 offset, u8 reg_width); | ||
37 | void (*block_write)(struct bcma_device *core, const void *buffer, | ||
38 | size_t count, u16 offset, u8 reg_width); | ||
39 | #endif | ||
34 | /* Agent ops */ | 40 | /* Agent ops */ |
35 | u32 (*aread32)(struct bcma_device *core, u16 offset); | 41 | u32 (*aread32)(struct bcma_device *core, u16 offset); |
36 | void (*awrite32)(struct bcma_device *core, u16 offset, u32 value); | 42 | void (*awrite32)(struct bcma_device *core, u16 offset, u32 value); |
@@ -210,6 +216,18 @@ void bcma_write32(struct bcma_device *core, u16 offset, u32 value) | |||
210 | { | 216 | { |
211 | core->bus->ops->write32(core, offset, value); | 217 | core->bus->ops->write32(core, offset, value); |
212 | } | 218 | } |
219 | #ifdef CONFIG_BCMA_BLOCKIO | ||
220 | extern inline void bcma_block_read(struct bcma_device *core, void *buffer, | ||
221 | size_t count, u16 offset, u8 reg_width) | ||
222 | { | ||
223 | core->bus->ops->block_read(core, buffer, count, offset, reg_width); | ||
224 | } | ||
225 | extern inline void bcma_block_write(struct bcma_device *core, const void *buffer, | ||
226 | size_t count, u16 offset, u8 reg_width) | ||
227 | { | ||
228 | core->bus->ops->block_write(core, buffer, count, offset, reg_width); | ||
229 | } | ||
230 | #endif | ||
213 | extern inline u32 bcma_aread32(struct bcma_device *core, u16 offset) | 231 | extern inline u32 bcma_aread32(struct bcma_device *core, u16 offset) |
214 | { | 232 | { |
215 | return core->bus->ops->aread32(core, offset); | 233 | return core->bus->ops->aread32(core, offset); |