aboutsummaryrefslogtreecommitdiff
path: root/hw/tmp105.h
diff options
context:
space:
mode:
authorAndreas Färber <andreas.faerber@web.de>2013-01-16 01:57:58 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2013-01-16 12:14:20 -0600
commit2aad80eeb788c7c3f71c57e78352f0fdadf8fe28 (patch)
tree5147fd1f2064ac900f307d7dd2a4de3cf8674b00 /hw/tmp105.h
parent6e9989034b176a8e4cfdccd85892abfa73977ba7 (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.h27
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