mirror of https://gitee.com/openkylin/linux.git
[SPARC/64]: Consolidate of_register_driver
Also of_unregister_driver. These will be shortly also used by the PowerPC code. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7b96dc023a
commit
5c45708352
|
@ -585,24 +585,6 @@ static int __init of_debug(char *str)
|
|||
|
||||
__setup("of_debug=", of_debug);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
void of_unregister_driver(struct of_platform_driver *drv)
|
||||
{
|
||||
driver_unregister(&drv->driver);
|
||||
}
|
||||
|
||||
struct of_device* of_platform_device_create(struct device_node *np,
|
||||
const char *bus_id,
|
||||
struct device *parent,
|
||||
|
@ -628,6 +610,4 @@ struct of_device* of_platform_device_create(struct device_node *np,
|
|||
return dev;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(of_register_driver);
|
||||
EXPORT_SYMBOL(of_unregister_driver);
|
||||
EXPORT_SYMBOL(of_platform_device_create);
|
||||
|
|
|
@ -869,26 +869,6 @@ static int __init of_debug(char *str)
|
|||
|
||||
__setup("of_debug=", of_debug);
|
||||
|
||||
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);
|
||||
|
||||
struct of_device* of_platform_device_create(struct device_node *np,
|
||||
const char *bus_id,
|
||||
struct device *parent,
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
*
|
||||
*/
|
||||
#include <linux/errno.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
@ -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);
|
||||
|
|
|
@ -18,12 +18,9 @@
|
|||
|
||||
extern struct bus_type ebus_bus_type;
|
||||
extern struct bus_type sbus_bus_type;
|
||||
extern struct bus_type of_platform_bus_type;
|
||||
|
||||
#define of_bus_type of_platform_bus_type /* for compatibility */
|
||||
|
||||
extern int of_register_driver(struct of_platform_driver *drv,
|
||||
struct bus_type *bus);
|
||||
extern void of_unregister_driver(struct of_platform_driver *drv);
|
||||
extern struct of_device *of_platform_device_create(struct device_node *np,
|
||||
const char *bus_id,
|
||||
struct device *parent,
|
||||
|
|
|
@ -19,12 +19,9 @@
|
|||
extern struct bus_type isa_bus_type;
|
||||
extern struct bus_type ebus_bus_type;
|
||||
extern struct bus_type sbus_bus_type;
|
||||
extern struct bus_type of_platform_bus_type;
|
||||
|
||||
#define of_bus_type of_platform_bus_type /* for compatibility */
|
||||
|
||||
extern int of_register_driver(struct of_platform_driver *drv,
|
||||
struct bus_type *bus);
|
||||
extern void of_unregister_driver(struct of_platform_driver *drv);
|
||||
extern struct of_device *of_platform_device_create(struct device_node *np,
|
||||
const char *bus_id,
|
||||
struct device *parent,
|
||||
|
|
|
@ -48,6 +48,10 @@ struct of_platform_driver
|
|||
#define to_of_platform_driver(drv) \
|
||||
container_of(drv,struct of_platform_driver, driver)
|
||||
|
||||
extern int of_register_driver(struct of_platform_driver *drv,
|
||||
struct bus_type *bus);
|
||||
extern void of_unregister_driver(struct of_platform_driver *drv);
|
||||
|
||||
#include <asm/of_platform.h>
|
||||
|
||||
extern struct of_device *of_find_device_by_node(struct device_node *np);
|
||||
|
|
Loading…
Reference in New Issue