Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.2-rc5 70 lines 1.9 kB view raw
1#ifndef B43_BUS_H_ 2#define B43_BUS_H_ 3 4enum b43_bus_type { 5#ifdef CONFIG_B43_BCMA 6 B43_BUS_BCMA, 7#endif 8 B43_BUS_SSB, 9}; 10 11struct b43_bus_dev { 12 enum b43_bus_type bus_type; 13 union { 14 struct bcma_device *bdev; 15 struct ssb_device *sdev; 16 }; 17 18 int (*bus_may_powerdown)(struct b43_bus_dev *dev); 19 int (*bus_powerup)(struct b43_bus_dev *dev, bool dynamic_pctl); 20 int (*device_is_enabled)(struct b43_bus_dev *dev); 21 void (*device_enable)(struct b43_bus_dev *dev, 22 u32 core_specific_flags); 23 void (*device_disable)(struct b43_bus_dev *dev, 24 u32 core_specific_flags); 25 26 u16 (*read16)(struct b43_bus_dev *dev, u16 offset); 27 u32 (*read32)(struct b43_bus_dev *dev, u16 offset); 28 void (*write16)(struct b43_bus_dev *dev, u16 offset, u16 value); 29 void (*write32)(struct b43_bus_dev *dev, u16 offset, u32 value); 30 void (*block_read)(struct b43_bus_dev *dev, void *buffer, 31 size_t count, u16 offset, u8 reg_width); 32 void (*block_write)(struct b43_bus_dev *dev, const void *buffer, 33 size_t count, u16 offset, u8 reg_width); 34 35 struct device *dev; 36 struct device *dma_dev; 37 unsigned int irq; 38 39 u16 board_vendor; 40 u16 board_type; 41 u16 board_rev; 42 43 u16 chip_id; 44 u8 chip_rev; 45 u8 chip_pkg; 46 47 struct ssb_sprom *bus_sprom; 48 49 u16 core_id; 50 u8 core_rev; 51}; 52 53static inline bool b43_bus_host_is_pcmcia(struct b43_bus_dev *dev) 54{ 55 return (dev->bus_type == B43_BUS_SSB && 56 dev->sdev->bus->bustype == SSB_BUSTYPE_PCMCIA); 57} 58static inline bool b43_bus_host_is_sdio(struct b43_bus_dev *dev) 59{ 60 return (dev->bus_type == B43_BUS_SSB && 61 dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO); 62} 63 64struct b43_bus_dev *b43_bus_dev_bcma_init(struct bcma_device *core); 65struct b43_bus_dev *b43_bus_dev_ssb_init(struct ssb_device *sdev); 66 67void *b43_bus_get_wldev(struct b43_bus_dev *dev); 68void b43_bus_set_wldev(struct b43_bus_dev *dev, void *data); 69 70#endif /* B43_BUS_H_ */