From 2aad80eeb788c7c3f71c57e78352f0fdadf8fe28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 16 Jan 2013 01:57:58 +0100 Subject: tmp105: QOM'ify MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Anthony Liguori Signed-off-by: Anthony Liguori --- hw/tmp105.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'hw/tmp105.h') 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 -- cgit v1.2.3