linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Re: [PATCH] of: provide of_platform_unpopulate()
@ 2013-07-22  8:37 NAVEEN KRISHNA CHATRADHI
  0 siblings, 0 replies; only message in thread
From: NAVEEN KRISHNA CHATRADHI @ 2013-07-22  8:37 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: Rob Herring, Grant Likely, linux-omap, linux-samsung-soc,
	devicetree-discuss, linux-kernel, Tony Lindgren, Doug Anderson,
	Vivek Gautam, Kukjin Kim, Kishon Vijay Abraham I, Roger Quadros,
	George Cherian, Felipe Balbi

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=windows-1252, Size: 1982 bytes --]

Hello Sebastian,

------- Original Message -------
Sender : Sebastian Andrzej Siewior<bigeasy@linutronix.de> 
Date   : Jul 22, 2013 13:55 (GMT+05:30)
Title  : Re: [PATCH] of: provide of_platform_unpopulate()

On 07/20/2013 07:42 AM, NAVEEN KRISHNA CHATRADHI wrote:
> Hello Sebastian,

Hello Naveen,

> 
> I just did one more testing.
> 
> In case of iio/adc/exynos_adc.c there is a bug in the remove path.
> If I fix the bug in the driver, with below patch
> 
> --- a/drivers/iio/adc/exynos_adc.c
> +++ b/drivers/iio/adc/exynos_adc.c
> @@ -375,14 +375,14 @@ static int exynos_adc_remove(struct platform_device *pdev)
>         struct iio_dev *indio_dev = platform_get_drvdata(pdev);
>         struct exynos_adc *info = iio_priv(indio_dev);
> 
> -       device_for_each_child(&pdev->dev, NULL,
> -                               exynos_adc_remove_devices);
>         regulator_disable(info->vdd);
>         clk_disable_unprepare(info->clk);
>         writel(0, info->enable_reg);
>         iio_device_unregister(indio_dev);
>         free_irq(info->irq, info);
>         iio_device_free(indio_dev);
> +       device_for_each_child(&pdev->dev, NULL,
> +                               exynos_adc_remove_devices);
> 
> Even without your fix, I could configure it as a module and the rmmod, insmod are working fine. (no crash)

I have no idea why you moved it. I haven't found any .dts with this
  regulator_disable(info->vdd);
has to happen before we free and remove the devices.
The dts part is not upstreamed yet.

binding but from the binding document I would assume that you do not
have any memory resources and therefore you don't see that crash.
Yes, my devices under ADC are 3rd party thermistors and they don't have memory resources.
May be your explanation seems right.

Thanks,
Naveen

> Regards,
> Naveen

Sebastian
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-07-22  8:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-22  8:37 Re: [PATCH] of: provide of_platform_unpopulate() NAVEEN KRISHNA CHATRADHI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).