From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198047890829.0442097402381; Wed, 13 Dec 2017 12:47:27 -0800 (PST) Received: from localhost ([::1]:37566 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDw4-0005IG-0p for importer@patchew.org; Wed, 13 Dec 2017 15:47:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39316) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDtc-0003zE-Sq for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:44:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDtc-0006EM-0X for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:44:52 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:42748) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDtb-0006Dx-Ra for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:44:51 -0500 Received: by mail-qk0-x242.google.com with SMTP id a71so3674503qkc.9 for ; Wed, 13 Dec 2017 12:44:51 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.44.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:44:50 -0800 (PST) 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=gEGEw7HH1pMpgjbhJ0iGAQx8Km+gGIt/ug7r4KNKPCs=; b=Mn8IIGszJjOUFdEPRPT26rVbyuPvupOvbjQrumgJeEjYQv/oZjMaFctI5yOPnxSl9Y mKpiZ8BPmArS+qHoAJZorBImPpwxTVP4RaA6poDtQMS/3uGKtiKNE+UiUQMDjEJ8xi6Q q7qIFsjZKpfJu0lWukWs9lJCKzLZBWu5e7CfrlifT9B2zR7enxf+447C0IKsI2U21TTG 99bXzNFB1xZ6EFDiSEGnpQO7t/yQyjq84Qinb6SFhsG2U9cbcz4xZpBskKjzBNeZXySF dpNNFpr95mPiE68qOYftsyO2udOiUvobUCQjAsS8rR6WoZQo88xGQpFhQxOM7rqe6Nqu i+bg== 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=gEGEw7HH1pMpgjbhJ0iGAQx8Km+gGIt/ug7r4KNKPCs=; b=UOjjpGQ5RWTOCuYAQDtULjIWuB6pHwIfuc82nalVK2xzsREBL6Cg1IolwXz8ubwEBi lfC68pqq/E4oAqPj6V7HQiVcPvNs7vHcn2RgBqNEX2UBjSBS2ATa6c8znt3rfW61Sie6 LdAOh9deykUdKUNXBRe9wzS0ATsmD+546g4KHSEEwONacLRGOiS6/T0qbZM6enwNwDyT BGQVAT2nOYkBl5keFYyWW2J7KIondMb3ad5ScaJc9m0OeIdkt+ANxFW11qUxO7Dn/ffW iIbDfqoKzehxVr+F5l5wcyhi5FMbpE0e4OjcuK/V08icDGFvJTbUlrJmsL3M9zu6z1T9 hV/Q== X-Gm-Message-State: AKGB3mIqbeOWuWWpgsTH9RB2WufoXIzHVZabkTrpSxbE44oE89CeqIur 4U20Db+dq/9x5bH6dFsqZf4= X-Google-Smtp-Source: ACJfBouOuvdnJsxErO3Z20YJUAlzwlzZ2Nq8Oblyj2J4ncG8Az6HLKQcoLut7rExrT1Pd1wPV3Qq0Q== X-Received: by 10.55.78.15 with SMTP id c15mr7118105qkb.105.1513197891274; Wed, 13 Dec 2017 12:44:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Isaac Lozano <109lozanoi@gmail.com>, Thomas Huth , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Date: Wed, 13 Dec 2017 17:44:26 -0300 Message-Id: <20171213204436.5379-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [RFC PATCH 01/11] util/cutils: add qemu_hexbuf_strdup(), yet another hexdump() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This will be helpful for tracing() API. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- "yet", so probably duplicating a better way to do it :| include/qemu/cutils.h | 3 +++ util/hexdump.c | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index f0878eaafa..2966cd5d64 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -164,4 +164,7 @@ bool test_buffer_is_zero_next_accel(void); int uleb128_encode_small(uint8_t *out, uint32_t n); int uleb128_decode_small(const uint8_t *in, uint32_t *n); =20 +char *qemu_hexbuf_strdup(const void *buf, size_t size, + const char *str_hdr, const char *desc_if_empty); + #endif diff --git a/util/hexdump.c b/util/hexdump.c index f879ff0ad6..cabf33b2b8 100644 --- a/util/hexdump.c +++ b/util/hexdump.c @@ -15,6 +15,7 @@ =20 #include "qemu/osdep.h" #include "qemu-common.h" +#include "qemu/cutils.h" =20 void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t si= ze) { @@ -47,3 +48,21 @@ void qemu_hexdump(const char *buf, FILE *fp, const char = *prefix, size_t size) fprintf(fp, "\n"); } } + +char *qemu_hexbuf_strdup(const void *buf, size_t size, + const char *str_hdr, const char *desc_if_empty) +{ + const uint8_t *u8 =3D (uint8_t *)buf; + GString *s; + int i; + + if (!size) { + return g_strdup(desc_if_empty ? desc_if_empty : ""); + } + s =3D g_string_new(str_hdr ? : ""); + for (i =3D 0; i < size; i++) { + g_string_append_printf(s, "%02x ", u8[i]); + } + + return g_string_free(s, FALSE); +} --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198076110459.6628544470998; Wed, 13 Dec 2017 12:47:56 -0800 (PST) Received: from localhost ([::1]:37567 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDwS-0005Vo-9M for importer@patchew.org; Wed, 13 Dec 2017 15:47:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39359) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDth-00041V-7W for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDtg-0006JR-CN for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:44:57 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:46193) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDtg-0006Io-7X; Wed, 13 Dec 2017 15:44:56 -0500 Received: by mail-qk0-x243.google.com with SMTP id b184so3685800qkc.13; Wed, 13 Dec 2017 12:44:56 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.44.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:44:55 -0800 (PST) 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=DlmG7hzRagDkTdI6MyP5XoC2NlvDV7RMExcPXGV1dZs=; b=JEs6jtaEPbOD2z/PQicPhupCN8Q05Zw4PPfWCC31wtKMLDbQlVXHp+Kg0DwDFKkHvj QgYhQYgfQ0UbwqcmXK+SbllbIT1iYurRElX0yh4TsbBV9iW+folRevDKTMfA2MPHDyJZ v+Gze7F9LIGKOdrEib930sfTmguDe8G6eLejFdqY/YJI8yc/T8yEjCTcmd0y2rMBT54t yipeYICJ4d/XXr6m2ufxo1LVYjeeDl0IuT3RsQkGM0gAwOheuWrQoTKjAlYYGhWcSEIG 0spq39HlDHgZXJePiZocq/8cfkRsdNj3kEE2RM8s/eA1u1VYjhLtUkwbRRTCnbZUOw6i dU0g== 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=DlmG7hzRagDkTdI6MyP5XoC2NlvDV7RMExcPXGV1dZs=; b=bqR3UJGzRhqZfhefZQl2WqumrGKn7YRHfz9ZGb1kmbjLbr7nCrr9WM4krMVMGRjx61 Se/dTibBYTBPJ0by8ivxzDAWMV1g9Lhx9m0a2wXciY+HGysBiTO6AvCKC5ZI6cEAF8Qb w++g8YWbgoiEZOmzVUcKqia/tHL/QZCry2oDY4vlI8FZOw7qrLTXVyGqxbENBf8U84gv JBcOPNQ6TNjvNbSH4YfOHr2sLpLGjMNVtCXZHo+PE0tVyQR1U4sioNK9Ox2lbqcrtXlT vwlPtLetlyRuchfb9fx2QRoUQuPdi7e69IasMdoWh9nUupEcDFszVT+xf/mJpMoyRXCF eORg== X-Gm-Message-State: AKGB3mJKyNyBtlxFiwgx2SyIeWVhJlw71oMaW8/3xs4WAveZMnH6wsxu O5JIAH6dAuzktllHMSu1WKM= X-Google-Smtp-Source: ACJfBovOJxTy69GWf/3retgpYWIs+U3v0J4CDW5I68NZsGmglvYCAp663z6D+rsaILVxqWe316jglA== X-Received: by 10.55.104.198 with SMTP id d189mr12344526qkc.190.1513197895673; Wed, 13 Dec 2017 12:44:55 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps Date: Wed, 13 Dec 2017 17:44:27 -0300 Message-Id: <20171213204436.5379-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 02/11] bcm2835_peripherals: move GPIO 'sdbus' property link from init() -> realize() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , qemu-arm@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 We can then use dynamic sdbus creation (from realized HCI devices). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Alistair Francis --- hw/arm/bcm2835_peripherals.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 12e0dd11af..7f30f19c4c 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -112,11 +112,6 @@ static void bcm2835_peripherals_init(Object *obj) object_initialize(&s->gpio, sizeof(s->gpio), TYPE_BCM2835_GPIO); object_property_add_child(obj, "gpio", OBJECT(&s->gpio), NULL); qdev_set_parent_bus(DEVICE(&s->gpio), sysbus_get_default()); - - object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci", - OBJECT(&s->sdhci.sdbus), &error_abort); - object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost", - OBJECT(&s->sdhost.sdbus), &error_abort); } =20 static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) @@ -314,6 +309,10 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) } =20 /* GPIO */ + object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci", + OBJECT(&s->sdhci.sdbus), &error_abort); + object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost", + OBJECT(&s->sdhost.sdbus), &error_abort); object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); if (err) { error_propagate(errp, err); --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198149924682.7560409227948; Wed, 13 Dec 2017 12:49:09 -0800 (PST) Received: from localhost ([::1]:37570 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDxg-0006i9-5n for importer@patchew.org; Wed, 13 Dec 2017 15:49:04 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDtl-000457-8Z for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDtk-0006Nc-8P for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:01 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:40046) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDtk-0006N8-3o for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:00 -0500 Received: by mail-qk0-x242.google.com with SMTP id b123so3681954qkg.7 for ; Wed, 13 Dec 2017 12:45:00 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.44.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:44:59 -0800 (PST) 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=LzruSGOtibsYn69zs/IL5f6FGEdgEjOPPBxHqjKxEw4=; b=upJcd2ubdHLkLqTuAJesrJn4pnxoxCUwHxr4aFbzOwV1Y5dLWVy+fm4mBno1G95vVJ tn6GnInuUbyzADOZaLix89oIH4MIvcv5nwEG5g+SFALIMoep7v9y5UVH9Uxg3658HZos vZ3e4W1rSToTzZ7RJlum59yF9ET8Jo1yDoFPKWCA9MGipBUQLXmmMZ9Ew99nvAwwsNJJ Cw5cQF+dgelYoPNH14NdRZkkcXAPQY7hYQv31iSpSpWZhosR0TFRzDrXn1i9GFtpP/JJ yJdjcRpd703IsSYlN+Q02CsFMm3xz+Muip7/cwmi4FOdWTFQJfYSRTBb/Q3S/kF4BVoF kiUQ== 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=LzruSGOtibsYn69zs/IL5f6FGEdgEjOPPBxHqjKxEw4=; b=ndcUcyKPAZxfKvTIr0jjxrLBVzCVhFmAwaIp38E17q2IV1BSqrjK7umfpFss56HmE+ Gw4SFYGVBpv3tOn8KIHviPqSdVxiXimk710+eKDK59fsJoGZrSzLegKH4LYoNnGBH174 T7VzrVFwvNzj6WLQuHFnTGWci9P4HsOluhtglyd6FDN2A0iip70rZOw211qeH46+WpNT SCPJ669hO7oVSSkn0iUJPp5EHvJrBnX3dBoUq7f6apsIhtJDdFIrkFWP+XVgCwznMkWs BVcP7kPSPIDs640qfAXjGa/0dlSikp5efBGnLQYpV6jFA+HjWXmH35x9uyXAsSgMmUmN rzDg== X-Gm-Message-State: AKGB3mI0MTkgoVUlsc34E+Af0YdPgBsSxtKrEjZ7wn9NmBd2FCQGNnlg 2DPs2n1E3CF4rZ9HqQyBbIY= X-Google-Smtp-Source: ACJfBot1a53VtmVFYcoqltrRP/d2dvyAn2l86q8vd6saZIYfATYXO5RfSnvHa7JsJbZP6wVIZ7mvkw== X-Received: by 10.55.114.133 with SMTP id n127mr12660167qkc.61.1513197899618; Wed, 13 Dec 2017 12:44:59 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps Date: Wed, 13 Dec 2017 17:44:28 -0300 Message-Id: <20171213204436.5379-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 03/11] sdbus: add trace events X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/core.c | 25 +++++++++++++++++++++---- hw/sd/trace-events | 6 ++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/hw/sd/core.c b/hw/sd/core.c index bd9350d21c..eda595973b 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -21,7 +21,14 @@ =20 #include "qemu/osdep.h" #include "hw/sd/sd.h" +#include "qemu/cutils.h" #include "sd-internal.h" +#include "trace.h" + +static inline const char *sdbus_name(SDBus *sdbus) +{ + return sdbus->qbus.name; +} =20 static SDState *get_card(SDBus *sdbus) { @@ -37,20 +44,28 @@ static SDState *get_card(SDBus *sdbus) int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint8_t *response) { SDState *card =3D get_card(sdbus); + int sz =3D 0; + char *hexbuf; =20 + trace_sdbus_command(sdbus_name(sdbus), req->cmd, req->arg, req->crc); if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 - return sc->do_command(card, req, response); + sz =3D sc->do_command(card, req, response); + hexbuf =3D qemu_hexbuf_strdup(response, sz, NULL, "resp: "); + trace_sdbus_command_response(sdbus_name(sdbus), + req->cmd, req->arg, hexbuf); + g_free(hexbuf); } =20 - return 0; + return sz; } =20 void sdbus_write_data(SDBus *sdbus, uint8_t value) { SDState *card =3D get_card(sdbus); =20 + trace_sdbus_write(sdbus_name(sdbus), value); if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 @@ -61,14 +76,16 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value) uint8_t sdbus_read_data(SDBus *sdbus) { SDState *card =3D get_card(sdbus); + uint8_t value =3D 0; =20 if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 - return sc->read_data(card); + value =3D sc->read_data(card); } + trace_sdbus_read(sdbus_name(sdbus), value); =20 - return 0; + return value; } =20 bool sdbus_data_ready(SDBus *sdbus) diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 11f8fa4fc1..6b1dc7380f 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -1,5 +1,11 @@ # See docs/devel/tracing.txt for syntax documentation. =20 +# hw/sd/core.c +sdbus_command(const char *bus_name, uint8_t cmd, uint32_t arg, uint8_t crc= ) "@%s CMD%02d arg 0x%08x crc 0x%02x" +sdbus_command_response(const char *bus_name, uint8_t cmd, uint32_t arg, co= nst char *hexdump) "@%s CMD%02d arg 0x%08x %s" +sdbus_read(const char *bus_name, uint8_t value) "@%s value 0x%02x" +sdbus_write(const char *bus_name, uint8_t value) "@%s value 0x%02x" + # hw/sd/sdhci.c sdhci_set_inserted(const char *level) "card state changed: %s" sdhci_send_command(uint8_t cmd, uint32_t arg) "sending CMD%02u ARG[0x%08x]" --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198252508934.947730417321; Wed, 13 Dec 2017 12:50:52 -0800 (PST) Received: from localhost ([::1]:37580 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDzA-00084h-6J for importer@patchew.org; Wed, 13 Dec 2017 15:50:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39395) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDtq-00048A-OV for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDtp-0006Td-58 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:06 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:36399) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDto-0006T6-Vu; Wed, 13 Dec 2017 15:45:05 -0500 Received: by mail-qt0-x242.google.com with SMTP id a16so5413236qtj.3; Wed, 13 Dec 2017 12:45:04 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:03 -0800 (PST) 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=D3NM544FSfEQ2ZrOY542ydX9a/ev+wyKDl1y7x2lz8g=; b=rr6pyZjRKAc9CW47ueIDvsUn3btmwPTbsyPCU5NpTpJ3Hhb1M1B7QGPV0mT7QSQ5qL TwXW1KDa70SoXGEcMlPxLnWK1bgDna/u7WG30eXEJkB656Qfb1tsY/WE5K5ObDGVTPRW 5poRL4MAQZiFjVz2PS9FEoDodScZSCK1AiSPK3luzoKFmVNI17gWiBx86iY75/5w/0O2 vIk7Q+FJG5XA5unP2ib7GsjbCoovZT5LPqPuoyQujotNLr0EhVvEHw0jV64P0uxfREfQ rOsE/0V4/6KCWRAujM4qRmIOicif+L79imATb3TUUUsWrbW/NL8vgy+DMTI/IPBBLqqr EvWg== 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=D3NM544FSfEQ2ZrOY542ydX9a/ev+wyKDl1y7x2lz8g=; b=mMPWU3ECadYy11sMZ1sv5PcS29DzP2EQ69nSkohAVFGB+hGVixo5XZWk86+ExqXK5N e+s4+CUpz4Ej59japjoOnx7TXtapUpOdxJDZvOPi8/sk0Rshi6te1f/floJGCwdfuvga n9P34MdMeMJA2KjDIXNBJAGoVJNUnVFgozwh0imCiRpp2TZAzhXiP4ei4KianCe9u5MZ R3spG53f+jW0t60eAOOSHh841YqzBhCi8TctMIwljS/+s2Ajc+0xc3zW16Yxj0qolAbX ABOvN28A4ljan4Mcs4scnpjBxsbkv3FwXrhMr4Z8KZNg0oeia6zIuGbyFDXvOG3+3NjU d/5g== X-Gm-Message-State: AKGB3mL9oPDI9y1TCermQsXePcF3KJNLMNjdw3W6hLtge87oLt733dYY zU7ZkSDizY1oQwOPF0+7oJw= X-Google-Smtp-Source: ACJfBovTtld9kL4SJEu0cdBnxbaPPhILK1NQ1lCi11gk4JkjS0QcLxlg6mE1BHgzRY9nb9KnA2F13w== X-Received: by 10.200.56.75 with SMTP id r11mr12830543qtb.65.1513197904319; Wed, 13 Dec 2017 12:45:04 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps Date: Wed, 13 Dec 2017 17:44:29 -0300 Message-Id: <20171213204436.5379-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 04/11] sdbus: add sdbus_create_bus() to replace qbus_create_inplace() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "open list:ARM" , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_6 Z_629925259 SPT_0 A "bus-name" property can be use to change the default SDHCI "sd-bus" name. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sd.h | 1 + include/hw/sd/sdhci.h | 3 ++- hw/arm/bcm2835_peripherals.c | 2 +- hw/sd/core.c | 5 +++++ hw/sd/sdhci.c | 36 ++++++++++++++++++++---------------- 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index f6994e61f2..dc9d697c12 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -51,6 +51,7 @@ struct SDBus { }; =20 /* Functions to be used by qdevified callers */ +SDBus *sdbus_create_bus(DeviceState *parent, const char *name); int sdbus_do_command(SDBus *sd, SDRequest *req, uint8_t *response); void sdbus_write_data(SDBus *sd, uint8_t value); uint8_t sdbus_read_data(SDBus *sd); diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index e6644e6e7d..579e0ea644 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -39,7 +39,8 @@ typedef struct SDHCIState { }; =20 /*< public >*/ - SDBus sdbus; + char *bus_name; + SDBus *sdbus; MemoryRegion iomem; MemoryRegion *dma_mr; AddressSpace dma_as; diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 7f30f19c4c..60a0eec4d1 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -310,7 +310,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) =20 /* GPIO */ object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci", - OBJECT(&s->sdhci.sdbus), &error_abort); + OBJECT(s->sdhci.sdbus), &error_abort); object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost", OBJECT(&s->sdhost.sdbus), &error_abort); object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); diff --git a/hw/sd/core.c b/hw/sd/core.c index eda595973b..021a8d7258 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -187,3 +187,8 @@ static void sd_bus_register_types(void) } =20 type_init(sd_bus_register_types) + +SDBus *sdbus_create_bus(DeviceState *parent, const char *name) +{ + return SD_BUS(qbus_create(TYPE_SD_BUS, parent, name)); +} diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 5f8064c59b..40596f6ebe 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -186,8 +186,8 @@ static void sdhci_reset(SDHCIState *s) memset(&s->sdmasysad, 0, (uintptr_t)&s->capareg - (uintptr_t)&s->sdmas= ysad); =20 /* Reset other state based on current card insertion/readonly status */ - sdhci_set_inserted(dev, sdbus_get_inserted(&s->sdbus)); - sdhci_set_readonly(dev, sdbus_get_readonly(&s->sdbus)); + sdhci_set_inserted(dev, sdbus_get_inserted(s->sdbus)); + sdhci_set_readonly(dev, sdbus_get_readonly(s->sdbus)); =20 s->data_count =3D 0; s->stopped_state =3D sdhc_not_stopped; @@ -223,7 +223,7 @@ static void sdhci_send_command(SDHCIState *s) request.arg =3D s->argument; =20 trace_sdhci_send_command(request.cmd, request.arg); - rlen =3D sdbus_do_command(&s->sdbus, &request, response); + rlen =3D sdbus_do_command(s->sdbus, &request, response); =20 if (s->cmdreg & SDHC_CMD_RESPONSE) { if (rlen =3D=3D 4) { @@ -278,7 +278,7 @@ static void sdhci_end_transfer(SDHCIState *s) request.cmd =3D 0x0C; request.arg =3D 0; trace_sdhci_end_transfer(request.cmd, request.arg); - sdbus_do_command(&s->sdbus, &request, response); + sdbus_do_command(s->sdbus, &request, response); /* Auto CMD12 response goes to the upper Response register */ s->rspreg[3] =3D (response[0] << 24) | (response[1] << 16) | (response[2] << 8) | response[3]; @@ -310,7 +310,7 @@ static void sdhci_read_block_from_card(SDHCIState *s) } =20 for (index =3D 0; index < (s->blksize & 0x0fff); index++) { - s->fifo_buffer[index] =3D sdbus_read_data(&s->sdbus); + s->fifo_buffer[index] =3D sdbus_read_data(s->sdbus); } =20 /* New data now available for READ through Buffer Port Register */ @@ -402,7 +402,7 @@ static void sdhci_write_block_to_card(SDHCIState *s) } =20 for (index =3D 0; index < (s->blksize & 0x0fff); index++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[index]); + sdbus_write_data(s->sdbus, s->fifo_buffer[index]); } =20 /* Next data can be written through BUFFER DATORT register */ @@ -488,7 +488,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) while (s->blkcnt) { if (s->data_count =3D=3D 0) { for (n =3D 0; n < block_size; n++) { - s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbus); + s->fifo_buffer[n] =3D sdbus_read_data(s->sdbus); } } begin =3D s->data_count; @@ -529,7 +529,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) s->sdmasysad +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { for (n =3D 0; n < block_size; n++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[n]); + sdbus_write_data(s->sdbus, s->fifo_buffer[n]); } s->data_count =3D 0; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) { @@ -560,7 +560,7 @@ static void sdhci_sdma_transfer_single_block(SDHCIState= *s) =20 if (s->trnmod & SDHC_TRNS_READ) { for (n =3D 0; n < datacnt; n++) { - s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbus); + s->fifo_buffer[n] =3D sdbus_read_data(s->sdbus); } dma_memory_write(&address_space_memory, s->sdmasysad, s->fifo_buff= er, datacnt); @@ -568,7 +568,7 @@ static void sdhci_sdma_transfer_single_block(SDHCIState= *s) dma_memory_read(&address_space_memory, s->sdmasysad, s->fifo_buffe= r, datacnt); for (n =3D 0; n < datacnt; n++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[n]); + sdbus_write_data(s->sdbus, s->fifo_buffer[n]); } } s->blkcnt--; @@ -659,7 +659,7 @@ static void sdhci_do_adma(SDHCIState *s) while (length) { if (s->data_count =3D=3D 0) { for (n =3D 0; n < block_size; n++) { - s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbu= s); + s->fifo_buffer[n] =3D sdbus_read_data(s->sdbus= ); } } begin =3D s->data_count; @@ -700,7 +700,7 @@ static void sdhci_do_adma(SDHCIState *s) dscr.addr +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { for (n =3D 0; n < block_size; n++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[n]); + sdbus_write_data(s->sdbus, s->fifo_buffer[n]); } s->data_count =3D 0; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) { @@ -807,7 +807,7 @@ static void sdhci_data_transfer(void *opaque) break; } } else { - if ((s->trnmod & SDHC_TRNS_READ) && sdbus_data_ready(&s->sdbus)) { + if ((s->trnmod & SDHC_TRNS_READ) && sdbus_data_ready(s->sdbus)) { s->prnsts |=3D SDHC_DOING_READ | SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE; sdhci_read_block_from_card(s); @@ -1156,15 +1156,14 @@ static inline unsigned int sdhci_get_fifolen(SDHCIS= tate *s) =20 static void sdhci_initfn(SDHCIState *s) { - qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), - TYPE_SDHCI_BUS, DEVICE(s), "sd-bus"); - s->insert_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_raise_inser= tion_irq, s); s->transfer_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_tran= sfer, s); } =20 static void sdhci_realizefn(SDHCIState *s, Error **errp) { + const char *name =3D s->bus_name ? s->bus_name : "sd-bus"; + sdhci_init_capareg(s, errp); =20 s->buf_maxsz =3D sdhci_get_fifolen(s); @@ -1177,10 +1176,14 @@ static void sdhci_realizefn(SDHCIState *s, Error **= errp) address_space_init(&s->dma_as, s->dma_mr ? s->dma_mr : get_system_memory(), "sdhci-dma"); + + s->sdbus =3D sdbus_create_bus(DEVICE(s), name); } =20 static void sdhci_unrealizefn(SDHCIState *s, Error **errp) { + g_free(s->sdbus); + if (s->dma_mr) { address_space_destroy(&s->dma_as); object_unparent(OBJECT(&s->dma_mr)); @@ -1269,6 +1272,7 @@ static Property sdhci_properties[] =3D { false), DEFINE_PROP_LINK("dma-memory", SDHCIState, dma_mr, TYPE_MEMORY_REGION, MemoryRegion *), + DEFINE_PROP_STRING("sd-bus-name", SDHCIState, bus_name), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198258294893.3207355141492; Wed, 13 Dec 2017 12:50:58 -0800 (PST) Received: from localhost ([::1]:37588 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDzQ-0008Ki-3N for importer@patchew.org; Wed, 13 Dec 2017 15:50:52 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39406) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDtu-0004BL-2a for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDts-0006XF-QR for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:10 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:42750) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDts-0006Wo-Lm for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:08 -0500 Received: by mail-qt0-x243.google.com with SMTP id g9so5391267qth.9 for ; Wed, 13 Dec 2017 12:45:08 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:07 -0800 (PST) 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=VqMjZHDtZzeZ/0p5lj+O8UNPtiPcPjmTrNNMTuz4pTs=; b=gAmAwXuKFATqmHLj3+kP3La66L3cBcUHxkh9sZMbivqdDprSAQ1hF46R4HY5eMXwn8 bn7Oa55tZSmIgqUSNHEUYbfVrI+Qm0eXNqZwZR+vUDWihtZyMly5nyOjURM6Cbu+0djF qoKz3flcwOMJHU0Xuds/jDiSQKKAecPAZf4bE/ZBts6i1O41ZdxmvhbTYMOJbGTvE5xT J/mlyR0erqQrHIqi/eTkoScgBlAQcWeVNYS7Sjyfw+8c949POJlQ2+YC4yj8hfqyDjbc qpSBU/kwMpq9uitF0UpRohYnLr33YZtl9uKRIN+wJlQoBZaVcEckOudiCUTEoqDgbg3v QUTA== 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=VqMjZHDtZzeZ/0p5lj+O8UNPtiPcPjmTrNNMTuz4pTs=; b=OIsoWpH6DleQdhBbsSOKz8iQiQa5iVP+kOfHXxMR1uQfoJmNNpUV+Y9vdwLFWvTzvr LLUyD6dZmyoCVAgN5OcMIOljJJZUqQsb8bYTwZh6f9UrBnQryis3gdA6CbkI12N+JNc0 /cbAJNaAJDNzkSaQG+SDUuNTZQoj1TUi+Q+dPt4XkSA84f5B2w/nC5KaywWQ8av3OSVp gi/ETKQvo+mJFSAQ+I3CaQAWq4PJtUsYUBaeJOHehOhyzyg3CmcCjisDQh2/qlorVjlX Uo5kc5onwB/C8/8e4FIpxJaQfAX3Dt87weQwVkoYHksV8Yyk8YUI4k4S2AVjN0LqcCTo R7ww== X-Gm-Message-State: AKGB3mLnqh5LgyYDx/vGoCFC0sBfTSnHVUyrJoRLMVNOpJR/oBneMzTT B3yqK5X0LKWGzGn8j+/TpLQ= X-Google-Smtp-Source: ACJfBouJXhmmFfJkaMp0jnS4k4754YG+HSHFVfRu4qY6qSP/8gYkNZn5qwMGAKIuwBPoKTJeltzHLg== X-Received: by 10.200.51.143 with SMTP id c15mr13216047qtb.46.1513197908134; Wed, 13 Dec 2017 12:45:08 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps Date: Wed, 13 Dec 2017 17:44:30 -0300 Message-Id: <20171213204436.5379-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 05/11] sdbus: add sdbus_create_slave() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 The slave qdev is created connected to the parent SDBus. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sd.h | 2 ++ hw/sd/core.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index dc9d697c12..d402231724 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -52,6 +52,8 @@ struct SDBus { =20 /* Functions to be used by qdevified callers */ SDBus *sdbus_create_bus(DeviceState *parent, const char *name); +DeviceState *sdbus_create_slave(SDBus *bus, const char *name); +DeviceState *sdbus_create_slave_no_init(SDBus *bus, const char *name); int sdbus_do_command(SDBus *sd, SDRequest *req, uint8_t *response); void sdbus_write_data(SDBus *sd, uint8_t value); uint8_t sdbus_read_data(SDBus *sd); diff --git a/hw/sd/core.c b/hw/sd/core.c index 021a8d7258..fc9ccfedb2 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -188,6 +188,20 @@ static void sd_bus_register_types(void) =20 type_init(sd_bus_register_types) =20 +DeviceState *sdbus_create_slave_no_init(SDBus *bus, const char *name) +{ + assert(bus); + return qdev_create(BUS(bus), name); +} + +DeviceState *sdbus_create_slave(SDBus *bus, const char *name) +{ + DeviceState *dev =3D sdbus_create_slave_no_init(bus, name); + + qdev_init_nofail(dev); + return dev; +} + SDBus *sdbus_create_bus(DeviceState *parent, const char *name) { return SD_BUS(qbus_create(TYPE_SD_BUS, parent, name)); --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198423920775.0768749787603; Wed, 13 Dec 2017 12:53:43 -0800 (PST) Received: from localhost ([::1]:37600 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePE1w-0002Po-Km for importer@patchew.org; Wed, 13 Dec 2017 15:53:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39428) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDty-0004Fy-9v for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDtx-0006h1-6C for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:14 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:39656) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDtx-0006gX-0T for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:13 -0500 Received: by mail-qk0-x241.google.com with SMTP id u184so3674532qkd.6 for ; Wed, 13 Dec 2017 12:45:12 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:11 -0800 (PST) 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=lRY8Eqon+9m47r1KAUMpAjxByCFdMVzQWxUWff2FP2c=; b=O43+OkYZIMO3HrO5nVbCN05nYoiu/+jaEvt3TQSfkQ3+MWd2ffhtGhByeF+aUcvaRB sExOIo+oRsOn794jUkiZ0uK49KgI5m+SI9mOlhbB7QY1enyN+3V9aV2VTm3LZxR6g1C2 fwc4z+OV/l+lv8EqPso54JeJdmN/mkAPZt7XCWfirSCx2ibxa3C0O7KvJ2x1xT7qtR8j dAFBLZckvxzacpo4Dl308fO3JnTT6+jd8v3OZ0ngvcC3fYvZIuc91OM/+acZVUv15WAI 8q8/MFu2JZwjjif6s+g+9etVBxB7fTLmQmMh/t9O/j4m4wGKWwthfN+B5g3GewqVpymd J9SA== 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=lRY8Eqon+9m47r1KAUMpAjxByCFdMVzQWxUWff2FP2c=; b=e4DlFeDVU1V2D6HS+41GYKhvm1hdoplQnneojDU31Vul3S/YHpQhePdLeQpVVpDGlT TEH/qpV0pd0RwSluBq0uxocakAVWeVp9ZtOrpxJmPNfyf1/nQtKL7dXS5Au95g3HDZ0j jZVQKHJaEHnjYqYjZn0hxZNlPnKgA8XS7dZ4PXlDOludkp1KZwc6/P1FqM5/iIEUoiDt iKgMZeV2OyGMPXEESID6s/veoGUFrRa8SzldAt/o7zOjHFKUNfnAdKElag+oPv9Mji+C n6tqVGl12sqn+nAiWMclKxjsm5W/xJvBtxI99ohXh/Mfibg2RAUuyi2DZKQEXDAxr3Oo VQiQ== X-Gm-Message-State: AKGB3mKapndvw2ibNdg+NN+uTxosNwbbjewYO7OAM7U8IYlGdJbg41TS q1UXM7VhwQjEFDKPpgA+A/M= X-Google-Smtp-Source: ACJfBosOl1tBznhftQMHax/iDadcviZikY76M1ONSW+t4bPp4yDpDdwdFOjU5H01gqu3lo6xCwTzrw== X-Received: by 10.55.33.129 with SMTP id f1mr13018969qki.109.1513197912434; Wed, 13 Dec 2017 12:45:12 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps Date: Wed, 13 Dec 2017 17:44:31 -0300 Message-Id: <20171213204436.5379-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 06/11] sdbus: rename SDCardClass -> SDSlaveClass X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 By default a SD bus connect SD cards, however it may accept other SD devices like a SDIO device. The current class is not restricted to a SD "Card" devi= ce. To better reflect this is a SD bus slave, simply rename it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Alistair Francis --- hw/sd/sd-internal.h | 10 +++++----- hw/sd/core.c | 16 ++++++++-------- hw/sd/sd.c | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/hw/sd/sd-internal.h b/hw/sd/sd-internal.h index afd5dbf194..85a747ea64 100644 --- a/hw/sd/sd-internal.h +++ b/hw/sd/sd-internal.h @@ -66,10 +66,10 @@ typedef enum { =20 typedef struct SDState SDState; =20 -#define SD_CARD_CLASS(klass) \ - OBJECT_CLASS_CHECK(SDCardClass, (klass), TYPE_SD_CARD) -#define SD_CARD_GET_CLASS(obj) \ - OBJECT_GET_CLASS(SDCardClass, (obj), TYPE_SD_CARD) +#define SDBUS_SLAVE_CLASS(klass) \ + OBJECT_CLASS_CHECK(SDSlaveClass, (klass), TYPE_SD_CARD) +#define SDBUS_SLAVE_GET_CLASS(obj) \ + OBJECT_GET_CLASS(SDSlaveClass, (obj), TYPE_SD_CARD) =20 typedef struct { /*< private >*/ @@ -83,7 +83,7 @@ typedef struct { void (*enable)(SDState *sd, bool enable); bool (*get_inserted)(SDState *sd); bool (*get_readonly)(SDState *sd); -} SDCardClass; +} SDSlaveClass; =20 #define SD_BUS_CLASS(klass) OBJECT_CLASS_CHECK(SDBusClass, (klass), TYPE_S= D_BUS) #define SD_BUS_GET_CLASS(obj) OBJECT_GET_CLASS(SDBusClass, (obj), TYPE_SD_= BUS) diff --git a/hw/sd/core.c b/hw/sd/core.c index fc9ccfedb2..cd5b531cfa 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -49,7 +49,7 @@ int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint8_= t *response) =20 trace_sdbus_command(sdbus_name(sdbus), req->cmd, req->arg, req->crc); if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + SDSlaveClass *sc =3D SDBUS_SLAVE_GET_CLASS(card); =20 sz =3D sc->do_command(card, req, response); hexbuf =3D qemu_hexbuf_strdup(response, sz, NULL, "resp: "); @@ -67,7 +67,7 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value) =20 trace_sdbus_write(sdbus_name(sdbus), value); if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + SDSlaveClass *sc =3D SDBUS_SLAVE_GET_CLASS(card); =20 sc->write_data(card, value); } @@ -79,7 +79,7 @@ uint8_t sdbus_read_data(SDBus *sdbus) uint8_t value =3D 0; =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + SDSlaveClass *sc =3D SDBUS_SLAVE_GET_CLASS(card); =20 value =3D sc->read_data(card); } @@ -93,7 +93,7 @@ bool sdbus_data_ready(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + SDSlaveClass *sc =3D SDBUS_SLAVE_GET_CLASS(card); =20 return sc->data_ready(card); } @@ -106,7 +106,7 @@ bool sdbus_get_inserted(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + SDSlaveClass *sc =3D SDBUS_SLAVE_GET_CLASS(card); =20 return sc->get_inserted(card); } @@ -119,7 +119,7 @@ bool sdbus_get_readonly(SDBus *sdbus) SDState *card =3D get_card(sdbus); =20 if (card) { - SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + SDSlaveClass *sc =3D SDBUS_SLAVE_GET_CLASS(card); =20 return sc->get_readonly(card); } @@ -150,7 +150,7 @@ void sdbus_set_readonly(SDBus *sdbus, bool readonly) void sdbus_reparent_card(SDBus *from, SDBus *to) { SDState *card =3D get_card(from); - SDCardClass *sc; + SDSlaveClass *sc; bool readonly; =20 /* We directly reparent the card object rather than implementing this @@ -165,7 +165,7 @@ void sdbus_reparent_card(SDBus *from, SDBus *to) return; } =20 - sc =3D SD_CARD_GET_CLASS(card); + sc =3D SDBUS_SLAVE_GET_CLASS(card); readonly =3D sc->get_readonly(card); =20 sdbus_set_inserted(from, false); diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 9b7dee2ec4..97046df5c3 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1917,7 +1917,7 @@ static Property sd_properties[] =3D { static void sd_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); - SDCardClass *sc =3D SD_CARD_CLASS(klass); + SDSlaveClass *sc =3D SDBUS_SLAVE_CLASS(klass); =20 dc->realize =3D sd_realize; dc->props =3D sd_properties; @@ -1938,7 +1938,7 @@ static const TypeInfo sd_info =3D { .name =3D TYPE_SD_CARD, .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(SDState), - .class_size =3D sizeof(SDCardClass), + .class_size =3D sizeof(SDSlaveClass), .class_init =3D sd_class_init, .instance_init =3D sd_instance_init, .instance_finalize =3D sd_instance_finalize, --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 151319825825334.62431294147734; Wed, 13 Dec 2017 12:50:58 -0800 (PST) Received: from localhost ([::1]:37587 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDzO-0008JP-M6 for importer@patchew.org; Wed, 13 Dec 2017 15:50:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39461) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDu4-0004O8-Sd for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDu1-0006w0-PE for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:20 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:41843) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDu1-0006ug-LG for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:17 -0500 Received: by mail-qk0-x241.google.com with SMTP id 84so3681921qks.8 for ; Wed, 13 Dec 2017 12:45:17 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:16 -0800 (PST) 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=zRnPctAYWuoEBsckIlr6Gvto4/dy3DyIiW9o8ZhOfRM=; b=iR65HDIHwwL3umYBP9B8sZLT/JOd7L3VDpJLmjovzmWW0HiL/DOTdvX9NSxfQOMKKp 3xExGxu38RA5DeF2QTcc7HYXbjfdhIxdRuWERZSw64Iko1rVh6M9IQk8W3OLbxUzwpnp mJBqyFI8vHXB529/o1jgO2DQVuY29NX1v4ntwTq7YDiSMTyBN7ku6SApjCF40wTClRub TFuuTADkQ4Tk5UlQJg2uwQc1MVHz43JRVN2QcPWRW/14IxYU7I2s8R2buvIIaxNk9dZn EpMziEsMp5dBrikSP9QEhzWJxcc5LkSgxqRJds8EnOIdhEoo+q5e11wO8il7hMESdFl5 AQ3g== 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=zRnPctAYWuoEBsckIlr6Gvto4/dy3DyIiW9o8ZhOfRM=; b=uFydTjrKI3tXA4/woT+aeFWNBX6BSRm9vcpPDGn957OntBwOUl3CRYFrI9hv88N2ll 0syi6/9y9f+Gsy+fUL394mNdexumVzyleShoGDQ6Ply8WCfLveM5YJ/6yB0La4Sk4lS9 1nPAaP7V5mz2J46x1JNsvdBt4rw/K0gZnjS9c+dl81VUySusLwIhSvSQ8wfFef03pq6y 8acvE2fRhNbNKEXI708Z6dA8n+r5Z4JfThh9/L4vr8qrPmTZblDhMNFEHHonHNFp1AVp YXyllDZxrlhetIDrl18e5nGPtkFAjeHs6Cff43NkU07POvDeBn2N/huuezcS+yZjHeJ0 VGtg== X-Gm-Message-State: AKGB3mLVza8iJcgkR/36xyXiT7dxcCdd+PqgHzU1zCscKrLlOU2P/Huq JwPX31dVkSVzveOR8lrgY67phM9C X-Google-Smtp-Source: ACJfBou6c84lO5zKCSXWcocOE5MkpAATqBjLVFYw5GkOFLjpXIU72lS1H4N+ruFv6qlw6qS8bguHqg== X-Received: by 10.55.166.82 with SMTP id p79mr13035371qke.302.1513197917186; Wed, 13 Dec 2017 12:45:17 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Igor Mammedov , Eduardo Habkost Date: Wed, 13 Dec 2017 17:44:32 -0300 Message-Id: <20171213204436.5379-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 07/11] sdbus: add a SD_BUS_SLAVE interface X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Devices implementing this interface can be (hot-)plugged to a SD bus. The sdcard device is currently the unique implementation. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd-internal.h | 5 +++-- hw/sd/core.c | 7 +++++++ hw/sd/sd.c | 4 ++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd-internal.h b/hw/sd/sd-internal.h index 85a747ea64..4576d2f8a8 100644 --- a/hw/sd/sd-internal.h +++ b/hw/sd/sd-internal.h @@ -66,10 +66,11 @@ typedef enum { =20 typedef struct SDState SDState; =20 +#define TYPE_SD_BUS_SLAVE_INTERFACE "sd-bus-slave" #define SDBUS_SLAVE_CLASS(klass) \ - OBJECT_CLASS_CHECK(SDSlaveClass, (klass), TYPE_SD_CARD) + OBJECT_CLASS_CHECK(SDSlaveClass, (klass), TYPE_SD_BUS_SLAVE_INTERFACE) #define SDBUS_SLAVE_GET_CLASS(obj) \ - OBJECT_GET_CLASS(SDSlaveClass, (obj), TYPE_SD_CARD) + OBJECT_GET_CLASS(SDSlaveClass, (obj), TYPE_SD_BUS_SLAVE_INTERFACE) =20 typedef struct { /*< private >*/ diff --git a/hw/sd/core.c b/hw/sd/core.c index cd5b531cfa..dc1571befc 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -181,9 +181,16 @@ static const TypeInfo sd_bus_info =3D { .class_size =3D sizeof(SDBusClass), }; =20 +static const TypeInfo sd_slave_info =3D { + .name =3D TYPE_SD_BUS_SLAVE_INTERFACE, + .parent =3D TYPE_INTERFACE, + .class_size =3D sizeof(SDBusClass), +}; + static void sd_bus_register_types(void) { type_register_static(&sd_bus_info); + type_register_static(&sd_slave_info); } =20 type_init(sd_bus_register_types) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 97046df5c3..8e12b07ee4 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1942,6 +1942,10 @@ static const TypeInfo sd_info =3D { .class_init =3D sd_class_init, .instance_init =3D sd_instance_init, .instance_finalize =3D sd_instance_finalize, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_SD_BUS_SLAVE_INTERFACE }, + { }, + }, }; =20 static void sd_register_types(void) --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198322508236.33791196679465; Wed, 13 Dec 2017 12:52:02 -0800 (PST) Received: from localhost ([::1]:37589 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePE0X-0000os-Mg for importer@patchew.org; Wed, 13 Dec 2017 15:52:01 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39491) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDu8-0004RT-Ld for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDu7-00075j-Md for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:24 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:41845) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDu7-000757-Ht for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:23 -0500 Received: by mail-qk0-x243.google.com with SMTP id 84so3682252qks.8 for ; Wed, 13 Dec 2017 12:45:23 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:22 -0800 (PST) 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=vFGHLgHUWZo8KIOdote+qgYJXZNiWQqFD0PRqdccxsc=; b=uSwETpmshpIsIXlryFVkz+Iik0GruaNC1GeFWN0koOxiKYul94wnINwF8dTy/QXlMB 4BibwfkdgZWM9DOWibxbfa72wbeu3UthLh2m/LGA9k8U2wSIaBpTApoSmglOXto6Ohir 8yw3rqxCWO2N812ha7KVZ9H3XGxTUBmnNVSRkDbKqUPVsKdPlsU3wEYO35i5ZR4eHdsA 6A3XWPRb0wyuo/Oi+O7+eZJJufASz9+Udd2n75BCI/G4f7UvtOH1k8NhZPtznKbBLXmK Q/eXDhavZJ7qq7fdoY3jcQ+sLX7RjT/KTRmBlVnB+lJTqn2E6Z46NGnvIAqN4KBkqEE/ x20Q== 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=vFGHLgHUWZo8KIOdote+qgYJXZNiWQqFD0PRqdccxsc=; b=MhzF4lMh9jmq+MmoCEzCgFu2RwYlOfC0b/iGUdzkwm1aJLZazDvAdjkcLDpX/vLtZD F1M6PBncHmxHk6fBkMi6FV8tWosbx4B9Zlp6bHtWeg62ZDtLsuOi0cqRJSkaLQ9nGVSz EEFRPNwKhq39BTCFQF/lt9ToNa2PqrlNdF+f7RXasxQ063/eY/b994t4L2BD7yAFFmTB 5CR6l1BPt9pxvOO7IteyJoSYDrsPdSquACrMQnLb0ITHHdl7jl7BlQgmAgxoIiTgMxGj LO3eplrVijqFA9tfWTTLKLdJMTMyxXR6jQfKcnI1MIVCPr8K7V/745rJhTC2OnJO2oxs gV8g== X-Gm-Message-State: AKGB3mKQnJjH0UWLbgRd+wu2rK0vymlF4zl0pcoU+gCeS1d6EqsZu1fn Wxwt4+MccaQ7DY6r0jxTs10= X-Google-Smtp-Source: ACJfBot7QCWZa6beBHxRkBu5030DWO6UnB99scghFtuZoxPONX707A1U5/OiGBG2J0+mTIjkr767fg== X-Received: by 10.55.103.76 with SMTP id b73mr12891858qkc.224.1513197923071; Wed, 13 Dec 2017 12:45:23 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Igor Mammedov , Eduardo Habkost Date: Wed, 13 Dec 2017 17:44:33 -0300 Message-Id: <20171213204436.5379-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 08/11] sdbus: add a SD_BUS_MASTER interface X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Now than we have clearly separated the SD slave devices, let continue adding the SD master interface, this will simplify the design. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd-internal.h | 3 +++ hw/sd/core.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/hw/sd/sd-internal.h b/hw/sd/sd-internal.h index 4576d2f8a8..7f446b4e81 100644 --- a/hw/sd/sd-internal.h +++ b/hw/sd/sd-internal.h @@ -88,6 +88,9 @@ typedef struct { =20 #define SD_BUS_CLASS(klass) OBJECT_CLASS_CHECK(SDBusClass, (klass), TYPE_S= D_BUS) #define SD_BUS_GET_CLASS(obj) OBJECT_GET_CLASS(SDBusClass, (obj), TYPE_SD_= BUS) +#define TYPE_SD_BUS_MASTER_INTERFACE "sd-bus-master" +#define SDBUS_MASTER_CLASS(klass) \ + OBJECT_CLASS_CHECK(SDBusClass, (klass), TYPE_SD_BUS_MASTER_INTERFACE) =20 typedef struct { /*< private >*/ diff --git a/hw/sd/core.c b/hw/sd/core.c index dc1571befc..da3a7e0efa 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -181,6 +181,12 @@ static const TypeInfo sd_bus_info =3D { .class_size =3D sizeof(SDBusClass), }; =20 +static const TypeInfo sd_master_info =3D { + .name =3D TYPE_SD_BUS_MASTER_INTERFACE, + .parent =3D TYPE_INTERFACE, + .class_size =3D sizeof(SDBusClass), +}; + static const TypeInfo sd_slave_info =3D { .name =3D TYPE_SD_BUS_SLAVE_INTERFACE, .parent =3D TYPE_INTERFACE, @@ -190,6 +196,7 @@ static const TypeInfo sd_slave_info =3D { static void sd_bus_register_types(void) { type_register_static(&sd_bus_info); + type_register_static(&sd_master_info); type_register_static(&sd_slave_info); } =20 --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151319850530757.67792017516865; Wed, 13 Dec 2017 12:55:05 -0800 (PST) Received: from localhost ([::1]:37606 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePE3S-0003aE-K0 for importer@patchew.org; Wed, 13 Dec 2017 15:55:02 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39514) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDuF-0004Wy-NG for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDuC-0007C3-Ip for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:31 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:35641) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDuC-0007BX-D0 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:28 -0500 Received: by mail-qk0-x241.google.com with SMTP id c13so3676009qke.2 for ; Wed, 13 Dec 2017 12:45:28 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:27 -0800 (PST) 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=8P6Xi7JgRIRXNFeKzZQhoyIGkAX+iowht7A3hEjneUo=; b=kk3is0UudruQJGlMwq4GjnThfY+71/MDfnBQT0Z9M0S822Yd/ETvQ/gMzHZJkFIasD vRhZ/H2N1jOyzyJKI9coc0DjD7zjaBAr3sIu5rgZePVFyPQ9figi0nzVHDlT0OAWfO0y zSzMMvT8ypV4R2eP9ZFhZIg24Ce/I5BIOGTUiUWRa2/6ZDRmGOufCAzGZQwdlOltkZzB UBgxHKflRR4gRXE3R7oIBxj8TxIAwoz5ygagSuAK2ILr73IwYiV/r5SkVh/N5jGNzo3x zxmDja8Q+5QG1Noc2UKx7PNO/RU2RzkA+7TTHfggXcICaYzbWqJ7k6Smjoe3URSKAjBS 0DIw== 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=8P6Xi7JgRIRXNFeKzZQhoyIGkAX+iowht7A3hEjneUo=; b=em/Hlw8z8ItZ0hIlAicMash/53uLwxcTPITQujHQSMEtl/Bf9h7RYhNf7I6jAjaBNT bshWwvtDZsmtglxoKdGL32e/mY6KoECE21bf5sT02eIP6Wl8ehzV67ljWEvl/ERcCmzO ykmuVZp+4X2woq3N0t1wSkaG0kHDINX2Y5x+xvkJnc0sFLgFNg8FDf0+L/fcR7b9YEXc Epw9z1uILk0gN9LnNEufDa75WXWhKv2O18x3USVFH7cxflXuZSBp/Xw+QUHEn3FkOD3L LmkXqxydX8wp/O1CI4GL2eowYg/B7VxXqEJ/urIsjJTgDiCEiav4BYIUpMKX664Z6YRR bCUA== X-Gm-Message-State: AKGB3mJrrsXAg5pItQrQQueIhdJII+ryT0JrGzbHJ0w8zPPAkq9/1pKD pHIhrq1g4yEgFiSEipougqQ= X-Google-Smtp-Source: ACJfBosqLf4fMrfz41oamO5M8HjoLgJXEpg014pgH2mg5ImUFuyVGV5eiiiie6VzP2HLaQeCI/ewbw== X-Received: by 10.55.73.13 with SMTP id w13mr12077443qka.201.1513197927930; Wed, 13 Dec 2017 12:45:27 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Igor Mammedov , Eduardo Habkost Date: Wed, 13 Dec 2017 17:44:34 -0300 Message-Id: <20171213204436.5379-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 09/11] sdhci: implement the SD_BUS_MASTER interface X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 The SDHCI is a SD master, let it implement the SD_BUS_MASTER interface, this even allow remove the SDHCI_BUS type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci.c | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 40596f6ebe..d8188fdc2a 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -35,9 +35,6 @@ #include "qemu/log.h" #include "trace.h" =20 -#define TYPE_SDHCI_BUS "sdhci-bus" -#define SDHCI_BUS(obj) OBJECT_CHECK(SDBus, (obj), TYPE_SDHCI_BUS) - /* Default SD/MMC host controller features information, which will be * presented in CAPABILITIES register of generic SD host controller at res= et. * If not stated otherwise: @@ -1279,11 +1276,15 @@ static Property sdhci_properties[] =3D { static void sdhci_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + SDBusClass *sbc =3D SDBUS_MASTER_CLASS(klass); =20 set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); dc->vmsd =3D &sdhci_vmstate; dc->props =3D sdhci_properties; dc->reset =3D sdhci_poweron_reset; + + sbc->set_inserted =3D sdhci_set_inserted; + sbc->set_readonly =3D sdhci_set_readonly; } =20 /* --- qdev PCI --- */ @@ -1328,6 +1329,7 @@ static const TypeInfo sdhci_pci_info =3D { .instance_size =3D sizeof(SDHCIState), .class_init =3D sdhci_pci_class_init, .interfaces =3D (InterfaceInfo[]) { + { TYPE_SD_BUS_MASTER_INTERFACE }, { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, }, @@ -1383,30 +1385,16 @@ static const TypeInfo sdhci_sysbus_info =3D { .instance_init =3D sdhci_sysbus_init, .instance_finalize =3D sdhci_sysbus_finalize, .class_init =3D sdhci_sysbus_class_init, -}; - -/* --- qdev bus master --- */ - -static void sdhci_bus_class_init(ObjectClass *klass, void *data) -{ - SDBusClass *sbc =3D SD_BUS_CLASS(klass); - - sbc->set_inserted =3D sdhci_set_inserted; - sbc->set_readonly =3D sdhci_set_readonly; -} - -static const TypeInfo sdhci_bus_info =3D { - .name =3D TYPE_SDHCI_BUS, - .parent =3D TYPE_SD_BUS, - .instance_size =3D sizeof(SDBus), - .class_init =3D sdhci_bus_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_SD_BUS_MASTER_INTERFACE }, + { }, + }, }; =20 static void sdhci_register_types(void) { type_register_static(&sdhci_pci_info); type_register_static(&sdhci_sysbus_info); - type_register_static(&sdhci_bus_info); } =20 type_init(sdhci_register_types) --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198448192716.7408727807818; Wed, 13 Dec 2017 12:54:08 -0800 (PST) Received: from localhost ([::1]:37603 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePE2R-0002la-5c for importer@patchew.org; Wed, 13 Dec 2017 15:53:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDuJ-0004Xq-EI for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDuI-0007LI-8y for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:35 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:42755) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDuI-0007Jy-1M; Wed, 13 Dec 2017 15:45:34 -0500 Received: by mail-qt0-x243.google.com with SMTP id g9so5392767qth.9; Wed, 13 Dec 2017 12:45:33 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:32 -0800 (PST) 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=PFxtEHbPyEJgvEtVcfjCeaVfNqc3d6DLBS0VcPEmtJc=; b=ZX5qDqWJE3WQCOVJ9weAEO6RU083xZeTf2x+iU/qUA3myIvhawXusdIScphEwn5vyu BVVTbhihWA5L68Y6eoZiQ9iCKtUINZuwW1lkSaccueTKPtUdc5+vgxJLNP1XOusUW8Zp xXYq8yxEnLADaj6fg57iNIIGeeNaHYvNQWtEPufG4wS9zyLV24Sagkc7j16uyBhz09kJ u/GCJaWtmAHx8ze8aBgT62tRCGQKTnPZq3vaHFgCva0GWsDBJi9SNg+XXb2gWGrt/fCD Dhdlrcra63unLbE5maU75hQCjaeEtNCNgvYYPD5jHcmQt1xQtw6Uz3V/mOHLPfEVQKTH 3Vpg== 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=PFxtEHbPyEJgvEtVcfjCeaVfNqc3d6DLBS0VcPEmtJc=; b=ZPv23Yj5Acp+PfgjCVHT6/UIiYqRu32+R1MN5nFuF7cKRJD2niTBHL+462q1FZphrt fj4+loUe9KGeLYnLAgQsFNjc3o4N073LvCOTxJQgdpl6GkElFCoNN7SfnApzjutChBo+ /u7cccq8h64yPneMkygtxU8d8fOxJj6ZIADMB3ji5yVJuzTDbGDtdFgqzewgSCK3iqNq 9O9m6bg8EB5Y9WVQKLnzA4D2GxPKr6///JHTzQNki6siq6ob1sS3mQnMOAlyXem9dKOB loJgpBCmAdzS+zp1UVnfglCLscSucxGhSwALhp/Vz+/eVR3mUmr0OW8ECn0KPCTG5YwN PGRQ== X-Gm-Message-State: AKGB3mLf8rtJ5taugbpUEopQ482OY04ZqBPM4hr3T3mWaFAhBnniy8X4 eIJO3Fmp1negdcBD+EDRfek= X-Google-Smtp-Source: ACJfBovLUcN9X8jw/mZohUt1ocOeoHRisShNiEtZgcaiaoFwRhYq0zlC7kvMcny9lmd6N1C4K18Uvg== X-Received: by 10.200.51.201 with SMTP id d9mr12859790qtb.319.1513197933558; Wed, 13 Dec 2017 12:45:33 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Igor Mammedov , Eduardo Habkost Date: Wed, 13 Dec 2017 17:44:35 -0300 Message-Id: <20171213204436.5379-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 10/11] hw/sd/pxa2xx: implement the SD_BUS_MASTER interface X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This MMC Interface is a SD bus master. Replace qbus_create_inplace() by sdbus_create_bus(), remove the PXA2XX_MMCI_BUS type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/pxa2xx_mmci.c | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c index f34951e1d1..da5f302f3c 100644 --- a/hw/sd/pxa2xx_mmci.c +++ b/hw/sd/pxa2xx_mmci.c @@ -24,9 +24,6 @@ #define TYPE_PXA2XX_MMCI "pxa2xx-mmci" #define PXA2XX_MMCI(obj) OBJECT_CHECK(PXA2xxMMCIState, (obj), TYPE_PXA2XX_= MMCI) =20 -#define TYPE_PXA2XX_MMCI_BUS "pxa2xx-mmci-bus" -#define PXA2XX_MMCI_BUS(obj) OBJECT_CHECK(SDBus, (obj), TYPE_PXA2XX_MMCI_B= US) - struct PXA2xxMMCIState { SysBusDevice parent_obj; =20 @@ -38,7 +35,7 @@ struct PXA2xxMMCIState { qemu_irq readonly; =20 BlockBackend *blk; - SDBus sdbus; + SDBus *sdbus; =20 uint32_t status; uint32_t clkrt; @@ -183,7 +180,7 @@ static void pxa2xx_mmci_fifo_update(PXA2xxMMCIState *s) =20 if (s->cmdat & CMDAT_WR_RD) { while (s->bytesleft && s->tx_len) { - sdbus_write_data(&s->sdbus, s->tx_fifo[s->tx_start++]); + sdbus_write_data(s->sdbus, s->tx_fifo[s->tx_start++]); s->tx_start &=3D 0x1f; s->tx_len --; s->bytesleft --; @@ -193,7 +190,7 @@ static void pxa2xx_mmci_fifo_update(PXA2xxMMCIState *s) } else while (s->bytesleft && s->rx_len < 32) { s->rx_fifo[(s->rx_start + (s->rx_len ++)) & 0x1f] =3D - sdbus_read_data(&s->sdbus); + sdbus_read_data(s->sdbus); s->bytesleft --; s->intreq |=3D INT_RXFIFO_REQ; } @@ -227,7 +224,7 @@ static void pxa2xx_mmci_wakequeues(PXA2xxMMCIState *s) request.arg =3D s->arg; request.crc =3D 0; /* FIXME */ =20 - rsplen =3D sdbus_do_command(&s->sdbus, &request, response); + rsplen =3D sdbus_do_command(s->sdbus, &request, response); s->intreq |=3D INT_END_CMD; =20 memset(s->resp_fifo, 0, sizeof(s->resp_fifo)); @@ -509,8 +506,8 @@ void pxa2xx_mmci_handlers(PXA2xxMMCIState *s, qemu_irq = readonly, s->readonly =3D readonly; s->inserted =3D coverswitch; =20 - pxa2xx_mmci_set_inserted(dev, sdbus_get_inserted(&s->sdbus)); - pxa2xx_mmci_set_readonly(dev, sdbus_get_readonly(&s->sdbus)); + pxa2xx_mmci_set_inserted(dev, sdbus_get_inserted(s->sdbus)); + pxa2xx_mmci_set_readonly(dev, sdbus_get_readonly(s->sdbus)); } =20 static void pxa2xx_mmci_reset(DeviceState *d) @@ -555,21 +552,16 @@ static void pxa2xx_mmci_instance_init(Object *obj) qdev_init_gpio_out_named(dev, &s->rx_dma, "rx-dma", 1); qdev_init_gpio_out_named(dev, &s->tx_dma, "tx-dma", 1); =20 - qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), - TYPE_PXA2XX_MMCI_BUS, DEVICE(obj), "sd-bus"); + s->sdbus =3D sdbus_create_bus(dev, "sd-bus"); } =20 static void pxa2xx_mmci_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + SDBusClass *sbc =3D SDBUS_MASTER_CLASS(klass); =20 dc->vmsd =3D &vmstate_pxa2xx_mmci; dc->reset =3D pxa2xx_mmci_reset; -} - -static void pxa2xx_mmci_bus_class_init(ObjectClass *klass, void *data) -{ - SDBusClass *sbc =3D SD_BUS_CLASS(klass); =20 sbc->set_inserted =3D pxa2xx_mmci_set_inserted; sbc->set_readonly =3D pxa2xx_mmci_set_readonly; @@ -581,19 +573,15 @@ static const TypeInfo pxa2xx_mmci_info =3D { .instance_size =3D sizeof(PXA2xxMMCIState), .instance_init =3D pxa2xx_mmci_instance_init, .class_init =3D pxa2xx_mmci_class_init, -}; - -static const TypeInfo pxa2xx_mmci_bus_info =3D { - .name =3D TYPE_PXA2XX_MMCI_BUS, - .parent =3D TYPE_SD_BUS, - .instance_size =3D sizeof(SDBus), - .class_init =3D pxa2xx_mmci_bus_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_SD_BUS_MASTER_INTERFACE }, + { }, + }, }; =20 static void pxa2xx_mmci_register_types(void) { type_register_static(&pxa2xx_mmci_info); - type_register_static(&pxa2xx_mmci_bus_info); } =20 type_init(pxa2xx_mmci_register_types) --=20 2.15.1 From nobody Mon May 6 12:10:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513198506825963.5446061644566; Wed, 13 Dec 2017 12:55:06 -0800 (PST) Received: from localhost ([::1]:37607 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePE3U-0003bY-4I for importer@patchew.org; Wed, 13 Dec 2017 15:55:04 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePDuP-0004d2-7H for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePDuN-0007Rz-3G for qemu-devel@nongnu.org; Wed, 13 Dec 2017 15:45:41 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:41552) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePDuM-0007RS-Uq; Wed, 13 Dec 2017 15:45:39 -0500 Received: by mail-qt0-x242.google.com with SMTP id i40so5374723qti.8; Wed, 13 Dec 2017 12:45:38 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id n64sm1507938qkd.97.2017.12.13.12.45.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 12:45:37 -0800 (PST) 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=sO3kB1ctN8NFcmZjii81FfGWOyoLufxQdat3GfimeS4=; b=X28XX5w/DnumCWRp/8ImPJwCoMxmbCES575MyI/y/hK7AcHPwK0GvD1pVeFCFAsycP H5HVuzfcAHs0kS/t9NC6pb/wOAwqN3D06hwVjLg8VqwYLMMk1bCtVljhlzuOksooDtBN RgNYT7FTnY565neeWCBXny9NKghRWYkp8j5YpdNyKstgMXzWT/ptjwU9j8vCZyYItD1A felejYfc4+6LgFhjD6K1kAc+UfiHOIO/S6m+mlQ8YVHxtGONdXN5uGTuSjnemg/t4tdj 8b3u7dDRcU8siIkp0HASfIXzRCFwEHAyVfRX5AovE6LEEdonFN5T3szDSeWdHvqrXs9R C+Dg== 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=sO3kB1ctN8NFcmZjii81FfGWOyoLufxQdat3GfimeS4=; b=TQKRz0uEGyNHKHV5r7OL6iaEtLRL3mpbmTaR1YjQGpE67AbVL0tP+Md8kdC/yFpmnD ZwfQ2taaYZKzCR2LXtyBZUDlcbXXCnSIPXFxpTr9tpZbBXXsmUoMprtWvT8wotwTUfUm yhvomJATtTZCD4HnXXDtX8HbNDFo3sBX1MKvwAoSQ45vCEsjy5ru2Oif+54Vxa2wmDOz w7UehvXtBZ7yrvNHZ0gHy3/hrEeJnuHryA8VsxPt+GjUoLwIqdcz520/XmLoUGp7eq45 FMYP792yV8t8sagvRo7zZpirS05p/sRrc+fkISE63j989P/oqYDsE+ZaAfriyaesqEQl gfOg== X-Gm-Message-State: AKGB3mJfcsR8GCQ/m7MX/xihs0QpdNIhWFx2jysp4BD5duzQNkHvaDDT TpuyVmOJXlaW2EWkPtvZL6M= X-Google-Smtp-Source: ACJfBouwcW4eI5xAsQmApp6f3lD+FvRRMB4ARHe0RrJ2qaqIpOHcmYMzl5i1425SpwB8HZP3CtidEw== X-Received: by 10.200.22.210 with SMTP id y18mr12987095qtk.38.1513197938398; Wed, 13 Dec 2017 12:45:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Prasad J Pandit , Peter Maydell , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Clement Deschamps Date: Wed, 13 Dec 2017 17:44:36 -0300 Message-Id: <20171213204436.5379-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213204436.5379-1-f4bug@amsat.org> References: <20171213204436.5379-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 11/11] hw/arm/xilinx_zynq: use sdbus_create_slave() to name the different SD busses X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, "Edgar E. Iglesias" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Using the "bus-name" property we can now address any bus. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/xilinx_zynq.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 1836a4ed45..9275ae6daf 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -167,6 +167,7 @@ static void zynq_init(MachineState *machine) MemoryRegion *ocm_ram =3D g_new(MemoryRegion, 1); DeviceState *dev, *carddev; SysBusDevice *busdev; + SDBus *sdbus; DriveInfo *di; BlockBackend *blk; qemu_irq pic[64]; @@ -248,24 +249,28 @@ static void zynq_init(MachineState *machine) gem_init(&nd_table[1], 0xE000C000, pic[77-IRQ_OFFSET]); =20 dev =3D qdev_create(NULL, TYPE_SYSBUS_SDHCI); + qdev_prop_set_string(dev, "sd-bus-name", "sd.0"); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xE0100000); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[56-IRQ_OFFSET]); =20 di =3D drive_get_next(IF_SD); blk =3D di ? blk_by_legacy_dinfo(di) : NULL; - carddev =3D qdev_create(qdev_get_child_bus(dev, "sd-bus"), TYPE_SD_CAR= D); + sdbus =3D (SDBus *)qdev_get_child_bus(dev, "sd.0"); + carddev =3D sdbus_create_slave_no_init(sdbus, TYPE_SD_CARD); qdev_prop_set_drive(carddev, "drive", blk, &error_fatal); object_property_set_bool(OBJECT(carddev), true, "realized", &error_fat= al); =20 dev =3D qdev_create(NULL, TYPE_SYSBUS_SDHCI); + qdev_prop_set_string(dev, "sd-bus-name", "sd.1"); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xE0101000); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[79-IRQ_OFFSET]); =20 di =3D drive_get_next(IF_SD); blk =3D di ? blk_by_legacy_dinfo(di) : NULL; - carddev =3D qdev_create(qdev_get_child_bus(dev, "sd-bus"), TYPE_SD_CAR= D); + sdbus =3D (SDBus *)qdev_get_child_bus(dev, "sd.1"); + carddev =3D sdbus_create_slave_no_init(sdbus, TYPE_SD_CARD); qdev_prop_set_drive(carddev, "drive", blk, &error_fatal); object_property_set_bool(OBJECT(carddev), true, "realized", &error_fat= al); =20 --=20 2.15.1