Re: [PATCH] move stk17ta8's probe function to .devinit.text

From: Jiri Kosina
Date: Thu Aug 13 2009 - 05:59:38 EST


On Sat, 11 Jul 2009, Uwe Kleine-KÃnig wrote:

> A pointer to stk17ta8_rtc_probe is passed to the core via
> platform_driver_register and so the function must not disappear when the
> .init sections are discarded. Otherwise (if also having HOTPLUG=y)
> unbinding and binding a device to the driver via sysfs will result in an
> oops as does a device being registered late.
>
> An alternative to this patch is using platform_driver_probe instead of
> platform_driver_register plus removing the pointer to the probe function
> from the struct platform_driver.
>
> Signed-off-by: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
> Cc: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
> Cc: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Paul Mundt <lethal@xxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Hannes Eder <hannes@xxxxxxxxxxxxxx>
> Cc: Jiri Kosina <jkosina@xxxxxxx>
> Cc: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/rtc/rtc-stk17ta8.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
> index 7d1547b..d491eb2 100644
> --- a/drivers/rtc/rtc-stk17ta8.c
> +++ b/drivers/rtc/rtc-stk17ta8.c
> @@ -286,7 +286,7 @@ static struct bin_attribute stk17ta8_nvram_attr = {
> .write = stk17ta8_nvram_write,
> };
>
> -static int __init stk17ta8_rtc_probe(struct platform_device *pdev)
> +static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
> {
> struct rtc_device *rtc;
> struct resource *res;

Has this been picked up by anyone? I don't seem to see it in linux-next as
of today.

--
Jiri Kosina
SUSE Labs