From patchwork Fri May 11 16:20:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 912067 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="pi3YNZJG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40jFkW14CTz9s31 for ; Sat, 12 May 2018 02:22:59 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752159AbeEKQW4 (ORCPT ); Fri, 11 May 2018 12:22:56 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36867 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752161AbeEKQVm (ORCPT ); Fri, 11 May 2018 12:21:42 -0400 Received: by mail-wm0-f68.google.com with SMTP id l1-v6so4255147wmb.2 for ; Fri, 11 May 2018 09:21:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=U6H8gLXd4/M7uNOaOQPPVCRfFR/uuT26MbY7yCUI7eQ=; b=pi3YNZJGOKoUA1ISorhCR8Jmz+Y+g2fD+CJm3di8Az6hnbnA68hyS63yLco/TPj9e9 78JQcs8pGU9ADJsBowebBlRRrLr74Kt+iLbGUDVO+wrei9yP7GYRzmKTmj/MFHyG011B Da6GGXcHsB4GbeVYShntSShPKw7SJlpO+k4fjGRBvoHAQfFZtgvtBIPrhN6mDoCaF1aJ ddcWXzh1iGwqFDFHgInTJPQ95MOZLYxlQcmdj9c8Yyb3g1gtJwfXemiboTBKX2t3CZEs 4NV++u21eSsAzZ7f67dPK2/9407TULPQCVw+9W2hC/ac2UUP8bsKYdA6hS9NkBsh6xqJ tsRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=U6H8gLXd4/M7uNOaOQPPVCRfFR/uuT26MbY7yCUI7eQ=; b=mUrr1RRHmAAPvJt6vy54kbi/+1NxXnyylToAPzrP05Owvxn+6QDgM2M258azi/Du47 82AZgwrpHGFVNRO4snrUeB3C1OruOWLpek5LF7arpKOQvmWMH0EqD3TpcF+m4CGu+wUp lYep+SQuILzFnSzY8NK1m45LzCBeQiKZG6NpmcgS5kuRhEZbpFCHEX06lOD+rHlVEDKH Y/wN72GM6lDzEFVxhf2Aa/KHszZ0TTIlJkNTy5Qy61LhG/Z8qSRB8PmmAD917fpEEaPq e/92YD6UtqQlawtC1p8K5NoGC2/OF8IafhGXAodQRWgXjNkwvgriD7MVuOHUxLaSzBnW oNdw== X-Gm-Message-State: ALKqPwe7VcGS2gWJeUaXrblg0aG35yGqswxm+jQhwVGhokU3ltRwmHIQ QiY5W+bsC2f0pCrWhoxD/7eMmQ== X-Google-Smtp-Source: AB8JxZogYRLmsi7c3hnOMQiP7BUwaOCB9Q95nG0M3Vsq5gbovAB2xGzTsEi/O7sxOJ7vJ5Ut6awWMA== X-Received: by 2002:a1c:9310:: with SMTP id v16-v6mr2408053wmd.60.1526055700840; Fri, 11 May 2018 09:21:40 -0700 (PDT) Received: from brgl-bgdev.baylibre.local ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id q17-v6sm1429523wmf.3.2018.05.11.09.21.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 May 2018 09:21:40 -0700 (PDT) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , David Lechner , Michael Turquette , Stephen Boyd , Arnd Bergmann , Greg Kroah-Hartman , Mark Rutland , Yoshinori Sato , Rich Felker , Andy Shevchenko , Marc Zyngier , "Rafael J . Wysocki" , Peter Rosin , Jiri Slaby , Thomas Gleixner , Daniel Lezcano , Geert Uytterhoeven , Magnus Damm , Johan Hovold , Rob Herring , Frank Rowand Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 08/12] of/platform: provide a separate routine for device initialization Date: Fri, 11 May 2018 18:20:24 +0200 Message-Id: <20180511162028.20616-9-brgl@bgdev.pl> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180511162028.20616-1-brgl@bgdev.pl> References: <20180511162028.20616-1-brgl@bgdev.pl> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Bartosz Golaszewski The early platform device framework will need to initialize the platform device objects without them being allocated in of_device_alloc(). Provide a routine that allows it. Signed-off-by: Bartosz Golaszewski Reviewed-by: Geert Uytterhoeven --- drivers/of/platform.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 24791e558ec5..0e554fe1f325 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -132,6 +132,19 @@ int of_device_init_resources(struct platform_device *pdev, return 0; } +static void of_device_init(struct platform_device *pdev, struct device_node *np, + const char *bus_id, struct device *parent) +{ + pdev->dev.of_node = of_node_get(np); + pdev->dev.fwnode = &np->fwnode; + pdev->dev.parent = parent ? : &platform_bus; + + if (bus_id) + dev_set_name(&pdev->dev, "%s", bus_id); + else + of_device_make_bus_id(&pdev->dev); +} + /** * of_device_alloc - Allocate and initialize an of_device * @np: device node to assign to device @@ -155,14 +168,7 @@ struct platform_device *of_device_alloc(struct device_node *np, return NULL; } - dev->dev.of_node = of_node_get(np); - dev->dev.fwnode = &np->fwnode; - dev->dev.parent = parent ? : &platform_bus; - - if (bus_id) - dev_set_name(&dev->dev, "%s", bus_id); - else - of_device_make_bus_id(&dev->dev); + of_device_init(dev, np, bus_id, parent); return dev; }