lkml.org 
[lkml]   [2009]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Convert MMC subsys drivers to dev_pm_ops
On Sat, 22 Aug 2009, Marek Vasut wrote:

> Dne So 22. srpna 2009 04:44:00 Nicolas Pitre napsal(a):
> > On Sat, 22 Aug 2009, Marek Vasut wrote:
> > > Hi,
> > >
> > > This converts most of the drivers found in drivers/mmc/host to
> > > dev_pm_ops. Also, it contains some fixes for the probe/remove functions
> > > in some cases.
> >
> > Are you sure you're actually fixing things?
> >
> > You replaced platform_driver_probe() calls with
> > platform_driver_register() calls, and made the probe functions __devinit
> > instead of __init. Especially when the platform device is unlikely to
> > go away or new ones to ever appear, there is no point keeping the
> > probe code around after it is done.
>
> Yeah, the __devinit should actually remove the init function when done ... to
> my understanding. Sorry in case I'm wrong.

No it cannot, because there is normally no way if it is really done as
new device, like on a USB bus, may appear later and bind to the same
driver. So __devinit will actually discard the code only if hotplug is
disabled in the kernel config (see include/linux/init.h and
include/asm-generic/vmlinux.lds.h).

Quoting drivers/base/platform.c:

* platform_driver_probe - register driver for non-hotpluggable device
* @drv: platform driver structure
* @probe: the driver probe routine, probably from an __init section
*
* Use this instead of platform_driver_register() when you know the device
* is not hotpluggable and has already been registered, and you want to
* remove its run-once probe() infrastructure from memory after the driver
* has bound to the device.
*
* One typical use for this would be with drivers for controllers integrated
* into system-on-chip processors, where the controller devices have been
* configured as part of board setup.


Nicolas


\
 
 \ /
  Last update: 2009-08-22 05:25    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site