staticint rzv2m_usb3drd_probe(struct platform_device *pdev)
{ struct rzv2m_usb3drd *usb3; int ret;
usb3 = devm_kzalloc(&pdev->dev, sizeof(*usb3), GFP_KERNEL); if (!usb3) return -ENOMEM;
usb3->dev = &pdev->dev;
usb3->drd_irq = platform_get_irq_byname(pdev, "drd"); if (usb3->drd_irq < 0) return usb3->drd_irq;
usb3->reg = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(usb3->reg)) return PTR_ERR(usb3->reg);
platform_set_drvdata(pdev, usb3);
usb3->drd_rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); if (IS_ERR(usb3->drd_rstc)) return dev_err_probe(&pdev->dev, PTR_ERR(usb3->drd_rstc), "failed to get drd reset");
reset_control_deassert(usb3->drd_rstc);
pm_runtime_enable(&pdev->dev);
ret = pm_runtime_resume_and_get(usb3->dev); if (ret) goto err_rst;
ret = of_platform_populate(usb3->dev->of_node, NULL, NULL, usb3->dev); if (ret) goto err_pm;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.