From patchwork Thu Feb 8 13:01:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kever Yang X-Patchwork-Id: 870872 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hfcZTww6"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zcdfC6F30z9s82 for ; Fri, 9 Feb 2018 00:02:59 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 49F4AC21ECA; Thu, 8 Feb 2018 13:02:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 9DB02C21E65; Thu, 8 Feb 2018 13:02:04 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CFFCFC21E2C; Thu, 8 Feb 2018 13:02:02 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) by lists.denx.de (Postfix) with ESMTPS id 71E62C21C93 for ; Thu, 8 Feb 2018 13:02:01 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id 11-v6so2031412plc.9 for ; Thu, 08 Feb 2018 05:02:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=UFzG/ogN10fYXPzbG/kDbASy+2zL3AOyopgPXvQrZrI=; b=hfcZTww6pDOKOS4m7/q7pLzBaNBsMFIZZafnFST8UnYd937lYXk2jHejGerfZDt1L5 XVFXKp01zvTCz6AEjO/xblHJBiJATv8KADuGOjIWCo1c49dYQ7KtRpN78i/euPaEX/I5 5gfYkflfayxsjEzOkVOxw1XjmRsYJ9aZYZTor2gYFkx0efHHpYcNh+7WIBYVggfhREMg dxJunVaJZrnNKwJH6C9vhAiPXBDZoN4CRl8XRWq6gCD69A2wnix1JbRw5anAuj750Ccj +2LpvE1N/EPAQfmjL1SxntJtV4ZtWk3jTrfWnrWQM7tyzAtykL08Ru8szqeYdUb3Mt6p pvuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=UFzG/ogN10fYXPzbG/kDbASy+2zL3AOyopgPXvQrZrI=; b=lt5tHKn9uVkdpC0N7oh0YTwmPMEQSGqtVcVrHmTyzqKFRkMp0ohOCtCvh0xqsoXW3D Vdlto9kA+3X6R6ChD0Gc/ycjUYfxAuh77flP9bVCOhC45XnPM/qgvxTT7DfePK4t3HOM P0h2mVo+k35zgX5Vibz42qk/wiFCpvwTYOOU5daLZvu5L9Ilr7s6FLZzgx8+op7BAlm2 H1TR4AbFAjStngn4dPRDSGF9Cg1/GoygHGibFTRa4ANnJekYzhgC6Pic7BChHLJS8zlo nelnW/xaTuTg6vGWDnxf4xfP5IUH72obJ+xjlCyayl61a985r+D60BL7TEPMOZn5UjNt F7/A== X-Gm-Message-State: APf1xPAx5zYHf5WiSSu+akYL63Oi/gLV+6/7TrBZ9rEYDSu7c3IzfKZw hMNf9+NSepDSXuZ7agjISXTV2g== X-Google-Smtp-Source: AH8x226nugaZ8ipfPeWsUbxcw9eU99V7Q1cZzSKSz2q0XlA8LZHndA36/iq6mKjuCGA3bBykdPKDRA== X-Received: by 2002:a17:902:5186:: with SMTP id y6-v6mr582769plh.188.1518094919754; Thu, 08 Feb 2018 05:01:59 -0800 (PST) Received: from localhost.localdomain ([103.29.142.67]) by smtp.gmail.com with ESMTPSA id y9sm5855721pfl.9.2018.02.08.05.01.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 08 Feb 2018 05:01:58 -0800 (PST) From: Kever Yang To: u-boot@lists.denx.de Date: Thu, 8 Feb 2018 21:01:49 +0800 Message-Id: <1518094909-15995-2-git-send-email-kever.yang@rock-chips.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1518094909-15995-1-git-send-email-kever.yang@rock-chips.com> References: <1518094909-15995-1-git-send-email-kever.yang@rock-chips.com> Subject: [U-Boot] [PATCH 2/2] pinctrl-uclass: convert to use live dt X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Use live dt interface for pinctrl_select_state_full() Signed-off-by: Kever Yang --- drivers/pinctrl/pinctrl-uclass.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c index 114952a..5498ae0 100644 --- a/drivers/pinctrl/pinctrl-uclass.c +++ b/drivers/pinctrl/pinctrl-uclass.c @@ -5,13 +5,13 @@ */ #include -#include #include #include #include #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -63,16 +63,14 @@ static int pinctrl_config_one(struct udevice *config) */ static int pinctrl_select_state_full(struct udevice *dev, const char *statename) { - const void *fdt = gd->fdt_blob; - int node = dev_of_offset(dev); char propname[32]; /* long enough */ const fdt32_t *list; uint32_t phandle; - int config_node; + struct device_node *config_node; struct udevice *config; int state, size, i, ret; - state = fdt_stringlist_search(fdt, node, "pinctrl-names", statename); + state = dev_read_stringlist_search(dev, "pinctrl-names", statename); if (state < 0) { char *end; /* @@ -85,22 +83,15 @@ static int pinctrl_select_state_full(struct udevice *dev, const char *statename) } snprintf(propname, sizeof(propname), "pinctrl-%d", state); - list = fdt_getprop(fdt, node, propname, &size); + list = dev_read_prop(dev, propname, &size); if (!list) return -EINVAL; size /= sizeof(*list); for (i = 0; i < size; i++) { phandle = fdt32_to_cpu(*list++); - - config_node = fdt_node_offset_by_phandle(fdt, phandle); - if (config_node < 0) { - dev_err(dev, "prop %s index %d invalid phandle\n", - propname, i); - return -EINVAL; - } - ret = uclass_get_device_by_of_offset(UCLASS_PINCONFIG, - config_node, &config); + ret = uclass_get_device_by_phandle_id(UCLASS_PINCONFIG, phandle, + &config); if (ret) return ret;