diff options
author | Andreas Färber <andreas.faerber@web.de> | 2013-01-16 01:57:58 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-01-16 12:14:20 -0600 |
commit | 2aad80eeb788c7c3f71c57e78352f0fdadf8fe28 (patch) | |
tree | 5147fd1f2064ac900f307d7dd2a4de3cf8674b00 /hw/tmp105.h | |
parent | 6e9989034b176a8e4cfdccd85892abfa73977ba7 (diff) |
tmp105: QOM'ify
Introduce TYPE_ constant and cast macro.
Move the state struct to the new header to allow for future embedding.
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/tmp105.h')
-rw-r--r-- | hw/tmp105.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/hw/tmp105.h b/hw/tmp105.h index 982d1c927a..c21396f500 100644 --- a/hw/tmp105.h +++ b/hw/tmp105.h @@ -17,6 +17,33 @@ #include "i2c.h" #include "tmp105_regs.h" +#define TYPE_TMP105 "tmp105" +#define TMP105(obj) OBJECT_CHECK(TMP105State, (obj), TYPE_TMP105) + +/** + * TMP105State: + * @config: Bits 5 and 6 (value 32 and 64) determine the precision of the + * temperature. See Table 8 in the data sheet. + * + * @see_also: http://www.ti.com/lit/gpn/tmp105 + */ +typedef struct TMP105State { + /*< private >*/ + I2CSlave i2c; + /*< public >*/ + + uint8_t len; + uint8_t buf[2]; + qemu_irq pin; + + uint8_t pointer; + uint8_t config; + int16_t temperature; + int16_t limit[2]; + int faults; + uint8_t alarm; +} TMP105State; + /** * tmp105_set: * @i2c: dispatcher to TMP105 hardware model |