Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2221196/?format=api
{ "id": 2221196, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2221196/?format=api", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.0/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<177564643888.23414.7922925369077631439-2@git.sr.ht>", "date": "2026-04-07T09:43:43", "name": "[qemu,v2,2/7] ot_uart: move to new reset API", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "6702dab21aa2fe09a16400f79ba9220e88935a83", "submitter": { "id": 92675, "url": "http://patchwork.ozlabs.org/api/1.0/people/92675/?format=api", "name": "~lexbaileylowrisc", "email": "lexbaileylowrisc@git.sr.ht" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/177564643888.23414.7922925369077631439-2@git.sr.ht/mbox/", "series": [ { "id": 499197, "url": "http://patchwork.ozlabs.org/api/1.0/series/499197/?format=api", "date": "2026-04-07T14:11:43", "name": "Update opentitan uart (part of supporting opentitan version 1)", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/499197/mbox/" } ], "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2221196/checks/", "tags": {}, "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" header.d=git.sr.ht\n header.i=@git.sr.ht header.a=rsa-sha256 header.s=20240113 header.b=Po/JfeTk;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frYPL0M2yz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 05:42:28 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wAYY8-0002PX-FH; Wed, 08 Apr 2026 15:26:52 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <outgoing@sr.ht>)\n id 1wAY7Y-0007lw-HZ; Wed, 08 Apr 2026 14:59:25 -0400", "from mail-a.sr.ht ([46.23.81.152])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <outgoing@sr.ht>)\n id 1wAQmk-00035t-8n; Wed, 08 Apr 2026 07:09:29 -0400", "from git.sr.ht (unknown [46.23.81.155])\n by mail-a.sr.ht (Postfix) with ESMTPSA id 91DE9207F6;\n Wed, 08 Apr 2026 11:07:20 +0000 (UTC)" ], "DKIM-Signature": "a=rsa-sha256; bh=/Zna+JATdyWeJjMwRk+2e7Vw5Q4F0U1k4BLu0T0n7tA=;\n c=simple/simple; d=git.sr.ht;\n h=From:Date:Subject:Reply-to:In-Reply-To:To:Cc; q=dns/txt; s=20240113;\n t=1775646440; v=1;\n b=Po/JfeTkprfyID71oPOEZIf8hPrgZ2/jpBIylYfa4/epPgaNexiLSv5fdLaoi4KyyhTGMoc9\n Ffel0QsDS7GGBj1WfCq/ZcUl5V8iSaU/afv1uUPw9Nb/VDgIm8A1UYczfFAZwnmIuX7tLG8D5LT\n 5rRGhr7vrDS+w+PXh7IrYuWbSd5SHUsFSE8ByQp4tHFsQo4YUnKRkCg2X75UxncGqxpMPGGfnUr\n p2k3K6DuAEyOBGSqDYu9I9HmPPf3W0uKt/esC1WDsDnyJiSH8UTnNLPzNyztczVyghwY+ZvEAAf\n btxkrC3um3mwbY6S2yqP0EuuwtZE9LOCu/jMw2IiHS4BQ==", "From": "~lexbaileylowrisc <lexbaileylowrisc@git.sr.ht>", "Date": "Tue, 07 Apr 2026 10:43:43 +0100", "Subject": "[PATCH qemu v2 2/7] ot_uart: move to new reset API", "Message-ID": "<177564643888.23414.7922925369077631439-2@git.sr.ht>", "X-Mailer": "git.sr.ht", "In-Reply-To": "<177564643888.23414.7922925369077631439-0@git.sr.ht>", "To": "qemu-riscv@nongnu.org, Alistair Francis <Alistair.Francis@wdc.com>", "Cc": "Paolo Bonzini <pbonzini@redhat.com>,\n =?utf-8?q?Marc-Andr=C3=A9?= Lureau <marcandre.lureau@redhat.com>,\n Palmer Dabbelt <palmer@dabbelt.com>, Weiwei Li <liwei1518@gmail.com>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,\n Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,\n Chao Liu <chao.liu.zevorn@gmail.com>, qemu-devel@nongnu.org,\n Amit Kumar-Hermosillo <amitkh@google.com>, nabihestefan@google.com", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "Received-SPF": "pass client-ip=46.23.81.152; envelope-from=outgoing@sr.ht;\n helo=mail-a.sr.ht", "X-Spam_score_int": "-3", "X-Spam_score": "-0.4", "X-Spam_bar": "/", "X-Spam_report": "(-0.4 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_24_48=1.34,\n DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=no autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Reply-To": "~lexbaileylowrisc <lex.bailey@lowrisc.org>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "From: Lex Bailey <lex.bailey@lowrisc.org>\n\nswitch from legacy_reset to new ResettableClass for OpenTitan UART device\n\nSigned-off-by: Lex Bailey <lex.bailey@lowrisc.org>\n---\n hw/char/ot_uart.c | 16 +++++++++++++---\n include/hw/char/ot_uart.h | 8 +++++++-\n 2 files changed, 20 insertions(+), 4 deletions(-)", "diff": "diff --git a/hw/char/ot_uart.c b/hw/char/ot_uart.c\nindex b3eb619641..2cf0d73cf5 100644\n--- a/hw/char/ot_uart.c\n+++ b/hw/char/ot_uart.c\n@@ -227,9 +227,14 @@ static void uart_write_tx_fifo(OtUARTState *s, const uint8_t *buf,\n (s->char_tx_time * 4));\n }\n \n-static void ot_uart_reset(DeviceState *dev)\n+static void ot_uart_reset_enter(Object *obj, ResetType type)\n {\n- OtUARTState *s = OT_UART(dev);\n+ OtUARTClass *c = OT_UART_GET_CLASS(obj);\n+ OtUARTState *s = OT_UART(obj);\n+\n+ if (c->parent_phases.enter) {\n+ c->parent_phases.enter(obj, type);\n+ }\n \n s->uart_intr_state = 0x00000000;\n s->uart_intr_state = 0x00000000;\n@@ -545,11 +550,15 @@ static void ot_uart_class_init(ObjectClass *klass, const void *data)\n {\n DeviceClass *dc = DEVICE_CLASS(klass);\n \n- device_class_set_legacy_reset(dc, ot_uart_reset);\n dc->realize = ot_uart_realize;\n dc->vmsd = &vmstate_ot_uart;\n device_class_set_props(dc, ot_uart_properties);\n set_bit(DEVICE_CATEGORY_INPUT, dc->categories);\n+\n+ ResettableClass *rc = RESETTABLE_CLASS(klass);\n+ OtUARTClass *uc = OT_UART_CLASS(klass);\n+ resettable_class_set_parent_phases(rc, &ot_uart_reset_enter, NULL, NULL,\n+ &uc->parent_phases);\n }\n \n static const TypeInfo ot_uart_info = {\n@@ -557,6 +566,7 @@ static const TypeInfo ot_uart_info = {\n .parent = TYPE_SYS_BUS_DEVICE,\n .instance_size = sizeof(OtUARTState),\n .instance_init = ot_uart_init,\n+ .class_size = sizeof(OtUARTClass),\n .class_init = ot_uart_class_init,\n };\n \ndiff --git a/include/hw/char/ot_uart.h b/include/hw/char/ot_uart.h\nindex 517324b65d..fee2128f90 100644\n--- a/include/hw/char/ot_uart.h\n+++ b/include/hw/char/ot_uart.h\n@@ -34,7 +34,7 @@\n #define OT_UART_CLOCK 50000000 /* 50MHz clock */\n \n #define TYPE_OT_UART \"ot-uart\"\n-OBJECT_DECLARE_SIMPLE_TYPE(OtUARTState, OT_UART)\n+OBJECT_DECLARE_TYPE(OtUARTState, OtUARTClass, OT_UART)\n \n struct OtUARTState {\n /* <private> */\n@@ -70,4 +70,10 @@ struct OtUARTState {\n qemu_irq tx_empty;\n qemu_irq rx_overflow;\n };\n+\n+struct OtUARTClass {\n+ SysBusDeviceClass parent_class;\n+ ResettablePhases parent_phases;\n+};\n+\n #endif /* HW_OT_UART_H */\n", "prefixes": [ "qemu", "v2", "2/7" ] }