From patchwork Wed Apr 6 13:21:27 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 607016 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3qg6290qwgz9t3h for ; Wed, 6 Apr 2016 23:26:41 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=PrxU/nZm; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 400E1A748A; Wed, 6 Apr 2016 15:26:39 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YqF5dXysf9DL; Wed, 6 Apr 2016 15:26:39 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C2CEAA7518; Wed, 6 Apr 2016 15:26:38 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 9AFEDA7518 for ; Wed, 6 Apr 2016 15:26:35 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VorGsD-7Jn3a for ; Wed, 6 Apr 2016 15:26:35 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by theia.denx.de (Postfix) with ESMTPS id 167D8A748A for ; Wed, 6 Apr 2016 15:26:31 +0200 (CEST) Received: by mail-pa0-f54.google.com with SMTP id fe3so33072499pab.1 for ; Wed, 06 Apr 2016 06:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=sXYmrld0sHzRgsbCETQc0WA6iTs7R0u6V0caSs2SK1A=; b=PrxU/nZmPB+gB7+Yvdty2tasEES3g79jY6fkjRYWEdBORIW7Iqz1YjiAVYrvcnYorh qFyAEW66IXbWmKrVbn82v7+AD8FYp1PPOP5Eqs4HmB3KAgZwTzvfP2aMJGxoiS5iPM/d /Co11EeIWejv+OSCJz1zpAJqGncWNIYRfJqHhFbT+JwgV+qgq4MP1oHXae1bkYU58P2v d4EKhpz6Ryl+tr+3B9zYJmO830M4JFyQW7AVH14GlEtFkGzB4kY96vHmi7uJf5u/6e5G 61gVCwcoeoBagXPM0gSfufuCLhTzUT6Dl6njN2DYrWSKJV+/VEOLC6Xrnicv9Z3wGlIc CHAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=sXYmrld0sHzRgsbCETQc0WA6iTs7R0u6V0caSs2SK1A=; b=V+1t1m9RwMpxwKOKFtLxeVuz9rrrBSn2IonteQzuAbEu1SvwUdw5OHsLX0p+TMn9rz 2dkUmXkl1myzhFsY3TEJlKs3w3832bFZDj3kJz1SQceNY9HdgFS406Nu0pfHQ/3lx8kf bNEaI8oPsXJc+sgvy9KZerTb/rvwz9S24YboySf38aFs8vCpeBU13h/Un7ylFZspyJES AurK8wyWlsCgMI1CiUj95CJoIrBAvmS6FJ9I41gQV+i6iqulxuv7FpSikiMqmDjWSsyW MWtY3nUxkvNFWV7gx7RhetPUSHGXVykLHSkSEM/vzSN1hGZA5M/Q2kth5lIczDravqQj KJwQ== X-Gm-Message-State: AD7BkJIbmfaxfSy36epIx5riOzRMBW8DpvRwVhtq9U4SP2fSOZjCG1B3+dop8aseuGUtOw== X-Received: by 10.66.194.227 with SMTP id hz3mr14327091pac.85.1459949189722; Wed, 06 Apr 2016 06:26:29 -0700 (PDT) Received: from linux-7smt.suse (gate-zmy3.freescale.com. [192.88.167.1]) by smtp.gmail.com with ESMTPSA id a11sm5210637pat.6.2016.04.06.06.26.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Apr 2016 06:26:28 -0700 (PDT) From: Peng Fan To: sjg@chromium.org, yamada.masahiro@socionext.com, u-boot@lists.denx.de Date: Wed, 6 Apr 2016 21:21:27 +0800 Message-Id: <1459948887-31630-1-git-send-email-van.freenix@gmail.com> X-Mailer: git-send-email 2.6.2 Subject: [U-Boot] [PATCH V2] dm: core: device: set pinctrl state for pinctrl device X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" We may have pinmux settings for pinctrl device, like the following example: " &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hog_1>; imx6ul-evk { pinctrl_hog_1: hoggrp-1 { fsl,pins = < MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */ MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */ MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x17059 /* SD1 RESET */ MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x80000000 >; }; [......] }; " We should not only select pinctrl state for non pinctrl devices, we need also to handle pin mux settings such as pinctrl_log for pinctrl devices. So at the end of probing process of pinctrl device, select the default state of pinctrl device. Signed-off-by: Peng Fan Reviewed-by: Simon Glass Reviewed-by: Masahiro Yamada --- V2: To pinctrl node, it is not root node. No need to check dev->parent. drivers/core/device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/core/device.c b/drivers/core/device.c index cb24a61..636a895 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -332,6 +332,9 @@ int device_probe(struct udevice *dev) if (ret) goto fail_uclass; + if (device_get_uclass_id(dev) == UCLASS_PINCTRL) + pinctrl_select_state(dev, "default"); + return 0; fail_uclass: if (device_remove(dev)) {