X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fof%2Fplatform.c;h=b47bb2d7476a82e5618fc50c0772cfea9ddd46ec;hb=877c357e7511395bc923ec9efc2e8b021a17ed79;hp=864f09fd9f86f6978d1bc87710b0fe35c48669a6;hpb=d7f5e3df3574c6e38b99f5fe22f15540b2b9811d;p=linux-2.6 diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 864f09fd9f..b47bb2d747 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -12,6 +12,7 @@ * */ #include +#include #include #include #include @@ -94,3 +95,23 @@ int of_bus_type_init(struct bus_type *bus, const char *name) bus->resume = of_platform_device_resume; return bus_register(bus); } + +int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) +{ + /* initialize common driver fields */ + if (!drv->driver.name) + drv->driver.name = drv->name; + if (!drv->driver.owner) + drv->driver.owner = drv->owner; + drv->driver.bus = bus; + + /* register with core */ + return driver_register(&drv->driver); +} +EXPORT_SYMBOL(of_register_driver); + +void of_unregister_driver(struct of_platform_driver *drv) +{ + driver_unregister(&drv->driver); +} +EXPORT_SYMBOL(of_unregister_driver);