[PATCH 3/5] usb: dwc3: glue: Add documentation
Thinh Nguyen
Thinh.Nguyen at synopsys.com
Tue Oct 14 16:13:27 PDT 2025
On Mon, Oct 13, 2025, Sven Peter wrote:
> We're about to add more exported functions to be used inside glue
> driver which will need more detailed documentation explaining how
> they must be used. Let's also add documentation for the functions
> already available.
>
> Signed-off-by: Sven Peter <sven at kernel.org>
> ---
> drivers/usb/dwc3/glue.h | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/drivers/usb/dwc3/glue.h b/drivers/usb/dwc3/glue.h
> index 2efd00e763be4fc51911f32d43054059e61fb43a..7f326cff12458901904d4c32f62ed9357d0f6e3b 100644
> --- a/drivers/usb/dwc3/glue.h
> +++ b/drivers/usb/dwc3/glue.h
> @@ -22,9 +22,36 @@ struct dwc3_probe_data {
> bool ignore_clocks_and_resets;
> };
>
> +/**
> + * dwc3_core_probe - Initialize the core dwc3 driver
> + * @data: Initialization and configuration parameters for the controller
> + *
> + * Initializes the DesignWare USB3 core driver by setting up resources,
> + * registering interrupts, performing hardware setup, and preparing
> + * the controller for operation in the appropriate mode (host, gadget,
> + * or OTG). This is the main initialization function called by glue
> + * layer drivers to set up the core controller.
> + *
> + * Return: 0 on success, negative error code on failure
> + */
> int dwc3_core_probe(const struct dwc3_probe_data *data);
> +
> +/**
> + * dwc3_core_remove - Deinitialize and remove the core dwc3 driver
> + * @dwc: Pointer to DWC3 controller context
> + *
> + * Cleans up resources and disables the dwc3 core driver. This should be called
> + * during driver removal or when the glue layer needs to shut down the
> + * controller completely.
> + */
> void dwc3_core_remove(struct dwc3 *dwc);
>
> +/*
> + * The following callbacks are provided for glue drivers to call from their
> + * own pm callbacks provided in struct dev_pm_ops. Glue drivers can perform
> + * platform-specific work before or after calling these functions and delegate
> + * the core suspend/resume operations to the core driver.
> + */
> int dwc3_runtime_suspend(struct dwc3 *dwc);
> int dwc3_runtime_resume(struct dwc3 *dwc);
> int dwc3_runtime_idle(struct dwc3 *dwc);
>
> --
> 2.34.1
>
>
Acked-by: Thinh Nguyen <Thinh.Nguyen at synopsys.com>
Thanks!
Thinh
More information about the linux-arm-kernel
mailing list