Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bus.h
Go to the documentation of this file.
1 #ifndef B43_BUS_H_
2 #define B43_BUS_H_
3 
5 #ifdef CONFIG_B43_BCMA
6  B43_BUS_BCMA,
7 #endif
9 };
10 
11 struct b43_bus_dev {
13  union {
14  struct bcma_device *bdev;
15  struct ssb_device *sdev;
16  };
17 
19  int (*bus_powerup)(struct b43_bus_dev *dev, bool dynamic_pctl);
22  u32 core_specific_flags);
24  u32 core_specific_flags);
25 
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 
42 
46 
48 
51 };
52 
53 static 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 }
58 static 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 
66 
67 void *b43_bus_get_wldev(struct b43_bus_dev *dev);
68 void b43_bus_set_wldev(struct b43_bus_dev *dev, void *data);
69 
70 #endif /* B43_BUS_H_ */