Re: [PATCH v4 1/3] driver core: Add ability for arch code to setup pdev_archdata
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 ga...@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 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v4 1/3] driver core: Add ability for arch code to setup pdev_archdata
On Jul 7, 2011, at 11:22 PM, Greg KH wrote: 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 ga...@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? :) yep, removed the ';' as well ;) Change that and you can take this through the ppc tree and add a: Acked-by: Greg Kroah-Hartman to them. Ack added to all. thanks - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev