From nobody Fri May 17 07:47:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) client-ip=209.85.221.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1632694523; cv=none; d=zohomail.com; s=zohoarc; b=dc+7+BGcEWptOSzRylf09r4SrSda7thkuuDOKDYNiBwZFoe0M9k7LGetBs7OE7t0+L1BPFbrRxV7JHx61ApEEJeqHA2wjfVNrMzsIxY8GxXZWqi2cz860F347ePELPCT7yooXS2OkutA1U8xAZBd312+HnnybYfJE7+QLQhGVT8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1632694523; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=w/NNDDWuUjDFbzYRr3FSXhyOtAsFlq63TMrgjItSw3c=; b=OW/c4DvDFKKKQGzlofwooMw1xUXsLPKcx2aAc9LM89RRIKQF+26ITcxXnjW3Aem6u+MKbmWFeSkwOtO6NxOmcavNdK90bTGwh6iebHLDyG3Belw/i/UsYweSCnjNpNdwHrQjlxjiNHxpYWp7muo1FU4WFzZJsEKqmtVoGhQwnD8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx.zohomail.com with SMTPS id 1632694523057817.485804060276; Sun, 26 Sep 2021 15:15:23 -0700 (PDT) Received: by mail-wr1-f48.google.com with SMTP id w29so46297683wra.8 for ; Sun, 26 Sep 2021 15:15:22 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (118.red-83-35-24.dynamicip.rima-tde.net. [83.35.24.118]) by smtp.gmail.com with ESMTPSA id t6sm18354726wmj.12.2021.09.26.15.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Sep 2021 15:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=w/NNDDWuUjDFbzYRr3FSXhyOtAsFlq63TMrgjItSw3c=; b=Hj86/1L46+5hnnVaqDWbnuincgZs+Yr2Em2bRVpp+rx22MP32Owg46PTh6fit+Mdgb NH6QTj4DxDpwH0WHZayaQ7on9nwT5LjrR2VzZTbj7WNGkdzwQhK0ZnNXr8jtMOHl4QsG mz61vSbvLiXU2vVKIBfeiO5rn6PAYQUl2PikE3l1QpsazWTMmn3IGYyrr/mxcy5oszaF 1TC3eSdtx7aH85AnYxfLBPPOPPGbzk4P/JJCv/J80nDJaPaqVSklj1TN1R8U9m7wjnPT ykYnocWIdr3Lk0pZIBi8MDE5FC5pYwLnQ5PwQf4oLhXkIC6ivZmhPs83fxj6mGrB6nUB u3lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=w/NNDDWuUjDFbzYRr3FSXhyOtAsFlq63TMrgjItSw3c=; b=G0rat+dbkQhqKbJUEB08a1PKs3Pd1MG0DKVesvfZHdiRY5+ZI8b8KLMyJScG/JmnfU gvrPaOZvZH+mY4VT0G+2scCxNb+e5htbzY88u5Mv0/Ej/ExZc0dm7u94owClEjHAtcMD ZhomwJnYiZolX91mw1kFMuzzcCtERnRYm36SBiYyUHsLR59qFhEMGCSsceAGCH7egv9N fSnqNqqCkni0mChv+CLSLqTPFW7k1R5ktiOhibgDWCzGUjpeFqZKktHZTY/0BwpMbDnW UU7N+K0N26c5hy9OKjzLTCYRrxGEVkEtNr5CusaC05P2Xc+dgiPzD9zBXkMrRMuIU0bJ z0iA== X-Gm-Message-State: AOAM532QyQkHf0GaM5iRNVvNoCIMTT5zolyrc6wtPVbAxUg1NuG1RXN6 PaMz6F9stKDCSNHx08I1Sls= X-Google-Smtp-Source: ABdhPJyBCs/J7HWjBfrMof0JuqnPbds8b/y7ZpSgHrk46Ixrpw6calEZp6wdoZLj6zCgt5j3f3KTVQ== X-Received: by 2002:a1c:f310:: with SMTP id q16mr13105294wmq.145.1632694521057; Sun, 26 Sep 2021 15:15:21 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Corey Minyard , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Joel Stanley , Peter Maydell , Bin Meng , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Titus Rwantare , Hao Wu , John Wang , Eduardo Habkost , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH] hw: Add a 'Sensor devices' qdev category Date: Mon, 27 Sep 2021 00:15:18 +0200 Message-Id: <20210926221518.1726267-1-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1632694525371100001 Sensors models are listed in the 'Misc devices' category. Move them to their own category. For the devices in the hw/sensor/ directory, the category is obvious. hw/arm/z2.c models the AER915 model which is described on [*] as: The 14-pin chip marked AER915 just below the expansion port is a 80C51-type microcontroller, similar to Philips P89LPC915. It has an 8-bit A/D which is used to determine which of six buttons are pressed on the resistor-network wired remote. It communicates with the main cpu via I2C. It was introduced in commit 3bf11207c06 ("Add support for Zipit Z2 machine") with this comment: 248 static uint8_t aer915_recv(I2CSlave *slave) 249 { ... 253 switch (s->buf[0]) { 254 /* Return hardcoded battery voltage, 255 * 0xf0 means ~4.1V 256 */ 257 case 0x02: 258 retval =3D 0xf0; 259 break; For QEMU the AER915 is a very simple sensor model. [*] https://www.bealecorner.org/best/measure/z2/index.html Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Hao Wu --- include/hw/qdev-core.h | 1 + hw/arm/z2.c | 1 + hw/sensor/adm1272.c | 1 + hw/sensor/dps310.c | 1 + hw/sensor/emc141x.c | 1 + hw/sensor/max34451.c | 2 ++ hw/sensor/tmp105.c | 1 + hw/sensor/tmp421.c | 1 + softmmu/qdev-monitor.c | 1 + 9 files changed, 10 insertions(+) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 34c8a7506a1..f6241212247 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -26,6 +26,7 @@ typedef enum DeviceCategory { DEVICE_CATEGORY_SOUND, DEVICE_CATEGORY_MISC, DEVICE_CATEGORY_CPU, + DEVICE_CATEGORY_SENSOR, DEVICE_CATEGORY_MAX } DeviceCategory; =20 diff --git a/hw/arm/z2.c b/hw/arm/z2.c index 9c1e876207b..62db9741106 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -288,6 +288,7 @@ static void aer915_class_init(ObjectClass *klass, void = *data) k->recv =3D aer915_recv; k->send =3D aer915_send; dc->vmsd =3D &vmstate_aer915_state; + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); } =20 static const TypeInfo aer915_info =3D { diff --git a/hw/sensor/adm1272.c b/hw/sensor/adm1272.c index 7310c769be2..2942ac75f90 100644 --- a/hw/sensor/adm1272.c +++ b/hw/sensor/adm1272.c @@ -518,6 +518,7 @@ static void adm1272_class_init(ObjectClass *klass, void= *data) DeviceClass *dc =3D DEVICE_CLASS(klass); PMBusDeviceClass *k =3D PMBUS_DEVICE_CLASS(klass); =20 + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); dc->desc =3D "Analog Devices ADM1272 Hot Swap controller"; dc->vmsd =3D &vmstate_adm1272; k->write_data =3D adm1272_write_data; diff --git a/hw/sensor/dps310.c b/hw/sensor/dps310.c index d60a18ac41b..1e24a499b38 100644 --- a/hw/sensor/dps310.c +++ b/hw/sensor/dps310.c @@ -208,6 +208,7 @@ static void dps310_class_init(ObjectClass *klass, void = *data) k->send =3D dps310_tx; dc->reset =3D dps310_reset; dc->vmsd =3D &vmstate_dps310; + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); } =20 static const TypeInfo dps310_info =3D { diff --git a/hw/sensor/emc141x.c b/hw/sensor/emc141x.c index 7ce8f4e9794..4202d8f185a 100644 --- a/hw/sensor/emc141x.c +++ b/hw/sensor/emc141x.c @@ -270,6 +270,7 @@ static void emc141x_class_init(ObjectClass *klass, void= *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); dc->reset =3D emc141x_reset; k->event =3D emc141x_event; k->recv =3D emc141x_rx; diff --git a/hw/sensor/max34451.c b/hw/sensor/max34451.c index a91d8bd487c..8300bf4ff43 100644 --- a/hw/sensor/max34451.c +++ b/hw/sensor/max34451.c @@ -751,6 +751,8 @@ static void max34451_class_init(ObjectClass *klass, voi= d *data) ResettableClass *rc =3D RESETTABLE_CLASS(klass); DeviceClass *dc =3D DEVICE_CLASS(klass); PMBusDeviceClass *k =3D PMBUS_DEVICE_CLASS(klass); + + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); dc->desc =3D "Maxim MAX34451 16-Channel V/I monitor"; dc->vmsd =3D &vmstate_max34451; k->write_data =3D max34451_write_data; diff --git a/hw/sensor/tmp105.c b/hw/sensor/tmp105.c index 20564494899..43d79b9eeec 100644 --- a/hw/sensor/tmp105.c +++ b/hw/sensor/tmp105.c @@ -305,6 +305,7 @@ static void tmp105_class_init(ObjectClass *klass, void = *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); dc->realize =3D tmp105_realize; k->event =3D tmp105_event; k->recv =3D tmp105_rx; diff --git a/hw/sensor/tmp421.c b/hw/sensor/tmp421.c index a3db57dcb5a..c328978af9c 100644 --- a/hw/sensor/tmp421.c +++ b/hw/sensor/tmp421.c @@ -343,6 +343,7 @@ static void tmp421_class_init(ObjectClass *klass, void = *data) I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); TMP421Class *sc =3D TMP421_CLASS(klass); =20 + set_bit(DEVICE_CATEGORY_SENSOR, dc->categories); dc->realize =3D tmp421_realize; k->event =3D tmp421_event; k->recv =3D tmp421_rx; diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index 0705f008466..db56f328228 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -162,6 +162,7 @@ static void qdev_print_devinfos(bool show_no_user) [DEVICE_CATEGORY_SOUND] =3D "Sound", [DEVICE_CATEGORY_MISC] =3D "Misc", [DEVICE_CATEGORY_CPU] =3D "CPU", + [DEVICE_CATEGORY_SENSOR] =3D "Sensor", [DEVICE_CATEGORY_MAX] =3D "Uncategorized", }; GSList *list, *elt; --=20 2.31.1