{"id":2223754,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2223754/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20260416070330.3006528-3-varadarajan.narayanan@oss.qualcomm.com/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.1/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260416070330.3006528-3-varadarajan.narayanan@oss.qualcomm.com>","date":"2026-04-16T07:03:27","name":"[v7,2/5] drivers: sysreset: Add sysreset op that can take arguments","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"f994dc74b633d7ca91fa97b8fded301a0851b84b","submitter":{"id":92283,"url":"http://patchwork.ozlabs.org/api/1.1/people/92283/?format=json","name":"Varadarajan Narayanan","email":"varadarajan.narayanan@oss.qualcomm.com"},"delegate":{"id":151538,"url":"http://patchwork.ozlabs.org/api/1.1/users/151538/?format=json","username":"kcxt","first_name":"Casey","last_name":"Connolly","email":"casey.connolly@linaro.org"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260416070330.3006528-3-varadarajan.narayanan@oss.qualcomm.com/mbox/","series":[{"id":500084,"url":"http://patchwork.ozlabs.org/api/1.1/series/500084/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=500084","date":"2026-04-16T07:03:25","name":"Implement reset to EDL for qcs9100","version":7,"mbox":"http://patchwork.ozlabs.org/series/500084/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223754/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223754/checks/","tags":{},"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=odKrACGg;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=TZdu8XeF;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=oss.qualcomm.com","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"odKrACGg\";\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"TZdu8XeF\";\n\tdkim-atps=neutral","phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=oss.qualcomm.com","phobos.denx.de; spf=pass\n smtp.mailfrom=varadarajan.narayanan@oss.qualcomm.com"],"Received":["from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fx8Bf4Tjlz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 17:04:10 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id E3360841D5;\n\tThu, 16 Apr 2026 09:04:00 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 6E40F841D5; Thu, 16 Apr 2026 09:03:59 +0200 (CEST)","from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 20A4A84214\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 09:03:56 +0200 (CEST)","from pps.filterd (m0279867.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63G0MFvp3733590\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 07:03:55 GMT","from mail-pl1-f199.google.com (mail-pl1-f199.google.com\n [209.85.214.199])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4djcqwjuf5-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 07:03:55 +0000 (GMT)","by mail-pl1-f199.google.com with SMTP id\n d9443c01a7336-2b4654f9bb6so43953965ad.2\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 00:03:55 -0700 (PDT)","from hu-varada-blr.qualcomm.com\n (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b4782b1174sm54195255ad.70.2026.04.16.00.03.49\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 16 Apr 2026 00:03:53 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=qcppdkim1; bh=NGHZ+i8DbOI\n kCHzNej2dba/IbQnRoOUzhKXfoGV4A6Y=; b=odKrACGg0S4KdsOLTaQaIHhn9Fg\n 29nwmzvonWYP/cT3jmPYVVnog9ktQZ7DcTm0RbintSgnMBvQKxB3hD5+z0qNSaEl\n m1S2Ws5kkMIwgKTvJCVr7S5bfNCeFmu7Dk8kB4kSjtExT3FCRiXtLnan5Ju7fj68\n YltYRgwo0kgertnaycyu9/CuNqJyeACdpozImlsOBPVcdiX7DSCo+9oM+OKK/4C9\n Wnhhx6ka9Q6sERDOt08FcGv1487jPGUxO+pR/cHo2V8AzeihHM28Fsr048cf4tUB\n LpA581Q9WcxIfhrkv0Y0orfUOUIxkeA4qfm6nokhxyl6jkmbEF7azTYHByA==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1776323035; x=1776927835; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=NGHZ+i8DbOIkCHzNej2dba/IbQnRoOUzhKXfoGV4A6Y=;\n b=TZdu8XeFhnpL5aMPOrXBu/do9WForYkK2k9SId1O+p3a5OM7OMLdHjsWUQrRENjFGT\n REzwE4hFXygUPRdr8RhrOVhP2zWOqFAgZrn4ifNLNDaCa/FuP71IYn3SZZKUU3exCAbz\n wrnC1X9Eivt+Ci1mWYKal3J0SCxvChGuHXAaie+shzucH/wTT3hvFb+/dMeog4DyuLCF\n IYcrqFZXSQF6mA/SWnH34mecoCVZktDvgPwTC7e/iAHQ/mwY7+LXIvkSppR53muS55Fc\n 9jv/pyW9Z0gSOQXPW5PUhPKZ3ildGZQ8Jjw2Aq/I8m+7J67evjJAS1tMvbX9zneb1rBG\n +XYw=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776323035; x=1776927835;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=NGHZ+i8DbOIkCHzNej2dba/IbQnRoOUzhKXfoGV4A6Y=;\n b=k3T7yLkOTHefxpgPGGtB4pNPfhhHDWMg2JWICiYMgGyNwHdZ32rBVU+S/9+F7k7X++\n biakbb5gKBxX62wxBRAxJJwFw7kF6XJvUdJ7vaWnA4NR9W2WeQCcY7OoPO+iX9RPHVGs\n 0ApJS6C+QrrGD/DFLZH4BoFCd8n1q0F5WSxU2Rr7nGFPnbisuqZig/5U4ggzqRQzQycS\n hYtngZcySfTeiDsejU/5P8vQMzBLw4SHf8Pzc31ERIjCDLuTkEOzWc8yJLdlIpJReqPy\n vGYZOdCUlRQ0pFT+h3a6ezf960j/AVPYMe/p9fkzAp+arxy+LWKWMXa/RbyVwgf9lJCU\n 9d8g==","X-Forwarded-Encrypted":"i=1;\n AFNElJ9zXsdvx0T0WtwQFEl2tA4Fo/lqgwG88X6WuaTyIhok7SbAiUq/7Mr+oBC8qHhvGG234yGAhNg=@lists.denx.de","X-Gm-Message-State":"AOJu0Yw0qa7YZDV5q1zK3SpcHBlVZfI3jgR8xe5H7qQiCPaVw+N5YW3z\n lc0k0kNxT1tqZkX5WRZqcJj1bsCvsHNETfDpjr56X38E4Dt2fZytdcY96Yde/qv9J+euXVji8+6\n ebFBUawiKqGjngbiO5fhApigtWs9QWQDd5StwAQH9i19jRJkgn4PY3jg0","X-Gm-Gg":"AeBDies+yPK7/S0WR99qld+KuEuKg/BoAPEKBamWxQPXFkZDjuhPU1T+xw+jIx4uYh9\n W5IWnUBxCmPEIPkvCTFBoQXM431FuO8h2P2C5Z0Wd74sxHhkNUHfLVYpS87c74BqJL+6oEYso61\n l+XXsqEqs2nHU2W2OvGE3orQ9DipR6thQlDHNrzKznhzorymVBw/iiOIk5gFTiq3osvX34YNtBo\n 7dJ517CpvNiitGfBstDTOUXa7tR8zx/ZkLwNHb1P9BC3QlnEHPWWFZf6yRkfOAvSWllV1RBC3oJ\n StWl0OJdkm2y4K/8zFt9RjN1plZ5s6vVQ0ko3c1+U9XeDEq3xmkTdH7GPkMACmpd5eMp2+E+u8X\n +j8NbNGcEBAbbyiem6StB4JB9R0OmOBqYOcWYmjOmnF07nUy2nLsUvEl2oihDECXrxLsk8GYNny\n AJ7kUi6+ld/e6xUE8KFzmCQxClNjBZ3dm4+tCFcXlVPfs9VwH44Ck=","X-Received":["by 2002:a17:902:7003:b0:2b2:5258:a23d with SMTP id\n d9443c01a7336-2b2d59808d0mr177952625ad.14.1776323034502;\n Thu, 16 Apr 2026 00:03:54 -0700 (PDT)","by 2002:a17:902:7003:b0:2b2:5258:a23d with SMTP id\n d9443c01a7336-2b2d59808d0mr177952195ad.14.1776323033893;\n Thu, 16 Apr 2026 00:03:53 -0700 (PDT)"],"From":"Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>","To":"trini@konsulko.com, casey.connolly@linaro.org, neil.armstrong@linaro.org,\n sumit.garg@kernel.org, varadarajan.narayanan@oss.qualcomm.com,\n marek.vasut+renesas@mailbox.org, aswin.murugan@oss.qualcomm.com,\n simon.glass@canonical.com, tien.fong.chee@altera.com,\n michal.simek@amd.com, visitorckw@gmail.com, clamor95@gmail.com,\n u-boot@lists.denx.de, u-boot-qcom@groups.io","Cc":"Sumit Garg <sumit.garg@oss.qualcomm.com>","Subject":"[PATCH v7 2/5] drivers: sysreset: Add sysreset op that can take\n arguments","Date":"Thu, 16 Apr 2026 12:33:27 +0530","Message-Id":"<20260416070330.3006528-3-varadarajan.narayanan@oss.qualcomm.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260416070330.3006528-1-varadarajan.narayanan@oss.qualcomm.com>","References":"<20260416070330.3006528-1-varadarajan.narayanan@oss.qualcomm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Proofpoint-ORIG-GUID":"0Dc3XW2RI9hvo9Tz91RwFpyVy9WTXiTM","X-Proofpoint-GUID":"0Dc3XW2RI9hvo9Tz91RwFpyVy9WTXiTM","X-Authority-Analysis":"v=2.4 cv=XOIAjwhE c=1 sm=1 tr=0 ts=69e089db cx=c_pps\n a=JL+w9abYAAE89/QcEU+0QA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17\n a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8\n a=EUspDBNiAAAA:8 a=k-42gJp3AAAA:8 a=k2bqWL-eJF5qEUxKWYMA:9\n a=324X-CrmTo6CU4MGRt3R:22 a=cvBusfyB2V15izCimMoJ:22 a=uCSXFHLys93vLW5PjgO_:22","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDE2MDA2NCBTYWx0ZWRfX2KHgezZgT18H\n GtTP+u9eoH6HJSJ0o4mhyxmRs2VRHxhQygvdENj2GvCo18Y3UHr6Uoxb4038p8vx8DBltzESabx\n EMBGupV0DeyM+9CIn2LegB1UVdnsJvj6XxSB2TybNo7KRx04xdPUSD198f+H97UWnVCVsycC3Ih\n 7lpjLZmuOOEoxq+StNq1s/M39JjiiTc2kwywh7mqEevY8kbTpXj70YOL6O76UHQIHcRsFuCVxMF\n zAFwGrsqAMvLx0a3cypny49C3y9KrBbO15C4t7PbqgdXLLpUb3MOLP5rvqZqJb+R7zmPhDcqEjq\n PMbla97NAVJJVuseI7yUWxxuys4ZpTYrVitVHLOGXtzfp4UuaDzl1gejZVHF5XjCA4CozGJ5LPd\n O97BxYGE27k22W0bzE7lfOCxJuLLEn3DBH92xwscj6xR6k7qhCDtVMGG+mnkw/5iwIgqEh8yes3\n XHhW2NTBSfRJztVMWPg==","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-16_02,2026-04-13_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 adultscore=0 suspectscore=0 spamscore=0 malwarescore=0\n bulkscore=0 impostorscore=0 phishscore=0 clxscore=1015 lowpriorityscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604160064","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"Add a 'request_arg' op to struct sysreset_ops to enable sysreset drivers\nto receive arguments given to the 'reset' command. Process the\nrequest_arg() op before the usual request() op.\n\nReviewed-by: Casey Connolly <casey.connolly@linaro.org>\nReviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>\nReviewed-by: Tom Rini <trini@konsulko.com>\nSigned-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>\n---\n drivers/sysreset/Kconfig           |  8 +++++++\n drivers/sysreset/sysreset-uclass.c | 37 ++++++++++++++++++++++++++++++\n include/sysreset.h                 | 18 +++++++++++++++\n 3 files changed, 63 insertions(+)","diff":"diff --git a/drivers/sysreset/Kconfig b/drivers/sysreset/Kconfig\nindex 16ef434a8d9..f589ad15418 100644\n--- a/drivers/sysreset/Kconfig\n+++ b/drivers/sysreset/Kconfig\n@@ -49,6 +49,14 @@ config SYSRESET_CMD_RESET\n \thelp\n \t  Enable sysreset implementation of the reset command.\n \n+config SYSRESET_CMD_RESET_ARGS\n+\tbool \"Enable reset command to take arguments\"\n+\thelp\n+\t  Pass on the arguments received by the 'reset' command to the\n+\t  sysreset driver(s). The sysreset driver(s) may make use of the\n+\t  additional arguments for implementing arch/board specific\n+\t  functionality.\n+\n if CMD_POWEROFF\n \n config SYSRESET_CMD_POWEROFF\ndiff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c\nindex 536ac727142..f25e09e9cd0 100644\n--- a/drivers/sysreset/sysreset-uclass.c\n+++ b/drivers/sysreset/sysreset-uclass.c\n@@ -32,6 +32,18 @@ int sysreset_request(struct udevice *dev, enum sysreset_t type)\n \treturn ops->request(dev, type);\n }\n \n+#if IS_ENABLED(CONFIG_SYSRESET_CMD_RESET_ARGS)\n+int sysreset_request_arg(struct udevice *dev, int argc, char * const argv[])\n+{\n+\tstruct sysreset_ops *ops = sysreset_get_ops(dev);\n+\n+\tif (!ops->request_arg)\n+\t\treturn -ENOSYS;\n+\n+\treturn ops->request_arg(dev, argc, argv);\n+}\n+#endif /* CONFIG_SYSRESET_CMD_RESET_ARGS */\n+\n int sysreset_get_status(struct udevice *dev, char *buf, int size)\n {\n \tstruct sysreset_ops *ops = sysreset_get_ops(dev);\n@@ -71,6 +83,26 @@ int sysreset_walk(enum sysreset_t type)\n \treturn ret;\n }\n \n+#if IS_ENABLED(CONFIG_SYSRESET_CMD_RESET_ARGS)\n+int sysreset_walk_arg(int argc, char * const argv[])\n+{\n+\tstruct udevice *dev;\n+\tint ret = -ENOSYS;\n+\n+\twhile (ret != -EINPROGRESS && ret != -EPROTONOSUPPORT) {\n+\t\tfor (uclass_first_device(UCLASS_SYSRESET, &dev);\n+\t\t     dev;\n+\t\t     uclass_next_device(&dev)) {\n+\t\t\tret = sysreset_request_arg(dev, argc, argv);\n+\t\t\tif (ret == -EINPROGRESS || ret == -EPROTONOSUPPORT)\n+\t\t\t\tbreak;\n+\t\t}\n+\t}\n+\n+\treturn ret;\n+}\n+#endif /* CONFIG_SYSRESET_CMD_RESET_ARGS */\n+\n int sysreset_get_last_walk(void)\n {\n \tstruct udevice *dev;\n@@ -132,6 +164,11 @@ int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])\n \tprintf(\"resetting ...\\n\");\n \tmdelay(100);\n \n+#if IS_ENABLED(CONFIG_SYSRESET_CMD_RESET_ARGS)\n+\tif (argc > 1 && sysreset_walk_arg(argc, argv) == -EINPROGRESS)\n+\t\treturn 0;\n+#endif\n+\n \tsysreset_walk_halt(reset_type);\n \n \treturn 0;\ndiff --git a/include/sysreset.h b/include/sysreset.h\nindex ff20abdeed3..d1cc9ebc542 100644\n--- a/include/sysreset.h\n+++ b/include/sysreset.h\n@@ -43,6 +43,24 @@ struct sysreset_ops {\n \t * (in which case this method will not actually return)\n \t */\n \tint (*request)(struct udevice *dev, enum sysreset_t type);\n+\n+\t/**\n+\t * @request_arg: Reset handler implementations that might need to process\n+\t *\t\t arguments given to the 'reset' command.\n+\t *\n+\t * Note that this function may return before the reset takes effect.\n+\t *\n+\t * @dev:\tDevice to be used for system reset\n+\t * @argc:\tNo. of items in @argv\n+\t * @argv:\tArguments given to 'reset' command\n+\t * Return:\n+\t * -EINPROGRESS\t\tif the reset has started and will complete soon\n+\t * -EPROTONOSUPPORT\tif not supported by this device\n+\t * 0\t\t\tif the reset has already happened\n+\t * (in which case this method will not actually return)\n+\t */\n+\tint (*request_arg)(struct udevice *dev, int argc, char * const argv[]);\n+\n \t/**\n \t * @get_status:\tget printable reset status information\n \t *\n","prefixes":["v7","2/5"]}