From fcb48b89813b14f38b31b86b4a6ace376bd86d8b Mon Sep 17 00:00:00 2001 From: Varadarajan Narayanan Date: Wed, 21 Jan 2026 12:09:17 +0530 Subject: drivers: sysreset: Add sysreset op that can take arguments Add a 'request_arg' op to struct sysreset_ops to enable sysreset drivers to receive arguments given to the 'reset' command. Process the request_arg() op before the usual request() op. Reviewed-by: Casey Connolly Reviewed-by: Sumit Garg Signed-off-by: Varadarajan Narayanan Reviewed-by: Tom Rini Link: https://patch.msgid.link/20260121063920.1500293-3-varadarajan.narayanan@oss.qualcomm.com Signed-off-by: Casey Connolly --- include/sysreset.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include') diff --git a/include/sysreset.h b/include/sysreset.h index ff20abdeed3..d1cc9ebc542 100644 --- a/include/sysreset.h +++ b/include/sysreset.h @@ -43,6 +43,24 @@ struct sysreset_ops { * (in which case this method will not actually return) */ int (*request)(struct udevice *dev, enum sysreset_t type); + + /** + * @request_arg: Reset handler implementations that might need to process + * arguments given to the 'reset' command. + * + * Note that this function may return before the reset takes effect. + * + * @dev: Device to be used for system reset + * @argc: No. of items in @argv + * @argv: Arguments given to 'reset' command + * Return: + * -EINPROGRESS if the reset has started and will complete soon + * -EPROTONOSUPPORT if not supported by this device + * 0 if the reset has already happened + * (in which case this method will not actually return) + */ + int (*request_arg)(struct udevice *dev, int argc, char * const argv[]); + /** * @get_status: get printable reset status information * -- cgit v1.2.3