From nobody Sat May 18 10:30:08 2024 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=1587471488; cv=none; d=zohomail.com; s=zohoarc; b=em/1SanTCrGSRTbuYGBAXpr4++Lhh3ceZIHUZ2EZ6JWHr5/LK8paPn9nT32bj4/qiQxY/xLq1sCIjUSHBPNSVn+17T8+j3AY4IFGKk8W7CDnbLgbn+4vW+mql2R6nlF4QbsmNesAKWC85xNCEsi74wPdC8zxPL5gwKYNItG73xY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471488; 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=AJMOOz4bJ3+OgFhuoPiLJoOi2hKQD09s1vZajzHfQC8=; b=Kf0Un6sKV+SYull1yt9BTLP/FdmopJrRBL8WzFPVY1VzPCYGVtPgFQVLtI3GDMEk0H1fn5WpiGcAjnKtBfLhUjUKX8KnalLyLk7PAKuVQPo5VaYY9JAqmJ12nxX392u9t5YLW/ViNV0HC113Tnh8fuFjOoRofwN7ARd13B6Oh30= 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 1587471488497309.0214172535335; Tue, 21 Apr 2020 05:18:08 -0700 (PDT) Received: from localhost ([::1]:56826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrqo-0006kh-Bu for importer@patchew.org; Tue, 21 Apr 2020 08:18:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58978) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpM-0004um-M1 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpK-00060R-VK for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:36 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:46454) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpK-0005uh-J9; Tue, 21 Apr 2020 08:16:34 -0400 Received: by mail-wr1-x444.google.com with SMTP id f13so16186135wrm.13; Tue, 21 Apr 2020 05:16:33 -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.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:30 -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=AJMOOz4bJ3+OgFhuoPiLJoOi2hKQD09s1vZajzHfQC8=; b=giN1sWjor02EMrv2H9rfe7w9wa98wrXgTTv80o7asNr554AiJSZRMu0vUMM6Envwwo yPwPNgZqesaJAJFTx0TkyvLJE/GCowes3Ylz5MPxvuTt5/jmjdMoJ0cvgb5Nj26FrZRj omRkiGlVsnbs/LLNorsvFJuF1L3jlqz/2my5RfIu1O49FydcMdhI+ULU26vCur9wsy0i xcQA3fHSgcby9rbXRyufWsZq8uDPLNHCTrR+64nTDqSbcT3FcstB4RxMZdwYxFM5LzLD mExK5NENeHWjTiyggyqfJ6iHyfYY1XUwltRC5aBY2s/KUKBcIq1zAjjdCvY80S0LS54r skvg== 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=AJMOOz4bJ3+OgFhuoPiLJoOi2hKQD09s1vZajzHfQC8=; b=kOqv0Oqqgm4rfR4okjkzdKfAxDsZOXC9Oqd47w9tt1wPpSBQBhvhfrOo2WoBAi4kO1 3PEsKxCVlSEpG9Hh7eD12XYBARD+9RtyT+BPqRA8oV6/AA5Y/MgmpaGyzzYSKqlESFDW /OMlQYcyqp2WVgs3sXpC8SFS5VEP7G4zrnKkInDOyZ5MiDoZC+Z/k+VNtMIrOvml7cZ3 9fU0mFFX9QBw+/baJxgpgawEKN//sRUHu3fUtWLJtfKg2gYT/9KOYP7f+3bC1aqMz/Td YMzmL8BTHheifGNg5HEtjcK4SuauBG2g9FVH5LD3IHP9GfYQPur8ZLNuoWjLBNOjfaYv CADA== X-Gm-Message-State: AGi0Pubj9EFt3txuXIfHX/digCb9SQ6oijmZKGSkMCWNWdwcY6qDvGB2 k0xrTh0ydP4iBSsVEroHfRlL98py+tw= X-Google-Smtp-Source: APiQypIKn7o5GdcqxEx2zReJwzXACEhuJIE+ufUILwU9CmNAtdoLnhHSTojkPIKI8CZ2qIcvn2KlvQ== X-Received: by 2002:a5d:4404:: with SMTP id z4mr23451072wrq.316.1587471390955; Tue, 21 Apr 2020 05:16:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 01/17] hw/misc: Introduce the temperature sensor interface Date: Tue, 21 Apr 2020 14:16:10 +0200 Message-Id: <20200421121626.23791-2-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::444; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x444.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::444 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) Introduce an interface to set and get temperature from devices. A device can have multiple temperature sensors. Each sensor might have a custom name. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/misc/temp-sensor.h | 69 +++++++++++++++++++++++++++++++++++ hw/misc/temp-sensor.c | 25 +++++++++++++ MAINTAINERS | 6 +++ hw/misc/Makefile.objs | 1 + 4 files changed, 101 insertions(+) create mode 100644 include/hw/misc/temp-sensor.h create mode 100644 hw/misc/temp-sensor.c diff --git a/include/hw/misc/temp-sensor.h b/include/hw/misc/temp-sensor.h new file mode 100644 index 0000000000..3067b1dd2e --- /dev/null +++ b/include/hw/misc/temp-sensor.h @@ -0,0 +1,69 @@ +/* + * Generic interface for temperature sensors + * + * Copyright (c) 2020 Philippe Mathieu-Daud=C3=A9 + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#ifndef HW_MISC_TEMP_SENSOR_H +#define HW_MISC_TEMP_SENSOR_H + +#include "qom/object.h" + +#define TYPE_TEMPSENSOR_INTERFACE "temp-sensor-interface" +#define TEMPSENSOR_INTERFACE(obj) \ + INTERFACE_CHECK(TempSensor, (obj), TYPE_TEMPSENSOR_INTERFACE) +#define TEMPSENSOR_INTERFACE_CLASS(class) \ + OBJECT_CLASS_CHECK(TempSensorClass, (class), TYPE_TEMPSENSOR_INTERFACE) +#define TEMPSENSOR_INTERFACE_GET_CLASS(class) \ + OBJECT_GET_CLASS(TempSensorClass, (class), TYPE_TEMPSENSOR_INTERFACE) + +typedef struct TempSensor TempSensor; + +typedef struct TempSensorClass { + /* */ + InterfaceClass parent; + /* */ + + /** Number of temperature sensors */ + size_t sensor_count; + + /** + * get_name: + * @obj: opaque pointer to Object + * @sensor_id: sensor index + * + * Returns: name of a temperature sensor. + */ + const char *(*get_name)(TempSensor *obj, unsigned sensor_id); + + /** + * set_temperature: + * @obj: opaque pointer to Object + * @sensor_id: sensor index + * @temp_C: sensor temperature, in degree Celsius + * @errp: pointer to a NULL-initialized error object + * + * Set a sensor temperature. + * + * If an error occurs @errp will contain the details + * (likely temperature out of range). + */ + void (*set_temperature)(TempSensor *obj, + unsigned sensor_id, float temp_C, Error **errp= ); + + /** + * get_temperature: + * @obj: opaque pointer to Object + * @sensor_id: sensor index + * + * Get a sensor temperature. + * + * Returns: sensor temperature in =C2=B0C. + */ + float (*get_temperature)(TempSensor *obj, unsigned sensor_id); +} TempSensorClass; + +#endif /* HW_MISC_TEMP_SENSOR_H */ diff --git a/hw/misc/temp-sensor.c b/hw/misc/temp-sensor.c new file mode 100644 index 0000000000..b7c1eb2d87 --- /dev/null +++ b/hw/misc/temp-sensor.c @@ -0,0 +1,25 @@ +/* + * Generic interface for temperature sensors + * + * Copyright (c) 2020 Philippe Mathieu-Daud=C3=A9 + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "hw/misc/temp-sensor.h" + +static TypeInfo tempsensor_interface_type_info =3D { + .name =3D TYPE_TEMPSENSOR_INTERFACE, + .parent =3D TYPE_INTERFACE, + .class_size =3D sizeof(TempSensorClass), +}; + +static void tempsensor_register_types(void) +{ + type_register_static(&tempsensor_interface_type_info); +} + +type_init(tempsensor_register_types) diff --git a/MAINTAINERS b/MAINTAINERS index 8cbc1fac2b..5559110c56 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1575,6 +1575,12 @@ F: hw/sd/sd* F: hw/sd/ssi-sd.c F: tests/qtest/sd* =20 +Temperature Sensors +M: Philippe Mathieu-Daud=C3=A9 +S: Odd Fixes +F: hw/misc/temp-sensor.c +F: include/hw/misc/temp-sensor.h + USB M: Gerd Hoffmann S: Maintained diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs index 68aae2eabb..4f90efb06d 100644 --- a/hw/misc/Makefile.objs +++ b/hw/misc/Makefile.objs @@ -90,3 +90,4 @@ common-obj-$(CONFIG_NRF51_SOC) +=3D nrf51_rng.o obj-$(CONFIG_MAC_VIA) +=3D mac_via.o =20 common-obj-$(CONFIG_GRLIB) +=3D grlib_ahb_apb_pnp.o +common-obj-y +=3D temp-sensor.o --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587471496; cv=none; d=zohomail.com; s=zohoarc; b=bEP0XPhuw33EHwvOl2Ed+2B4Rcm93JGrUXiZp/euEklPlr2zBSFa6v54ZbnARUOaYwe+t8L97WgDzVAwEJkxfJnkxgaNsndPFEds7rmfQ5Ye9lBYjvgryZi8YHnXspgeOv9JpNDILYxI5k8j1U8JYxkhnVdFCr0VwaaWVFop/co= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471496; 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=pxZXRr/t+7MI95fs3rvnz7JJgfY9Pqjebw0FQlRcGhQ=; b=irXh4q0HfbMJvIGGDLUfJ7HAE7tY6v2Q+om2LzdpCt5Nr50kwqJE/SmYdGHnUBaVpWyi7djjNwX/GURpuYMWH6sdWadBlQrAqpTUBaxi1FTnPn2AR1TSpcRatXh/Fptp106J7fwf+cGcoLyku3B+j15W7tGOpTQNlps3F7MEEPA= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587471496423214.86473928122302; Tue, 21 Apr 2020 05:18:16 -0700 (PDT) Received: from localhost ([::1]:56830 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrqw-00070w-U4 for importer@patchew.org; Tue, 21 Apr 2020 08:18:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58976) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpM-0004ul-LS for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpM-00061h-12 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:36 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:41505) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpL-0005xi-IO; Tue, 21 Apr 2020 08:16:35 -0400 Received: by mail-wr1-x443.google.com with SMTP id g13so14174001wrb.8; Tue, 21 Apr 2020 05:16:34 -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.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:32 -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=pxZXRr/t+7MI95fs3rvnz7JJgfY9Pqjebw0FQlRcGhQ=; b=Kq9/xM/KdnHhh/5l7k/q4Kgxpj9smFhRnSyIAIpFH5FmbrklQeyZSNMkaBW288RDcL U+esiByhvgylUDSTCpApvY8au8YMbHb91j5s1ods4QhZClq7fnvcUewjMJMn4WOiAugV t9BiHC/0WT3AMSOwD0Mnvkem6LjJ4XIYvbIQiX4NGOPd9u5QB8iqhnNTni00w2fe39vZ mEpgiVSQWQJCaVkRME78sqz+UWmyvx0k8+lLVf+VjInPBAyyVPOhdiVlZcosteP/tvza QCUsArSEV3zAMsQNtmuYh+F4np7dTsdAldgS+O8YDkANjt4psIkjrBHslyOMkNOKM1va 2E/g== 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=pxZXRr/t+7MI95fs3rvnz7JJgfY9Pqjebw0FQlRcGhQ=; b=VjY6Oipc3YIGA652vfoF6m5R9KCr25Y35Cmy6wescHp4p3+tz7s6U9uXC2+/HnrFvG cHVpL6jm9aoE48hXNtRGleWWPBc43wp/QicgXnMiPORYqkRzSAikZYXSjXrnSApzndLi 5x6RVex+xYmG0M89YJshz+RF6mb9pzoapXQe8XqJ2efoB37WP+Uh+/G2PztEyUNhNvYy s/5dVeI+Q2CP9EH1l48rM2inaMn2umH6HQYVcp6MpjXeg3ds4juRXcCIBzHYaDQlirqj KSOh4Qz6O3ld75+8UpfQSxAPUrLE/Ss9IM7Q3TyoMaxnlwx39xD1KTbj76hgMuSL+bWm rMHA== X-Gm-Message-State: AGi0Pua+eokTui8UjQePbFAUS9t3vux4upcyCGm8sIKSnwoMlCTQL5/u P0WhMLs7BQCwBI5IDbi5P6sLbK1Rg4U= X-Google-Smtp-Source: APiQypJPTU+ujufDQvfXppous//hnvsbKH//+MP3cDatjnRx8MpSFSCUuYPuLjiejiKiGIAtL935Gw== X-Received: by 2002:adf:f844:: with SMTP id d4mr23343754wrq.362.1587471392926; Tue, 21 Apr 2020 05:16:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 02/17] hw/misc/temp-sensor: Add 'query-temperature-sensors' QMP command Date: Tue, 21 Apr 2020 14:16:11 +0200 Message-Id: <20200421121626.23791-3-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) Add a command to query current temperature from all sensors able to report it: { "execute": "query-temperature-sensors" } { "return": [ { "temperature": 25, "name": "videocore" }, { "temperature": 25, "name": "bcm2835-thermal-0" } ] } Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- qapi/misc.json | 24 ++++++++++++++++++++++ hw/misc/temp-sensor.c | 48 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/qapi/misc.json b/qapi/misc.json index 99b90ac80b..51881931e2 100644 --- a/qapi/misc.json +++ b/qapi/misc.json @@ -1550,3 +1550,27 @@ ## { 'command': 'query-vm-generation-id', 'returns': 'GuidInfo' } =20 +## +# @TemperatureSensor: +# +# Temperature sensor information. +# +# @name: the name of the sensor +# +# @temperature: the current temperature of the sensor (in C) +# +# Since: 5.1 +## +{ 'struct': 'TemperatureSensor', + 'data': { 'name': 'str', + 'temperature': 'number' } } + +## +# @query-temperature-sensors: +# +# Return a list of TemperatureSensor for devices that support +# the TYPE_TEMPSENSOR_INTERFACE. +# +# Since: 5.1 +## +{ 'command': 'query-temperature-sensors', 'returns': ['TemperatureSensor']} diff --git a/hw/misc/temp-sensor.c b/hw/misc/temp-sensor.c index b7c1eb2d87..27750c533d 100644 --- a/hw/misc/temp-sensor.c +++ b/hw/misc/temp-sensor.c @@ -10,6 +10,54 @@ =20 #include "qemu/osdep.h" #include "hw/misc/temp-sensor.h" +#include "qapi/qapi-commands-misc.h" +#include "qapi/error.h" + +static int query_temperature_sensors_foreach(Object *obj, void *opaque) +{ + TemperatureSensorList **list =3D opaque; + TempSensor *sensor; + TempSensorClass *k; + + if (!object_dynamic_cast(obj, TYPE_TEMPSENSOR_INTERFACE)) { + return 0; + } + + k =3D TEMPSENSOR_INTERFACE_GET_CLASS(obj); + if (!k->get_temperature) { + return 0; + } + + sensor =3D TEMPSENSOR_INTERFACE(obj); + for (size_t i =3D 0; i < k->sensor_count; i++) { + TemperatureSensorList *info =3D g_malloc0(sizeof(*info)); + TemperatureSensor *value =3D g_malloc0(sizeof(*value)); + + if (k->get_name) { + value->name =3D g_strdup(k->get_name(sensor, i)); + } else { + value->name =3D g_strdup_printf("%s-%zu", + object_get_typename(obj), i); + } + value->temperature =3D k->get_temperature(sensor, i); + + info->value =3D value; + info->next =3D *list; + *list =3D info; + } + + return 0; +} + +TemperatureSensorList *qmp_query_temperature_sensors(Error **errp) +{ + TemperatureSensorList *list =3D NULL; + + object_child_foreach_recursive(object_get_root(), + query_temperature_sensors_foreach, + &list); + return list; +} =20 static TypeInfo tempsensor_interface_type_info =3D { .name =3D TYPE_TEMPSENSOR_INTERFACE, --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587471651; cv=none; d=zohomail.com; s=zohoarc; b=oIE7uZtbWVKE2xRK3tWG8o+z2v4OCdfh9AiGUkcbi0IwQ/H00NrT8vgtrgGGY0udWNO1MQb3h2Bu1GV3vK/UudTwflpH+I7NA+0volJKH0fJ0+q/QLNhrzqo82pjJMRvg00yQExBUXHrB6W7Aqr6CcpPv8FsJgE2Y3G2Uf96kDY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471651; 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=5z6HGxXR+98mfge1lDQbmcUEQ1irNfVSb4DhyuqpZaU=; b=PlUQQ/GeVpBPHVMLZkUJquyCVGIteXNSCy1qsCQcgjsN4DBksa5i32Md4/egW1GdcmKI6UerSTiq9sDQbkq/Msqxo6TZQ8HtotV8cI80dbS30+c8smYpcTrCMtpuBjwOGayYT4U6N0KLv9s/c6BiS7a1daOL5wEQ1Y/vNWE9nMU= 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 1587471651766940.9615444888703; Tue, 21 Apr 2020 05:20:51 -0700 (PDT) Received: from localhost ([::1]:56874 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrtS-0002Wg-95 for importer@patchew.org; Tue, 21 Apr 2020 08:20:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59016) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpO-0004vG-9R for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpN-00065F-S1 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:38 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:45001) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpN-00061L-Ez; Tue, 21 Apr 2020 08:16:37 -0400 Received: by mail-wr1-x441.google.com with SMTP id d17so16173787wrg.11; Tue, 21 Apr 2020 05:16:36 -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.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:34 -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=5z6HGxXR+98mfge1lDQbmcUEQ1irNfVSb4DhyuqpZaU=; b=bAp23JYaCjwPAvB20SfhIgBDbx6C2LP1jcIxFZdesmm5CNqtQjmvrxKPNqqP7BJbIG xc8ea4Am7UtCPSX8zEeL9qz8j/Mwasv20Iz3jiCxr/e1Ty+r8Cy1fz7gjmtwv51xJH8d k99YHg+ts04ei7hyzs9s4yMUN7b4ya4D9re0hGHYu/gu+jfE1K7jV5KwLtJjdRCg/8R6 rRtpjSaUf7FZO3GyNDpjfhCA2EUcCRqRbhNk1H/zbX6bqdnIW1uNGPouypS/McB0BG4Y e9eIqk6ik7kW6Zu9b3dsWvWIbt0PWlzrEruFYwosWl9LqFnp4Smu4mVrbxNPlslRMbD3 W2QA== 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=5z6HGxXR+98mfge1lDQbmcUEQ1irNfVSb4DhyuqpZaU=; b=dSZ/iJ9FHct6hDNvwTNAF7PE4bT17IecMwnq9i1EWuwXODrC+Kcjmlkyh7xBZlpvji dMtf5rw/cAoNTmXvaivdzjFS4//OWB/ncPsfrjEdkCn4P6rvEdioxf/zbBr5ajXTriYb WIfX9FuNi+zanEysO0woMFpw9BfyaI3Mtop5TSKG48tSSHGU7osvzGEezuVXhXp7xH5C s3fy1+nXdXasd5XWlhk/4OOPlHjBqesCgmkKLM+JYRl2oC9eZLYL7v9wMKT35DCo9LqF eCqNOb/KXpU5frCA/iRQEsv2nKFfx7XwhVe2QDvt3c/Yxml8ktIKKcGgPTMZ73Paq7kd 6Fhw== X-Gm-Message-State: AGi0PuZLBJa/MH2b9P2FmIDecKj6jWuzPcvXxPdNshqA1WecudLdzKG5 KAuCurk6zD6tH8XbKFeai/1ksKErPVA= X-Google-Smtp-Source: APiQypI4s/Kkq1rMeyVksOLK2llygXFyIhCp/kfFEg8wtT6F/ttM/xv5ay28NezwrJ+0zwl9mdAlhQ== X-Received: by 2002:adf:eecc:: with SMTP id a12mr23369459wrp.112.1587471394924; Tue, 21 Apr 2020 05:16:34 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 03/17] hw/misc/temp-sensor: Add 'info temp' HMP command Date: Tue, 21 Apr 2020 14:16:12 +0200 Message-Id: <20200421121626.23791-4-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::441; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x441.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::441 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) Add a command to display current devices temperature in the monitor: (qemu) info temp Temperatures (in C): videocore 25.00 bcm2835-thermal-0 25.00 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/monitor/hmp.h | 1 + hw/misc/temp-sensor.c | 29 +++++++++++++++++++++++++++++ hmp-commands-info.hx | 11 +++++++++++ 3 files changed, 41 insertions(+) diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h index e33ca5a911..f023230bd1 100644 --- a/include/monitor/hmp.h +++ b/include/monitor/hmp.h @@ -129,5 +129,6 @@ void hmp_hotpluggable_cpus(Monitor *mon, const QDict *q= dict); void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict); void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict); void hmp_info_sev(Monitor *mon, const QDict *qdict); +void hmp_info_temp(Monitor *mon, const QDict *qdict); =20 #endif diff --git a/hw/misc/temp-sensor.c b/hw/misc/temp-sensor.c index 27750c533d..5f591bd9c3 100644 --- a/hw/misc/temp-sensor.c +++ b/hw/misc/temp-sensor.c @@ -12,6 +12,8 @@ #include "hw/misc/temp-sensor.h" #include "qapi/qapi-commands-misc.h" #include "qapi/error.h" +#include "monitor/monitor.h" +#include "monitor/hmp.h" =20 static int query_temperature_sensors_foreach(Object *obj, void *opaque) { @@ -59,6 +61,33 @@ TemperatureSensorList *qmp_query_temperature_sensors(Err= or **errp) return list; } =20 +void hmp_info_temp(Monitor *mon, const QDict *qdict) +{ + TemperatureSensorList *list, *sensor; + Error *err =3D NULL; + + list =3D qmp_query_temperature_sensors(&err); + if (!list) { + monitor_printf(mon, "No temperature sensors\n"); + return; + } + if (err) { + monitor_printf(mon, "Error while getting temperatures: %s\n", + error_get_pretty(err)); + error_free(err); + goto out; + } + + monitor_printf(mon, "Temperatures (in C):\n"); + for (sensor =3D list; sensor; sensor =3D sensor->next) { + monitor_printf(mon, "%-33s %6.2f\n", sensor->value->name, + sensor->value->temperature); + } + +out: + qapi_free_TemperatureSensorList(list); +} + static TypeInfo tempsensor_interface_type_info =3D { .name =3D TYPE_TEMPSENSOR_INTERFACE, .parent =3D TYPE_INTERFACE, diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index ca5198438d..77f1c43ce3 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -880,4 +880,15 @@ SRST Show SEV information. ERST =20 + { + .name =3D "temp", + .args_type =3D "", + .params =3D "", + .help =3D "show device temperatures", + .cmd =3D hmp_info_temp, + }, =20 +SRST + ``info temp`` + Show device temperatures. +ERST --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587471671; cv=none; d=zohomail.com; s=zohoarc; b=D/2kS0Nc0vBjLeTuXKlrHQAK7whpa3Yc/wjmSg1MW3x3+wGvIsJGX2NFtFLz39w2VrbJJDvB+Mqf9kj32+QA4V55yc72l1auJjDNVn5yaYxv2m68kdYt0Ym/77SuyACZT5winokK0QbbiEewEoUGtlnnaA2ZHKZs2GnNHaS01Qg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471671; 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=suzA1mVxEZBQKnRRP2Gao+Iu8bshykLk7J9aBD7X5OY=; b=CCacOJH4BPtOza5gmTQtAhJVlJLeuzUNROSdBDx9/drX0mjoVsftgVLaWOFixd/dit7o1v9kppOMWPuf7lldbTRGiSGhXWPUR93HRv+0JtrFHI7u5+BFBbk/X60OuHWAcN4N/xZxMMYPR1iKhOpDQIuf9jSCCeVhbbk/ATIS4vk= 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 1587471671466381.0151432293766; Tue, 21 Apr 2020 05:21:11 -0700 (PDT) Received: from localhost ([::1]:56894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrtm-0003I0-8W for importer@patchew.org; Tue, 21 Apr 2020 08:21:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59054) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpQ-0004xU-6C for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpP-000676-N7 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:39 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:38065) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpP-00064K-9U; Tue, 21 Apr 2020 08:16:39 -0400 Received: by mail-wm1-x343.google.com with SMTP id g12so3417100wmh.3; Tue, 21 Apr 2020 05:16:37 -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.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:36 -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=suzA1mVxEZBQKnRRP2Gao+Iu8bshykLk7J9aBD7X5OY=; b=UPy3yN3rdRSn7/7rXCowU8U1nMW0j/I3Q5YkHBGZYHQML5L8nBizIzU40XmFWcFw4K K7xNLH8/7y5wVy0BUo0gi2U0fzfdoWkZNbhUCGdET8QEXD/9P0xJiRCT1ksp8REUCp7K tTw+SekC5XwCeA7OtAUbcpnEgbutTZmyVgb8R6NwSMQgOvFNqEqm9XgXmLpdQ3K6+W42 hhtm9toZOmL7PAPdgfvraIGxoOTFGqGvxc553HN9zVVFE16PlWvdJ2wWexgjUsfnh668 0ZNAmLAhgDhPsUROioePfp0HnZBV08qrhkugAiks+TjRX9GRO0g80LBJGUNcTsNGo3vO mJaQ== 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=suzA1mVxEZBQKnRRP2Gao+Iu8bshykLk7J9aBD7X5OY=; b=VgceEd6RyGsw2d1osBVfQhT0pS9KYuEfdv9VX/tk2DG5RdMpoZ5gFKCa7D2n/jU18q 4imO6hjZkO2Z5w7I1R99LWcxvDr6Sje1ewW8blyBb2ycIS+Bqi3emm27v+KLJUFCTWRG 0onL5QHI3fCz4NGtDuu13wV3tqf/82yVxGOBhg7oaE6hvWEgl744FPXMPfx0+nHr0g86 3RguftEeBMuvRgTTXu+iD4BDTFtChrCIGXDnInYZivhfyFt48AjTSxZ6YU7AoT7p6TC1 UXrmHJWgVI/WuNcVS7RZztrLfaTAqrE9Pi623i0stD4t1aH0LC15yD/5HWWy8kHkwVjl cmtQ== X-Gm-Message-State: AGi0PubPJJyn3/NUbKLQQBzFLu7lqRs6PN3WJFIPmQE9HHvqal8wf3AC 8lY/q4PN5DMCfdYLT5P0H6rr+Is+bMM= X-Google-Smtp-Source: APiQypKMhUFf3vKrVdSLtgrz2RLyPcd9qxCxwkO9UqqIstDoCYMsf/1iL+Y8OoMXEjgjqEvT0D+nlg== X-Received: by 2002:a1c:f416:: with SMTP id z22mr4665135wma.32.1587471396775; Tue, 21 Apr 2020 05:16:36 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 04/17] hw/misc/tmp105: Extract get_temp_mC() and set_temp_mC() helpers Date: Tue, 21 Apr 2020 14:16:13 +0200 Message-Id: <20200421121626.23791-5-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::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.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::343 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) Since we are going to reuse this code, extract it as helpers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/tmp105.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index 75ddad3a12..754c8a6eb4 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -56,11 +56,28 @@ static void tmp105_alarm_update(TMP105State *s) tmp105_interrupt_update(s); } =20 +static int64_t get_temp_mC(TMP105State *s) +{ + return s->temperature * 1000 / 256; +} + +static void set_temp_mC(TMP105State *s, int64_t temp_mC, Error **errp) +{ + if (temp_mC >=3D 128000 || temp_mC < -128000) { + error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of rang= e", + temp_mC / 1000, temp_mC % 1000); + return; + } + + s->temperature =3D (int16_t) (temp_mC * 256 / 1000); + + tmp105_alarm_update(s); +} + static void tmp105_get_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { - TMP105State *s =3D TMP105(obj); - int64_t value =3D s->temperature * 1000 / 256; + int64_t value =3D get_temp_mC(TMP105(obj)); =20 visit_type_int(v, name, &value, errp); } @@ -71,7 +88,6 @@ static void tmp105_get_temperature(Object *obj, Visitor *= v, const char *name, static void tmp105_set_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { - TMP105State *s =3D TMP105(obj); Error *local_err =3D NULL; int64_t temp; =20 @@ -80,15 +96,8 @@ static void tmp105_set_temperature(Object *obj, Visitor = *v, const char *name, error_propagate(errp, local_err); return; } - if (temp >=3D 128000 || temp < -128000) { - error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of rang= e", - temp / 1000, temp % 1000); - return; - } =20 - s->temperature =3D (int16_t) (temp * 256 / 1000); - - tmp105_alarm_update(s); + set_temp_mC(TMP105(obj), temp, errp); } =20 static const int tmp105_faultq[4] =3D { 1, 2, 4, 6 }; --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587471793; cv=none; d=zohomail.com; s=zohoarc; b=LlTT9tMAj4eEBMiQtAc2QidkmZR/6tHAgd4XnhI5qdJKgYcQfpf1QK8bLYnH4PLIlwcOQxrMXp6neRqMe6MFN18dRwWYxsiz2wUUEqmUWsSkn80tC7Qj4CJknOKd8qXe4NeVe4YTBsmLE7UcLOPy2o4SqW4PJPedZkxPcNWuJto= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471793; 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=L0eadFJUGQPJ4p4rN6pAFYs/4hrk+ggDCEiPyRFZ3fs=; b=EiaLzbALw726Vhf3r8bYeLOprCW3OfEzUo9elIxe6pH5GI9HfWUI6KkXLgePmYoqRcZsygWoblLf5oXu+S+h71ArHXFx2H/7o27saOYUHaWOu7WpSVX3PUOaCweknoSSGqDGiqHjNDUwiBjillb8QkI30VsTlmuvmEA2AjknneU= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587471793525424.7015151692168; Tue, 21 Apr 2020 05:23:13 -0700 (PDT) Received: from localhost ([::1]:56958 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrvi-0006Y5-Uk for importer@patchew.org; Tue, 21 Apr 2020 08:23:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59088) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpT-00056G-V0 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpT-0006Bu-JI for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:43 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:55862) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpT-00069A-6A; Tue, 21 Apr 2020 08:16:43 -0400 Received: by mail-wm1-x342.google.com with SMTP id e26so3290533wmk.5; Tue, 21 Apr 2020 05:16:41 -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.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:39 -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=L0eadFJUGQPJ4p4rN6pAFYs/4hrk+ggDCEiPyRFZ3fs=; b=V2sTdJ8Tb37chI9F3dE++ub2orQiMllJDR1o05Ueg0Ql7e+sWM8vo+ROoHCDzZ2DOe 2Cqa7vEghztIt/NI9YubWKI01VU2DpqxxgwAY4oJ4qe50yypxop2vUibq3si4FcvDyoK O5is9FVXUF58y4VOqsMNUGKA6IBE6fE0hsgxVrnx3ewFAUNbeELRJjk7JUfY0xd9y8wu XNjRnK/LzZMwC9IrfDFbktebVjSkIG2DqcMTzd3smbQLaeE/cHPkCsO9eESNIry/H6Iq FDjW5W0ZANoMlnLgN5+/bTlVfBI8GOe0oBRdkIF4P1aQXTocUiX74ZTHC9I5TlrbbXkt Xn7g== 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=L0eadFJUGQPJ4p4rN6pAFYs/4hrk+ggDCEiPyRFZ3fs=; b=hA3rhZ0k+Dg62w79BhUWlF0ROCxUN4jYgtut7Ig7b+FRmm5cXa2sJ2ZdLKfEMxAQRm TZUjnMhQnUJQ0Ww2OjAXQ8hUyqv7qnn2D6GMHMrbLkI+P/GdCkAKzvPHRef7uiqdEw8p qsc453HqjRESD0ko0RZuugWCC0OjwOo61CGVeEylWJe5cAvfwEtHVaTnpj53m2qfB27q GMzUBfXOLTHPM8ZmSYrnxRBHwZqbLkbcM8WriwHeuLNttJ0OZEeCI8OZgmxP+vYpsqvk ap6XWvIbCwoih89DuhWSsf4rDT4Ibxex+CB/VuvNl3cqHi3KzQqlVAYzI+PHfF1D2zgY GfTg== X-Gm-Message-State: AGi0PuY/DmUFKG4N73v3YQgzZvOiNl8mzhew8GZSw/4nFO72jeNi5trE VufurHgTIwOgWCNj2nhBri8ZkejriVo= X-Google-Smtp-Source: APiQypILiESmN6xnZD4uLGd565+6Js0iVZ+JOAISP4gSIJ27+lG3N0rTt3yHP2OiD3cZMLzDfAz06Q== X-Received: by 2002:a1c:2457:: with SMTP id k84mr4367293wmk.96.1587471400256; Tue, 21 Apr 2020 05:16:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 06/17] hw/misc/tmp421: Add definition for SENSORS_COUNT Date: Tue, 21 Apr 2020 14:16:15 +0200 Message-Id: <20200421121626.23791-7-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::342; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x342.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::342 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) Use a definition instead of a magic value. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/tmp421.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index c0bc150bca..04c3b3ca6e 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -37,6 +37,8 @@ #define TMP422_DEVICE_ID 0x22 #define TMP423_DEVICE_ID 0x23 =20 +#define SENSORS_COUNT 4 + typedef struct DeviceInfo { int model; const char *name; @@ -53,7 +55,7 @@ typedef struct TMP421State { I2CSlave i2c; /*< public >*/ =20 - int16_t temperature[4]; + int16_t temperature[SENSORS_COUNT]; =20 uint8_t status; uint8_t config[2]; @@ -124,7 +126,7 @@ static void tmp421_get_temperature(Object *obj, Visitor= *v, const char *name, return; } =20 - if (tempid >=3D 4 || tempid < 0) { + if (tempid >=3D SENSORS_COUNT || tempid < 0) { error_setg(errp, "error reading %s", name); return; } @@ -164,7 +166,7 @@ static void tmp421_set_temperature(Object *obj, Visitor= *v, const char *name, return; } =20 - if (tempid >=3D 4 || tempid < 0) { + if (tempid >=3D SENSORS_COUNT || tempid < 0) { error_setg(errp, "error reading %s", name); return; } --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587471555; cv=none; d=zohomail.com; s=zohoarc; b=blx3B1NlAhZLo3Un71J8Kea2dOqYmxceRnLAYkYE8jlst/1if2WibrnGomX5dn07gagazJFmruuANt2XnMaJIMs5Vlr+34Bp1j0obtS1rUCTwUp2jyxNnqjae5IJ/GZMM5xBmys+pmMjwg28Mi9eC0D8YRx1flQQm8QX5UBpIXE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471555; 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=9frTWORwoZW0igeAZ1RXaslrznC6xIFQopqjx+iyoJ4=; b=UmBE4gPTA3yUpN28GbfGLAQJ4rrkfi1hlABNmL0IFrmCT6KYJKAIUJOLq6Sn8QBdxG3EwIMe67zPQqqsbaSmxop5+brxsLZRAnGzc/BrIyhr2jcLgX9Hb3XXNw+hUaj/85RTVN8PCogD/MQWLWok5AqCPoZtAmKTfe1e+l5SftI= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15874715559161014.3930847431009; Tue, 21 Apr 2020 05:19:15 -0700 (PDT) Received: from localhost ([::1]:56832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrru-0008Em-Lm for importer@patchew.org; Tue, 21 Apr 2020 08:19:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59104) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpV-0005AK-DF for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpU-0006DL-UL for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:45 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:39746) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpU-0006B5-HG; Tue, 21 Apr 2020 08:16:44 -0400 Received: by mail-wr1-x441.google.com with SMTP id b11so16192155wrs.6; Tue, 21 Apr 2020 05:16:43 -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.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:41 -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=9frTWORwoZW0igeAZ1RXaslrznC6xIFQopqjx+iyoJ4=; b=Jy8aISSO9mAH6DEX7PgZAbbFPpnz8qQOpSBTdbT0Zo4AAEBL+o5p4GUNMtweMYSaGh ikB2eMudeWP5n3oviEJ5lFEAVCRJCer+b1VklP7SmLoxCaRps3SiiyYBQRnX1j/DkJg/ DtbTqX6X/m9qLCs+viF0KkIkOhHR6S1Oj45L6oE8sAXrpaiClUJeka0rouKofKRJBEo8 CUkFCMtabI1vm4gHllXIxWIzly0Mmr2qZZqFeIaUABKWBdS034Mi2CCMD0Yf+fQ+AKp4 Fbn0wJYvrK9VEXOvArmlraxbPs8jXBJ3HIOveVsmUB8RhM/MqF+uGoBEPOQljJWwY70a e2rw== 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=9frTWORwoZW0igeAZ1RXaslrznC6xIFQopqjx+iyoJ4=; b=cDYsiLFg+HRVP/0G/NRztQ0bcWw7LH6Y+mcGM/EG9hlBJgG/YHxUVTUiAg/PDtq0mk KgQEiNAxBT5FxgENTlEnZ+hrm/7y5RJeRoKHzR3+2rYIHd6VrlKXFgE8LAEncV5v1m/k pOqXc3qySmLDk7+462OJ19tXMF/5WcFkTqwUDxaxAWxZkpONtJxX2OyhyQQ/EmRdNTiF InIM4hIZnXELiLrDGuJpUndA3yIOrSItKOGYkLd9R44r97E8mi8fwEFm9jVsZhYlKx8T ilegiHap76l3nTploXIGQusYiw3HAcWptBH0OaS1tZdsB++PUyJ15A04rneTYU/kOE13 gzVg== X-Gm-Message-State: AGi0PuZQ8TpnmDwiMxS/jKqQS3ig495mBFyWTO8P8gx2ZdesXJLIURrr yex3q3PvVeCLReiGJTqpb06wVivTJZQ= X-Google-Smtp-Source: APiQypLh+DQtRvRShV5urHKpQIWQgY1sdAMBTcs8jaJl8+gJRWqQQvBc54o/x6gyjiNkow+JssEiMA== X-Received: by 2002:a5d:5224:: with SMTP id i4mr23837459wra.1.1587471402031; Tue, 21 Apr 2020 05:16:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 07/17] hw/misc/tmp421: Extract get_temp_mC() helper Date: Tue, 21 Apr 2020 14:16:16 +0200 Message-Id: <20200421121626.23791-8-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::441; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x441.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::441 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) Since we are going to reuse this code, extract it first. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/tmp421.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index 04c3b3ca6e..8003356307 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -112,12 +112,19 @@ typedef struct TMP421Class { static const int32_t mins[2] =3D { -40000, -55000 }; static const int32_t maxs[2] =3D { 127000, 150000 }; =20 +static int64_t get_temp_mC(TMP421State *s, unsigned int id) +{ + bool ext_range =3D (s->config[0] & TMP421_CONFIG_RANGE); + int offset =3D ext_range * 64 * 256; + + assert(id < SENSORS_COUNT); + + return ((s->temperature[id] - offset) * 1000 + 128) / 256; +} + static void tmp421_get_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { - TMP421State *s =3D TMP421(obj); - bool ext_range =3D (s->config[0] & TMP421_CONFIG_RANGE); - int offset =3D ext_range * 64 * 256; int64_t value; int tempid; =20 @@ -131,7 +138,7 @@ static void tmp421_get_temperature(Object *obj, Visitor= *v, const char *name, return; } =20 - value =3D ((s->temperature[tempid] - offset) * 1000 + 128) / 256; + value =3D get_temp_mC(TMP421(obj), tempid); =20 visit_type_int(v, name, &value, errp); } --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587471997; cv=none; d=zohomail.com; s=zohoarc; b=eIN1F2T+KJSFx0+ycsR6ECh1kfwGSDol2hD2yPlPOeRs84Lr1HXeLHCPi4ZgQjnToIDn4U0aNQ3gIBNIKoVYq6QlkPxAWG6V8DGtYcE5MWODtNfUfORHu8DI7MtLGZgS81eJk8QjkpdiTtpQngTEBlpBYV6pTBgMYn2P3tO1fUE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471997; 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=vcBPhZxwd+4vvuNFMjpVIGG8AsZi9zdExeOhoYV7tu4=; b=eKyjq18tS1pW8YVoP2InPyjviRAZYMscJT1xbwuyutWij8dSVcx36xaey8hfjAFxZJWUYFbRMzhtEIdklHQmaTm/AkFMvj7UkH/GyvKSsTSJnk9iZbea1uH9cJereAv25QGa08aglcZGtUGkthHbu5sYJms6Oq85AZq4fQo56tE= 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 15874719975571013.9079343772701; Tue, 21 Apr 2020 05:26:37 -0700 (PDT) Received: from localhost ([::1]:57048 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrz1-00039m-CJ for importer@patchew.org; Tue, 21 Apr 2020 08:26:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59132) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpX-0005Gg-OA 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 1jQrpX-0006HN-3d for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:47 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:54841) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpW-0006DY-MC; Tue, 21 Apr 2020 08:16:46 -0400 Received: by mail-wm1-x343.google.com with SMTP id h2so3289007wmb.4; Tue, 21 Apr 2020 05:16:45 -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.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:43 -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=vcBPhZxwd+4vvuNFMjpVIGG8AsZi9zdExeOhoYV7tu4=; b=MRKiQrMRjgF15Z5ST3R4ycE1fKYuE1z0PoxMQYHXYmcNIi9JtZ3GdS/Ztw94805CeU gOyiifBLeLMskzOcbqAOBjaJmeP0T5fnkaO6NwvZN2vM5We2ZpW6FdaqQ5erHdViSSqt i8awh+/TkBDHEY/HQLwsmSGOmI3PJa3PXDlsiSNfQ9jMQFA9SIX1iMz6EznWXTM0uWlY Csou5J2ClG5qH7eRZlKgvHTbqForst7yHH4/A4ilURBdsJW7mnFZ+YWkQgLFNeq/nbqe GfqNt9S2dLBkyvBF24L9RDsnz0sdX0w5LffLdYaZ0F8jgQhtFH/gbgMCjO2CsHaNB7n9 DMcA== 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=vcBPhZxwd+4vvuNFMjpVIGG8AsZi9zdExeOhoYV7tu4=; b=YoGTOq2/mTgBVhHwQEucRGhL5kp8Zzvwa0GI91qpKdjJ7finfpQHSyr/4a3sBkFxOM L36RIIP6CeHGg/yEMDipDr5Q3qwexVTUSB6quOf2G71S48l0IRQTH1m3AmhPy/T8LrW0 oYKu2XjxR8FKcOsV1q78Sn8qR0f4VKRZmAWsbOAJtWAIbWcDIXejKV5wqH9Ioz5nw//r moVByoSh9k8QGZiORduM+p3y/XRHUBXKNOsqZ1v/fJiRF4ElabNlWe88qgtph3so2QJA 4de9Le3NwoiSCXnGEq9oLsSQa1GzzH9XCT1TMo9Y5uao55HJYbgFV2cklXg39/bwoV4x zS0w== X-Gm-Message-State: AGi0PuYmaOYwhrYgdqPzRVTem8PBP0SCgy/fFvrLOjYibzQl8dxorG1B e0XtUM+7tex/e6Wum454a5cXJavhsrQ= X-Google-Smtp-Source: APiQypKJqU8Ykv5xmIWbbrw/HrMyoeq+McjLKCOM+hTjvKZgIn/a4W6oM+n+x/NWqkkT6lVMQ2E7XA== X-Received: by 2002:a1c:9cc6:: with SMTP id f189mr4486493wme.75.1587471404227; Tue, 21 Apr 2020 05:16:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 08/17] hw/misc/tmp421: Extract set_temp_mC() helper Date: Tue, 21 Apr 2020 14:16:17 +0200 Message-Id: <20200421121626.23791-9-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::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.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::343 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) Since we are going to reuse this code, extract it first. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/tmp421.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index 8003356307..270e7d5510 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -122,6 +122,22 @@ static int64_t get_temp_mC(TMP421State *s, unsigned in= t id) return ((s->temperature[id] - offset) * 1000 + 128) / 256; } =20 +static void set_temp_mC(TMP421State *s, unsigned int id, + int64_t temp, Error **errp) +{ + bool ext_range =3D (s->config[0] & TMP421_CONFIG_RANGE); + int offset =3D ext_range * 64 * 256; + + assert(id < SENSORS_COUNT); + if (temp >=3D maxs[ext_range] || temp < mins[ext_range]) { + error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of rang= e", + temp / 1000, temp % 1000); + return; + } + + s->temperature[id] =3D (int16_t) ((temp * 256 - 128) / 1000) + offset; +} + static void tmp421_get_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { @@ -149,11 +165,8 @@ static void tmp421_get_temperature(Object *obj, Visito= r *v, const char *name, static void tmp421_set_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { - TMP421State *s =3D TMP421(obj); Error *local_err =3D NULL; int64_t temp; - bool ext_range =3D (s->config[0] & TMP421_CONFIG_RANGE); - int offset =3D ext_range * 64 * 256; int tempid; =20 visit_type_int(v, name, &temp, &local_err); @@ -162,12 +175,6 @@ static void tmp421_set_temperature(Object *obj, Visito= r *v, const char *name, return; } =20 - if (temp >=3D maxs[ext_range] || temp < mins[ext_range]) { - error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of rang= e", - temp / 1000, temp % 1000); - return; - } - if (sscanf(name, "temperature%d", &tempid) !=3D 1) { error_setg(errp, "error reading %s: %s", name, g_strerror(errno)); return; @@ -178,7 +185,7 @@ static void tmp421_set_temperature(Object *obj, Visitor= *v, const char *name, return; } =20 - s->temperature[tempid] =3D (int16_t) ((temp * 256 - 128) / 1000) + off= set; + set_temp_mC(TMP421(obj), tempid, temp, errp); } =20 static void tmp421_read(TMP421State *s) --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587471712; cv=none; d=zohomail.com; s=zohoarc; b=kak38+tbZDkwUZORWX+O6MbVtfqpUy4tZWaQwBcKGB0ybDA9CJsTKx/JhbRI+9NfHCj7MHFjJ8/hchChxGw/2TkoSTFHEuFa6I+CYO/trbn5cSEb9tUB33ARkf0kxt5OhUiWMTmapgiIc008L8l0Nh/w8XpDbdhbYYN/hn66vXc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471712; 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=qB64pMQz077pdvYBO2lwMlbmaOOXxOAZW+fx+kae1v0=; b=gqlwoAsnqyu8eLPYjeEBuiPfLXk/zwLAk49ry24Mx1+2ShvWQ5UBgWvmxfm62MX8riQXsjl6T2fPGksr2TYepsgaHyC+x3RPrfpibyMX7n/ntMBn8uqi0i6LWf62uSAeGKaSV8DggH9uj6gJTDAXeXyGeBYLxleT6a8VRbjvh+U= 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 1587471712207243.34845312251264; Tue, 21 Apr 2020 05:21:52 -0700 (PDT) Received: from localhost ([::1]:56904 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQruQ-00047a-TQ for importer@patchew.org; Tue, 21 Apr 2020 08:21:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59176) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpb-0005OZ-6A for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpa-0006OU-ID for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:50 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:38069) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpa-0006Ha-2K; Tue, 21 Apr 2020 08:16:50 -0400 Received: by mail-wm1-x344.google.com with SMTP id g12so3417706wmh.3; Tue, 21 Apr 2020 05:16:47 -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.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:45 -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=qB64pMQz077pdvYBO2lwMlbmaOOXxOAZW+fx+kae1v0=; b=chidQ7+4Ch8UfiagLu9jPE6HSdWivmHZ2BE3S7Y5ntFGWwtBcq/3OuGPPEBLP0cj/Q U3NDfqwr6qpKZ3P1dAfTYLadrilu3N6h9Avmw5vzHAHLhSCj38sNiFprc9UaXul2WWlv i57u2MxpDm5QGIxe1gLknsZeHqqKEnlGVSBQ5or5FBW7Bz0TZh4yFSGV+O6/xI+lDOnT LSE8INPlTnH+DMNvGilhIHcooeX6/FHtDjx8Eq+XXY4RdV5xJ9BwA5qKD4Qh2ciR1tsI Mj9YBPr4IK82qT9GScFkpNxkO2qTBcny7rYzaySSRkhUzXMPGiJeAFhyOLk1FUCAx0+x Qylw== 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=qB64pMQz077pdvYBO2lwMlbmaOOXxOAZW+fx+kae1v0=; b=hyz2ud4EBsIvxs/72nX2J0ptqvnPvINGGjVwIY9laTq7nxMLMSeJCPdKaeq4Mzry9d zIiroeIzhWR8RQqQnGb9AUU+0ZdF/NYaMoSTFEEbYY5wVrkUaNUbqkbbVXKmfYUlphR5 Of7PnD5w51UQ5weqmwXvI3EAWy85deNUXdd8rIIhU1ly7rvT1o9R0jqfLysdQjV8K5DV rKL1ZfzUATI7LX2ZbpPKeM3QMjD1EB4lscEr0ksSPs9vbm726P4nLpsc/aG5DdnZRqPH ZMrwobi6Iivs+yU70Y5aZtBtz4qgTN2YFRxTqhlWQtv2FtRMyDJGq19IMNXLdX+69olE KJaQ== X-Gm-Message-State: AGi0PuZqh/qeq/OI7F+BvFZnOsJppi3uAqSYgLsEEzGfiqDOoI3cdPN2 TZGX6iKBieRui5skWTc74ubHGM2ZJo0= X-Google-Smtp-Source: APiQypJsuJ1vfx8TLbcBvopG+E0ZH8VhL1BO4VVwV0Wgvrg88IEdNQLrL7WepIexLN2THQDa+fEr/Q== X-Received: by 2002:a1c:2002:: with SMTP id g2mr4431625wmg.109.1587471406418; Tue, 21 Apr 2020 05:16:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 09/17] hw/misc/tmp421: Implement the 'temperature-sensor' qdev interface Date: Tue, 21 Apr 2020 14:16:18 +0200 Message-Id: <20200421121626.23791-10-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::344; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x344.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::344 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 TMP421 is an I2C device with multiple temperature sensors. Let it implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/tmp421.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index 270e7d5510..31bfbecb1d 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -30,6 +30,7 @@ #include "qapi/error.h" #include "qapi/visitor.h" #include "qemu/module.h" +#include "hw/misc/temp-sensor.h" =20 /* Manufacturer / Device ID's */ #define TMP421_MANUFACTURER_ID 0x55 @@ -138,6 +139,21 @@ static void set_temp_mC(TMP421State *s, unsigned int i= d, s->temperature[id] =3D (int16_t) ((temp * 256 - 128) / 1000) + offset; } =20 +static float tmp421_get_temp(TempSensor *obj, unsigned sensor_id) +{ + TMP421State *s =3D TMP421(obj); + + return get_temp_mC(s, sensor_id) / 1000.f; +} + +static void tmp421_set_temp(TempSensor *obj, unsigned sensor_id, + float temp_C, Error **errp) +{ + TMP421State *s =3D TMP421(obj); + + set_temp_mC(s, sensor_id, temp_C * 1000.f, errp); +} + static void tmp421_get_temperature(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { @@ -380,6 +396,7 @@ static void tmp421_class_init(ObjectClass *klass, void = *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); TMP421Class *sc =3D TMP421_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 dc->realize =3D tmp421_realize; k->event =3D tmp421_event; @@ -387,6 +404,9 @@ static void tmp421_class_init(ObjectClass *klass, void = *data) k->send =3D tmp421_tx; dc->vmsd =3D &vmstate_tmp421; sc->dev =3D (DeviceInfo *) data; + tc->sensor_count =3D SENSORS_COUNT; + tc->set_temperature =3D tmp421_set_temp; + tc->get_temperature =3D tmp421_get_temp; } =20 static const TypeInfo tmp421_info =3D { @@ -396,6 +416,10 @@ static const TypeInfo tmp421_info =3D { .class_size =3D sizeof(TMP421Class), .instance_init =3D tmp421_initfn, .abstract =3D true, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static void tmp421_register_types(void) --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587471849; cv=none; d=zohomail.com; s=zohoarc; b=anNjXCsix9Z2vSJiXdGXuJ8f5fn2dFDZRzkCZswdIEdvbqzEzZ+VX57CRcTFDQwOWdf1VuFZCayQhH2jydXXRFWg9umthmHj9PxfXmnESUtVtF6+JMo5K8o7s9TC4YeM/PrfzS02UNmElHCDa3aSRJCuE/eblLm8u0sKTBwkVIA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471849; 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=dxi1KO+TbSTdgnmzvfmca5B9kXzDJPZKOcIl8f3DUQw=; b=NPHNqiKAHY/pJdG2+hsLwaoX5dvh9As8w4xW5v3VyFRUUJoo4dE6mJK8LtHsP7gxoxxaXe2tSgFieWid6Sb/BW98ANJba09av18syQxx8/SHYR8SZULjp835EX39Qlxuj35pxq3oct8glL84TlaS8OAbvl69d4WtmpBjJ0ITWnc= 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 1587471849310842.9066803872514; Tue, 21 Apr 2020 05:24:09 -0700 (PDT) Received: from localhost ([::1]:56970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrwe-0008G6-4v for importer@patchew.org; Tue, 21 Apr 2020 08:24:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59208) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpc-0005Q8-Et for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpb-0006RH-Jn for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:52 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:45478) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpb-0006Ll-3e; Tue, 21 Apr 2020 08:16:51 -0400 Received: by mail-wr1-x444.google.com with SMTP id t14so16164074wrw.12; Tue, 21 Apr 2020 05:16:49 -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.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:47 -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=dxi1KO+TbSTdgnmzvfmca5B9kXzDJPZKOcIl8f3DUQw=; b=BQjmJ8enz8lUSt6E5WQY5PUGsO/9S96y4lvBf6t5cXsBreDBc61nc8Zi8ULKzcHQ7s 74CDd24JP69qrGcAPyYuVIV08ZfY3Z8KGgAiH3U4tOk25BgIQX11kbP6m8OZgU2pxwWW JVovd/a/oq2kSgRtT9RqL4BS2E9ar3f05I2aI6HooTIaSmg3TVkp5JaLUCDNf+3Rf7gm XT69TSTSyswd9i75aoqawj6WhJF4wQGPvdvt+gXH7nhUeEX/Bl0PSZpOGLs+F1TF7i23 rKoK3NwT90CNYClLgwXG5ol/mgxhU7E1D0B1ExNBx5U1J864QVVBZeylL7UkeEoMoFbE FamQ== 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=dxi1KO+TbSTdgnmzvfmca5B9kXzDJPZKOcIl8f3DUQw=; b=nH/DeazyqcFbTb3WbSdEfQOiNPm5JJsCBviC8BFvExZUjKrlOxmCsaCrMwp5CHXvzY 67q+JkDUNOwlykF3oldR8lrqJrcwHd6vEOs0ink+YsclrOrviWg/Ho7+J3+PoK2HUc+R zqN+UPDWAOL+C+jBrPNcZts28fwesG5Zeuy3qekNqwag14j2B+SGoMWadx5UzIH2DSwT Rg1a4/ySkVfNzeI+aabDhgaD+/F2Ulj3duAIBrCwObRNjlTjJuuKFq8/Gckqtz95zSRN zZ4sp38LQL+IFQx7qR1Yxn+b8r8BzzKj6J0e2RUAnCK8nrFRdix7BikRiK/m9ycM3Np6 uiEg== X-Gm-Message-State: AGi0PubTprjWin7NfsZHPN57eFtvnIUbhrMFnIy6g3GgZAV2/vUd8bza mEaBh6DLEhwktwQplKYswKsfIhRV62M= X-Google-Smtp-Source: APiQypI8eN/kNGtO8H27o8kq3sndlRYJmjoJy9u/vHksOMTcHQhVVH44ZebXFb7/QmfOeZNxPAlcAQ== X-Received: by 2002:adf:ce02:: with SMTP id p2mr23552791wrn.173.1587471408332; Tue, 21 Apr 2020 05:16:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 10/17] hw/misc/bcm2835_thermal: Hold the temperature in the device state Date: Tue, 21 Apr 2020 14:16:19 +0200 Message-Id: <20200421121626.23791-11-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::444; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x444.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::444 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) We are going to modify this variable, move it to the device state. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/misc/bcm2835_thermal.h | 1 + hw/misc/bcm2835_thermal.c | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/include/hw/misc/bcm2835_thermal.h b/include/hw/misc/bcm2835_th= ermal.h index c3651b27ec..df6a7b86c3 100644 --- a/include/hw/misc/bcm2835_thermal.h +++ b/include/hw/misc/bcm2835_thermal.h @@ -22,6 +22,7 @@ typedef struct { /*< public >*/ MemoryRegion iomem; uint32_t ctl; + float64 temp; } Bcm2835ThermalState; =20 #endif diff --git a/hw/misc/bcm2835_thermal.c b/hw/misc/bcm2835_thermal.c index c6f3b1ad60..6ee149de20 100644 --- a/hw/misc/bcm2835_thermal.c +++ b/hw/misc/bcm2835_thermal.c @@ -32,7 +32,7 @@ FIELD(STAT, INTERRUPT, 11, 1) #define THERMAL_OFFSET_C 412 #define THERMAL_COEFF (-0.538f) =20 -static uint16_t bcm2835_thermal_temp2adc(int temp_C) +static uint16_t bcm2835_thermal_temp2adc(float64 temp_C) { return (temp_C - THERMAL_OFFSET_C) / THERMAL_COEFF; } @@ -47,8 +47,7 @@ static uint64_t bcm2835_thermal_read(void *opaque, hwaddr= addr, unsigned size) val =3D s->ctl; break; case A_STAT: - /* Temperature is constantly 25=C2=B0C. */ - val =3D FIELD_DP32(bcm2835_thermal_temp2adc(25), STAT, VALID, true= ); + val =3D FIELD_DP32(bcm2835_thermal_temp2adc(s->temp), STAT, VALID,= true); break; default: /* MemoryRegionOps are aligned, so this can not happen. */ @@ -85,6 +84,13 @@ static const MemoryRegionOps bcm2835_thermal_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 +static void bcm2835_thermal_init(Object *obj) +{ + Bcm2835ThermalState *s =3D BCM2835_THERMAL(obj); + + s->temp =3D 25.0; +} + static void bcm2835_thermal_reset(DeviceState *dev) { Bcm2835ThermalState *s =3D BCM2835_THERMAL(dev); @@ -103,10 +109,11 @@ static void bcm2835_thermal_realize(DeviceState *dev,= Error **errp) =20 static const VMStateDescription bcm2835_thermal_vmstate =3D { .name =3D "bcm2835_thermal", - .version_id =3D 1, - .minimum_version_id =3D 1, + .version_id =3D 2, + .minimum_version_id =3D 2, .fields =3D (VMStateField[]) { VMSTATE_UINT32(ctl, Bcm2835ThermalState), + VMSTATE_FLOAT64(temp, Bcm2835ThermalState), VMSTATE_END_OF_LIST() } }; @@ -124,6 +131,7 @@ static const TypeInfo bcm2835_thermal_info =3D { .name =3D TYPE_BCM2835_THERMAL, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(Bcm2835ThermalState), + .instance_init =3D bcm2835_thermal_init, .class_init =3D bcm2835_thermal_class_init, }; =20 --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587471846; cv=none; d=zohomail.com; s=zohoarc; b=LgOc9sYBPOeMJuEceKzFoLvtTx9MbYb3U5cNDYJ2a1c+bWgRcsfzjzMKwvoY+MuB/FTwHmbnXhV8Z3HP1j1napVu1kFvDcChZqARwNVMk1Ai7ccguqulb9law2QnobtO1nmYt6s/nMBbgW58jrJC3im/K/Bk5yZ8QU5C/CXSnys= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471846; 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=IyJhSv7U0RIReQL21ef7Kz/LxG84zJJ7a7GHPqexH+s=; b=OKScpLPfYU7FpEWxKCnOtiJVMFhcD0DeDLjibk49+9MmKiT6EvGs6SN04AZoAeJfIgjWTxMaHHoFYQgVbTmEb414ET63tM9tKjkftj60WAcCLybws2buCD6D/btCqMUUkMRao0rRyE0XllAVTajLwxc5aJEewaQUryzGc4rimUA= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587471846802861.3997006939472; Tue, 21 Apr 2020 05:24:06 -0700 (PDT) Received: from localhost ([::1]:56968 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrwb-0008Cn-Ib for importer@patchew.org; Tue, 21 Apr 2020 08:24:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59250) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpe-0005UV-70 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpd-0006XH-Lf for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:53 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:38069) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpd-0006PR-2F; Tue, 21 Apr 2020 08:16:53 -0400 Received: by mail-wm1-x343.google.com with SMTP id g12so3417913wmh.3; Tue, 21 Apr 2020 05:16:51 -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.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:49 -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=IyJhSv7U0RIReQL21ef7Kz/LxG84zJJ7a7GHPqexH+s=; b=jZs0lzp9gafMyzrDRS+QR6YfdUjHvBE1rdQr9wZ3GJhPg89j0TOh1rsoD0gNqaL7FX FCnYe10UQ9eR00XB5EE60v9/095OsIAgGS0qHxz/xWz4XLpApUz2q3mXU9qx/DOmag7L 2D7+5TaWO2cHDCr01e7JiUvmXsklrff79Xs+eLXNnvTh/RYDiTkLYdWNF8uuXuBarlLv xco+4+yOicvMugRKdVw5gzMKr4r1/26uZz06+Gjjnld3QfQpIpat9D0wnDaJKV61iz7v jcmfGcNv88A4aoL8VR+EnSuT2XoP9LczYiIKzXXOSFoJbpyVHKFQk1r4nKWip0iee0PE aSmg== 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=IyJhSv7U0RIReQL21ef7Kz/LxG84zJJ7a7GHPqexH+s=; b=GyBpWz8NnY3rTKsdTxNGA2m+CzjmSYgpLJTydR2X/BygS9yf6HqqWrk3pAJtVgRIct S0gDvbWRUu585k3lUmbMXivEv+U6xmtrXCJKvL0P3z48hDVN5PZCpHW/5vX7cO52hPLF /IGzbURmGrvoLHqyBqFsm110LAU8gWEeTpOGK1kClNQzKGCaERmCfEGqRTKMETi3BZqx bdsxUvH1zcsBN6RJ5SimT/1Stt/jxKPygMdGALDXizPuKdxHX4jX7GlpS/8o8dwWAoYj ukSb50DwMvjI6E3eNWJMIh+lBrwcuTgpX5ZFTBchzfv64AInPR+4GP9xKDJYvkAEylPG h0Ng== X-Gm-Message-State: AGi0PuZGe5IoUtY3U56v9xZImPAMaCN9JJeZ794ipdwo2HAuFOAspdL7 8w7Kbaql9voN2bh4QQUn1CIzHmINcHk= X-Google-Smtp-Source: APiQypKuHJmvI+idgdP5oH/b2xdw+68Z1GBBAd3j99WQnkfGxW3eAYLspjpnL7eR5trVmygV+e8vNA== X-Received: by 2002:a05:600c:1:: with SMTP id g1mr4515065wmc.142.1587471410144; Tue, 21 Apr 2020 05:16:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 11/17] hw/misc/bcm2835_thermal: Implement the 'temperature-sensor' interface Date: Tue, 21 Apr 2020 14:16:20 +0200 Message-Id: <20200421121626.23791-12-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::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.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::343 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 BCM2835 has a block that reports its temperature. Let it implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/bcm2835_thermal.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hw/misc/bcm2835_thermal.c b/hw/misc/bcm2835_thermal.c index 6ee149de20..6b85cf9705 100644 --- a/hw/misc/bcm2835_thermal.c +++ b/hw/misc/bcm2835_thermal.c @@ -12,6 +12,7 @@ #include "hw/misc/bcm2835_thermal.h" #include "hw/registerfields.h" #include "migration/vmstate.h" +#include "hw/misc/temp-sensor.h" =20 REG32(CTL, 0) FIELD(CTL, POWER_DOWN, 0, 1) @@ -32,6 +33,21 @@ FIELD(STAT, INTERRUPT, 11, 1) #define THERMAL_OFFSET_C 412 #define THERMAL_COEFF (-0.538f) =20 +static void bcm2835_set_temperature(TempSensor *obj, unsigned int sensor_i= d, + float temp, Error **errp) +{ + Bcm2835ThermalState *s =3D BCM2835_THERMAL(obj); + + s->temp =3D temp; +} + +static float bcm2835_get_temperature(TempSensor *obj, unsigned int sensor_= id) +{ + Bcm2835ThermalState *s =3D BCM2835_THERMAL(obj); + + return s->temp; +} + static uint16_t bcm2835_thermal_temp2adc(float64 temp_C) { return (temp_C - THERMAL_OFFSET_C) / THERMAL_COEFF; @@ -121,10 +137,14 @@ static const VMStateDescription bcm2835_thermal_vmsta= te =3D { static void bcm2835_thermal_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 dc->realize =3D bcm2835_thermal_realize; dc->reset =3D bcm2835_thermal_reset; dc->vmsd =3D &bcm2835_thermal_vmstate; + tc->sensor_count =3D 1; + tc->set_temperature =3D bcm2835_set_temperature; + tc->get_temperature =3D bcm2835_get_temperature; } =20 static const TypeInfo bcm2835_thermal_info =3D { @@ -133,6 +153,10 @@ static const TypeInfo bcm2835_thermal_info =3D { .instance_size =3D sizeof(Bcm2835ThermalState), .instance_init =3D bcm2835_thermal_init, .class_init =3D bcm2835_thermal_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static void bcm2835_thermal_register_types(void) --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587472316; cv=none; d=zohomail.com; s=zohoarc; b=bF/8sXulZ3BQ/fMEz8H4qhv/My9wXz2+7xe69ZmiUuV3MsmVT5AUWFynAwxWvPZLZho4dV4KQi2lXVymydxnQo5HsGLqlgiHdRICFuNzM28Zb/Y+Ged7sLA58dWRSmqpRRcNhfTkB7SzOO25LhYuqUqC99PGJgo4LJ65srXwiHA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587472316; 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=MYojzKJL3MzJX+X4CMNSUQHgAXt7TO+oqY6sRewqpC0=; b=T/IWIWaJeO67+NoiiFIcZb7s2GNVMnTaH6A2cXgYZ0EQ/OWcDNS488JzOY3KkqsxbXn2NVo++NatKGTRFJbWDS22qIn/Ns2q64OExstGQ3JCEIfDFsUStj0w16gUG4CBff2FOLHErw5zO5MMGm7UURaH5WEekJdWm36eXbhyWKE= 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 1587472316507142.626157591969; Tue, 21 Apr 2020 05:31:56 -0700 (PDT) Received: from localhost ([::1]:57172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQs4B-0003bZ-98 for importer@patchew.org; Tue, 21 Apr 2020 08:31:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59282) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpf-0005YM-P5 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpf-0006e7-4H for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:16:55 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:34061) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpe-0006V0-JR; Tue, 21 Apr 2020 08:16:54 -0400 Received: by mail-wm1-x342.google.com with SMTP id v4so2389855wme.1; Tue, 21 Apr 2020 05:16:53 -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.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:51 -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=MYojzKJL3MzJX+X4CMNSUQHgAXt7TO+oqY6sRewqpC0=; b=fzVKn+D0xJbCPZzxfr5U2LpSjA4e1Y0zk1LtDoVL1TsYHRVgw0xYnPTsmuQLzlQAgW BX5BjKAf9yW34McU2o5Jr/EW38HwcUonDKiIt/ZUyALW5NT1a2/xJhILFAs1RgYDyHPr 3L65KM+7dS0/A3SQc8W53lPviMVGnBpPqQ6eQLRyLIDiIOha7YyU64KnyQ096unvROwW OyABNYsOcFBVJiZeCRXwsvU7FYLZ+C5Fl9ZJns290xdf+HpdmCr6xC3BSY7WNq2Y4e1w f1d0ntp9la7vUXrYpFxj0BNOCAq6tgEd6lNd3e0GgTPEaPRw1FWnvskEGDTLBJybPnPB Ik+g== 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=MYojzKJL3MzJX+X4CMNSUQHgAXt7TO+oqY6sRewqpC0=; b=loImYDtebiY4Uiv3C6D+EDYpECycvoU+VcasgoO1TwehOwJnjOE4rExDt7HOpG7+kK Evy16PXqMDCee03f1qMTIZ86KQZg75JErrA40cW4Q/Lvxk4ad4lfpBQ5YXP3eR3esQvC clM/QIOmcLUur+eW3+87SnXUutjjfntxq8upywE6VNIFESAkk/CnzpQOgNiQqkRn2pDw Fwk6P+SNc/ahugIX2IpHqykmCDzHB392YKgU6r2qDmfb+RxhSyAJvkxXs88r8wGbyGrt tlNWooAFT28CUUzhrmyOpptopEGl2z8z5vnE+lA8V6hR1hN5d76LDHOXq6P6aJLuksUS zCIQ== X-Gm-Message-State: AGi0PuaVnMbRL4OACjRDUEVnRimT5shBvoayurWlBDsMzKqA80qRbQ1v EeELzlhbv9AmuwdJ3XaYXKk8gCv0jXo= X-Google-Smtp-Source: APiQypLGUzA5fTPwIDwshylPJXVc2vLwZbwTc2zBEuIOwVWZEqL+BjA6yfsM/73YDpi4q3ZnYR9P3A== X-Received: by 2002:a1c:2dc7:: with SMTP id t190mr4368526wmt.129.1587471411914; Tue, 21 Apr 2020 05:16:51 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 12/17] hw/misc/bcm2835_property: Hold the temperature in the device state Date: Tue, 21 Apr 2020 14:16:21 +0200 Message-Id: <20200421121626.23791-13-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::342; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x342.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::342 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) We are going to modify this variable, move it to the device state. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/misc/bcm2835_property.h | 1 + hw/misc/bcm2835_property.c | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/hw/misc/bcm2835_property.h b/include/hw/misc/bcm2835_p= roperty.h index b321f22499..010ad39ed0 100644 --- a/include/hw/misc/bcm2835_property.h +++ b/include/hw/misc/bcm2835_property.h @@ -31,6 +31,7 @@ typedef struct { uint32_t board_rev; uint32_t addr; bool pending; + float64 temp_mC; } BCM2835PropertyState; =20 #endif diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c index 3e228ca0ae..bbe80affd4 100644 --- a/hw/misc/bcm2835_property.c +++ b/hw/misc/bcm2835_property.c @@ -143,7 +143,7 @@ static void bcm2835_property_mbox_push(BCM2835PropertyS= tate *s, uint32_t value) /* Temperature */ =20 case 0x00030006: /* Get temperature */ - stl_le_phys(&s->dma_as, value + 16, 25000); + stl_le_phys(&s->dma_as, value + 16, s->temp_mC); resplen =3D 8; break; =20 @@ -361,12 +361,13 @@ static const MemoryRegionOps bcm2835_property_ops =3D= { =20 static const VMStateDescription vmstate_bcm2835_property =3D { .name =3D TYPE_BCM2835_PROPERTY, - .version_id =3D 1, - .minimum_version_id =3D 1, + .version_id =3D 2, + .minimum_version_id =3D 2, .fields =3D (VMStateField[]) { VMSTATE_MACADDR(macaddr, BCM2835PropertyState), VMSTATE_UINT32(addr, BCM2835PropertyState), VMSTATE_BOOL(pending, BCM2835PropertyState), + VMSTATE_FLOAT64(temp_mC, BCM2835PropertyState), VMSTATE_END_OF_LIST() } }; @@ -375,6 +376,7 @@ static void bcm2835_property_init(Object *obj) { BCM2835PropertyState *s =3D BCM2835_PROPERTY(obj); =20 + s->temp_mC =3D 25e3; memory_region_init_io(&s->iomem, OBJECT(s), &bcm2835_property_ops, s, TYPE_BCM2835_PROPERTY, 0x10); sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem); --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587472044; cv=none; d=zohomail.com; s=zohoarc; b=mL4f7MAinY3WWYC16RxDAWV59xPO1jA1WdN4OxfeBgAKHTdoghWC0ie9yaT9Puq6hFKPcgcWSii9lfRdAZMwVTZI+KzuQMARQgRfwV7jjDeI+OJ7BXn2XD7babtJBF6oV6XmiCTj/ID8fWbR9fGeuFexA/jMYj/QDMpghVrla18= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587472044; 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=6IZGXEDwfoPtCg1GsMDYigPQKwJxDM34TttvkoqeAQE=; b=kSXqp/ZIpXrqiqwNmSI/dF+Qd+sQ53dFevjZcMXruw94ATI2STucvzoZLPUZG5qobFSsWfPItG6dhHo629EpkgOYDZ6uahD9+MxFdP8n6GMWnCAYUoeKKjbYmCybizJDkLySZTjqwAfsSgFZOm/0bmdbWvFHDP5CWTNjmj0gZMY= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587472044820419.8227138050569; Tue, 21 Apr 2020 05:27:24 -0700 (PDT) Received: from localhost ([::1]:57062 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrzm-0004gE-EZ for importer@patchew.org; Tue, 21 Apr 2020 08:27:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59342) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpm-0005ho-EC for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpk-0006uH-Qe for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:01 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:39043) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpi-0006dA-SF; Tue, 21 Apr 2020 08:16:59 -0400 Received: by mail-wm1-x343.google.com with SMTP id y24so3411611wma.4; Tue, 21 Apr 2020 05:16:55 -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.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:53 -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=6IZGXEDwfoPtCg1GsMDYigPQKwJxDM34TttvkoqeAQE=; b=cld4TGjXlImqH0i0Lx9y7Jn/yVaEqLd0qkfCoCKNfcIqctdkFSoFFTgxOLZY3AffYE FM0xjenwG0+N2/SINbmuvXhTOZ5hgHiS3GCsDLDCSCs5rUtDDVUNzrFbvSZDdvAoFZkJ s5VlXJwhMC9Zp8/Gc3IZx3lmB07cvvxXqgnjRd+aIEeXPU/mmsgh4KD8JWi3MN1n/dEg aLYTAId3WRlgFST9uUntla4IdEFECOezHme9rdd346di9T+O2W5fOMPdEoNe68xFN1qn MCngY4a0nPnfTcGXcmms+7RMTlwyJArgcc8I5KWTZMJi1Gk7qpT+plwkrgQyJyo/lCso TVsw== 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=6IZGXEDwfoPtCg1GsMDYigPQKwJxDM34TttvkoqeAQE=; b=kNYFgg49V+SwKvM5GKgDgMJtF/5zZvZakvvD7OGX+sNNmB6j4JMvPifnnrp9eMiAg/ tx5rlx+baSJTbxyElZu0HQr98Ii/7Tfx0GmNxUZaaHZ3w2tN2I91LXGaF5fwfVPquq9A QAJiSkO4Ye0SaBCYMV4fil8KrqT53s1O3GWDiSeYBh15QUWMGojJ2SfzPpNPa4AjJiJi rwYOmpXcfZg9hEWfMYvlEZ8tIFti4rlcCfZcoEq9iPyAzksVfNvz2ZLxLMldsSF4dEVu /Y2xlMe5X3ndihXQFyyFxu1vMmAVYH6RK+YxtpZfRaaZUICC81YUAM1Rvp5Ffmkm6NNT X3xQ== X-Gm-Message-State: AGi0PuZYhHwD4vG7byIli6vmqmfMSsk+opkGYatm34GFqGA3FZhzvW5j lqpX+uroa3TdKyZ4zwxsD9Rwf5kDynA= X-Google-Smtp-Source: APiQypKkBl6/Wv7/xjSPwC6+whbKMyjIMWK75D5sxM+69/jcpVqMC5dEkTNbIVRKSahKpmd3K+c8BQ== X-Received: by 2002:a05:600c:2c04:: with SMTP id q4mr4410317wmg.7.1587471414039; Tue, 21 Apr 2020 05:16:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 13/17] hw/misc/bcm2835_property: Implement the 'temperature-sensor' interface Date: Tue, 21 Apr 2020 14:16:22 +0200 Message-Id: <20200421121626.23791-14-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::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.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::343 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 BCM2835 'property' QEMU device models the serialized responses from the VideoCore firmware. As we can query the VC for its current temperatyre, let this model implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/bcm2835_property.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c index bbe80affd4..dd1e9a2e03 100644 --- a/hw/misc/bcm2835_property.c +++ b/hw/misc/bcm2835_property.c @@ -12,6 +12,7 @@ #include "migration/vmstate.h" #include "hw/irq.h" #include "hw/misc/bcm2835_mbox_defs.h" +#include "hw/misc/temp-sensor.h" #include "sysemu/dma.h" #include "qemu/log.h" #include "qemu/module.h" @@ -372,6 +373,27 @@ static const VMStateDescription vmstate_bcm2835_proper= ty =3D { } }; =20 +static const char *bcm2835_property_get_temp_sensor_name(TempSensor *obj, + unsigned sensor_i= d) +{ + return "videocore"; +} + +static float bcm2835_property_get_temp(TempSensor *obj, unsigned sensor_id) +{ + BCM2835PropertyState *s =3D BCM2835_PROPERTY(obj); + + return s->temp_mC / 1000; +} + +static void bcm2835_property_set_temp(TempSensor *obj, unsigned sensor_id, + float temp_C, Error **errp) +{ + BCM2835PropertyState *s =3D BCM2835_PROPERTY(obj); + + s->temp_mC =3D temp_C * 1000; +} + static void bcm2835_property_init(Object *obj) { BCM2835PropertyState *s =3D BCM2835_PROPERTY(obj); @@ -429,10 +451,15 @@ static Property bcm2835_property_props[] =3D { static void bcm2835_property_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 device_class_set_props(dc, bcm2835_property_props); dc->realize =3D bcm2835_property_realize; dc->vmsd =3D &vmstate_bcm2835_property; + tc->sensor_count =3D 1; + tc->get_name =3D bcm2835_property_get_temp_sensor_name; + tc->set_temperature =3D bcm2835_property_set_temp; + tc->get_temperature =3D bcm2835_property_get_temp; } =20 static TypeInfo bcm2835_property_info =3D { @@ -441,6 +468,10 @@ static TypeInfo bcm2835_property_info =3D { .instance_size =3D sizeof(BCM2835PropertyState), .class_init =3D bcm2835_property_class_init, .instance_init =3D bcm2835_property_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static void bcm2835_property_register_types(void) --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587471803; cv=none; d=zohomail.com; s=zohoarc; b=X1v2f+9+CmP99wBqtKlR1G/9OafhlaTdX6r6wxiGjwFVoFLSnt8cRE6hggoUOgBOlfMJkO/wYRijaCwKRnIF0nsFGBUdmh37EDxh12wWr3qVwrf5prARH61l4jBKtdLqqZfY6HqSiuXQsbhJziU1BzaXtqiW7sOE5yUuiz8D46U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587471803; 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=CYtLz8PPZg3PndLlvtgyHck5NW5BLfVBBR1hau+JN5c=; b=iovo5hOVHrS6m9qV3OHcYNaKMMo9iUWlDSr9iat/UVv+aWHXIsoEwRsKROv/uSSr0TqEg8MKDcBFw86SMXQKsEdQ7o8ymLhlk3a5X9WWfzVZXtkZIaf7w/VBaAGP5RwPwr2PEC3/BcZtykcLCEQ/ZVcXsj/uWv9ysvHk9uHG9ZM= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587471803379702.5246364256367; Tue, 21 Apr 2020 05:23:23 -0700 (PDT) Received: from localhost ([::1]:56960 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrvt-0006s7-UK for importer@patchew.org; Tue, 21 Apr 2020 08:23:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59344) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpm-0005hq-F3 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpk-0006uN-Qg for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:01 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:32897) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpj-0006ig-HV; Tue, 21 Apr 2020 08:17:00 -0400 Received: by mail-wm1-x341.google.com with SMTP id v8so2397450wma.0; Tue, 21 Apr 2020 05:16:58 -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.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:55 -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=CYtLz8PPZg3PndLlvtgyHck5NW5BLfVBBR1hau+JN5c=; b=TZHkmtxxqAXN1pgT9h5BfTyJGo1J9DJ9gFdiRGyS64zCu8FenqR3yCc0/frBfAN/Uq I9SODa3i8jveF26QqNDklGK5M8KA0ETnVU+QMXmE3NqZjVVOhgtigcuo5dFkz6lOdXSO 3C5ehpy4nlJjwDLhW5tzq29XsnhakU54kkmGxLlPfDSf0yDYVvTgAEa0wWQpDX9v1JUp hctyrQZgt1gUZnYaOhca7BygS1I4J/cMhSUbqywrd11HjVzDp/ecqiCMwDkYePXMEW6g 8VZt0LA8OuIa0AtWdUIGh5Myau9HWA4zNNf23oW70cdykAreycg4YGcWVo0HtzMnPSM7 Pg8Q== 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=CYtLz8PPZg3PndLlvtgyHck5NW5BLfVBBR1hau+JN5c=; b=XDj7ZG6lqF/Cl0fqCOGHu1jNwJIUrv0F8Mp0gvtgfasYX4nLhOIG78wdGGXHK/whOB IYPn5kWamjiTSRPDFlUlu3ckHC5MShs2Snu9k44pRpdxYHYVANRoFwVIc1lLETeSbSFK WebujdahxsBMEuTCHAEUtoaeuCybjwGlVp3V5NbRwf7LJ5TW/XCbBHRT59Gi6IwVXrjh k/IiuPEskn5mtbRkDjCnsB2rdbZLkzgVn4Ah7U6URNruzwJHaLwx8UersxxY2JpOWHpG a4TywZoviAPJ0E7/4EQKxsrRgUzvCOvB7sXNG2purczcORIPwzfUX74fGLmerveNgd0v d9pA== X-Gm-Message-State: AGi0PuYqyipsRARAmyXvyhPQ/WBoCpwaFQFPkde1h2g6eRubCJZIkv6m ZxPbtBvuesA/TZ6ryEIPWBJgND7TwS0= X-Google-Smtp-Source: APiQypIzhC2Noi2yk8BmmqC+or1z3xXHBvrSGm8/5GIfDfg3z2sJYuOa8clDfbYT8fmdP1lTZUC3HA== X-Received: by 2002:a7b:c8cc:: with SMTP id f12mr4385077wml.7.1587471415949; Tue, 21 Apr 2020 05:16:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 14/17] hw/display/ads7846: Implement the 'temperature-sensor' qdev interface Date: Tue, 21 Apr 2020 14:16:23 +0200 Message-Id: <20200421121626.23791-15-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::341; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x341.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::341 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 4-wire ADS7846 Touch Screen Controller is able to report a pair of temperatures. Let it implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ads7846.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/hw/display/ads7846.c b/hw/display/ads7846.c index 9228b40b1a..e37e99f5ec 100644 --- a/hw/display/ads7846.c +++ b/hw/display/ads7846.c @@ -16,6 +16,7 @@ #include "migration/vmstate.h" #include "qemu/module.h" #include "ui/console.h" +#include "hw/misc/temp-sensor.h" =20 typedef struct { SSISlave ssidev; @@ -53,6 +54,12 @@ typedef struct { #define ADS_Z1POS(x, y) 600 #define ADS_Z2POS(x, y) (600 + 6000 / ADS_XPOS(x, y)) =20 +/* TI Datasheet SBAS125H "TEMP DIODE VOLTAGE vs TEMPERATURE (2.7V SUPPLY)"= */ +#define ADS_TEMP0_OFS_MILLIV 666.f +#define ADS_TEMP1_OFS_MILLIV 761.f +#define ADS_TEMP0_COEFF 2.08f +#define ADS_TEMP1_COEFF 1.60f + static void ads7846_int_update(ADS7846State *s) { if (s->interrupt) @@ -157,12 +164,39 @@ static void ads7846_realize(SSISlave *d, Error **errp) vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_ads7846, s); } =20 +static float ads7846_get_temp(TempSensor *obj, unsigned sensor_id) +{ + ADS7846State *s =3D (ADS7846State *)obj; + + if (sensor_id) { + return (ADS_TEMP1_OFS_MILLIV - s->input[7]) / ADS_TEMP1_COEFF; + } else { + return (ADS_TEMP0_OFS_MILLIV - s->input[0]) / ADS_TEMP0_COEFF; + } +} + +static void ads7846_set_temp(TempSensor *obj, unsigned sensor_id, + float temp_C, Error **errp) +{ + ADS7846State *s =3D (ADS7846State *)obj; + + if (sensor_id) { + s->input[7] =3D ADS_TEMP1_OFS_MILLIV - ADS_TEMP1_COEFF * temp_C; + } else { + s->input[0] =3D ADS_TEMP0_OFS_MILLIV - ADS_TEMP0_COEFF * temp_C; + } +} + static void ads7846_class_init(ObjectClass *klass, void *data) { SSISlaveClass *k =3D SSI_SLAVE_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 k->realize =3D ads7846_realize; k->transfer =3D ads7846_transfer; + tc->sensor_count =3D 2; + tc->set_temperature =3D ads7846_set_temp; + tc->get_temperature =3D ads7846_get_temp; } =20 static const TypeInfo ads7846_info =3D { @@ -170,6 +204,10 @@ static const TypeInfo ads7846_info =3D { .parent =3D TYPE_SSI_SLAVE, .instance_size =3D sizeof(ADS7846State), .class_init =3D ads7846_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static void ads7846_register_types(void) --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587472085; cv=none; d=zohomail.com; s=zohoarc; b=CC9FZms/Er4eQWBa3REsR0xvnQqDdEHToOgDHyMHIUYWMnGuJm5URIm5qdigUJ3bKNW6W7hc44J4tkDsOmeXFwtwwDRczbR8NtQAncJ0rRMeXSPra2KkjZV7EeGg/kdaPw66tmkN4M3/cyhH/rDBmsmc/gbysRofqKm84DUb6xI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587472085; 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=zOrL0Bw2XAb9sksyQa2AaC8LCpCTMRMx/mgWehci6Rg=; b=nBpqav2WjVclPCZaMFig868fGTV8Vir9N9FE9vGHgnpvC6mHUXWRECo8xo3PgthmtHsJqEylB9viwnZA6//11iUdkZz/awmiuqgm4/7G7ILtSAR84bfmrBiwWxlWmg7hL5SlVKCdmkWoA2/0bscvlCVzcEs8TyGUEzlVbNuI72Q= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587472085321527.3287284868557; Tue, 21 Apr 2020 05:28:05 -0700 (PDT) Received: from localhost ([::1]:57072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQs0S-0005qh-11 for importer@patchew.org; Tue, 21 Apr 2020 08:28:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59362) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpo-0005l8-AY for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpm-0006x3-JA for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:03 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:36235) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpl-0006pL-3X; Tue, 21 Apr 2020 08:17:01 -0400 Received: by mail-wm1-x342.google.com with SMTP id u127so3433073wmg.1; Tue, 21 Apr 2020 05:16:59 -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.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:57 -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=zOrL0Bw2XAb9sksyQa2AaC8LCpCTMRMx/mgWehci6Rg=; b=qvMWhnmPkerQAXKEyBEg3wcrkLbAxN5Gm+OCD5CFWHErRv5J9TMYMyH0RmeO0r8U7G QQ8sOnefZQZ8ENHxkwTwCUSfd6YrQKTVrkfHJJMAvXt1t6nQOR2yvb/0LyK/ksTcXEVx /RaDHNvEtxeL+LmcSafDOOpZtUFNXIajcwCypfZX14Zb7Q5VTHEVRKs0M4ZMrfMok+SE tzMszs5Gkhxk1NvP8UFrLye5G66xtiLuGbuhE3YPTOwT8zKHJLi21G2ZrvpW/t1MJ3dA 8b08MhvOzdXEQiN/U6hPfw0TMwQycQXQkb08FnTTb1UI49p96Psxh0KhNxmul7iU/OTn mQbg== 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=zOrL0Bw2XAb9sksyQa2AaC8LCpCTMRMx/mgWehci6Rg=; b=aFy2zNVAGdBdG0azm2ssoXUgy2T1fhfPQ5aCOSMfgf9JPqAO6BAhBqM3wQ0JVonTMo V01zI6HSQUuX5G6ZJmhN0FrpGLPbWGbEF1X0ctiu1FKrVsndEKwXo6Vxw+XoqUzmJpMa OKdU6iBbQ9pTYfAFuE3EV3k1YR8/HkKiFH7HA61R5HFGuzKia1e6C4TimYfYhISx9Abj UVqoDhChFUIpmxjkIJ3ln1DCFETVoFKWIWAihV14ZOK/beboXIDfmxOa9WnFxBbY1oZY GRoRL3r/XYNeqIrKuC3sa4UFgBbyiFTG3DnOnPErFFWbsZVuuZwIp3etD89kCpBRSWwj 5eGw== X-Gm-Message-State: AGi0PuZs5l+RZE6CI/EBex6YCG3a9FoHXGJZuWzL6MC8Ws9Cv64kEQIz 8/b8CIRbq3tPEohJw5/fCAZZaT0fVIk= X-Google-Smtp-Source: APiQypIYPDgFFpBFbwESXHwQ6Kj5g/rORzJTF60JCbZ+SPujuhkgh5XcYcVJIhSZF/Fa54CYeUTeKQ== X-Received: by 2002:a1c:3986:: with SMTP id g128mr4586515wma.8.1587471417858; Tue, 21 Apr 2020 05:16:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 15/17] hw/ide/qdev: Implement the 'temperature-sensor' qdev interface Date: Tue, 21 Apr 2020 14:16:24 +0200 Message-Id: <20200421121626.23791-16-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::342; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x342.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::342 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) IDE drives exposing a SMART interface report the air flow temperature. Let them implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ide/qdev.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index c22afdb8ee..144d6ab533 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -32,6 +32,7 @@ #include "sysemu/sysemu.h" #include "sysemu/runstate.h" #include "qapi/visitor.h" +#include "hw/misc/temp-sensor.h" =20 /* --------------------------------- */ =20 @@ -270,6 +271,12 @@ static void ide_dev_instance_init(Object *obj) object_property_set_int(obj, -1, "bootindex", NULL); } =20 +static float ide_hd_get_temp(TempSensor *obj, unsigned sensor_id) +{ + /* See airflow-temperature-celsius in smart_attributes[] */ + return 100.f - 0x45; +} + static void ide_hd_realize(IDEDevice *dev, Error **errp) { ide_dev_initfn(dev, IDE_HD, errp); @@ -315,11 +322,14 @@ static void ide_hd_class_init(ObjectClass *klass, voi= d *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); IDEDeviceClass *k =3D IDE_DEVICE_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 k->realize =3D ide_hd_realize; dc->fw_name =3D "drive"; dc->desc =3D "virtual IDE disk"; device_class_set_props(dc, ide_hd_properties); + tc->sensor_count =3D 1; + tc->get_temperature =3D ide_hd_get_temp; } =20 static const TypeInfo ide_hd_info =3D { @@ -327,6 +337,10 @@ static const TypeInfo ide_hd_info =3D { .parent =3D TYPE_IDE_DEVICE, .instance_size =3D sizeof(IDEDrive), .class_init =3D ide_hd_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static Property ide_cd_properties[] =3D { --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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=1587472508; cv=none; d=zohomail.com; s=zohoarc; b=Sa+/bpp36CBAumgcPZITGSJJp+y+LnVE+FEiDHaF75XXqYlp/2qyLHa8e66dV4NZmkPn5WdvPV5vYHLfwdVHcblL0JS2ivUiDXf8m8U7/uyRk5BkouARztSO0ePq7vX2LHi/qAd+xh4DWYa/HY7UPnK+kZE80zkoqKBlF2rbPeM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587472508; 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=v/VKNfTk/p6cUWVFeTBWVu5kpM3OkAcXwfifz7UuQ5M=; b=DPSPfA1TCQwdieiJ5BGmakwlsWPgt6wyiXmKrVPFeGvn3kF4MiPLPTn1vTy1v3pxhYlA3cTwSwDUkHIGt/lnbATWCnCxTf6lmkAtEiSL5gWZX+mwq4Zb0EQMLXCqYO0VRMWscYDJ+U2LcN6E4QDVO24C04LrVa0PjnP48VqqOsM= 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 1587472508108737.800242705044; Tue, 21 Apr 2020 05:35:08 -0700 (PDT) Received: from localhost ([::1]:57268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQs7G-0007fY-Hp for importer@patchew.org; Tue, 21 Apr 2020 08:35:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59384) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpp-0005nW-Vx for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpo-0006yR-G1 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:04 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:55865) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpn-0006tX-1C; Tue, 21 Apr 2020 08:17:03 -0400 Received: by mail-wm1-x343.google.com with SMTP id e26so3291642wmk.5; Tue, 21 Apr 2020 05:17:00 -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.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:16:59 -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=v/VKNfTk/p6cUWVFeTBWVu5kpM3OkAcXwfifz7UuQ5M=; b=YouLP0jXEAwMPe2IYglMiWmL9ZNdMl1jFFNZvPxXV7HCv4BEqup6xWUhJoKEYVUydY 5WYdzdNS/qEFld2XJsV4xkR02HPF9WCTRUAljClMYnGrfnJQEHzt8OFkeQLqWAe0bGf8 IX2/pab2ZiLgwWCMLXP0pkyWKqciysHH0BCeraxfvqZ4aycioXFhQjlxtZ1z4Y+XGT/+ cMHbZGH2ichhFCbf7qNQxIzqI2LtocnYz7nHRBcEtBbg95d91u4Qr4pPB8dJsfzZ6rfM l0SE27oWnH3BUrymC7oX+5lGbcH/APYcNt75c82TwkmgiSjuw6bKBdHO566J8woXg5It 8+Iw== 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=v/VKNfTk/p6cUWVFeTBWVu5kpM3OkAcXwfifz7UuQ5M=; b=rVEEEznTW0gPOFE/upSYQz6BvkbwjQYO1Bli1efFQrFHS5rG+Hg/mGJ5Mk/NeKveM4 FXn2Q7epHWFHfWZPB2G/U9Ns1lh4LKB10Ju6I+Jnzpxu1F8lbUit7ZtmOK6U0T6CNrbT opdm34NqawjYR+CXLUYGRrS8s0rHaLmJrFgEGCbEbMYb8SQYY7m0+3UZX+3lz75LSxjF v3FbOW/tjX/poI+X8LPPTe/VmtR18ZJ9d6qzfUUJDC3OaYkJ+Pn0dWQJedbB7ILW18dR Tz3utcaqPAzS0AbKiO031yhwvDoCuB0L6hNlcEqHVXtbRxof95MbAVnGia/82kuWCSv1 4DAA== X-Gm-Message-State: AGi0PuYLDknkLcA/eMs5bFmTGbqSbGRaPZMdbRPF/nWmNHpZ2A/xbi49 m/hG1EUnL0xV6SVbo7WnPoykZVeZRZw= X-Google-Smtp-Source: APiQypJ+CajEavIA6cRjLXp4Jv4QccTdur7j7ltn/UDE0eCtkhmhD9mjHBFwYBa4QPcIipljBySG6w== X-Received: by 2002:a1c:f416:: with SMTP id z22mr4666667wma.32.1587471419716; Tue, 21 Apr 2020 05:16:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 16/17] hw/misc/imx6ul_ccm: Implement the 'temperature-sensor' qdev interface Date: Tue, 21 Apr 2020 14:16:25 +0200 Message-Id: <20200421121626.23791-17-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::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.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::343 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 IMX6UL Clock Control Module can report few temperatures. While the model doesn't implement it, we can still let it implement the 'temperature-sensor' interface. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/imx6ul_ccm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/misc/imx6ul_ccm.c b/hw/misc/imx6ul_ccm.c index a2fc1d0364..2711cdaf09 100644 --- a/hw/misc/imx6ul_ccm.c +++ b/hw/misc/imx6ul_ccm.c @@ -16,6 +16,7 @@ #include "hw/misc/imx6ul_ccm.h" #include "qemu/log.h" #include "qemu/module.h" +#include "hw/misc/temp-sensor.h" =20 #include "trace.h" =20 @@ -864,12 +865,14 @@ static void imx6ul_ccm_class_init(ObjectClass *klass,= void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); IMXCCMClass *ccm =3D IMX_CCM_CLASS(klass); + TempSensorClass *tc =3D TEMPSENSOR_INTERFACE_CLASS(klass); =20 dc->reset =3D imx6ul_ccm_reset; dc->vmsd =3D &vmstate_imx6ul_ccm; dc->desc =3D "i.MX6UL Clock Control Module"; =20 ccm->get_clock_frequency =3D imx6ul_ccm_get_clock_frequency; + tc->sensor_count =3D 3; } =20 static const TypeInfo imx6ul_ccm_info =3D { @@ -878,6 +881,10 @@ static const TypeInfo imx6ul_ccm_info =3D { .instance_size =3D sizeof(IMX6ULCCMState), .instance_init =3D imx6ul_ccm_init, .class_init =3D imx6ul_ccm_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_TEMPSENSOR_INTERFACE }, + { } + }, }; =20 static void imx6ul_ccm_register_types(void) --=20 2.21.1 From nobody Sat May 18 10:30:08 2024 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1587472176; cv=none; d=zohomail.com; s=zohoarc; b=f5AfnSN/OVKHhpaYgMNTaoljhmOiRL4JKDaPeHE0zfBoQ3kJKzslhZiEOuROrQS6a9p8dpqAVcr2Ugh5EriYT6GGbv/nbfu+Ur225SnHIW+uyFgoOtaW6ggxGEf+x5vvIw8YqkBXDOH9xOCq6pzuA8s3Q0ftZkfFAUjvl5dCOtc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587472176; 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=6G+yfsnGl0+FoI1DVe5nG84rFUeB4gMvQlTXCcmvbGo=; b=YhfE/ez5Bo/3srZKOzZC7uDHvAiTUhFeiU8R0tkaj3Dvz197E9+dAWj97Uyd4ssuxugFIM3uX/QsrW2Avtqq8+j4NqVFmpyU2ht/Kg+nnSL3C7t9HwupxEW7ccF7ykVtYRC29oMk3b8wog+wUjzupEqBS4RNi35t/w13ZoOOnHY= 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587472176102835.9140975143671; Tue, 21 Apr 2020 05:29:36 -0700 (PDT) Received: from localhost ([::1]:57112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQs1t-0008SV-Po for importer@patchew.org; Tue, 21 Apr 2020 08:29:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59406) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQrpr-0005qW-VU for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQrpr-00071Y-B1 for qemu-devel@nongnu.org; Tue, 21 Apr 2020 08:17:07 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:46460) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQrpp-0006xF-LR; Tue, 21 Apr 2020 08:17:06 -0400 Received: by mail-wr1-x444.google.com with SMTP id f13so16187768wrm.13; Tue, 21 Apr 2020 05:17:03 -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.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 05:17:00 -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=6G+yfsnGl0+FoI1DVe5nG84rFUeB4gMvQlTXCcmvbGo=; b=P28zWxOhgj/kk2eFtgcOogIrmHhqvdVkBUxEqOBLZDSXbJR4aDlGb6OJRXrE+ucTJh /mRlRhNA6dRmFOJMVJfv5MFOCzuDlgPN3+gR2Ou1oquTSOnc3Rrd8oL87UrZnZmeTbJm JPqyRT7CxAnKjbn0EVfscA2FmaiFc4LEtUt93YLVIk4+XJfZTa2p+wUFebt7BtuLi1NN rZ8GSu823RJfkTcNOF4vbJkDeN2wx0uqeCi5rGee15YV2zBbGnXIIOUF7JEdE6IhzVVg ZoSBdKfiwpRkGXnWXC31/fvc0FCVJ3ETFghWKoHX+UrENu+gEQlM08Ei1Vt3V3PNnZfp U3Tg== 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=6G+yfsnGl0+FoI1DVe5nG84rFUeB4gMvQlTXCcmvbGo=; b=J+R47HTsYSC8ZgG6p/N4miLx59onvvZ8xOupaQSaH8cGlA03arjOB9GRn7ga0igM48 FZMbfBcljbeAHuOmtcjMsT9dSZ8pnmfxi6nU1wpDfI//tQXYd16KRYHSKXXhjgpxLFc1 OCTnJ8W2Uc3bcyfeOjX3S7SlUMlf4sxwNouZtQDobetFCvAEZ1lGrczRgc2DT5lCYeIG cH2wooYlHjvOPJg3GEHVnVS1bP8WUYARbE+YU2SrEB2ZJJB6fTKEvRNmVijMoWsA9dcg 2J/HkyXJssiVwDGqUoRm3KMoLTBY4oqJQBnBRmcCi7lWGp1TR/7PFZSgUaw+hxsR0D7W SKeg== X-Gm-Message-State: AGi0PuZ9CcROhWC+2lAnPa7vZjOqVw9BQ16rhB412Y9gypTZcfbx4DPT 7n1NxOp9YVv4s67cIMnumL6ZUudY1eY= X-Google-Smtp-Source: APiQypLT0kV7SUOMIsBIsPVtCVbLNbao9Mr8xhh/jELgIudFntr1gJk2fR+ozPEYlGZHrd/C8V+QMg== X-Received: by 2002:a5d:65cb:: with SMTP id e11mr23542319wrw.402.1587471421434; Tue, 21 Apr 2020 05:17:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 17/17] tests/qtest/tmp105-test: Trivial test for TempSensorClass Date: Tue, 21 Apr 2020 14:16:26 +0200 Message-Id: <20200421121626.23791-18-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::444; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x444.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::444 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 qmp_tmp105_set_temperature() call will trigger TempSensorClass::set_temperature(), then hmp_info_temperature() triggers TempSensorClass::get_temperature(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/qtest/tmp105-test.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/qtest/tmp105-test.c b/tests/qtest/tmp105-test.c index f930a96b83..db7e505cbe 100644 --- a/tests/qtest/tmp105-test.c +++ b/tests/qtest/tmp105-test.c @@ -41,11 +41,26 @@ static void qmp_tmp105_set_temperature(const char *id, = int value) qobject_unref(response); } =20 +static char *hmp_info_temperature(const char *id) +{ + QDict *response; + char *output; + + response =3D qmp("{'execute': 'human-monitor-command'," + " 'arguments': {'command-line': 'info temp'}}"); + g_assert(qdict_haskey(response, "return")); + output =3D g_strdup(qdict_get_try_str(response, "return")); + qobject_unref(response); + + return output; +} + #define TMP105_PRECISION (1000/16) static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { uint16_t value; QI2CDevice *i2cdev =3D (QI2CDevice *)obj; + g_autofree char *s =3D NULL; =20 value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 0); @@ -56,6 +71,9 @@ static void send_and_receive(void *obj, void *data, QGues= tAllocator *alloc) qmp_tmp105_set_temperature(TMP105_TEST_ID, 20000); value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 20000); + /* Test TempSensorClass via 'info temp' */ + s =3D hmp_info_temperature(TMP105_TEST_ID); + g_assert(strstr(s, "tmp105-0 20.00")); =20 value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x1400); --=20 2.21.1