Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754838AbbFTAoE (ORCPT ); Fri, 19 Jun 2015 20:44:04 -0400 Received: from down.free-electrons.com ([37.187.137.238]:48357 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753398AbbFTAn4 (ORCPT ); Fri, 19 Jun 2015 20:43:56 -0400 Date: Sat, 20 Jun 2015 02:43:54 +0200 From: Alexandre Belloni To: Vaibhav Hiremath Cc: linux-arm-kernel@lists.infradead.org, robh+dt@kernel.org, lee.jones@linaro.org, devicetree@vger.kernel.org, rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org, Chao Xie Subject: Re: [rtc-linux] [PATCH-v2] rtc: 88pm80x: add device tree support Message-ID: <20150620004354.GY27492@piout.net> References: <1434567488-6477-1-git-send-email-vaibhav.hiremath@linaro.org> <1434567488-6477-3-git-send-email-vaibhav.hiremath@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1434567488-6477-3-git-send-email-vaibhav.hiremath@linaro.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1491 Lines: 48 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/