From patchwork Fri Nov 30 11:57:30 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 13308 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 6D76C23FCD for ; Fri, 30 Nov 2012 11:58:05 +0000 (UTC) Received: from mail-ia0-f180.google.com (mail-ia0-f180.google.com [209.85.210.180]) by fiordland.canonical.com (Postfix) with ESMTP id ED5FDA19887 for ; Fri, 30 Nov 2012 11:58:04 +0000 (UTC) Received: by mail-ia0-f180.google.com with SMTP id t4so254592iag.11 for ; Fri, 30 Nov 2012 03:58:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to:cc :subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=OmI0YajlA/F/Zl+neHtW4MNbIC6Ls8718sfIkC4mIHA=; b=Hr0NLIl3Pgfcdk3zyke/oCMDSgQWmZsJMpYEXYbWTnsReCXY3YrLrXCoIQghrP3VWS jVmyZld5zx5yzp5nU+bEpjDH6PqCVWYvdNg0qgvDybngTTKDqTTXNJY+qR868aT8wLFC qiIrPN2uoeJV3H5cV2iSH/ycqoyFwflmkWSCCjbbuMa2ns+BOsSGf4gtHl79/kRQJYgM zrNM1MFVwN8OXSaSuVx4SyQPrDXXXO7mXsBOQPt+povUUORFcWrJtOrrdHtjaNijPpex YOblnMd9YlQBEJEX4aaTqLZdjhGWxNq/dLgwopMHzx9kTqhWc4rAeF+tf9aZsBKfwu71 1nhw== Received: by 10.50.213.34 with SMTP id np2mr751413igc.57.1354276684733; Fri, 30 Nov 2012 03:58:04 -0800 (PST) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.50.67.148 with SMTP id n20csp1011283igt; Fri, 30 Nov 2012 03:58:03 -0800 (PST) Received: by 10.216.227.98 with SMTP id c76mr446800weq.31.1354276683103; Fri, 30 Nov 2012 03:58:03 -0800 (PST) Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by mx.google.com with ESMTPS id p3si2786267weo.123.2012.11.30.03.58.02 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 30 Nov 2012 03:58:03 -0800 (PST) Received-SPF: neutral (google.com: 209.85.212.175 is neither permitted nor denied by best guess record for domain of lee.jones@linaro.org) client-ip=209.85.212.175; Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.212.175 is neither permitted nor denied by best guess record for domain of lee.jones@linaro.org) smtp.mail=lee.jones@linaro.org Received: by mail-wi0-f175.google.com with SMTP id hm11so5604078wib.2 for ; Fri, 30 Nov 2012 03:58:02 -0800 (PST) Received: by 10.216.195.198 with SMTP id p48mr384710wen.94.1354276682277; Fri, 30 Nov 2012 03:58:02 -0800 (PST) Received: from localhost.localdomain (cpc1-aztw13-0-0-cust473.18-1.cable.virginmedia.com. [77.102.241.218]) by mx.google.com with ESMTPS id i6sm14966896wix.5.2012.11.30.03.58.00 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 30 Nov 2012 03:58:01 -0800 (PST) From: Lee Jones To: linux-kernel@vger.kernel.org Cc: linus.walleij@stericsson.com, arnd@arndb.de, cbou@mail.ru, dwmw2@infradead.org, rajanikanth.hv@linaro.org, Lee Jones Subject: [PATCH 08/12] ab8500_btemp: Reorder obtainment of platform specific battery management data Date: Fri, 30 Nov 2012 11:57:30 +0000 Message-Id: <1354276654-590-9-git-send-email-lee.jones@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1354276654-590-1-git-send-email-lee.jones@linaro.org> References: <1354276654-590-1-git-send-email-lee.jones@linaro.org> X-Gm-Message-State: ALoCoQncjEP8wIz4ejiN6Dy7Fc+lTWcJOVqveN7nj/Xd8oZgUEdsakL2Pmiz1wLMYPqsOItISlI+ Now that we always pass platform specific battery management data through platform_data instead of obtaining it via different means depending the way be boot the system (DT or ATAGs); we need to re-jiggle the way we acquire it in the driver start-up functions. Now it is wrong for it to be missing, but we still allow Device Tree code to fiddle with it once we've confirmed it's there. Signed-off-by: Lee Jones --- drivers/power/ab8500_btemp.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c index c0f7dcc..158cba5 100644 --- a/drivers/power/ab8500_btemp.c +++ b/drivers/power/ab8500_btemp.c @@ -976,6 +976,7 @@ static char *supply_interface[] = { static int __devinit ab8500_btemp_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; + struct abx500_bm_data *plat = pdev->dev.platform_data; struct ab8500_btemp *di; int irq, i, ret = 0; u8 val; @@ -985,21 +986,19 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev) dev_err(&pdev->dev, "%s no mem for ab8500_btemp\n", __func__); return -ENOMEM; } - di->bm = pdev->mfd_cell->platform_data; - if (!di->bm) { - if (np) { - ret = ab8500_bm_of_probe(&pdev->dev, np, di->bm); - if (ret) { - dev_err(&pdev->dev, - "failed to get battery information\n"); - return ret; - } - } else { - dev_err(&pdev->dev, "missing dt node for ab8500_btemp\n"); - return -EINVAL; + + if (!plat) { + dev_err(&pdev->dev, "no battery management data supplied\n"); + return -EINVAL; + } + di->bm = plat; + + if (np) { + ret = ab8500_bm_of_probe(&pdev->dev, np, di->bm); + if (ret) { + dev_err(&pdev->dev, "failed to get battery information\n"); + return ret; } - } else { - dev_info(&pdev->dev, "falling back to legacy platform data\n"); } /* get parent data */