[PATCH v4 1/3] driver core: Add ability for arch code to setup pdev_archdata
Greg KH
greg at kroah.com
Fri Jul 8 14:22:35 EST 2011
On Thu, Jul 07, 2011 at 11:00:41PM -0500, Kumar Gala wrote:
> On some architectures we need to setup pdev_archdata before we add the
> device. Waiting til a bus_notifier is too late since we might need the
> pdev_archdata in the bus notifier. One example is setting up of dma_mask
> pointers such that it can be used in a bus_notifier.
>
> We add weak noop version of arch_setup_pdev_archdata() and allow the arch
> code to override with access the full definitions of struct device,
> struct platform_device, and struct pdev_archdata.
>
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
> v4:
> * Move to use a weak function based on comments from Greg
> v3:
> * Add more comments and add missing call to arch_setup_pdev_archdata in
> platform_device_register
> v2:
> * Added license, and comments about arch_setup_pdev_archdata()
> per Mike's comments
>
> drivers/base/platform.c | 22 ++++++++++++++++++++++
> include/linux/platform_device.h | 1 +
> 2 files changed, 23 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/base/platform.c b/drivers/base/platform.c
> index 1c291af..060686d 100644
> --- a/drivers/base/platform.c
> +++ b/drivers/base/platform.c
> @@ -32,6 +32,26 @@ struct device platform_bus = {
> EXPORT_SYMBOL_GPL(platform_bus);
>
> /**
> + * arch_setup_pdev_archdata - Allow manipulation of archdata before its used
> + * @dev: platform device
> + *
> + * This is called before platform_device_add() such that any pdev_archdata may
> + * be setup before the platform_notifier is called. So if a user needs to
> + * manipulate any relevant information in the pdev_archdata they can do:
> + *
> + * platform_devic_alloc()
> + * ... manipulate ...
> + * platform_device_add()
> + *
> + * And if they don't care they can just call platform_device_register() and
> + * everything will just work out.
> + */
> +void __weak arch_setup_pdev_archdata(struct platform_device *pdev)
> +{
> + return ;
> +}
The "return" isn't needed, nor is the extra ' ' there, right? :)
Change that and you can take this through the ppc tree and add a:
Acked-by: Greg Kroah-Hartman
to them.
thanks,
greg k-h
More information about the Linuxppc-dev
mailing list