From nobody Thu Oct 31 23:19:23 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=1592694006; cv=none; d=zohomail.com; s=zohoarc; b=PFNHNiuob2OpnZSFrp1RW/tL2Qg1dcadykYtLdakxiJgLuCiUg4Od4Av2N1ECicaHvoMp1SSvHJ0XNaYsptJfB7k+0BHjqEdc6Cm0wBItuxU/bl1Q4u97W/3P52X6g5yr7JFJQCXKFUF8O2YwgBs7VCEY8qlARdnG2iA0qlPDiM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694006; 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=1EmMkDGz40VvlDmmAJ5wSvoG7UtZ6Z1IC3NHjnyHGEo=; b=kDL09wGlePQRR2X4Q0Aumeef0MAkqtbc3EssCiIIlcaX/A/3Ncrw2yiPFOLTA7LCxKEL6XIFvaYWLDrjmCFN5ue0AoyTU93kfNAT+2JKd5FMYQlRrNLVr+yHeTKf4MH4zTXBClTCatk7KIcoU/q51LPhIvG11Jyss+DyytTme8Y= 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 1592694006663223.12311431426122; Sat, 20 Jun 2020 16:00:06 -0700 (PDT) Received: from localhost ([::1]:34982 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmSz-0002WB-5s for importer@patchew.org; Sat, 20 Jun 2020 19:00:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40518) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmRx-0000cD-Nw; Sat, 20 Jun 2020 18:59:01 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:40464) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmRw-0000xN-1w; Sat, 20 Jun 2020 18:59:01 -0400 Received: by mail-wm1-x342.google.com with SMTP id r15so12410857wmh.5; Sat, 20 Jun 2020 15:58:59 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.58.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:58: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=1EmMkDGz40VvlDmmAJ5wSvoG7UtZ6Z1IC3NHjnyHGEo=; b=ENRdqPbaVtszO5tfxJeAKt6Jq3Y++A+x2/Qj2DHV1wtYqOnJzPUltJwiN5tKKhQhjY TLjdEmyQfouGIqnDbAOXb+xfMjIapMHPGBXLBq5KN4eTqreih6xFvMaBBUF8gjcgiaqz HMTrWRs4BZDFJh/DO47Dafz7xQXS6BubHG8gTYBWEEoc32tEpSQ0Ar745qq/O2GMlUvf fRLLrAGUzMavHYHXL4HT+AvHGCIirHot2xAzbWJN+nYNjO7t5spFE4ivQXlYe2SC8zZf QdTw0HOH3KhcweO0MsAlbzVGJEa9hJZlp1ar7mc/3/pDzFRyMD5i8Zc5D8OWqHkDg5J+ c+CA== 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=1EmMkDGz40VvlDmmAJ5wSvoG7UtZ6Z1IC3NHjnyHGEo=; b=q9Hke66ha5Cn8H4GQNMwYRsnpfxSHLe1hUOwIqSk+KGnTIuHTQOQ3Av+h0jxpg3o24 2kdq1dLhKcN5pP+dPK6rVNmE92FRDFO3sGvd4iSUvJoiE/1zUCwpWCQFaCVYUgFcj5Hi 3yM5mI4F3adv1huBCbONHSRUQaWcqCuXcFZKpj5J+WXr8763DSWaB6zGsKURUYWW2VPB MXIY5WoQklQGR/J4z5HwTVINZUP2NxOyi02s8SaezYApMRv73pf3i+CA5n+LuqaZfy88 hsBxJrzgdmWfweppCUZPg3TSvMH/COQDMPGrmbkJ09QJuTYAP5roHBB2wdwNKZMQwdvK dZ/g== X-Gm-Message-State: AOAM531d0GGS87T+VWC1a+KZxFWu4LFQSaB7Ik2+KIky3d0t2pz3w3ev 3tMTJ6ZBAGZyRBkTpm5XEyJIrSIu X-Google-Smtp-Source: ABdhPJx67n+3C2GLRa7WwFED4lcPxjdddr8AhxTuV0wtFG42AfceuUew4Q0jOlWaOvNmHxUpq55sPg== X-Received: by 2002:a1c:96ce:: with SMTP id y197mr11114667wmd.55.1592693938041; Sat, 20 Jun 2020 15:58:58 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 1/8] hw/i2c/core: Add i2c_try_create_slave() and i2c_realize_and_unref() Date: Sun, 21 Jun 2020 00:58:47 +0200 Message-Id: <20200620225854.31160-2-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Extract i2c_try_create_slave() and i2c_realize_and_unref() from i2c_create_slave(). We can now set properties on a I2CSlave before it is realized. This is in line with the recent qdev/QOM changes merged in commit 6675a653d2e. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/i2c/i2c.h | 2 ++ hw/i2c/core.c | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h index 4117211565..d6e3d85faf 100644 --- a/include/hw/i2c/i2c.h +++ b/include/hw/i2c/i2c.h @@ -80,6 +80,8 @@ int i2c_send(I2CBus *bus, uint8_t data); uint8_t i2c_recv(I2CBus *bus); =20 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr); +DeviceState *i2c_try_create_slave(const char *name, uint8_t addr); +bool i2c_realize_and_unref(DeviceState *dev, I2CBus *bus, Error **errp); =20 /* lm832x.c */ void lm832x_key_event(DeviceState *dev, int key, int state); diff --git a/hw/i2c/core.c b/hw/i2c/core.c index 1aac457a2a..acf34a12d6 100644 --- a/hw/i2c/core.c +++ b/hw/i2c/core.c @@ -267,13 +267,27 @@ const VMStateDescription vmstate_i2c_slave =3D { } }; =20 -DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr) +DeviceState *i2c_try_create_slave(const char *name, uint8_t addr) { DeviceState *dev; =20 dev =3D qdev_new(name); qdev_prop_set_uint8(dev, "address", addr); - qdev_realize_and_unref(dev, &bus->qbus, &error_fatal); + return dev; +} + +bool i2c_realize_and_unref(DeviceState *dev, I2CBus *bus, Error **errp) +{ + return qdev_realize_and_unref(dev, &bus->qbus, errp); +} + +DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr) +{ + DeviceState *dev; + + dev =3D i2c_try_create_slave(name, addr); + i2c_realize_and_unref(dev, bus, &error_fatal); + return dev; } =20 --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694164; cv=none; d=zohomail.com; s=zohoarc; b=klWukYtlGineYFgz5yNCXZ0zv9bzgquVXYycZb4fF97oObNuQFGbM7wAIXzx5DrCEO/r7l7UONUS4uqaaVAOdCINW1oDmqQ6UZTC4QFzzalU5E0P9vL2cme7z4XoiurUeF/zMDSnHt8k46t/PQiZZgxd+FGNudtSXdlhCyLXbZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694164; 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=PMxJwJBI3i/pj9/ZmzkEHm5G2TKnOFdjlimCFEXNzcQ=; b=hucc+EPf41Z+51bXqDdMA93A00KWlfm3Ju++pnwuT+3/OO0TKDlqB3G1Ay37tiqKkEFjsr5CC3vSgH7RukoN6aj/Jw1lgN/Bw7SnVbM1N0ewGS4fyd4GBqHiO2Px9P4/pqWkJ5BpwueVZ9NJUSNxXoT0o9ED9+4nmLtgUfv/YlY= 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 1592694164321643.3196676497171; Sat, 20 Jun 2020 16:02:44 -0700 (PDT) Received: from localhost ([::1]:43850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmVX-0006YZ-21 for importer@patchew.org; Sat, 20 Jun 2020 19:02:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40524) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmRy-0000dc-HF; Sat, 20 Jun 2020 18:59:02 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:40466) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmRx-0000xb-4B; Sat, 20 Jun 2020 18:59:02 -0400 Received: by mail-wm1-x344.google.com with SMTP id r15so12410879wmh.5; Sat, 20 Jun 2020 15:59:00 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.58.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:58:58 -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=PMxJwJBI3i/pj9/ZmzkEHm5G2TKnOFdjlimCFEXNzcQ=; b=mVjMF968rBtCgu5Q3KOuOALUM4aXGyvylX53nc5C4wDkvqOmtFzDzvjtkeKtkFibKV SR9QqE2gmQZ6kqm3mng7VGR1acJUGhVnofAT43SEf6S6BBOOw6kkaZ5nVpx2cutOBzOc jdYVN4CIW+LT7JN0eGsAcENWUdIo/2FQgqu4+B/KiJqJtHIfG6G6Yk76OYn/V0O158F3 rLHplFyUmsia5MEjBCN4vqLR/CRCZkZkYGbuI1OQFsYPW0l/+/Oq0wMka845cEwhR3yk IrqfqTTn2wnMF3Okn2ThDCBrNJye8MHWZAsyVhFhGtMKj5WQL9Bmp452mPqe7E7lsZb3 GxhA== 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=PMxJwJBI3i/pj9/ZmzkEHm5G2TKnOFdjlimCFEXNzcQ=; b=EU4D/1pNtYTj07n8Wjri1cH5Zxzy8n3cA7QwGD9MZUvM0Z8L+jE42+Pg5sc/3Kn3Dd sO5lbUw7l6X5NxkhUTyuK3NVPZv+a8c4AI2nrylcRgKUsXddQAdtSlviJ32OXoTLVSDI VPSCMAXboyCacceakxPnYkpRCcJ513V7KQlMVPmSj0R7U1fRDSjfrBaatCOrU/SspE81 u5f+sFO8dYf3M2oK2uCIAQn93vQwiY2xaynxQ1/I0+ybjrFG0HK6WKC6w7l1NH9x9/uZ prA1rKUPnycJlcqLXrNdpKZ3y3/sxi6/AZ+3W9Lzr/ot2YlHOJhcII8rZGK8J+sutJCV xvBQ== X-Gm-Message-State: AOAM533u76JsNbKkzi2KD78cvxmcM8D2/5PTPkHilWimpwgSKHJAE5DG HbzRSGVxccJNa0j6qJqdddlCxgb/ X-Google-Smtp-Source: ABdhPJxVeyz4GUnxrUsbhyTLjNL9HR6WSnBkumxISLK2JE4pEitFMLgI5jfKEUxX3Xrgca6Ksoq3aQ== X-Received: by 2002:a1c:7fd7:: with SMTP id a206mr3228068wmd.104.1592693939373; Sat, 20 Jun 2020 15:58:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 2/8] hw/misc/pca9552: Replace magic value by PCA9552_PIN_COUNT definition Date: Sun, 21 Jun 2020 00:58:48 +0200 Message-Id: <20200620225854.31160-3-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Replace the '16' magic value by the PCA9552_PIN_COUNT definition. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater --- include/hw/misc/pca9552.h | 1 + hw/misc/pca9552.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hw/misc/pca9552.h b/include/hw/misc/pca9552.h index ebb43c63fe..ef6da4988f 100644 --- a/include/hw/misc/pca9552.h +++ b/include/hw/misc/pca9552.h @@ -15,6 +15,7 @@ #define PCA9552(obj) OBJECT_CHECK(PCA9552State, (obj), TYPE_PCA9552) =20 #define PCA9552_NR_REGS 10 +#define PCA9552_PIN_COUNT 16 =20 typedef struct PCA9552State { /*< private >*/ diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index cac729e35a..cfefb8fce8 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -291,7 +291,7 @@ static void pca9552_initfn(Object *obj) * PCA955X device */ s->max_reg =3D PCA9552_LS3; - s->nr_leds =3D 16; + s->nr_leds =3D PCA9552_PIN_COUNT; =20 for (led =3D 0; led < s->nr_leds; led++) { char *name; --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694029; cv=none; d=zohomail.com; s=zohoarc; b=HtjiEGMWJvsfQxbBX5q5chJn1nAm37PDkUsIFqQAkzQaXF/KyslEakF8gZamxaRLJc7VG3iyTD/APBogNfmP+dzpH15POyCbM0B4R1HFrVYJvtRCAOu4vyJyPggZxUQk9s2fI08h51X9JBJVUg5s7mmfzz0ByVY9BVQPAbsYJno= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694029; 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=ecdWcrYL1Jj227XOQ2qPsZtEv7ne60QEm0iDo/NnAik=; b=iNos+CIV+i+41O9kiDJ8ZMcPc1r7WFD5sW1QW6DNB/BOPG1MBEDAPqYyd1wUpiMt0yaNU+CxbHkMskNkBLpuQB21eVAa4F0QmVkZQRxwqtkgQcBZ5aoq9+yUUcFxiwIO3n/4MrP/bSV+lE/PYW/83i6Ez7YEVT6QXSwxrMuszzI= 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 1592694029514162.41645232944438; Sat, 20 Jun 2020 16:00:29 -0700 (PDT) Received: from localhost ([::1]:36180 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmTM-0002z1-1l for importer@patchew.org; Sat, 20 Jun 2020 19:00:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40540) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmS0-0000iK-7e; Sat, 20 Jun 2020 18:59:04 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:33530) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmRy-0000xs-Nx; Sat, 20 Jun 2020 18:59:03 -0400 Received: by mail-wr1-x441.google.com with SMTP id l11so13166648wru.0; Sat, 20 Jun 2020 15:59:02 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.58.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:59: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=ecdWcrYL1Jj227XOQ2qPsZtEv7ne60QEm0iDo/NnAik=; b=IHbmxLsIfA7MSwDPdmBAq5HRVqJCRZlavhomTkv78VVZ/YdjVInwIbO5M5SU2gHXYC TBPTXWD6+h7qAJR7pWmgDfVQtZc235wLIJPby55fo970yf2oKt+zDRfT1P7MvhkXzUDZ MD/+xjngcy7Tip9e8Qrpqy1IUJER4sz806Qc9dK1Ef+1FzHr9aPRfrRi9yksRYZha4Eh P7eQgi4K+geya76tI1aQR0yLfvtAzX4Bi14VRJiDO73zxiCwqRRlttayG7AuQ9MW5VMc 1S+tqpJuhKHZAaos/BdIA+Txx3PPxtNZImzxYLFKxkuXvBn6XwZErJcDFYkCmK0ecRRC Hiqg== 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=ecdWcrYL1Jj227XOQ2qPsZtEv7ne60QEm0iDo/NnAik=; b=lOax4kpvM1uCiyQX20W/EhW2EtidhKw9zMD1uenxnPUFtkljr8dpBo0MsdQ9LBvEoy fOo8qe7GZDABMxw29e15+DA/yE6VAX4RvEVxQDM/yrbxn5+sxR93AY4cxjqhToLemFiG SGpvHHlyFadw0mHqi/ySTeJ7qkoddTIh3kVaa9ytxs0VguXmoPs/8NKJ/hDq5FQwBgzn PaTMx7V1oAyrEM4cSmKzZuM0nDzjqDRnoyb4fsr3ERHZDbyPDklxFZrcNlF3TgCAI042 UKYbSppUHJCGs9QgEJ5AjIodZq5c3fDAlrQ204UdxmwKNS+73zH67ZR6vGPhAeLtShOe +Bpg== X-Gm-Message-State: AOAM530pGTYWXYxHT3l3IF98LF4UQawNI2P/1sIcNg1qjc+tCnrIJF8t E438ksdaULWJoi28/khTYCOMFH59 X-Google-Smtp-Source: ABdhPJza73xlffpWcvU2OSTFcSCpn6cqiQQCm2+3eEGsABaRXVj2qUAEluk/+hJyFR33M/eSyNVqOw== X-Received: by 2002:adf:828b:: with SMTP id 11mr11799979wrc.58.1592693940761; Sat, 20 Jun 2020 15:59:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 3/8] hw/misc/pca9552: Use the PCA9552_PIN_COUNT definition Date: Sun, 21 Jun 2020 00:58:49 +0200 Message-Id: <20200620225854.31160-4-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The current code models the PCA9552, but there are comments saying the code could be easily adapted for the rest of the PCA955x family. Since we assume we have at most 16 pins (for the PCA9552), add a definition and check the instance doesn't use more than this number. This makes the code a bit safer in case other PCA955x devices are added. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater --- hw/misc/pca9552.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index cfefb8fce8..b97fc2893c 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -303,6 +303,17 @@ static void pca9552_initfn(Object *obj) } } =20 +static void pca9552_realize(DeviceState *dev, Error **errp) +{ + PCA9552State *s =3D PCA9552(dev); + + if (s->nr_leds > PCA9552_PIN_COUNT) { + error_setg(errp, "%s invalid led count %u (max: %u)", + __func__, s->nr_leds, PCA9552_PIN_COUNT); + return; + } +} + static void pca9552_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -311,6 +322,7 @@ static void pca9552_class_init(ObjectClass *klass, void= *data) k->event =3D pca9552_event; k->recv =3D pca9552_recv; k->send =3D pca9552_send; + dc->realize =3D pca9552_realize; dc->reset =3D pca9552_reset; dc->vmsd =3D &pca9552_vmstate; } --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694250; cv=none; d=zohomail.com; s=zohoarc; b=eoKbGVSRQ+ipJjyVWy4/ASZl3+JNeNfECKrgl44EJ6+5hEEstfLr+O4OmzPEYaTS4IgyIWQafkE6l5aZ9fy1U218fu9i0diRvC9NNv928GDk/pOG6aF+TQvCXw81R2WORp4UpO86Dqpr1Tzwgyooba5YQVHnPzIUajWmhwVHPyc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694250; 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=4OYkK7pZcEGj/z1TIOBnhmEqslagD9t8wPtYXi/tj/c=; b=la5oWA4TpcjUc+jFV7O7kiX/Q4bEsTdZGwWWKB5nemNlC2QeOI3prl1tqDP8BzEn+6vodXxptKk6CaxqhD8PM5srW9KbgIX7l+O+zORA53V//lFLUoVKRjg2lKCXEDs6PCKp9qHyXa7UWAo07y6rRhPl8ZyFPrQRx1STmGtbrk4= 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 1592694250610196.82253370002866; Sat, 20 Jun 2020 16:04:10 -0700 (PDT) Received: from localhost ([::1]:50168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmWv-0001CG-2p for importer@patchew.org; Sat, 20 Jun 2020 19:04:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40550) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmS1-0000ld-Bv; Sat, 20 Jun 2020 18:59:05 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:37078) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmRz-0000y6-Qc; Sat, 20 Jun 2020 18:59:05 -0400 Received: by mail-wm1-x341.google.com with SMTP id y20so12420985wmi.2; Sat, 20 Jun 2020 15:59:03 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.59.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:59:01 -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=4OYkK7pZcEGj/z1TIOBnhmEqslagD9t8wPtYXi/tj/c=; b=Pi9PbIh6E4nFqOoTfgdyi+6JN7/3fKl+0V+6jm3FKn81rPyvK/lHqt9d+T4jOODEB1 hNkgOw0xCt3dncnwfJO/vaQFJEULc4fmnz87sEAj6qnYhLgiXTiT6hf7x0YC3HZvrIwd goTvEtGU0rBYwBuh5ekbIzqyJDmi01bNm+IH0DKQVA8k2NMWGxvglVF4jZLQ9Sr1piK1 KUILrg2HY7q+/+lnMUna3T9m2ZE6NdafvSFrkZTY+fd02TsGgDKmIXtgIBMehAReQpSL jjaUj9qSGoTFcSzaMikXvNdmDZlXD87/B5+khMTle+g/Zmjf8UjySlLDwBsGKdUaURDy yV4g== 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=4OYkK7pZcEGj/z1TIOBnhmEqslagD9t8wPtYXi/tj/c=; b=NHjmLxE0s2UkWsM+JNbh2iA4pVQwjti8e2KqrKscO7ga5iZvZFE6RSi5W2aHQQnDAJ IKmZNwzeLrSQhQ57yHP9uv+ZEVZbyLR4E3oaZhFdEN8IlYF/OancDeUiSORcvdf70Z9m cA+AWuycSNmdkWFv0PDwtkHf87gaq2LLydAGUufDOsAYLNiNz+OPMCbubt1v6p7OeaEA sTliON/Dnk9sbSCb9BaF09VEMlUjqPEKEHptVHAv4+px08JfUC/joZ+qgf43vegMFxcs d9whev8+odrS1i7VXVJ6LuBUb6FNFSuFlnmTAXE4rlWf1x2kePFVw1pXxIUXAyBEytOa P/gA== X-Gm-Message-State: AOAM5320EPBZbSE2wv5bOZFyZjzNVAf2/bYS6/r/vGFQqT9tfnt8hsa2 BRm5JB9glbXdO6Y5Yrdhz0Oaknbz X-Google-Smtp-Source: ABdhPJxs+wU+NvaYI4mOVAiRNUXK6ctBsQQBmjS/elXRHjxCnw+3Mt9+aCxj/LEOXcrWm6e5N6Ffcw== X-Received: by 2002:a1c:6102:: with SMTP id v2mr8712545wmb.6.1592693941984; Sat, 20 Jun 2020 15:59:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 4/8] hw/misc/pca9552: Add a 'description' property for debugging purpose Date: Sun, 21 Jun 2020 00:58:50 +0200 Message-Id: <20200620225854.31160-5-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add a description field to distinguish between multiple devices. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater --- include/hw/misc/pca9552.h | 1 + hw/misc/pca9552.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/hw/misc/pca9552.h b/include/hw/misc/pca9552.h index ef6da4988f..c5be7f1c5e 100644 --- a/include/hw/misc/pca9552.h +++ b/include/hw/misc/pca9552.h @@ -27,6 +27,7 @@ typedef struct PCA9552State { =20 uint8_t regs[PCA9552_NR_REGS]; uint8_t max_reg; + char *description; /* For debugging purpose only */ uint8_t nr_leds; } PCA9552State; =20 diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index b97fc2893c..54ccdcf6d4 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -12,6 +12,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" #include "qemu/module.h" +#include "hw/qdev-properties.h" #include "hw/misc/pca9552.h" #include "hw/misc/pca9552_regs.h" #include "migration/vmstate.h" @@ -312,8 +313,16 @@ static void pca9552_realize(DeviceState *dev, Error **= errp) __func__, s->nr_leds, PCA9552_PIN_COUNT); return; } + if (!s->description) { + s->description =3D g_strdup("pca-unspecified"); + } } =20 +static Property pca9552_properties[] =3D { + DEFINE_PROP_STRING("description", PCA9552State, description), + DEFINE_PROP_END_OF_LIST(), +}; + static void pca9552_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -325,6 +334,7 @@ static void pca9552_class_init(ObjectClass *klass, void= *data) dc->realize =3D pca9552_realize; dc->reset =3D pca9552_reset; dc->vmsd =3D &pca9552_vmstate; + device_class_set_props(dc, pca9552_properties); } =20 static const TypeInfo pca9552_info =3D { --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694170; cv=none; d=zohomail.com; s=zohoarc; b=d+jDCzN8NNKwGRis6TlvvtvEyF0AqhtYkrEcEYJFCb+OlKQanTiCHsyjZBNshpnP2gNvZtZWbUl6KkvucxOef1i+FGs9lU5EmvHqh4O7Go2PpS2iInnRzUnnQJgXfcOm63tp+diIcW5y/0RohRVLGSYFyl5OU32eYAicuEzfrxA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694170; 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=SiT2334pLV4XCYraQE2kkHCbieDQYd9kjZYL7o8p/6E=; b=dgW2IdjeLcKh4ZwUP4y8rjBcjrc8bL/vI9Wd2HdibIotnOREIf2jSWSieeEaO1IXPCdH2V6Cdv0/w115Jw/VdX+HEYmicWV5n4ZcXpEzMAG/e/Kr6PTP+QhhvOzXmQ1GvP3MLPROWp7XoHnilHXndovg8rF5qERGSdW+IMUoMrI= 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 15926941701329.194369137411059; Sat, 20 Jun 2020 16:02:50 -0700 (PDT) Received: from localhost ([::1]:44556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmVc-0006zw-UM for importer@patchew.org; Sat, 20 Jun 2020 19:02:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40590) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmS4-0000u0-0b; Sat, 20 Jun 2020 18:59:08 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:36678) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmS2-0000yT-5A; Sat, 20 Jun 2020 18:59:07 -0400 Received: by mail-wr1-x442.google.com with SMTP id k6so677798wrn.3; Sat, 20 Jun 2020 15:59:05 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.59.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:59:02 -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=SiT2334pLV4XCYraQE2kkHCbieDQYd9kjZYL7o8p/6E=; b=oxjuPb+oFP+7OsIJTJnwVIbV0sH+lq7Go+H+H+7up5NCwICr065ZZ1+Ai8xRzBRdkc XZj2ceJ+Jun6Uqb7fp0r4lCYfELrnLXwNJZDof4q0J2RUzuFl/hloend+OyuSlBUD9hS aQsE8z6OpCNOH9c6EQyLanoa83sEfet3nmMdH4d9OIj60ZWOs3TDLRjIQG6vqd6zcyFp xJnnWc+TZqm0HqmH1Dz+FhjKPEZ6aBWUnvG/88me5X606doKmdEjq3CU3UI1YNliJXUn /UfpfpSWTtUBE+ClQZWpD/ai4TTrYTr5yWsgBVl4pJEB+4u8eFRYzJve3ymGcGfjLwz1 piVw== 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=SiT2334pLV4XCYraQE2kkHCbieDQYd9kjZYL7o8p/6E=; b=M+KRJM0J78j5rivS73lm0btT7DPXto5r0DefY+8GTQOA3uiEHEcKG616ZRye1/h1Ax tWgCeblxiGic/oZ6DQ9YJE1OUl4rXml6UCaNaVC/rxtvoI6zFAOcdYob60ifMWk4VCDM 4cuau4WMIGHXt7xhSWtgL8tPNaRpxNnloM1AcgcWMf5+60blS/HiSi76QUvcJ8J25fsl JyU15zv28dQE24ZwPu4APMpcBDWmq7HM1ZPXXbBa5P4Z4ARgx+UyygPFcLZVcbpq1ybh PaGZ781tw1ETDX0++k/fZboxxm4IwdakgZXTYcJN6uFe9RpsrDdZdO17i4Qo6oHYE1zK 4iyQ== X-Gm-Message-State: AOAM531m0QDabsl674wVhBAvtIDsET9qWf3qCFcS15FvxJRyuSkRJNxK t0VsgYrPnHV0qpyOqXIqlS2bOa4f X-Google-Smtp-Source: ABdhPJzvOCGyP24w4tIrJurVJShF8dUJVv6zp+X7J12Gplpim3IeUvjZGvbavFgUl5RL6E55JjZzYw== X-Received: by 2002:a5d:6b83:: with SMTP id n3mr11121629wrx.395.1592693943203; Sat, 20 Jun 2020 15:59:03 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 5/8] hw/misc/pca9552: Trace GPIO High/Low events Date: Sun, 21 Jun 2020 00:58:51 +0200 Message-Id: <20200620225854.31160-6-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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::442; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add a trivial representation of the PCA9552 GPIOs. Example booting obmc-phosphor-image: $ qemu-system-arm -M witherspoon-bmc -trace pca9552_gpio_status 1592689902.327837:pca9552_gpio_status pca-unspecified GPIOs 0-15 [*......= .........] 1592689902.329934:pca9552_gpio_status pca-unspecified GPIOs 0-15 [**.....= .........] 1592689902.330717:pca9552_gpio_status pca-unspecified GPIOs 0-15 [***....= .........] 1592689902.331431:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= .........] 1592689902.332163:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......*..] 1592689902.332888:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......**.] 1592689902.333629:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......***] 1592690032.793289:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......*.*] 1592690033.303163:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......***] 1592690033.812962:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......*.*] 1592690034.323234:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......***] 1592690034.832922:pca9552_gpio_status pca-unspecified GPIOs 0-15 [****...= ......*.*] We notice the GPIO #14 (front-power LED) starts to blink. This LED is described in the witherspoon device-tree [*]: front-power { retain-state-shutdown; default-state =3D "keep"; gpios =3D <&pca0 14 GPIO_ACTIVE_LOW>; }; [*] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts?id=3Db1f9be9392f0#n140 Suggested-by: C=C3=A9dric Le Goater Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/misc/pca9552.h | 1 + hw/misc/pca9552.c | 29 +++++++++++++++++++++++++++++ hw/misc/trace-events | 3 +++ 3 files changed, 33 insertions(+) diff --git a/include/hw/misc/pca9552.h b/include/hw/misc/pca9552.h index c5be7f1c5e..755be2e8e5 100644 --- a/include/hw/misc/pca9552.h +++ b/include/hw/misc/pca9552.h @@ -26,6 +26,7 @@ typedef struct PCA9552State { uint8_t pointer; =20 uint8_t regs[PCA9552_NR_REGS]; + uint16_t pins_status; /* Holds latest INPUT0 & INPUT1 status */ uint8_t max_reg; char *description; /* For debugging purpose only */ uint8_t nr_leds; diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index 54ccdcf6d4..f0d435e310 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -12,12 +12,14 @@ #include "qemu/osdep.h" #include "qemu/log.h" #include "qemu/module.h" +#include "qemu/bitops.h" #include "hw/qdev-properties.h" #include "hw/misc/pca9552.h" #include "hw/misc/pca9552_regs.h" #include "migration/vmstate.h" #include "qapi/error.h" #include "qapi/visitor.h" +#include "trace.h" =20 #define PCA9552_LED_ON 0x0 #define PCA9552_LED_OFF 0x1 @@ -34,6 +36,32 @@ static uint8_t pca9552_pin_get_config(PCA9552State *s, i= nt pin) return extract32(s->regs[reg], shift, 2); } =20 +static void pca9552_display_pins_status(PCA9552State *s) +{ + uint16_t pins_status, pins_changed; + int i; + + pins_status =3D (s->regs[PCA9552_INPUT1] << 8) | s->regs[PCA9552_INPUT= 0]; + pins_changed =3D s->pins_status ^ pins_status; + if (!pins_changed) { + return; + } + s->pins_status =3D pins_status; + if (trace_event_get_state_backends(TRACE_PCA9552_GPIO_STATUS)) { + char buf[PCA9552_PIN_COUNT + 1]; + + for (i =3D 0; i < s->nr_leds; i++) { + if (extract32(pins_status, i, 1)) { + buf[i] =3D '*'; + } else { + buf[i] =3D '.'; + } + } + buf[i] =3D '\0'; + trace_pca9552_gpio_status(s->description, buf); + } +} + static void pca9552_update_pin_input(PCA9552State *s) { int i; @@ -57,6 +85,7 @@ static void pca9552_update_pin_input(PCA9552State *s) break; } } + pca9552_display_pins_status(s); } =20 static uint8_t pca9552_read(PCA9552State *s, uint8_t reg) diff --git a/hw/misc/trace-events b/hw/misc/trace-events index 5561746866..7630e59652 100644 --- a/hw/misc/trace-events +++ b/hw/misc/trace-events @@ -206,3 +206,6 @@ via1_rtc_cmd_pram_sect_write(int sector, int offset, in= t addr, int value) "secto # grlib_ahb_apb_pnp.c grlib_ahb_pnp_read(uint64_t addr, uint32_t value) "AHB PnP read addr:0x%03= "PRIx64" data:0x%08x" grlib_apb_pnp_read(uint64_t addr, uint32_t value) "APB PnP read addr:0x%03= "PRIx64" data:0x%08x" + +# pca9552.c +pca9552_gpio_status(const char *description, const char *buf) "%s GPIOs 0-= 15 [%s]" --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694161; cv=none; d=zohomail.com; s=zohoarc; b=h22XV9UBtB8uwwvYYPQiqNvHbnbRIQ7os/3fMjfpxxx0A67TwuKh10jF/cm44FKm9UcOyrvO+75xwPtdmht7g+NXZ3lRvGB/y/tFvPU5xUBEKPUmp4gcqgc0kBJkuFhTHQvePZL4TQ4jiPmiQIn89i3kVUB6tRUptVwzQXDLlhA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694161; 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=DyoF/qLlFB6Eqm6PiYWnf/NDgGben7zze4O/C89Ofx4=; b=EVUXwepl6AzLPZ45ushS+uEds/YXYB0Yrl0KxPW+TuzG2CCGz6F9r9iR7+rq52rSNa6CHhzrvJHVUMu9PK0ufA2rWD6v7J8IpDhII48r0ENUkybzpvq98swb8A436tRoAviPzEwOmW+qdrnB8bggddtyPS2sedoUGR3rU/R/ty8= 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 1592694161914423.5642811106392; Sat, 20 Jun 2020 16:02:41 -0700 (PDT) Received: from localhost ([::1]:43642 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmVU-0006Tg-HX for importer@patchew.org; Sat, 20 Jun 2020 19:02:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40596) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmS4-0000w9-Pf; Sat, 20 Jun 2020 18:59:08 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:54606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmS3-0000yh-9m; Sat, 20 Jun 2020 18:59:08 -0400 Received: by mail-wm1-x344.google.com with SMTP id g10so11659869wmh.4; Sat, 20 Jun 2020 15:59:06 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:59:05 -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=DyoF/qLlFB6Eqm6PiYWnf/NDgGben7zze4O/C89Ofx4=; b=fUttuOc5T9+Vum1IoeF53eY8N9xHFxiKg1QORzz2CBWl4iRgr27gthZm7FOfRwoenl DUxnowonYsFlT73NZdK5+yqana+16k/Leobko+jg7R8KJn6A1uCqCZGBgoII4nfSKepj DRBhc+6XdewhICifS9L629CRZDm36a/ulm0U2OeAZOLKsBibGV+oPoObvWFIE1xmIdO7 AcNLjdIGmkG5GzVZ1e4gR0QNZBKa1dQaAg1LTdEpLWq5r41cIPjsA6w/mMGAxlSw6gxF ugqlFD3gHSEyFngKDar5s+/jb45hDTFu9fwy9DOsAwaq9G80Y+dF7X8/y3PuJPO+pROi awWw== 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=DyoF/qLlFB6Eqm6PiYWnf/NDgGben7zze4O/C89Ofx4=; b=DFM2mJhXd6qfYw/cMI3nvtISjUO2cvDDc7O4C4m0N+PUa1LiFa62iRmTfQT8tiQhT4 DLvQ6RZUl2nBhiUcwhthmHLcVee9jPxGIDpmZg6uzy1KOYporegqZ0WQn5wlnpZE/gQm tX6FRhNi0WFe4aN7Etk7YxDJdb66tZ8rN5IdQLRQtRVVkRi02/xBbIrGfVKSjK22km8Z lkLtCqLmRbnuRKGlRqXCBkHi7CpDOj/rJR7DPvBsV/UEuXFwtPBwB0nTgnuQ4svpoCVc ZaamX8WMjJVHXedvcM+5T4Hq9JEt55WnVSNwlhTlk90yzVP3n/5DkmY11KkLiVk6D+Wn AaRg== X-Gm-Message-State: AOAM532tU4jbew96/kEz5ncEeJ4UAWdYA7hgNAJR6O+QKM5OVjCKgUOR LOKC7aqfUQDJEB6HiqkhUNizxmUb X-Google-Smtp-Source: ABdhPJwmJuqvrmd+9+mSldLaZD1CttABpdele+POohVLviVItf1VS1jY4jF8AqeLqWoFY29d4AQhHA== X-Received: by 2002:a7b:c246:: with SMTP id b6mr9973381wmj.96.1592693945585; Sat, 20 Jun 2020 15:59:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 6/8] hw/arm/aspeed: Describe each PCA9552 device Date: Sun, 21 Jun 2020 00:58:52 +0200 Message-Id: <20200620225854.31160-7-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We have 2 distinct PCA9552 devices. Set their description to distinguish them when looking at the trace events. Description name taken from: https://github.com/open-power/witherspoon-xml/blob/master/witherspoon.xml Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/aspeed.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 6b7533aeee..3d5dec4692 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -508,12 +508,15 @@ static void witherspoon_bmc_i2c_init(AspeedBoardState= *bmc) { AspeedSoCState *soc =3D &bmc->soc; uint8_t *eeprom_buf =3D g_malloc0(8 * 1024); + DeviceState *dev; =20 /* Bus 3: TODO bmp280@77 */ /* Bus 3: TODO max31785@52 */ /* Bus 3: TODO dps310@76 */ - i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), TYPE_PCA955= 2, - 0x60); + dev =3D i2c_try_create_slave(TYPE_PCA9552, 0x60); + qdev_prop_set_string(dev, "description", "pca1"); + i2c_realize_and_unref(dev, aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), + &error_fatal); =20 i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), "tmp423", 0= x4c); i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 5), "tmp423", 0= x4c); @@ -528,8 +531,10 @@ static void witherspoon_bmc_i2c_init(AspeedBoardState = *bmc) =20 smbus_eeprom_init_one(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), 0x51, eeprom_buf); - i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), TYPE_PCA95= 52, - 0x60); + dev =3D i2c_try_create_slave(TYPE_PCA9552, 0x60); + qdev_prop_set_string(dev, "description", "pca0"); + i2c_realize_and_unref(dev, aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), + &error_fatal); /* Bus 11: TODO ucd90160@64 */ } =20 --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694077; cv=none; d=zohomail.com; s=zohoarc; b=nQQLbQ3OKN1Eu6vHfYXtYXxRVGMoDmpXUnB+5TSiMWUnw1Jyuh087vXOFBrmGlwBEXtW2GYzSq6jZJs91sBIGT8RERwI1e6ZZXIeh6VIzO5H2DsS++aGf5gdVg1QY/cIr2IXAlV4h4dLjsaoEvC6MYw8rGWoe+0v1X20LQCD5t4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694077; 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=gvoEXdIxYQqhIJHdWM52DnB0B20B8eCcffJMhifuxRg=; b=a44OUI7/D8DU4ociVcLVFEXUnx4Zxc5i8Ghd5GAi2qDz+/T0uYqEyAsiOh5V+SAa0yXXQ3hahmfiihHQ17huXUQ7K4s1ZEjM83YNBILRvirw3WNzkrqsj6fq1qWP63EN6mAszfy8GXub0qT1kNRDfs6wUxkP3p3EzqyHSzVxIk4= 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 159269407761451.46540194423983; Sat, 20 Jun 2020 16:01:17 -0700 (PDT) Received: from localhost ([::1]:39828 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmU8-0004WT-9s for importer@patchew.org; Sat, 20 Jun 2020 19:01:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40612) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmS6-00010E-9J; Sat, 20 Jun 2020 18:59:10 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:41156) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmS4-0000yq-K1; Sat, 20 Jun 2020 18:59:09 -0400 Received: by mail-wr1-x443.google.com with SMTP id q2so10709641wrv.8; Sat, 20 Jun 2020 15:59:07 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.59.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:59:06 -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=gvoEXdIxYQqhIJHdWM52DnB0B20B8eCcffJMhifuxRg=; b=jUM2UYrQRb++KYNo5KCjYsGLt0ZR3JYJx1g5W8pI+dSxzP4+AN0mLswLtC1oPPWI5l FK2qqgj8qmBdd3/RXT3WYVMW6UJsg0QnjWGHKbRvyRX1YyUPVEjGJUOqwGvr2KTTehMF zFOIGUlfv54q8RfbzEUYi/mlb6a3jV3wlgYqfdCa5wIPgG3VckVq3a0krdyi5+bZq4fO hHuHKehONT1RsX8/bCuWjyQ8k8VLUBpaHzAIQrWf8ZaoSGhrmgbn8oDInnTpFRfeaHXH hzVP01c8oV4Q0jRLE6Klyu6TZ4mwVyPa7yFTy0ALd8yP/64lQSZxSiOUpLVgWGmXNpgP jChQ== 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=gvoEXdIxYQqhIJHdWM52DnB0B20B8eCcffJMhifuxRg=; b=svs6RdtY3FG3sPFiqglHmr4hYqJ2sGjnKIvT8wEPLhTUWChUnEZTT44wzxxuHWYFdT BNa7yYMWPYqI1IUMLHAAJyWHkK+UlWGdeP32i63r02jKlnteGb3duDtE9d8faaWCcsDy yN9/ZLt38n0IbYx9fVFxAMl+Gc/gOOjUjNyGP/AUM+yHJCByh3EEbM2voXhR5V/yTq8j T0xKlkuCGKDG7CAASZXAX37i1llnF1s8JaGMvgnkBDGNFFMZCb8EKxysGekorvlRfULQ V2oJETb6/arydbZv1NuG7yWl3nVNQk6rNINqyXdGKuFL+/P8HOUgLnlN2YP3wjLR6YiD DmSw== X-Gm-Message-State: AOAM5330QQnVyYqy+jrcDEWSrETXWXONdza6QU5OoUePiDv1yg6u+bbY Ug4+DuyUjoCTA3WpQXtOhU3RsPgc X-Google-Smtp-Source: ABdhPJxhiT/TdPY2DkLujKZ8ZcSIh45y/h8z6weh4VKdLlcWUS+CUaSplRQ+PXFITP8ctN29yJaRjg== X-Received: by 2002:adf:ed49:: with SMTP id u9mr10893120wro.414.1592693946775; Sat, 20 Jun 2020 15:59:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 7/8] hw/misc/pca9552: Trace GPIO change events Date: Sun, 21 Jun 2020 00:58:53 +0200 Message-Id: <20200620225854.31160-8-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Emit a trace event when a GPIO change its state. Example booting obmc-phosphor-image: $ qemu-system-arm -M witherspoon-bmc -trace pca9552_gpio_change 1592690552.687372:pca9552_gpio_change pca1 GPIO id:0 status: 0 -> 1 1592690552.690169:pca9552_gpio_change pca1 GPIO id:1 status: 0 -> 1 1592690552.691673:pca9552_gpio_change pca1 GPIO id:2 status: 0 -> 1 1592690552.696886:pca9552_gpio_change pca1 GPIO id:3 status: 0 -> 1 1592690552.698614:pca9552_gpio_change pca1 GPIO id:13 status: 0 -> 1 1592690552.699833:pca9552_gpio_change pca1 GPIO id:14 status: 0 -> 1 1592690552.700842:pca9552_gpio_change pca1 GPIO id:15 status: 0 -> 1 1592690683.841921:pca9552_gpio_change pca1 GPIO id:14 status: 1 -> 0 1592690683.861660:pca9552_gpio_change pca1 GPIO id:14 status: 0 -> 1 1592690684.371460:pca9552_gpio_change pca1 GPIO id:14 status: 1 -> 0 1592690684.882115:pca9552_gpio_change pca1 GPIO id:14 status: 0 -> 1 1592690685.391411:pca9552_gpio_change pca1 GPIO id:14 status: 1 -> 0 1592690685.901391:pca9552_gpio_change pca1 GPIO id:14 status: 0 -> 1 1592690686.411678:pca9552_gpio_change pca1 GPIO id:14 status: 1 -> 0 1592690686.921279:pca9552_gpio_change pca1 GPIO id:14 status: 0 -> 1 We notice the GPIO #14 (front-power LED) starts to blink. This LED is described in the witherspoon device-tree [*]: front-power { retain-state-shutdown; default-state =3D "keep"; gpios =3D <&pca0 14 GPIO_ACTIVE_LOW>; }; [*] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts?id=3Db1f9be9392f0#n140 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/pca9552.c | 15 +++++++++++++++ hw/misc/trace-events | 1 + 2 files changed, 16 insertions(+) diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index f0d435e310..85557b78d9 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -60,6 +60,21 @@ static void pca9552_display_pins_status(PCA9552State *s) buf[i] =3D '\0'; trace_pca9552_gpio_status(s->description, buf); } + if (trace_event_get_state_backends(TRACE_PCA9552_GPIO_CHANGE)) { + for (i =3D 0; i < s->nr_leds; i++) { + if (extract32(pins_changed, i, 1)) { + unsigned new_state =3D extract32(pins_status, i, 1); + + /* + * We display the state using the PCA logic ("active-high"= ). + * This is not the state of the LED, which signal might be + * wired "active-low" on the board. + */ + trace_pca9552_gpio_change(s->description, i, + !new_state, new_state); + } + } + } } =20 static void pca9552_update_pin_input(PCA9552State *s) diff --git a/hw/misc/trace-events b/hw/misc/trace-events index 7630e59652..805d2110e0 100644 --- a/hw/misc/trace-events +++ b/hw/misc/trace-events @@ -209,3 +209,4 @@ grlib_apb_pnp_read(uint64_t addr, uint32_t value) "APB = PnP read addr:0x%03"PRIx6 =20 # pca9552.c pca9552_gpio_status(const char *description, const char *buf) "%s GPIOs 0-= 15 [%s]" +pca9552_gpio_change(const char *description, unsigned id, unsigned prev_st= ate, unsigned current_state) "%s GPIO id:%u status: %u -> %u" --=20 2.21.3 From nobody Thu Oct 31 23:19:23 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=1592694248; cv=none; d=zohomail.com; s=zohoarc; b=S4HsIMABfTZQ7qv2wpEOzq+UFyA7tzmHadX7ZamJ3cJ7vzhH1feJVOegFZjoh2SGB3ak36q8QafLgDLN0cvYBdj5wvCfadTa3pq+NFatfoWjhkkpPrBHtRoVW8IDCmrUmae5eQuAySMqaLa2Ipx3/XDfDnOVR3PUbh3sX+iwBSU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592694248; 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=fgUUbNqs1y/GthnSZqBcErzrgj0mvX2yz73QOQqmCzs=; b=FfCp7KtcMmqvgFMbsaY5WfDpSbiuP4x/YJoCeTf6RzQJKQdFrWoeFSeU5aLyuoPuGMp4zg9H3KVQKLZhCBVYF2FRX2tML1w2RjzGy1yeDi2RGeO0UBt3cFVPYAajwIkl2QlwFjfummUODvqQp8SYG75wrRHdhlO23V5H9ia2ZGA= 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 1592694248228573.8139545383005; Sat, 20 Jun 2020 16:04:08 -0700 (PDT) Received: from localhost ([::1]:50046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jmmWs-00019N-Vd for importer@patchew.org; Sat, 20 Jun 2020 19:04:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40618) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jmmS7-00012t-5X; Sat, 20 Jun 2020 18:59:11 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:40773) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jmmS5-0000z5-NS; Sat, 20 Jun 2020 18:59:10 -0400 Received: by mail-wr1-x444.google.com with SMTP id h5so13165256wrc.7; Sat, 20 Jun 2020 15:59:08 -0700 (PDT) Received: from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net. [83.51.162.1]) by smtp.gmail.com with ESMTPSA id x18sm11147127wmi.35.2020.06.20.15.59.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 15:59:07 -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=fgUUbNqs1y/GthnSZqBcErzrgj0mvX2yz73QOQqmCzs=; b=IN0N44dx5JqQpjFXPsoW6yA4CjsCHIDieV3NYwj54y4/I1VmTOqPB+6LLX1de2zhwz 8x7p+3AFWgKwfNq0EB5YQeHquQlw3pf1hh7MNHFXEPSsxnxKd3eSczF6DPBkGzI8v+/I XleMDqLpzE7lazF8OnS9QBdIo2tQCOzVwx/LUDDfwOmC46iSZouPeUATAyf4FTV1I0Ze nV4O8gnuP1nR1YF6ZA37J/AWEMTDMyMC5MSDfnhS3WTURgKEKvZQbBFiB/HQIRQ0yEDE v1T2bQkLCrr0XMP1fBtX2HgywfslHzyeHDpLexjbUHWnVmP1n1dpZ4ELtahS5FMNnqfi QZuA== 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=fgUUbNqs1y/GthnSZqBcErzrgj0mvX2yz73QOQqmCzs=; b=pYTj+ijUhkJc8D69dUCOfHTGsjV5/2kvV2E/Ywfr0xFXMj1+G9bB5zXWN1vnSfenNU lYfvziIgM6vamucj9MIHQwQOCqBm4RuEPjC3KMPDoppQlDrByeK7XWeaxg8OcL0QLGk7 9RsC3QBGFxhTPcCqFZuDAcm6XpEgrz2/ikhGbe8jY7835zJSaRU9ocxdy7MrX4T11wNl 2ckd6l1ZpsJkj0YsUmpNwk368pSqoaytWmvvpRxP6cn1JGiyTZ7LNxGZPz1We+jMJt9C MbCAuvgB77eqWm4jFG1n0LMMdHJ3ZcUO5tYJgvrsze4xW1FpluDrEZMmWPmFDLk2P5l0 RqSg== X-Gm-Message-State: AOAM530r/znj1u0QBpWJq0VbsjeAvoFom+nIPMhNKVgCwRu6qsUuxkmU 8dxcssi3ubf/qOSQ1f1xHpcO8wFY X-Google-Smtp-Source: ABdhPJzcbXkznWCbTX8RdKWF4Mi5SWOJni9zTP3OBw5vPvMI4OlQtTVqCxHjn8wMRjSR5/0Lh+UrNg== X-Received: by 2002:adf:f2cd:: with SMTP id d13mr10486117wrp.378.1592693947979; Sat, 20 Jun 2020 15:59:07 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v4 8/8] hw/misc/pca9552: Model qdev output GPIOs Date: Sun, 21 Jun 2020 00:58:54 +0200 Message-Id: <20200620225854.31160-9-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200620225854.31160-1-f4bug@amsat.org> References: <20200620225854.31160-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: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Corey Minyard , Peter Maydell , Andrew Jeffery , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Joel Stanley Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The PCA9552 has 16 GPIOs which can be used as input, output or PWM mode. QEMU models the output GPIO with the qemu_irq type. Let the device expose the 16 GPIOs to allow us to later connect LEDs to these outputs. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater --- include/hw/misc/pca9552.h | 1 + hw/misc/pca9552.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/hw/misc/pca9552.h b/include/hw/misc/pca9552.h index 755be2e8e5..2545087da3 100644 --- a/include/hw/misc/pca9552.h +++ b/include/hw/misc/pca9552.h @@ -30,6 +30,7 @@ typedef struct PCA9552State { uint8_t max_reg; char *description; /* For debugging purpose only */ uint8_t nr_leds; + qemu_irq gpio[PCA9552_PIN_COUNT]; } PCA9552State; =20 #endif diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index 85557b78d9..8f0ce19b74 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -16,6 +16,7 @@ #include "hw/qdev-properties.h" #include "hw/misc/pca9552.h" #include "hw/misc/pca9552_regs.h" +#include "hw/irq.h" #include "migration/vmstate.h" #include "qapi/error.h" #include "qapi/visitor.h" @@ -88,9 +89,11 @@ static void pca9552_update_pin_input(PCA9552State *s) =20 switch (config) { case PCA9552_LED_ON: + qemu_set_irq(s->gpio[i], 1); s->regs[input_reg] |=3D 1 << input_shift; break; case PCA9552_LED_OFF: + qemu_set_irq(s->gpio[i], 0); s->regs[input_reg] &=3D ~(1 << input_shift); break; case PCA9552_LED_PWM0: @@ -360,6 +363,7 @@ static void pca9552_realize(DeviceState *dev, Error **e= rrp) if (!s->description) { s->description =3D g_strdup("pca-unspecified"); } + qdev_init_gpio_out(dev, s->gpio, s->nr_leds); } =20 static Property pca9552_properties[] =3D { --=20 2.21.3