Annotation of funnyos/sys/bus.h, Revision 1.5
1.1 init 1: /*
1.5 ! init 2: * $Id: bus.h,v 1.4 2007/10/16 19:57:54 init Exp $
1.1 init 3: */
4: #ifndef _SYS_BUS_H
5: #define _SYS_BUS_H
6:
7: #include <sys/device.h>
8:
9: /*
1.2 init 10: * Each bus (bus driver instance) has its own bus_handle.
11: * Device drivers attached to bus aquire bus_handle to perform all bus i/o.
1.1 init 12: */
1.2 init 13: struct bus_handle {
1.5 ! init 14: struct device *bh_ownerdd; /* devdata of device that owns this handler XXX kill that it is ugly */
1.3 init 15: uint8_t (*bus_read_1)(void *ddp, uint32_t addr);
16: uint16_t (*bus_read_2)(void *ddp, uint32_t addr);
17: uint32_t (*bus_read_4)(void *ddp, uint32_t addr);
18: int (*bus_write_1)(void *ddp, uint32_t addr, uint8_t data);
19: int (*bus_write_2)(void *ddp, uint32_t addr, uint16_t data);
20: int (*bus_write_4)(void *ddp, uint32_t addr, uint32_t data);
1.1 init 21: /* XXX DMA related stuff */
22: };
23:
24:
1.5 ! init 25: uint8_t bus_read_1(struct bus_handle *bhp, uint32_t addr);
! 26: uint16_t bus_read_2(struct bus_handle *bhp, uint32_t addr);
! 27: uint32_t bus_read_4(struct bus_handle *bhp, uint32_t addr);
! 28: int bus_write_1(struct bus_handle *bhp, uint32_t addr, uint8_t data);
! 29: int bus_write_2(struct bus_handle *bhp, uint32_t addr, uint16_t data);
! 30: int bus_write_4(struct bus_handle *bhp, uint32_t addr, uint32_t data);
1.1 init 31:
32: #endif /* _SYS_BUS_H */
CVSweb