[PATCH v4 6/6] usb: gadget: udc: crg: Add core driver and build integration

Philipp Zabel p.zabel at pengutronix.de
Fri Oct 30 02:34:15 PDT 2026


On Fr, 2026-10-30 at 01:10 -0700, Petar Stepanovic wrote:
> This patch introduces the core probe/remove functions for the Axiado
> AX3000/AX3005 UDC driver, and wires up the directory into the build
> system via Kconfig and Makefile.
> 
> Co-developed-by: Naveen Kumar Rajgiri Bassappa <rbnaveenkumar at axiado.com>
> Signed-off-by: Naveen Kumar Rajgiri Bassappa <rbnaveenkumar at axiado.com>
> Co-developed-by: Krutik Shah <krutikshah at axiado.com>
> Signed-off-by: Krutik Shah <krutikshah at axiado.com>
> Signed-off-by: Petar Stepanovic <pstepanovic at axiado.com>
> ---
>  drivers/usb/gadget/udc/Kconfig            |   2 +
>  drivers/usb/gadget/udc/Makefile           |   1 +
>  drivers/usb/gadget/udc/crg/Kconfig        |  16 +
>  drivers/usb/gadget/udc/crg/Makefile       |   9 +
>  drivers/usb/gadget/udc/crg/crg-udc-core.c | 723 ++++++++++++++++++++++++++++++
>  5 files changed, 751 insertions(+)
> 
[...]
> diff --git a/drivers/usb/gadget/udc/crg/crg-udc-core.c b/drivers/usb/gadget/udc/crg/crg-udc-core.c
> new file mode 100644
> index 000000000000..33be5c920ebe
> --- /dev/null
> +++ b/drivers/usb/gadget/udc/crg/crg-udc-core.c
> @@ -0,0 +1,723 @@
[...]
> +static int crg_udc_init_hw(struct crg_gadget_dev *crg_udc)
> +{
> +	struct device *dev = crg_udc->dev;
> +	struct reset_control *rst;
> +	int ret;
> +
> +	crg_udc->clk = devm_clk_get_optional(dev, NULL);
> +	if (IS_ERR(crg_udc->clk))
> +		return dev_err_probe(dev, PTR_ERR(crg_udc->clk),
> +				     "failed to get clock\n");
> +
> +	ret = clk_prepare_enable(crg_udc->clk);
> +	if (ret)
> +		return dev_err_probe(dev, ret, "failed to enable clock\n");
> +
> +	ret = devm_add_action_or_reset(dev, crg_udc_clk_disable, crg_udc->clk);
> +	if (ret)
> +		return ret;
> +
> +	rst =
> +		devm_reset_control_get_optional_exclusive_deasserted(dev, NULL);

This can be put on one line.

regards
Philipp



More information about the linux-arm-kernel mailing list