From nobody Tue Feb 10 14:33:49 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1587472133; cv=none; d=zohomail.com; s=zohoarc; b=ktd1Yn42uM2rlUDUrueoPQrkIGkJ4zeHwcXI1wdWutaftCNiF6A8eDV919y/0O9dQQjYpUPqWKTkqmbwIX8i5DXVZRbjSp69WoxcyppHwJjI+17ytM7BMsVintLoewKvmDKsBg9lJZbDgI0TjH8i/KGgolBLJlYmhZ4pXqQtn7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587472133; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GEsba70DRlLJ93uPzs+mr1zMRSnp49U/A5f7HHRTeFE=; b=LBp36p7DCCL7WkTxn3yucKWVOvfU76ham/ejFB0qYOOYGmz8MXMQeudob8btNdWDw0BIBB75w4m9RBIoaxyblEifUBvWyEXfhyHUHDZ1ZG6B/9qst4EMaXrSFRfXZOga72NCgwpnC8PIbGlxFJm+GbfQckZGCp0AU+vgcMRA8Uk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587472133246262.60368640712716; Tue, 21 Apr 2020 05:28:53 -0700 (PDT) Received: from localhost ([::1]:57094 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQs1D-00077S-OT for importer@patchew.org; Tue, 21 Apr 2020 08:28:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59138) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpY-0005IM-Et for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpS-0006AL-Ei for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:48 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:43783) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpS-00066S-0g; Tue, 21 Apr 2020 08:16:42 -0400 Received: by mail-wr1-x443.google.com with SMTP id i10so16182252wrv.10; Tue, 21 Apr 2020 05:16:39 -0700 (PDT) Received: from x1w.redhat.com (116.red-83-42-57.dynamicip.rima-tde.net. [83.42.57.116]) by smtp.gmail.com with ESMTPSA id z76sm3761140wmc.9.2020.04.21.05.16.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GEsba70DRlLJ93uPzs+mr1zMRSnp49U/A5f7HHRTeFE=; b=Qppkq85up1c6ppkmHL+8aeLnbXywhG5l6y8CyvTN9prmFjxDDl0ZPsRXOKmJ10VheF Dp1Aqu34xgZZ6Nsce6O0efVi8n7BKK6hb2VkVhJNuEln5naD/J/mWRpq0AaT44qvutRS iVEaIcEuIlSu2CxmRFH86M7NB0WlR5E8CZ/U00CS47CdUtiU0PchJ2DrgrT+UuaRIilg 5j27UPhaXHI+RqLLhfmrCitBAkhbOI4PRT+9H4NmZMk4eTKSF9BrS87Uwu6l6mMRG09/ Xoy6BRc6b7XYUHUct3MOmIb+SvCrKHjxfJqgNFEBDIsyoP7n7jw9cwRfTTgUXrKi3yBG eniA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=GEsba70DRlLJ93uPzs+mr1zMRSnp49U/A5f7HHRTeFE=; b=RtYRdiW/AbraDnG791mrM5/8oMf59vzcgFHQEyW9ujfagajTEdQWMwC6IWadxTiagp 2TESPTQXlZJ2SJZZNFUf0cK78n40q2i/YCA4ixx95VTO6pGdtfCREMJTe632nfrjwoQy HIZKFO8nmfXVR8inBaxGYus4bfvCX3FzpU9Y9TWciPqWnMdRdyjr+goymAdB5tkhXEYQ xozb7QbgX2Er/GiBUJl4Vb8JtqpzO+m61qedydP+ggK/H4AwfgAjhgQ5tGOGptC2MUKC 3F0uyZmGELeS7gytOKBZacmjeikIDEGffPa0QncAo75WkaHZ3ENzHqfRg3gt3y1U1wKI RDVw== X-Gm-Message-State: AGi0PuZqaBaSJ9qvQE3E7Hn6JnwBcrGppu0Ysz2Oekuw/Q8d4q6e5d3Y LLQtgC8b3+X+quUr7qmhmTMxyMQijHg= X-Google-Smtp-Source: APiQypIANLtaugy4ubDmmu/0fKbEMp7mjg8JTblbgspQ1KDa9YXiv5SdTg8BGFZ0gOxQWPQzMRjUJA== X-Received: by 2002:adf:f986:: with SMTP id f6mr23636914wrr.221.1587471398577; Tue, 21 Apr 2020 05:16:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 05/17] hw/misc/tmp105: Implement the 'temperature-sensor' qdev interface Date: Tue, 21 Apr 2020 14:16:14 +0200 Message-Id: <20200421121626.23791-6-f4bug@amsat.org> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200421121626.23791-1-f4bug@amsat.org> References: <20200421121626.23791-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x443.google.com X-detected-operating-system: by eggs.gnu.org: Error: [-] PROGRAM ABORT : Malformed IPv6 address (bad octet value). Location : parse_addr6(), p0f-client.c:67 X-Received-From: 2a00:1450:4864:20::443 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, qemu-trivial@nongnu.org, Michael Tokarev , Markus Armbruster , Andrew Baumann , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, Paolo Bonzini , Jean-Christophe Dubois , John Snow , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The TMP105 is an I2C temperature sensor. Let it implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/tmp105.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index 754c8a6eb4..1f0cb28012 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -26,6 +26,7 @@ #include "qapi/error.h" #include "qapi/visitor.h" #include "qemu/module.h" +#include "hw/misc/temp-sensor.h" =20 static void tmp105_interrupt_update(TMP105State *s) { @@ -74,6 +75,17 @@ static void set_temp_mC(TMP105State *s, int64_t temp_mC,= Error **errp) tmp105_alarm_update(s); } =20 +static float tmp105_get_temp(TempSensor *obj, unsigned sensor_id) +{ + return get_temp_mC(TMP105(obj)) / 1000.f; +} + +static void tmp105_set_temp(TempSensor *obj, unsigned sensor_id, + float temp_C, Error **errp) +{ + set_temp_mC(TMP105(obj), temp_C * 1000.f, errp); +} + static void tmp105_get_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { @@ -261,12 +273,16 @@ static void tmp105_class_init(ObjectClass *klass, voi= d *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 dc->realize =3D tmp105_realize; k->event =3D tmp105_event; k->recv =3D tmp105_rx; k->send =3D tmp105_tx; dc->vmsd =3D &vmstate_tmp105; + tc->sensor_count =3D 1; + tc->set_temperature =3D tmp105_set_temp; + tc->get_temperature =3D tmp105_get_temp; } =20 static const TypeInfo tmp105_info =3D { @@ -275,6 +291,10 @@ static const TypeInfo tmp105_info =3D { .instance_size =3D sizeof(TMP105State), .instance_init =3D tmp105_initfn, .class_init =3D tmp105_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static void tmp105_register_types(void) --=20 2.21.1