version 1.4, 2007/10/16 20:57:54 |
version 1.6, 2007/10/16 21:41:35 |
|
|
* Device drivers attached to bus aquire bus_handle to perform all bus i/o. |
* Device drivers attached to bus aquire bus_handle to perform all bus i/o. |
*/ |
*/ |
struct bus_handle { |
struct bus_handle { |
struct device *bh_ownerdevp; /* device that owns this handler XXX kill that it is ugly */ |
void *bh_ownerdd; /* devdata of device that owns this handler XXX kill that it is ugly */ |
uint8_t (*bus_read_1)(void *ddp, uint32_t addr); |
uint8_t (*bus_read_1)(void *ddp, uint32_t addr); |
uint16_t (*bus_read_2)(void *ddp, uint32_t addr); |
uint16_t (*bus_read_2)(void *ddp, uint32_t addr); |
uint32_t (*bus_read_4)(void *ddp, uint32_t addr); |
uint32_t (*bus_read_4)(void *ddp, uint32_t addr); |
|
|
/* XXX DMA related stuff */ |
/* XXX DMA related stuff */ |
}; |
}; |
|
|
#define bus_read_1(dev, addr) ((struct busops *)dev->dv_devdata)->bus_read_1(dev, addr) |
|
|
|
#define bus_write_1(dev, addr, data) ((struct busops *)dev->dv_devdata)->bus_write_1(dev, addr, data) |
uint8_t bus_read_1(struct bus_handle *bhp, uint32_t addr); |
|
uint16_t bus_read_2(struct bus_handle *bhp, uint32_t addr); |
|
uint32_t bus_read_4(struct bus_handle *bhp, uint32_t addr); |
|
int bus_write_1(struct bus_handle *bhp, uint32_t addr, uint8_t data); |
|
int bus_write_2(struct bus_handle *bhp, uint32_t addr, uint16_t data); |
|
int bus_write_4(struct bus_handle *bhp, uint32_t addr, uint32_t data); |
|
|
#endif /* _SYS_BUS_H */ |
#endif /* _SYS_BUS_H */ |