Re: [rtc-linux] [PATCH-v2] rtc: 88pm80x: add device tree support

Alexandre Belloni
2015-06-20T00:44:04Z

Hi,

On 18/06/2015 at 00:28:06 +0530, Vaibhav Hiremath wrote :
> - pdata = dev_get_platdata(&pdev->dev);
> - if (pdata == NULL)
> - dev_warn(&pdev->dev, "No platform data!\n");
> + if (!pdata && !node) {
> + dev_err(&pdev->dev,
> + "pm80x-rtc requires platform data or of_node\n");
> + return -EINVAL;
> + }
> +
> + if (!pdata) {
> + pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);

I had troubles to follow the rtc_wakeup initialization cleanup but it
seems OK. However, I'm wondering why you are adding DT support as this
will always be probed from the MFD driver which pass the platform_data
and avoids that allocation.

> + if (!pdata) {
> + dev_err(&pdev->dev, "failed to allocate memory\n");
> + return -ENOMEM;
> + }
> + }
>
> info =
> devm_kzalloc(&pdev->dev, sizeof(struct pm80x_rtc_info), GFP_KERNEL);
> @@ -327,11 +336,8 @@ static int pm80x_rtc_probe(struct platform_device *pdev)
> regmap_update_bits(info->map, PM800_RTC_CONTROL, PM800_RTC1_USE_XO,
> PM800_RTC1_USE_XO);
>
> - if (pm80x_pdata) {
> - pdata = pm80x_pdata->rtc;
> - if (pdata)
> - info->rtc_dev->dev.platform_data = &pdata->rtc_wakeup;
> - }
> + /* remeber whether this power up is caused by PMIC RTC or not */
remember -^

--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/