Re: [PATCH] device core: remove redundant call to device_initialize.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 05 May 2006 17:39:08 +0200
"Paolo 'Blaisorblade' Giarrusso" <[email protected]> wrote:

> From: Paolo 'Blaisorblade' Giarrusso <[email protected]>
> 
> platform_device_add calls device_register which calls then again
> device_initialize, redundantly.
> 
> Cc: Greg Kroah-Hartman <[email protected]>
> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[email protected]>
> ---
> 
>  drivers/base/platform.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/base/platform.c b/drivers/base/platform.c
> index 83f5c59..b0d9bd4 100644
> --- a/drivers/base/platform.c
> +++ b/drivers/base/platform.c
> @@ -317,7 +317,6 @@ EXPORT_SYMBOL_GPL(platform_device_del);
>   */
>  int platform_device_register(struct platform_device * pdev)
>  {
> -	device_initialize(&pdev->dev);
>  	return platform_device_add(pdev);
>  }
>  EXPORT_SYMBOL_GPL(platform_device_register);

platform_device_add() initialises a bunch of things in pdev->dev and _then_
calls device_register(&pdev->dev) which calls device_initialize() to "init
device structure".  This happens after we've already done some
initialisation on the thing.   This is not nice.

A better design would be to rip out all the device_initialize() calls and
require that the caller run device_initialize() before "add"ing or
"register"ing the platform_device.

And indeed platform_device_alloc() already does that.  If that is
sufficient then we're in good shape.

If it is not sufficient then more thought would be needed.  We could at
least run device_initialize() at the _start_ of platform_device_add(),
rather than towards the end.

icky stuff.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux