Lines Matching refs:pdev

80 devm_platform_get_and_ioremap_resource(struct platform_device *pdev,  in devm_platform_get_and_ioremap_resource()  argument
85 r = platform_get_resource(pdev, IORESOURCE_MEM, index); in devm_platform_get_and_ioremap_resource()
88 return devm_ioremap_resource(&pdev->dev, r); in devm_platform_get_and_ioremap_resource()
103 void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev, in devm_platform_ioremap_resource() argument
106 return devm_platform_get_and_ioremap_resource(pdev, index, NULL); in devm_platform_ioremap_resource()
121 void __iomem *devm_platform_ioremap_resource_wc(struct platform_device *pdev, in devm_platform_ioremap_resource_wc() argument
126 res = platform_get_resource(pdev, IORESOURCE_MEM, index); in devm_platform_ioremap_resource_wc()
127 return devm_ioremap_resource_wc(&pdev->dev, res); in devm_platform_ioremap_resource_wc()
143 devm_platform_ioremap_resource_byname(struct platform_device *pdev, in devm_platform_ioremap_resource_byname() argument
148 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, name); in devm_platform_ioremap_resource_byname()
149 return devm_ioremap_resource(&pdev->dev, res); in devm_platform_ioremap_resource_byname()
399 struct platform_device pdev; member
407 static void setup_pdev_dma_masks(struct platform_device *pdev) in setup_pdev_dma_masks() argument
409 pdev->dev.dma_parms = &pdev->dma_parms; in setup_pdev_dma_masks()
411 if (!pdev->dev.coherent_dma_mask) in setup_pdev_dma_masks()
412 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); in setup_pdev_dma_masks()
413 if (!pdev->dev.dma_mask) { in setup_pdev_dma_masks()
414 pdev->platform_dma_mask = DMA_BIT_MASK(32); in setup_pdev_dma_masks()
415 pdev->dev.dma_mask = &pdev->platform_dma_mask; in setup_pdev_dma_masks()
426 void platform_device_put(struct platform_device *pdev) in platform_device_put() argument
428 if (!IS_ERR_OR_NULL(pdev)) in platform_device_put()
429 put_device(&pdev->dev); in platform_device_put()
436 pdev.dev); in platform_device_release()
438 of_device_node_put(&pa->pdev.dev); in platform_device_release()
439 kfree(pa->pdev.dev.platform_data); in platform_device_release()
440 kfree(pa->pdev.mfd_cell); in platform_device_release()
441 kfree(pa->pdev.resource); in platform_device_release()
442 kfree(pa->pdev.driver_override); in platform_device_release()
461 pa->pdev.name = pa->name; in platform_device_alloc()
462 pa->pdev.id = id; in platform_device_alloc()
463 device_initialize(&pa->pdev.dev); in platform_device_alloc()
464 pa->pdev.dev.release = platform_device_release; in platform_device_alloc()
465 setup_pdev_dma_masks(&pa->pdev); in platform_device_alloc()
468 return pa ? &pa->pdev : NULL; in platform_device_alloc()
482 int platform_device_add_resources(struct platform_device *pdev, in platform_device_add_resources() argument
493 kfree(pdev->resource); in platform_device_add_resources()
494 pdev->resource = r; in platform_device_add_resources()
495 pdev->num_resources = num; in platform_device_add_resources()
510 int platform_device_add_data(struct platform_device *pdev, const void *data, in platform_device_add_data() argument
521 kfree(pdev->dev.platform_data); in platform_device_add_data()
522 pdev->dev.platform_data = d; in platform_device_add_data()
536 int platform_device_add_properties(struct platform_device *pdev, in platform_device_add_properties() argument
539 return device_add_properties(&pdev->dev, properties); in platform_device_add_properties()
550 int platform_device_add(struct platform_device *pdev) in platform_device_add() argument
555 if (!pdev) in platform_device_add()
558 if (!pdev->dev.parent) in platform_device_add()
559 pdev->dev.parent = &platform_bus; in platform_device_add()
561 pdev->dev.bus = &platform_bus_type; in platform_device_add()
563 switch (pdev->id) { in platform_device_add()
565 dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id); in platform_device_add()
568 dev_set_name(&pdev->dev, "%s", pdev->name); in platform_device_add()
579 pdev->id = ret; in platform_device_add()
580 pdev->id_auto = true; in platform_device_add()
581 dev_set_name(&pdev->dev, "%s.%d.auto", pdev->name, pdev->id); in platform_device_add()
585 for (i = 0; i < pdev->num_resources; i++) { in platform_device_add()
586 struct resource *p, *r = &pdev->resource[i]; in platform_device_add()
589 r->name = dev_name(&pdev->dev); in platform_device_add()
602 dev_err(&pdev->dev, "failed to claim resource %d: %pR\n", i, r); in platform_device_add()
609 dev_name(&pdev->dev), dev_name(pdev->dev.parent)); in platform_device_add()
611 ret = device_add(&pdev->dev); in platform_device_add()
616 if (pdev->id_auto) { in platform_device_add()
617 ida_free(&platform_devid_ida, pdev->id); in platform_device_add()
618 pdev->id = PLATFORM_DEVID_AUTO; in platform_device_add()
622 struct resource *r = &pdev->resource[i]; in platform_device_add()
640 void platform_device_del(struct platform_device *pdev) in platform_device_del() argument
644 if (!IS_ERR_OR_NULL(pdev)) { in platform_device_del()
645 device_del(&pdev->dev); in platform_device_del()
647 if (pdev->id_auto) { in platform_device_del()
648 ida_free(&platform_devid_ida, pdev->id); in platform_device_del()
649 pdev->id = PLATFORM_DEVID_AUTO; in platform_device_del()
652 for (i = 0; i < pdev->num_resources; i++) { in platform_device_del()
653 struct resource *r = &pdev->resource[i]; in platform_device_del()
665 int platform_device_register(struct platform_device *pdev) in platform_device_register() argument
667 device_initialize(&pdev->dev); in platform_device_register()
668 setup_pdev_dma_masks(pdev); in platform_device_register()
669 return platform_device_add(pdev); in platform_device_register()
681 void platform_device_unregister(struct platform_device *pdev) in platform_device_unregister() argument
683 platform_device_del(pdev); in platform_device_unregister()
684 platform_device_put(pdev); in platform_device_unregister()
700 struct platform_device *pdev; in platform_device_register_full() local
702 pdev = platform_device_alloc(pdevinfo->name, pdevinfo->id); in platform_device_register_full()
703 if (!pdev) in platform_device_register_full()
706 pdev->dev.parent = pdevinfo->parent; in platform_device_register_full()
707 pdev->dev.fwnode = pdevinfo->fwnode; in platform_device_register_full()
708 pdev->dev.of_node = of_node_get(to_of_node(pdev->dev.fwnode)); in platform_device_register_full()
709 pdev->dev.of_node_reused = pdevinfo->of_node_reused; in platform_device_register_full()
712 pdev->platform_dma_mask = pdevinfo->dma_mask; in platform_device_register_full()
713 pdev->dev.dma_mask = &pdev->platform_dma_mask; in platform_device_register_full()
714 pdev->dev.coherent_dma_mask = pdevinfo->dma_mask; in platform_device_register_full()
717 ret = platform_device_add_resources(pdev, in platform_device_register_full()
722 ret = platform_device_add_data(pdev, in platform_device_register_full()
728 ret = platform_device_add_properties(pdev, in platform_device_register_full()
734 ret = platform_device_add(pdev); in platform_device_register_full()
737 ACPI_COMPANION_SET(&pdev->dev, NULL); in platform_device_register_full()
738 platform_device_put(pdev); in platform_device_register_full()
742 return pdev; in platform_device_register_full()
923 struct platform_device *pdev; in __platform_create_bundle() local
926 pdev = platform_device_alloc(driver->driver.name, -1); in __platform_create_bundle()
927 if (!pdev) { in __platform_create_bundle()
932 error = platform_device_add_resources(pdev, res, n_res); in __platform_create_bundle()
936 error = platform_device_add_data(pdev, data, size); in __platform_create_bundle()
940 error = platform_device_add(pdev); in __platform_create_bundle()
948 return pdev; in __platform_create_bundle()
951 platform_device_del(pdev); in __platform_create_bundle()
953 platform_device_put(pdev); in __platform_create_bundle()
1029 struct platform_device *pdev = to_platform_device(dev); in modalias_show() local
1040 return sysfs_emit(buf, "platform:%s\n", pdev->name); in modalias_show()
1048 struct platform_device *pdev = to_platform_device(dev); in driver_override_store() local
1064 old = pdev->driver_override; in driver_override_store()
1066 pdev->driver_override = driver_override; in driver_override_store()
1069 pdev->driver_override = NULL; in driver_override_store()
1081 struct platform_device *pdev = to_platform_device(dev); in driver_override_show() local
1085 len = sysfs_emit(buf, "%s\n", pdev->driver_override); in driver_override_show()
1126 struct platform_device *pdev = to_platform_device(dev); in platform_uevent() local
1139 pdev->name); in platform_uevent()
1145 struct platform_device *pdev) in platform_match_id() argument
1148 if (strcmp(pdev->name, id->name) == 0) { in platform_match_id()
1149 pdev->id_entry = id; in platform_match_id()
1172 struct platform_device *pdev = to_platform_device(dev); in platform_match() local
1176 if (pdev->driver_override) in platform_match()
1177 return !strcmp(pdev->driver_override, drv->name); in platform_match()
1189 return platform_match_id(pdrv->id_table, pdev) != NULL; in platform_match()
1192 return (strcmp(pdev->name, drv->name) == 0); in platform_match()
1200 struct platform_device *pdev = to_platform_device(dev); in platform_legacy_suspend() local
1204 ret = pdrv->suspend(pdev, mesg); in platform_legacy_suspend()
1212 struct platform_device *pdev = to_platform_device(dev); in platform_legacy_resume() local
1216 ret = pdrv->resume(pdev); in platform_legacy_resume()