bus.h 848 B

1234567891011121314151617181920212223242526272829303132333435
  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 device *dev;
  20. struct device *dma_dev;
  21. unsigned int irq;
  22. struct ssb_sprom *bus_sprom;
  23. u16 core_id;
  24. u8 core_rev;
  25. };
  26. struct b43_bus_dev *b43_bus_dev_ssb_init(struct ssb_device *sdev);
  27. #endif /* B43_BUS_H_ */