};
/* The parent for genpd_provider devices. */
-static struct device genpd_provider_bus = {
- .init_name = "genpd_provider",
-};
+static struct device *genpd_provider_bus;
#define GENPD_RETRY_MAX_MS 250 /* Approximate */
device_initialize(&genpd->dev);
genpd->dev.release = genpd_provider_release;
genpd->dev.bus = &genpd_provider_bus_type;
- genpd->dev.parent = &genpd_provider_bus;
+ genpd->dev.parent = genpd_provider_bus;
if (!genpd_is_dev_name_fw(genpd)) {
dev_set_name(&genpd->dev, "%s", genpd->name);
{
int ret;
- ret = device_register(&genpd_provider_bus);
- if (ret) {
- put_device(&genpd_provider_bus);
- return ret;
- }
+ genpd_provider_bus = root_device_register("genpd_provider");
+ if (IS_ERR(genpd_provider_bus))
+ return PTR_ERR(genpd_provider_bus);
ret = bus_register(&genpd_provider_bus_type);
if (ret)
err_prov_bus:
bus_unregister(&genpd_provider_bus_type);
err_dev:
- device_unregister(&genpd_provider_bus);
+ root_device_unregister(genpd_provider_bus);
return ret;
}
core_initcall(genpd_bus_init);