Re: [PATCH v1 3/4] usb: cdns3: Add CIX Sky1 glue driver
From: Philipp Zabel <p.zabel@pengutronix.de>
Date: 2026-08-31 08:57:48
Also in:
linux-arm-kernel, linux-phy, linux-usb, lkml
On Mo, 2026-08-31 at 16:23 +0800, Hongliang Yang wrote:
Add glue layer for the Cadence USBSSP DRD controller on CIX Sky1 SoCs. The glue driver handles platform-specific initialization including clocks, resets, and PHY configuration. Signed-off-by: Hongliang Yang <redacted> Reviewed-by: Gary Yang <gary.yang@cixtech.com> --- drivers/usb/cdns3/Kconfig | 13 + drivers/usb/cdns3/Makefile | 1 + drivers/usb/cdns3/cdnsp-sky1.c | 682 +++++++++++++++++++++++++++++++++ drivers/usb/cdns3/cdnsp-sky1.h | 127 ++++++ 4 files changed, 823 insertions(+) create mode 100644 drivers/usb/cdns3/cdnsp-sky1.c create mode 100644 drivers/usb/cdns3/cdnsp-sky1.h
[...]
quoted hunk ↗ jump to hunk
diff --git a/drivers/usb/cdns3/cdnsp-sky1.c b/drivers/usb/cdns3/cdnsp-sky1.c new file mode 100644 index 000000000000..3dd20451569e --- /dev/null +++ b/drivers/usb/cdns3/cdnsp-sky1.c@@ -0,0 +1,682 @@
[...]
+static int cdnsp_sky1_probe(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct device_node *node = dev->of_node;
+ struct cdnsp_sky1 *data;
+ int ret = 0;
+ struct cdns3_platform_data *cdns_sky1_pdata;
+
+ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
+ if (!data)
+ return -ENOMEM;
+ data->axi_base = devm_platform_ioremap_resource_byname(pdev, "axi_property");
+ if (IS_ERR(data->axi_base)) {
+ dev_err(dev, "can't map IOMEM resource\n");
+ return PTR_ERR(data->axi_base);
+ }
+ data->ctst_base = devm_platform_ioremap_resource_byname(pdev, "controller_status");
+ if (IS_ERR(data->ctst_base)) {
+ dev_err(dev, "can't map IOMEM resource\n");
+ return PTR_ERR(data->ctst_base);
+ }
+ data->reset = devm_reset_control_get(&pdev->dev, "usb_reset");Please use devm_reset_control_get_exclusive() directly. regards Philipp