|
@@ -580,9 +580,10 @@ void platform_driver_unregister(struct platform_driver *drv)
|
|
|
EXPORT_SYMBOL_GPL(platform_driver_unregister);
|
|
|
|
|
|
/**
|
|
|
- * platform_driver_probe - register driver for non-hotpluggable device
|
|
|
+ * __platform_driver_probe - register driver for non-hotpluggable device
|
|
|
* @drv: platform driver structure
|
|
|
* @probe: the driver probe routine, probably from an __init section
|
|
|
+ * @module: module which will be the owner of the driver
|
|
|
*
|
|
|
* Use this instead of platform_driver_register() when you know the device
|
|
|
* is not hotpluggable and has already been registered, and you want to
|
|
@@ -598,8 +599,8 @@ EXPORT_SYMBOL_GPL(platform_driver_unregister);
|
|
|
* Returns zero if the driver registered and bound to a device, else returns
|
|
|
* a negative error code and with the driver not registered.
|
|
|
*/
|
|
|
-int __init_or_module platform_driver_probe(struct platform_driver *drv,
|
|
|
- int (*probe)(struct platform_device *))
|
|
|
+int __init_or_module __platform_driver_probe(struct platform_driver *drv,
|
|
|
+ int (*probe)(struct platform_device *), struct module *module)
|
|
|
{
|
|
|
int retval, code;
|
|
|
|
|
@@ -614,7 +615,7 @@ int __init_or_module platform_driver_probe(struct platform_driver *drv,
|
|
|
|
|
|
/* temporary section violation during probe() */
|
|
|
drv->probe = probe;
|
|
|
- retval = code = platform_driver_register(drv);
|
|
|
+ retval = code = __platform_driver_register(drv, module);
|
|
|
|
|
|
/*
|
|
|
* Fixup that section violation, being paranoid about code scanning
|
|
@@ -633,7 +634,7 @@ int __init_or_module platform_driver_probe(struct platform_driver *drv,
|
|
|
platform_driver_unregister(drv);
|
|
|
return retval;
|
|
|
}
|
|
|
-EXPORT_SYMBOL_GPL(platform_driver_probe);
|
|
|
+EXPORT_SYMBOL_GPL(__platform_driver_probe);
|
|
|
|
|
|
/**
|
|
|
* platform_create_bundle - register driver and create corresponding device
|