Lines Matching refs:pdev
87 static int imx_weim_gpr_setup(struct platform_device *pdev)
89 struct device_node *np = pdev->dev.of_node;
106 dev_dbg(&pdev->dev, "failed to find weim-cs-gpr\n");
132 dev_err(&pdev->dev, "Invalid 'ranges' configuration\n");
203 static int weim_parse_dt(struct platform_device *pdev)
206 &pdev->dev);
215 ret = imx_weim_gpr_setup(pdev);
220 priv = dev_get_drvdata(&pdev->dev);
223 if (of_property_read_bool(pdev->dev.of_node, "fsl,burst-clk-enable")) {
228 if (of_property_read_bool(pdev->dev.of_node,
233 dev_err(&pdev->dev,
241 dev_err(&pdev->dev, "burst clk mode not supported.\n");
246 for_each_available_child_of_node(pdev->dev.of_node, child) {
247 ret = weim_timing_setup(&pdev->dev, child, devtype);
249 dev_warn(&pdev->dev, "%pOF set timing failed.\n",
256 ret = of_platform_default_populate(pdev->dev.of_node,
257 NULL, &pdev->dev);
259 dev_err(&pdev->dev, "%pOF fail to create devices.\n",
260 pdev->dev.of_node);
264 static int weim_probe(struct platform_device *pdev)
271 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
276 base = devm_platform_ioremap_resource(pdev, 0);
281 dev_set_drvdata(&pdev->dev, priv);
284 clk = devm_clk_get(&pdev->dev, NULL);
293 ret = weim_parse_dt(pdev);
297 dev_info(&pdev->dev, "Driver registered.\n");
309 struct platform_device *pdev;
320 pdev = of_find_device_by_node(rd->dn->parent);
321 if (!pdev) {
328 if (weim_timing_setup(&pdev->dev, rd->dn, devtype))
329 dev_warn(&pdev->dev,
339 if (!of_platform_device_create(rd->dn, NULL, &pdev->dev)) {
340 dev_err(&pdev->dev,
347 platform_device_put(pdev);
358 pdev = of_find_device_by_node(rd->dn);
359 if (!pdev) {
365 of_platform_device_destroy(&pdev->dev, NULL);
366 platform_device_put(pdev);