From patchwork Thu Sep 10 13:59:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 249687 Delivered-To: patch@linaro.org Received: by 2002:a05:6e02:ecf:0:0:0:0 with SMTP id i15csp1106241ilk; Thu, 10 Sep 2020 14:27:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyreDas4b8ZDzQ8ctB41oXOhOQ7/+WUes+fvyUP86AhY6pqMmvWsMvficm6FaF/lk5pkmis X-Received: by 2002:a05:6402:220d:: with SMTP id cq13mr11426251edb.260.1599773237845; Thu, 10 Sep 2020 14:27:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599773237; cv=none; d=google.com; s=arc-20160816; b=dFDyVS3+a487OZ+tYWnN5O2azgBV+V/QxU8NbKS8MNjxhLIye0kYzNZlXM9sN5ML/w L6UA8YOMGUIBd6GvwvTa6feXJ6kJHBDCuoRLkI22ATus2zrVuqjfXmNBKxz4CN3Qz/kk h9SE2tuRHra5AqsfYZUcVjLTMCP0Op/Bn3rDNic2xrgpZ7OFz+TPw9XYWB88e7tgKORy mShcCmi0bM0EG5GjwTsQpeftntM9CIFQPTW1xY7gD2oDQ6+etsPiOG7rcRFchMK4ts63 PMFoHRq317X6ogHNoTxjpWrPIhvJsYNI3NFjESZdp6RkMbBR4ueZnDiCc+U6BI6is0cW FUzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=fbds+t1ZnFoCEkxj1/mr3T/pqQY9+u5UlZ3GW4t2en8=; b=kMyLREU2sw3SC9GgALTPw2hRgRnIqwD9KjrwT0SXeIiouZSH9W27aENE30ZKDNotWW Zfv94RFxEEjJoiWpgU1zhgBpaa4UjBpVeVZzl4LX0lzlC6OS6rdnJDihsYYmqbMLoQAn YqyEhr+TY5ONclSF+mnhcXg1Mfqd1mu789lnhhkCyEyAJ8DnaEtebRbYuXiXCNixni+a Eb/aXNmWes1j8x1QywAYvfL7MI41xARIE8cdr60yu7UCvQY5Wqh8s4bkVfytsx3FBxR2 o3xaN65HayKA8pL7bsSZRawcY6ydVMWeetLAy5YnNkNBrOD7YluD6RsQcLIraEEpKfzj BNRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U2WzOfWo; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i11si4593132ejv.148.2020.09.10.14.27.17; Thu, 10 Sep 2020 14:27:17 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U2WzOfWo; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728069AbgIJV1B (ORCPT + 6 others); Thu, 10 Sep 2020 17:27:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731012AbgIJOKU (ORCPT ); Thu, 10 Sep 2020 10:10:20 -0400 Received: from mail-lf1-x142.google.com (mail-lf1-x142.google.com [IPv6:2a00:1450:4864:20::142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 33F9DC0617A5 for ; Thu, 10 Sep 2020 07:00:14 -0700 (PDT) Received: by mail-lf1-x142.google.com with SMTP id w11so3656280lfn.2 for ; Thu, 10 Sep 2020 07:00:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fbds+t1ZnFoCEkxj1/mr3T/pqQY9+u5UlZ3GW4t2en8=; b=U2WzOfWo+o9VwfTR9lkjfBPA3rwJdLwKAz85NWFW19wdSUdRq7KmYs6wtMjPhrWI6X 1fMtl/io8zCh6e91yPDswaupfIXFTTHvxz7H3mpoiNjQpVOGRmaQIfclvCMEBUGwr2dW XOUcWUvriJmDaoxJGhMAarqRuwED0QjdXYnEdAt0z4pGzdkylgSKl4JWEj6CDQ036AvY yt96CWgeWKNMLSFF8eyUVZAXBjFYZ3Ajy9RP1elZcW34Ng1ztEFv8clkDz/Je34kEMAV 7xt2Ggcfi2OQwuiZOFQ8+YD+SG4Lt/KXE2MHtasNvP2GTyb9Zx/1SZtjsgX6cS7zRmT9 yknQ== 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:mime-version:content-transfer-encoding; bh=fbds+t1ZnFoCEkxj1/mr3T/pqQY9+u5UlZ3GW4t2en8=; b=bwVlXrzCRnrIRBABGVOyOPwza/9aOj4qPagn9A19+jyS4I5GcsB52LhZKYC3tdx0us cKY6waOgCXg3wQdkoXV4lS4Rr4QnHWAlGHct3531wlPM69VaYsF5RsHHjQZYbS9QborE LODpYrRdNA4M9AcjLEIBpr4V76kTQC8D7U0sfTdGBp44loOmYyBtUeHSvEppP/LaM+qw /QsCwuBuUYjbI0DTxgsnuuuyqgdch2uSOVdv0GUQhJvjxYv/Un1LwHpyIPilIxof9GZP ckhNoZmuIgtM35fX6owoDI1L1AOvYpMXn96x0Xu4Sw+oAqsC73T1UucRyqtMPUNSkxL3 BSVw== X-Gm-Message-State: AOAM5323KfyTH92GlInV88z6m/JYX7B+w8R2siOtDoP+yRiYuSnM8s2O 9E9JWasu8+H/G/cDfIuKInlmeQ== X-Received: by 2002:a19:7604:: with SMTP id c4mr4403298lff.132.1599746411945; Thu, 10 Sep 2020 07:00:11 -0700 (PDT) Received: from eriador.lan ([188.162.64.156]) by smtp.gmail.com with ESMTPSA id t82sm1367646lff.43.2020.09.10.07.00.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2020 07:00:11 -0700 (PDT) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Rob Herring , Zhang Rui , Daniel Lezcano , Amit Kucheria , Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Manivannan Sadhasivam Subject: [PATCH v4 01/10] iio: adc: qcom-spmi-adc5: fix driver name Date: Thu, 10 Sep 2020 16:59:51 +0300 Message-Id: <20200910140000.324091-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200910140000.324091-1-dmitry.baryshkov@linaro.org> References: <20200910140000.324091-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Remove superfluous '.c' from qcom-spmi-adc5 device driver name. Fixes: e13d757279 ("iio: adc: Add QCOM SPMI PMIC5 ADC driver") Signed-off-by: Dmitry Baryshkov Acked-by: Manivannan Sadhasivam --- drivers/iio/adc/qcom-spmi-adc5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.28.0 diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c index b4b73c9920b4..c10aa28be70a 100644 --- a/drivers/iio/adc/qcom-spmi-adc5.c +++ b/drivers/iio/adc/qcom-spmi-adc5.c @@ -982,7 +982,7 @@ static int adc5_probe(struct platform_device *pdev) static struct platform_driver adc5_driver = { .driver = { - .name = "qcom-spmi-adc5.c", + .name = "qcom-spmi-adc5", .of_match_table = adc5_match_table, }, .probe = adc5_probe, From patchwork Thu Sep 10 13:59:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 249684 Delivered-To: patch@linaro.org Received: by 2002:a05:6e02:ecf:0:0:0:0 with SMTP id i15csp1101771ilk; Thu, 10 Sep 2020 14:19:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpint7ofx/QOIYdxzU0wZAYDUUSHzzrplpDp0Jqn4Dg0VUZEemoO0cOD9xkIkLjwXQXz66 X-Received: by 2002:a17:906:2354:: with SMTP id m20mr10612137eja.341.1599772779904; Thu, 10 Sep 2020 14:19:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599772779; cv=none; d=google.com; s=arc-20160816; b=QYx7NaZGvGmCx3HBSLA7ZehSHTHLGpm98bikvntbCSOiz5QeWFy1JM75U8xJe1qLQu Ju2Qk2cFCa04afVGa/h0krU/6Tx91OOQMNnJWZZHFW44M7gRCaH5ExU/1ELtExy76iuH kLRYnCUaZVColpz6jho34z2JEnUP2deP3U2+y1mn1fUDaU/+7tz4epoB4Wi4klcwOvln TAv88ldDmMsIin8XMt4cWKlEtKNpXLvKKhzzFp1gq7fjj2mLQzT4Sq5egIHX1Z9X/EFc /ZW7kJ0TJFKmCPJwin/HAMbQerdLlkrJ5my4EdNABMwTVy1EIX1M0PDZvBEWU0ooBwlr efSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UYCbcxWK8UZvP4fORWPCdZHxSRcyR7TYHiknFeVjAjU=; b=iVKkBEOZuIbDZqYmebHRp/vkQ0Rj/abX/zFXCu4uE6hsE6SWudb55hc5g2wHzdg4lv uY0zQODLXSgKa/gltChMTs6/8Q48AmTBsifWGWXO0hcn5TYO0n1b6Jq8xz+u3XKrbjrD MfkbwZFVxzbHW65Mi7pRgUW1RyhM5PBhkvGOFFGIqTUJ8h1kEJ7o41Gmnrv+riNEnB8s tNdOavK5fwBY2SAo/ksfe3h1n/PE3YFE2Nk0nBSa6GeMZKX0pSscQS8xGw3UYT8xfgKr Yb50PK2yNQqpz3OaIJRop9iy8QVR7crvxlTimzvgDGXqru22SpLYg/bDRjmksmbN9M44 8v1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Jh+xxnpK; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t15si4487554ejb.218.2020.09.10.14.19.39; Thu, 10 Sep 2020 14:19:39 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Jh+xxnpK; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727944AbgIJVOI (ORCPT + 6 others); Thu, 10 Sep 2020 17:14:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55588 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730880AbgIJO2b (ORCPT ); Thu, 10 Sep 2020 10:28:31 -0400 Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9BF6EC06138F for ; Thu, 10 Sep 2020 07:00:24 -0700 (PDT) Received: by mail-lj1-x244.google.com with SMTP id s205so8314718lja.7 for ; Thu, 10 Sep 2020 07:00:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UYCbcxWK8UZvP4fORWPCdZHxSRcyR7TYHiknFeVjAjU=; b=Jh+xxnpKuahJZ8tmJsw7L3PRa3inmR2J7XvJAbRQCOkXjIpQ9WjZ+kFo+vyZgLDn3M 9EQiTIpmT2u8q4yqtLwzenirl2Cf4GtbL4zRwuuUpH8T/11dUxYsmu5FDoSNBg8ByEYp Asy7OSpAiAI31vThzHb//a5rRkcb9sp11w8vWkFOPQ7PROsdItn2bhkww0fX3XD9Bkk+ mESkwjK38GH/FbRMf0z+UrJiSqh0163hQ3FG5tN6lbU1WdMdinERgoE8aust7hLtoqRW domyqMQ4odrzu47vyMQ/WjiEuwq2hzRPjkKgHa3iGuPDkWuaiRSNa/tWnM+MUMLlVixx UGUA== 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:mime-version:content-transfer-encoding; bh=UYCbcxWK8UZvP4fORWPCdZHxSRcyR7TYHiknFeVjAjU=; b=YsvDRh5O31hGfuP3hITcXUcLMMhWZdKpEYpQ+LXyU0D9aijg9jwOv5J03Scr7ilmRt snSLG9tHMrYMBhRfdX8GheaQMR7urO2fpeTkE2JL9inzonEBw8Y5I95pFEaYPDTtHNS+ axl/rkAd8l1zELPRnxL5HlZO3Nbo3NGcQE6OnAfK0JJxRT1UM+NzMPECUlotHGtaK+Ec EBxDj+yxm6Mxk2SW5fVqVop3CpHsVGKJ+tMNUwpcKs9EheY9Ggy3cqNVycP5Z6HHniSJ s20v1nD1UmKLsFJVWwmcmrjbYl30NBCdZp2EHUFMzaWzXrSlLMfSp8fa9jihWNfJ5Co+ va8w== X-Gm-Message-State: AOAM533vfwks7/Phhe80eZJS7dr4BNU1ufvWkp20aG8dgSH5BFmQ4jx6 Ra/5D5OZO/nAST8LHd5FwZOgCw== X-Received: by 2002:a2e:141d:: with SMTP id u29mr4542164ljd.243.1599746423060; Thu, 10 Sep 2020 07:00:23 -0700 (PDT) Received: from eriador.lan ([188.162.64.156]) by smtp.gmail.com with ESMTPSA id t82sm1367646lff.43.2020.09.10.07.00.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2020 07:00:22 -0700 (PDT) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Rob Herring , Zhang Rui , Daniel Lezcano , Amit Kucheria , Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, Manivannan Sadhasivam Subject: [PATCH v4 07/10] iio: provide of_iio_channel_get_by_name() and devm_ version it Date: Thu, 10 Sep 2020 16:59:57 +0300 Message-Id: <20200910140000.324091-8-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200910140000.324091-1-dmitry.baryshkov@linaro.org> References: <20200910140000.324091-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org There might be cases when the IIO channel is attached to the device subnode instead of being attached to the main device node. Allow drivers to query IIO channels by using device tree nodes. Signed-off-by: Dmitry Baryshkov --- drivers/iio/inkern.c | 34 ++++++++++++++++++++++++++-------- include/linux/iio/consumer.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 8 deletions(-) -- 2.28.0 Reviewed-by: Jonathan Cameron diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c index ede99e0d5371..8ff0ac472de3 100644 --- a/drivers/iio/inkern.c +++ b/drivers/iio/inkern.c @@ -180,8 +180,8 @@ static struct iio_channel *of_iio_channel_get(struct device_node *np, int index) return ERR_PTR(err); } -static struct iio_channel *of_iio_channel_get_by_name(struct device_node *np, - const char *name) +struct iio_channel *of_iio_channel_get_by_name(struct device_node *np, + const char *name) { struct iio_channel *chan = NULL; @@ -219,6 +219,7 @@ static struct iio_channel *of_iio_channel_get_by_name(struct device_node *np, return chan; } +EXPORT_SYMBOL_GPL(of_iio_channel_get_by_name); static struct iio_channel *of_iio_channel_get_all(struct device *dev) { @@ -261,12 +262,6 @@ static struct iio_channel *of_iio_channel_get_all(struct device *dev) #else /* CONFIG_OF */ -static inline struct iio_channel * -of_iio_channel_get_by_name(struct device_node *np, const char *name) -{ - return NULL; -} - static inline struct iio_channel *of_iio_channel_get_all(struct device *dev) { return NULL; @@ -382,6 +377,29 @@ struct iio_channel *devm_iio_channel_get(struct device *dev, } EXPORT_SYMBOL_GPL(devm_iio_channel_get); +struct iio_channel *devm_of_iio_channel_get_by_name(struct device *dev, + struct device_node *np, + const char *channel_name) +{ + struct iio_channel **ptr, *channel; + + ptr = devres_alloc(devm_iio_channel_free, sizeof(*ptr), GFP_KERNEL); + if (!ptr) + return ERR_PTR(-ENOMEM); + + channel = of_iio_channel_get_by_name(np, channel_name); + if (IS_ERR(channel)) { + devres_free(ptr); + return channel; + } + + *ptr = channel; + devres_add(dev, ptr); + + return channel; +} +EXPORT_SYMBOL_GPL(devm_of_iio_channel_get_by_name); + struct iio_channel *iio_channel_get_all(struct device *dev) { const char *name; diff --git a/include/linux/iio/consumer.h b/include/linux/iio/consumer.h index c4118dcb8e05..0a90ba8fa1bb 100644 --- a/include/linux/iio/consumer.h +++ b/include/linux/iio/consumer.h @@ -13,6 +13,7 @@ struct iio_dev; struct iio_chan_spec; struct device; +struct device_node; /** * struct iio_channel - everything needed for a consumer to use a channel @@ -97,6 +98,41 @@ void iio_channel_release_all(struct iio_channel *chan); */ struct iio_channel *devm_iio_channel_get_all(struct device *dev); +/** + * of_iio_channel_get_by_name() - get description of all that is needed to access channel. + * @np: Pointer to consumer device tree node + * @consumer_channel: Unique name to identify the channel on the consumer + * side. This typically describes the channels use within + * the consumer. E.g. 'battery_voltage' + */ +#ifdef CONFIG_OF +struct iio_channel *of_iio_channel_get_by_name(struct device_node *np, const char *name); +#else +static inline struct iio_channel * +of_iio_channel_get_by_name(struct device_node *np, const char *name) +{ + return NULL; +} +#endif + +/** + * devm_of_iio_channel_get_by_name() - Resource managed version of of_iio_channel_get_by_name(). + * @dev: Pointer to consumer device. + * @np: Pointer to consumer device tree node + * @consumer_channel: Unique name to identify the channel on the consumer + * side. This typically describes the channels use within + * the consumer. E.g. 'battery_voltage' + * + * Returns a pointer to negative errno if it is not able to get the iio channel + * otherwise returns valid pointer for iio channel. + * + * The allocated iio channel is automatically released when the device is + * unbound. + */ +struct iio_channel *devm_of_iio_channel_get_by_name(struct device *dev, + struct device_node *np, + const char *consumer_channel); + struct iio_cb_buffer; /** * iio_channel_get_all_cb() - register callback for triggered capture