Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4731978ybv; Wed, 26 Feb 2020 02:10:35 -0800 (PST) X-Google-Smtp-Source: APXvYqwyT9nGwqSIAerFrRBKZ64j38TNH/ziflAI9LeRYfW89ZQBL0wyWR5WArXidSnZA60JEUdt X-Received: by 2002:a05:6830:1b6b:: with SMTP id d11mr2329628ote.46.1582711835054; Wed, 26 Feb 2020 02:10:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582711835; cv=none; d=google.com; s=arc-20160816; b=AJSusmPjYUbg9Aormezn72PPqVCWgMrtFnkH3DBs0cScW2oK3VFeSQPrxZb6hm4gE9 k774SfxYPr7mrNrAldL2a66YObvm3nAT727ZSKaXKCWK20CDC9akU/DtBz/YxUM8+QYy d0xrRqzNqr3A35Hw1EorQhcOGp0gYJ3QPbNx7qLBX6iLHR5fMtuYY9PAx4Tn/5RrjQ2U QcllDxFOW9pfR8dPUT3O1oP/h1gbq+K5J7fy2yefvNlruHe61Y9Kf5sDiWC9HwaS123o xP0XM8BNxO2hTrfvHW7syfvu45A8+YUmwnh9/IGebUkoYs4Opi/qTJagV8bsKs65I5Rd VbOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from; bh=+i85Pb0Q5T4siTuZn1OMMCjVlxvNUSN9kSm4nnW1xC0=; b=fwzYZG47CxM5GFxjI4dmnAONHpH7Uuj8KRV06KgNEONlwkLbCF7gAdOQ9iWkoiCT2I oQgqOfvr5PQjDC5DSarSFIQuQvARYqZLCLa98tL1dRCX0GInv9tCF+6ppAzzbeKGYJDN 24XPjVTb8tr051PUqBcsShpcGL0fmkJsTVlUH+XsGrT6WgcFmbud/H1f/LyX6FB8Ox+Q +WnieUF+qUi2j5FkBzE8GjsE7+Iejv4PY4IbsQFZNxL4gtWh+OLJtPvcvrKzX50M17cS HvrAKvLQaAcIBx9qV57nHZoGSPCTTpglD5MzpRYv1gdOnqzRhSvbB4OoXCJva8U4uWV2 sGjA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a6si901611oia.33.2020.02.26.02.10.23; Wed, 26 Feb 2020 02:10:35 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727983AbgBZKKK (ORCPT + 99 others); Wed, 26 Feb 2020 05:10:10 -0500 Received: from mga12.intel.com ([192.55.52.136]:60134 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726329AbgBZKKJ (ORCPT ); Wed, 26 Feb 2020 05:10:09 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Feb 2020 02:10:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,487,1574150400"; d="scan'208";a="438376887" Received: from sgsxdev004.isng.intel.com (HELO localhost) ([10.226.88.13]) by fmsmga006.fm.intel.com with ESMTP; 26 Feb 2020 02:10:06 -0800 From: Dilip Kota To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: kishon@ti.com, robh@kernel.org, andriy.shevchenko@intel.com, cheol.yong.kim@intel.com, chuanhua.lei@linux.intel.com, qi-ming.wu@intel.com, yixin.zhu@intel.com, Dilip Kota Subject: [PATCH v3 1/3] mfd: syscon: Add fwnode_to_regmap Date: Wed, 26 Feb 2020 18:09:51 +0800 Message-Id: <9953bb25281397553cb87b09d641c968d8432dd9.1582709320.git.eswara.kota@linux.intel.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Traverse regmap handle entry from firmware node handle. Signed-off-by: Dilip Kota --- drivers/mfd/syscon.c | 8 ++++++++ include/linux/mfd/syscon.h | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index e22197c832e8..08064ffc5394 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -178,6 +178,14 @@ struct regmap *device_node_to_regmap(struct device_node *np) } EXPORT_SYMBOL_GPL(device_node_to_regmap); +struct regmap *fwnode_to_regmap(struct fwnode_handle *fwnode) +{ + struct device_node *np = to_of_node(fwnode); + + return device_node_get_regmap(np, false); +} +EXPORT_SYMBOL_GPL(fwnode_to_regmap); + struct regmap *syscon_node_to_regmap(struct device_node *np) { if (!of_device_is_compatible(np, "syscon")) diff --git a/include/linux/mfd/syscon.h b/include/linux/mfd/syscon.h index 112dc66262cc..a024dd88bdd4 100644 --- a/include/linux/mfd/syscon.h +++ b/include/linux/mfd/syscon.h @@ -18,6 +18,7 @@ struct device_node; #ifdef CONFIG_MFD_SYSCON extern struct regmap *device_node_to_regmap(struct device_node *np); +extern struct regmap *fwnode_to_regmap(struct fwnode_handle *fwnode); extern struct regmap *syscon_node_to_regmap(struct device_node *np); extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s); extern struct regmap *syscon_regmap_lookup_by_phandle( @@ -29,6 +30,11 @@ static inline struct regmap *device_node_to_regmap(struct device_node *np) return ERR_PTR(-ENOTSUPP); } +static inline struct regmap *fwnode_to_regmap(struct fwnode_handle *fwnode) +{ + return ERR_PTR(-ENOTSUPP); +} + static inline struct regmap *syscon_node_to_regmap(struct device_node *np) { return ERR_PTR(-ENOTSUPP); -- 2.11.0