diff options
| author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2014-05-25 06:42:43 +0000 |
|---|---|---|
| committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2014-05-25 06:42:43 +0000 |
| commit | 3bee4e7bdbd998cb439e71902f199e79706e0e22 (patch) | |
| tree | 77c91cd90d38b87358a0f5ba13713ab0e5707c5b /sys/dev/usb | |
| parent | ec5d37f4f5deb7ec123d9c9cdbc0b37a6d66688b (diff) | |
Notes
Diffstat (limited to 'sys/dev/usb')
| -rw-r--r-- | sys/dev/usb/controller/saf1761_otg.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/sys/dev/usb/controller/saf1761_otg.h b/sys/dev/usb/controller/saf1761_otg.h index de3d51ffb280..9b19d3c965c3 100644 --- a/sys/dev/usb/controller/saf1761_otg.h +++ b/sys/dev/usb/controller/saf1761_otg.h @@ -40,19 +40,27 @@ #define SOTG_DEVICE_PORT_NUM 2 #define SOTG_HOST_CHANNEL_MAX (3 * 32) -#define SAF1761_READ_1(sc, reg) \ - bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, reg) -#define SAF1761_READ_2(sc, reg) \ - bus_space_read_2((sc)->sc_io_tag, (sc)->sc_io_hdl, reg) -#define SAF1761_READ_4(sc, reg) \ - bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg) +/* Macros used for reading and writing registers */ + +#define SAF1761_READ_1(sc, reg) \ + bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg)) +#define SAF1761_READ_2(sc, reg) ({ uint16_t _temp; \ + _temp = bus_space_read_2((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg)); \ + le16toh(_temp); }) +#define SAF1761_READ_4(sc, reg) ({ uint32_t _temp; \ + _temp = bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg)); \ + le32toh(_temp); }) #define SAF1761_WRITE_1(sc, reg, data) \ - bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) -#define SAF1761_WRITE_2(sc, reg, data) \ - bus_space_write_2((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) -#define SAF1761_WRITE_4(sc, reg, data) \ - bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) + bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg), data) +#define SAF1761_WRITE_2(sc, reg, data) do { \ + uint16_t _temp = (data); \ + bus_space_write_2((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg), htole16(_temp)); \ +} while (0) +#define SAF1761_WRITE_4(sc, reg, data) do { \ + uint32_t _temp = (data); \ + bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg), htole32(_temp)); \ +} while (0) struct saf1761_otg_softc; struct saf1761_otg_td; |
