bus.h 782 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef B43_BUS_H_
  2. #define B43_BUS_H_
  3. enum b43_bus_type {
  4. B43_BUS_SSB,
  5. };
  6. struct b43_bus_dev {
  7. enum b43_bus_type bus_type;
  8. union {
  9. struct ssb_device *sdev;
  10. };
  11. u16 (*read16)(struct b43_bus_dev *dev, u16 offset);
  12. u32 (*read32)(struct b43_bus_dev *dev, u16 offset);
  13. void (*write16)(struct b43_bus_dev *dev, u16 offset, u16 value);
  14. void (*write32)(struct b43_bus_dev *dev, u16 offset, u32 value);
  15. void (*block_read)(struct b43_bus_dev *dev, void *buffer,
  16. size_t count, u16 offset, u8 reg_width);
  17. void (*block_write)(struct b43_bus_dev *dev, const void *buffer,
  18. size_t count, u16 offset, u8 reg_width);
  19. struct ssb_sprom *bus_sprom;
  20. u16 core_id;
  21. u8 core_rev;
  22. };
  23. struct b43_bus_dev *b43_bus_dev_ssb_init(struct ssb_device *sdev);
  24. #endif /* B43_BUS_H_ */