9 enum b43_bus_type bus_type
;
11 struct ssb_device
*sdev
;
14 int (*bus_may_powerdown
)(struct b43_bus_dev
*dev
);
15 int (*bus_powerup
)(struct b43_bus_dev
*dev
, bool dynamic_pctl
);
16 int (*device_is_enabled
)(struct b43_bus_dev
*dev
);
17 void (*device_enable
)(struct b43_bus_dev
*dev
,
18 u32 core_specific_flags
);
19 void (*device_disable
)(struct b43_bus_dev
*dev
,
20 u32 core_specific_flags
);
22 u16 (*read16
)(struct b43_bus_dev
*dev
, u16 offset
);
23 u32 (*read32
)(struct b43_bus_dev
*dev
, u16 offset
);
24 void (*write16
)(struct b43_bus_dev
*dev
, u16 offset
, u16 value
);
25 void (*write32
)(struct b43_bus_dev
*dev
, u16 offset
, u32 value
);
26 void (*block_read
)(struct b43_bus_dev
*dev
, void *buffer
,
27 size_t count
, u16 offset
, u8 reg_width
);
28 void (*block_write
)(struct b43_bus_dev
*dev
, const void *buffer
,
29 size_t count
, u16 offset
, u8 reg_width
);
32 struct device
*dma_dev
;
43 struct ssb_sprom
*bus_sprom
;
49 static inline bool b43_bus_host_is_pcmcia(struct b43_bus_dev
*dev
)
51 return (dev
->bus_type
== B43_BUS_SSB
&&
52 dev
->sdev
->bus
->bustype
== SSB_BUSTYPE_PCMCIA
);
54 static inline bool b43_bus_host_is_sdio(struct b43_bus_dev
*dev
)
56 return (dev
->bus_type
== B43_BUS_SSB
&&
57 dev
->sdev
->bus
->bustype
== SSB_BUSTYPE_SDIO
);
60 struct b43_bus_dev
*b43_bus_dev_ssb_init(struct ssb_device
*sdev
);
62 #endif /* B43_BUS_H_ */