On Wed, Jun 26, 2013 at 05:00:34PM +0200, Sylwester Nawrocki wrote: > Hi, > > On 06/25/2013 05:06 PM, Felipe Balbi wrote: > >> +static struct platform_driver exynos_video_phy_driver = { > >> > + .probe = exynos_video_phy_probe, > > > > you *must* provide a remove method. drivers with NULL remove are > > non-removable :-) > > Actually the remove() callback can be NULL, it's just missing module_exit > function that makes a module not unloadable. look at the implementation of platform_drv_remove(): 499 static int platform_drv_remove(struct device *_dev) 500 { 501 struct platform_driver *drv = to_platform_driver(_dev->driver); 502 struct platform_device *dev = to_platform_device(_dev); 503 int ret; 504 505 ret = drv->remove(dev); 506 if (ACPI_HANDLE(_dev)) 507 acpi_dev_pm_detach(_dev, true); 508 509 return ret; 510 } that's not a conditional call right :-) -- balbi
Attachment:
signature.asc
Description: Digital signature