From patchwork Tue Feb 20 21:14:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 203819 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp669863dyc; Tue, 20 Feb 2024 13:15:45 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWJRjwPl3Awh5YrgfkKc+rQH2VbWJTZyqV4h+zzlhJlEve+GkPvKd/f2QAys2oS1vx8UVN/up4r9CRGjM5fT8QcL/rOXA== X-Google-Smtp-Source: AGHT+IFqAr7sL9pSmxJl1NEgLEsM7iMeBPusTIBwYr+TiKWmDTfjb8lJM3y2xMnqHuZ4c3uFA0Ep X-Received: by 2002:a05:6a21:9207:b0:1a0:6138:aa8d with SMTP id tl7-20020a056a21920700b001a06138aa8dmr29940269pzb.21.1708463745201; Tue, 20 Feb 2024 13:15:45 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708463745; cv=pass; d=google.com; s=arc-20160816; b=Mhnfwwbx9xCOC6HMjAAY5izkYVj3apKyKjEC9+Pp1WNapGqOGghjYjXxPlzfAvkGDU ORXTdV/ZYsHn1oluSASnN3uxh6BATzdksHnbZanqQxQ19ftPSzI60f1J2IMNMmywdQ5w t7SnZCwRwtJwQs96p+yvV73eQmbRqqNIMoS8HcTbhNRLxOylvwwzuJWlVDYDx9ySv1r0 b2O7zNheyMNt8e1h+CF5NaiS2WwDvtltgbVI0v0A05Sg16U4OONLhHTzY96HviI9Rha2 Q9GQeMUJIjxwtc24CWDa5S93v+lUPadXzmbdTkGBXWktK53TC2YSF09DVIOF5xTcad1T vwcw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=bysFB8VOUQG0rzhFX0FiWlnp+/R7B0ro194OzpL/Ots=; fh=Pscrc1tJiXbw9YH2f7h0uhfJRND4naJgsFG9e2zQRC8=; b=Z26zxOT7v2iTvt8VvwMdkKp6BKdxo1yOw+GDl8zLQP4KHtpoCDJUluGbP2QgEldwt7 0zOYEeJ5yjR9NOfdEj1vc/THvrlKW7+FZhaaIQq/9ul5vydoA82CmQP6LZ9ZQa/M0tTG hSIpbKEpN8hB7I/mWS24PGaiYkbtE5BSHRBgF0Pc/v+yuW+2MFAmEzxoAeVz2njRGWeI 1UHdDXcM1U3+fUJr2hjXvMmttJOm3oAd4KRI3HYGgotAmwdVqjonghA4ZWkNzq0Shfl0 PyGmkkWTW66eHpMsxjvNLE7JHgH0mn7N1YFNQO24y0L8QJaii5zGL6cDvLbQnVklAIRM LLkw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=dFDIPs8k; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73716-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73716-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id b190-20020a6334c7000000b005ce04795a98si6716856pga.32.2024.02.20.13.15.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:15:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-73716-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=dFDIPs8k; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73716-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73716-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 059D22833D5 for ; Tue, 20 Feb 2024 21:15:45 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 89740151CDC; Tue, 20 Feb 2024 21:15:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dFDIPs8k" Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C16C2151CD8; Tue, 20 Feb 2024 21:15:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463703; cv=none; b=s2JBotVfW7Sauyu2Tr5q90F3GKPkAmYgGCIZ1HxVdtYAwQT8EWpnPGgVx+khHS4ctKr6G8MXqwLC/btC+sM4qj17MmQi/49/7d2tlXvwOJqfhlsIcxu8pHvS8wxDcdHbh5WAjbm5Sr72Eg2d40ybVXrJz/m26K/HK6BrcI0YaR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463703; c=relaxed/simple; bh=YAdBiDoe8/IZ+rByvKGy+92HAzwV14CR2j87H09rlQs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rvFjk/r0rZK1Oh1Ahv2zK382LOhN2C0zE3ZMJ456M1SNLvQgoKPfQy+N5HCHOmvyR9+MtyS9uviCesk+eAprgjCAeJBz7/sFk6suXAzTkyib1AgFnur7vK0e7cx6KKET++a9kVku3qpkX8iNcLIqMaoGadCktPkA+pX977SEINk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dFDIPs8k; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-564f1876a2fso182468a12.3; Tue, 20 Feb 2024 13:15:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708463699; x=1709068499; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bysFB8VOUQG0rzhFX0FiWlnp+/R7B0ro194OzpL/Ots=; b=dFDIPs8kMh7zW5TezWJD9/piGlTVWvbdCj+dXP4vA6O7byI2I6gUmbBlgPJ1J8L2qU cyJYbnQ3htxyw3Z7hepiMGZzRiF7uDZ3aGpqr8euY88QlLCsR4kWyFrO6fOFeFnMtJA/ LeOz0EE/YnE3cTS2G9gY8ux1B3w8ndqtqIaLdDSWIdfaxNd/NHUW2kB+akHkyg3Rp5Q5 3WVIduZsqGARjTV2hQXcqVi0PGYPFtdH4JIURb6kj2OvqWrlW7o+IiXvknOKuhGQO+Dt 8gBlN8fd4l3rNr+w6n7+jXVMXEso9EhEyjTZKVSDbARX7tEDq6DGjWZ5v4nNO8cRL4gW 0cHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708463699; x=1709068499; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bysFB8VOUQG0rzhFX0FiWlnp+/R7B0ro194OzpL/Ots=; b=iYHKVKUMeJSyqiPoewVpzWOwA3OZZGYnjPrXlP5insjoazD6kqDvsEj6BC3ucOZF1s poNqG0Irja/0H+KwMzEPLWQ9IxQoV4i+GZxZ5mk9do7PlD9W8fOcq5R76f4K04JCKMgz dZFPbsbD2mHDyLnL7HWebGw2LTzysRQmq+jEAhDZtNLD/oqNK8QMMzSCErT6MbQftGro JNmSumvngCw25RQFI/7e/QrxxAm5HbVPK382S0D9rWv7apsuGsxc5I7FiIpBKUI4Cyo7 7VhxIE7ADRKUHcSTk92aqdjrDuUjj29tTMkdV12rGRrKSwuf9qCfGkwbi65o0ahErg0f U9nQ== X-Forwarded-Encrypted: i=1; AJvYcCXJl+cpd4+OtACrz2ctjrKSMn+26AYiIH4h2A8FHlmXNTkLvbUEgoOobWCEpT85tuCk7P3TNXRjTGsEVN/b9FrsQUAgyJQf3AZhEjlgtklM9yZzYCpr0RIWHnW7D++PaUY7+5IdRK1B1fHkyREckBh/B0znYkq/7OkaqgTAybZQ4QDxeA== X-Gm-Message-State: AOJu0Yy2k3BU1gCOh2tbJSdDDXM2S4K7iH3juiFNY+icUbaQ1r28aII6 ZpgOgljGWCZhhcOjkNsg0g/3+RzglTaHPuknrWrumuyjyM1jh7i0Dad5apeEEaTn4g== X-Received: by 2002:a05:6402:1b1a:b0:561:4460:6726 with SMTP id by26-20020a0564021b1a00b0056144606726mr11742594edb.26.1708463699172; Tue, 20 Feb 2024 13:14:59 -0800 (PST) Received: from [127.0.1.1] (2a02-8389-41cf-e200-d60d-797f-077b-a805.cable.dynamic.v6.surfer.at. [2a02:8389:41cf:e200:d60d:797f:77b:a805]) by smtp.gmail.com with ESMTPSA id fj21-20020a0564022b9500b00564da28dfe2sm538137edb.19.2024.02.20.13.14.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:14:58 -0800 (PST) From: Javier Carrasco Date: Tue, 20 Feb 2024 22:14:55 +0100 Subject: [PATCH 1/4] iio: humidity: hdc3020: Add Makefile, Kconfig and MAINTAINERS entry Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240220-hdc3020-pm-v1-1-d8e60dbe79e9@gmail.com> References: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> In-Reply-To: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Li peiyu <579lpy@gmail.com>, Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Jonathan Cameron , linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, Javier Carrasco X-Mailer: b4 0.14-dev-8b532 X-Developer-Signature: v=1; a=ed25519-sha256; t=1708463696; l=2533; i=javier.carrasco.cruz@gmail.com; s=20230509; h=from:subject:message-id; bh=3a3IuUcHgpMvkEUVjsKil8/rhpG6FeILz6O7U1hUYAU=; b=gGUgj8fQzp3mrh6qVNaD4Mp8ODKE+0ZKjE/fJH6Je6P8LXHjsET6x4VCxYTdkNa05X76EBG4g By3Wp7P6h3XD0c9mAuxBq5ZhYf+S4UJtRlzvliB6DiaPGqvoy7NdxI2 X-Developer-Key: i=javier.carrasco.cruz@gmail.com; a=ed25519; pk=tIGJV7M+tCizagNijF0eGMBGcOsPD+0cWGfKjl4h6K8= X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791454079964295218 X-GMAIL-MSGID: 1791454079964295218 From: Jonathan Cameron Something when wrong when applying the original patch and only the c file made it in. Here the rest of the changes are applied. Fixes: c9180b8e39be ("iio: humidity: Add driver for ti HDC302x humidity sensors") Reported-by: Lars-Peter Clausen Cc: Javier Carrasco Cc: Li peiyu <579lpy@gmail.com> Signed-off-by: Jonathan Cameron --- MAINTAINERS | 8 ++++++++ drivers/iio/humidity/Kconfig | 12 ++++++++++++ drivers/iio/humidity/Makefile | 1 + 3 files changed, 21 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 6add3fde252d..fde7456438b1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22023,6 +22023,14 @@ F: Documentation/devicetree/bindings/media/i2c/ti,ds90* F: drivers/media/i2c/ds90* F: include/media/i2c/ds90* +TI HDC302X HUMIDITY DRIVER +M: Javier Carrasco +M: Li peiyu <579lpy@gmail.com> +L: linux-iio@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/iio/humidity/ti,hdc3020.yaml +F: drivers/iio/humidity/hdc3020.c + TI ICSSG ETHERNET DRIVER (ICSSG) R: MD Danish Anwar R: Roger Quadros diff --git a/drivers/iio/humidity/Kconfig b/drivers/iio/humidity/Kconfig index 2de5494e7c22..b15b7a3b66d5 100644 --- a/drivers/iio/humidity/Kconfig +++ b/drivers/iio/humidity/Kconfig @@ -48,6 +48,18 @@ config HDC2010 To compile this driver as a module, choose M here: the module will be called hdc2010. +config HDC3020 + tristate "TI HDC3020 relative humidity and temperature sensor" + depends on I2C + select CRC8 + help + Say yes here to build support for the Texas Instruments + HDC3020, HDC3021 and HDC3022 relative humidity and temperature + sensors. + + To compile this driver as a module, choose M here: the module + will be called hdc3020. + config HID_SENSOR_HUMIDITY tristate "HID Environmental humidity sensor" depends on HID_SENSOR_HUB diff --git a/drivers/iio/humidity/Makefile b/drivers/iio/humidity/Makefile index f19ff3de97c5..5fbeef299f61 100644 --- a/drivers/iio/humidity/Makefile +++ b/drivers/iio/humidity/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_AM2315) += am2315.o obj-$(CONFIG_DHT11) += dht11.o obj-$(CONFIG_HDC100X) += hdc100x.o obj-$(CONFIG_HDC2010) += hdc2010.o +obj-$(CONFIG_HDC3020) += hdc3020.o obj-$(CONFIG_HID_SENSOR_HUMIDITY) += hid-sensor-humidity.o hts221-y := hts221_core.o \ From patchwork Tue Feb 20 21:14:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 203820 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp670049dyc; Tue, 20 Feb 2024 13:16:06 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVGodPX+CWcPqe/cYRRNG7q7ZS50e1SbWSVdqyVvPsY+PLJLWSedx8ZcMXN0GymzwWnag1J7ojOCtkQ/rYVU8L2igTcMw== X-Google-Smtp-Source: AGHT+IEAewlGIE7oldo+lSkDxpw369yQW0Mx8dMNfH6xM8wsbbps4KoZyBY5LF2ou7LHsY2tfSmP X-Received: by 2002:a92:cecc:0:b0:365:29e4:d963 with SMTP id z12-20020a92cecc000000b0036529e4d963mr7120804ilq.30.1708463766465; Tue, 20 Feb 2024 13:16:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708463766; cv=pass; d=google.com; s=arc-20160816; b=tjDMi+7B2z6daiBau6LpmNif8Obir483+dZUZTP/IFI/SQWnWw1cQ23ZzrOlz7qw0S eLpShUE9D8G5cDg/Fei5AtrVKPnIqeMx/BjQ5zLFQtNfoW0K9c54wRSwiXq8rwOqzxI4 r6zp73Ntw9UOXA8DOkkWvOhTJexwT0msXTvAu98fikQo8oO+pRFvzPdXI/feQgNcgwng ciJNCKXr4nGv3KiSFTysJjkgNp7vYLOlc+fOZaN7HkvRvZIq1T/0woAX8Wqjy1bAguGy PtBbUnCrqUb5wpORz9dq/BlmIAbGKzxs1FtpJ3vTzRKpJF/KiSOnlWcNIHUW7ceFB/Zr 5Gpg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=3YzuvLMT8Yp5BNl7yqqYggipfEnF06swjFmuzM89Bb8=; fh=wjcatA0yEVtUnScbj86udryO738a4npwErVlApKkme8=; b=yT+G6q1RIcWIbHFMM+NOGhKXZoJmsiBm/4qhEDC5ItFx3oI1SYqJUJg+hSUhlogkac Wil0ZY4pnPZHJBEYmkLjON6yhWwJNbL+j62xFdJ+8QxSi4unYkwiwL8t/+kOd7iy49i9 xBYW6vVWGvdmhwRuyu+856j3eEIqi1KcztaYLlrG1Gm2PuPJBUdqyF/9/1z7LCfjS7N7 wZ82pEhSdnIp1qy3Z1aEvQd76DCf8wxEdKqF9aP2hGsCWY30gAgWSJCkqfLVX14+Ka4w LhwAtFtL5Xdm4JQQua0goGizs1yCZFh1Cc27e2AKY2Rf5UeYAX8wZDl7CSkAXL3vqSoY /hBw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=U1mZ5kjC; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73717-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73717-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id w30-20020a63af1e000000b005d8e1dc1df8si6724377pge.705.2024.02.20.13.16.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:16:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-73717-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=U1mZ5kjC; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73717-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73717-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 504BBB2164B for ; Tue, 20 Feb 2024 21:16:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 41C9F15351B; Tue, 20 Feb 2024 21:15:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="U1mZ5kjC" Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC93D151CEE; Tue, 20 Feb 2024 21:15:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463704; cv=none; b=lWuIsejid2fGd0k93E9OZQY9ARAtbePnr1pPwY/HuGDIXGa8z8e9DquFG18M8ZNk7NK+Uen8XWJHPRogtUGu+dyg7FNn8mkZhZDaABTAk2mSkyGWaitTXYabZEnIOsQ/htuoIR0px9WBMCy0IVCLKRL7X05rnfSS5P1as0e7ysw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463704; c=relaxed/simple; bh=cqOSJPfWwGG7Yezb8uUM7UN+OOm6cCM3Di28hr7D9+A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sNog9JGtq15BJLBKnjT7hxpMUHUupU/tJEQP3SZV4gw3tlIhHh1yVfmPgJi8656xlblUL8Cq0ZmPQ3gjHRl8TsKJgzx8IQ4mO48+hK2bhVB3skcBojr/MOry1yp/VBnxxz1UAaWxEES35ACc3ZkGQO7dtURg149aUc9FH8i67iI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=U1mZ5kjC; arc=none smtp.client-ip=209.85.208.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2d0e520362cso60399781fa.2; Tue, 20 Feb 2024 13:15:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708463701; x=1709068501; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=3YzuvLMT8Yp5BNl7yqqYggipfEnF06swjFmuzM89Bb8=; b=U1mZ5kjCjsL570UkSgYX2EsP+Y0pZagCSNJ6pZX+N6lgUFon0chbBtKsLFQjkFgywa Ru26bfT/xEU+jKARjh88IgBG7THyEdKvWTGwCCWQLWV+HCVI7aTziwZxEab/skhq++81 uBiXq8rjEsOQDbfMSZMghqoViARscCFpVo0blEQtGmjB+M6vSJ5Lzua3+pZi1bvIWrIC Kph1mrf0M7/BX+xxNiD828/m/1ViJLqRzEDWD0CTjWqDVULHnfBp64BKlRP0XwZJ4jGD mEF1jCHisviIsWfFYJvmSv0RxcwlcKUCWx9U1iPFkNM5/t0tc4kP/4DO6wRgs9BbWW++ OI0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708463701; x=1709068501; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3YzuvLMT8Yp5BNl7yqqYggipfEnF06swjFmuzM89Bb8=; b=qhfJfyNCeO1CJTRBocRrL4y0EWuDusogRWjIIRDDuygZv61ezGAAnle9RbyEKH2ig9 qazRJiZQ+kEO/K+tQiiu0Q8AvwtkISauuu8aRzxkux1SbtBfS2EJHE+GN3PNW+anQ6R2 QRAftYJC+ckX4kiXIoez+h6ZIaCuJbb3tg+FsOm7qXd9F02YS0k8+p/8TGBmQj8PJlej PJlbKN9RXv4e62Vv0mVc18T8Fq9/u4pDsMgVsm/i3DXEVT637LOOYAzfmffWZ02dTl+q 89TIEtmpthL/16331vek/5KvDJvaahaNeqdWAP+xbwBG7AkC/pT7PiL2PkLd564Ly9qT G2dQ== X-Forwarded-Encrypted: i=1; AJvYcCWCCCeuRBFkLGEuPYgzcGSTFeIsMD93jRJP2Q1825Ik2+jsduO151L/WoXZDl/34wKAA3punJEZkWl+vQr49+8MnB/EDpa5WG+97Wkk6A5jPLaUMD58ZeAajWvnI0Exh/HPVqQflNkfVA2ECwLXBs//0aRPb2RUcmN0Bc1A3at/WG47bA== X-Gm-Message-State: AOJu0Ywg5H3Pms9yRPEtQUmSQ30a9Lf3OMUEWHyglKKlE+jo8eaI0Rbq bltsjUeDBIpA87Sufy8wEVUMGkYF9KNZhNSK2kE+8PI+AOoFBTpVenG+eVzDSNrBAg== X-Received: by 2002:a05:651c:2227:b0:2d2:20ad:a51 with SMTP id y39-20020a05651c222700b002d220ad0a51mr9373588ljq.0.1708463700716; Tue, 20 Feb 2024 13:15:00 -0800 (PST) Received: from [127.0.1.1] (2a02-8389-41cf-e200-d60d-797f-077b-a805.cable.dynamic.v6.surfer.at. [2a02:8389:41cf:e200:d60d:797f:77b:a805]) by smtp.gmail.com with ESMTPSA id fj21-20020a0564022b9500b00564da28dfe2sm538137edb.19.2024.02.20.13.14.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:15:00 -0800 (PST) From: Javier Carrasco Date: Tue, 20 Feb 2024 22:14:56 +0100 Subject: [PATCH 2/4] iio: humidity: hdc3020: add power management Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240220-hdc3020-pm-v1-2-d8e60dbe79e9@gmail.com> References: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> In-Reply-To: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Li peiyu <579lpy@gmail.com>, Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Jonathan Cameron , linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, Javier Carrasco X-Mailer: b4 0.14-dev-8b532 X-Developer-Signature: v=1; a=ed25519-sha256; t=1708463696; l=4928; i=javier.carrasco.cruz@gmail.com; s=20230509; h=from:subject:message-id; bh=cqOSJPfWwGG7Yezb8uUM7UN+OOm6cCM3Di28hr7D9+A=; b=Dw+Eu0IqRKs2r6dhcLGvcEVgTD6kgT1MOkD0wWGepF46ll3JDc7ez9kjM3voW5mk3B/t+CNDv dhY/99MYmgxB30bMG24PbVSWKiF2S0WUdSqJRT4b+0Eww+9Q6fLHRrW X-Developer-Key: i=javier.carrasco.cruz@gmail.com; a=ed25519; pk=tIGJV7M+tCizagNijF0eGMBGcOsPD+0cWGfKjl4h6K8= X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791454102048013140 X-GMAIL-MSGID: 1791454102048013140 The HDC3020 sensor carries out periodic measurements during normal operation, but as long as the power supply is enabled, it will carry on in low-power modes. In order to avoid that and reduce power consumption, the device can be switched to Trigger-on Demand mode, and if possible, turn off its regulator. According to the datasheet, the maximum "Power Up Ready" is 5 ms. Add resume/suspend pm operations to manage measurement mode and regulator state. Signed-off-by: Javier Carrasco --- drivers/iio/humidity/hdc3020.c | 81 +++++++++++++++++++++++++++++++++--------- 1 file changed, 65 insertions(+), 16 deletions(-) diff --git a/drivers/iio/humidity/hdc3020.c b/drivers/iio/humidity/hdc3020.c index 11ede97a31d7..0da5c5c41cd2 100644 --- a/drivers/iio/humidity/hdc3020.c +++ b/drivers/iio/humidity/hdc3020.c @@ -20,6 +20,8 @@ #include #include #include +#include +#include #include #include @@ -68,6 +70,7 @@ struct hdc3020_data { struct i2c_client *client; + struct regulator *vdd_supply; /* * Ensure that the sensor configuration (currently only heater is * supported) will not be changed during the process of reading @@ -551,9 +554,39 @@ static const struct iio_info hdc3020_info = { .write_event_value = hdc3020_write_thresh, }; -static void hdc3020_stop(void *data) +static int hdc3020_power_on(struct hdc3020_data *data) { - hdc3020_exec_cmd((struct hdc3020_data *)data, HDC3020_EXIT_AUTO); + int ret; + + ret = regulator_enable(data->vdd_supply); + if (ret) + return ret; + + fsleep(5000); + + if (data->client->irq) { + /* + * The alert output is activated by default upon power up, + * hardware reset, and soft reset. Clear the status register. + */ + ret = hdc3020_exec_cmd(data, HDC3020_S_STATUS); + if (ret) + return ret; + } + + return hdc3020_exec_cmd(data, HDC3020_S_AUTO_10HZ_MOD0); +} + +static int hdc3020_power_off(struct hdc3020_data *data) +{ + hdc3020_exec_cmd(data, HDC3020_EXIT_AUTO); + + return regulator_disable(data->vdd_supply); +} + +static void hdc3020_exit(void *data) +{ + hdc3020_power_off((struct hdc3020_data *)data); } static int hdc3020_probe(struct i2c_client *client) @@ -569,6 +602,8 @@ static int hdc3020_probe(struct i2c_client *client) if (!indio_dev) return -ENOMEM; + dev_set_drvdata(&client->dev, (void *)indio_dev); + data = iio_priv(indio_dev); data->client = client; mutex_init(&data->lock); @@ -580,6 +615,14 @@ static int hdc3020_probe(struct i2c_client *client) indio_dev->info = &hdc3020_info; indio_dev->channels = hdc3020_channels; indio_dev->num_channels = ARRAY_SIZE(hdc3020_channels); + + data->vdd_supply = devm_regulator_get(&client->dev, "vdd"); + if (IS_ERR(data->vdd_supply)) + return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply), + "Unable to get VDD regulator\n"); + + hdc3020_power_on(data); + if (client->irq) { ret = devm_request_threaded_irq(&client->dev, client->irq, NULL, hdc3020_interrupt_handler, @@ -588,22 +631,9 @@ static int hdc3020_probe(struct i2c_client *client) if (ret) return dev_err_probe(&client->dev, ret, "Failed to request IRQ\n"); - - /* - * The alert output is activated by default upon power up, - * hardware reset, and soft reset. Clear the status register. - */ - ret = hdc3020_exec_cmd(data, HDC3020_S_STATUS); - if (ret) - return ret; } - ret = hdc3020_exec_cmd(data, HDC3020_S_AUTO_10HZ_MOD0); - if (ret) - return dev_err_probe(&client->dev, ret, - "Unable to set up measurement\n"); - - ret = devm_add_action_or_reset(&data->client->dev, hdc3020_stop, data); + ret = devm_add_action_or_reset(&data->client->dev, hdc3020_exit, data); if (ret) return ret; @@ -614,6 +644,24 @@ static int hdc3020_probe(struct i2c_client *client) return 0; } +static int hdc3020_suspend(struct device *dev) +{ + struct iio_dev *iio_dev = dev_get_drvdata(dev); + struct hdc3020_data *data = iio_priv(iio_dev); + + return hdc3020_power_off(data); +} + +static int hdc3020_resume(struct device *dev) +{ + struct iio_dev *iio_dev = dev_get_drvdata(dev); + struct hdc3020_data *data = iio_priv(iio_dev); + + return hdc3020_power_on(data); +} + +static DEFINE_SIMPLE_DEV_PM_OPS(hdc3020_pm_ops, hdc3020_suspend, hdc3020_resume); + static const struct i2c_device_id hdc3020_id[] = { { "hdc3020" }, { "hdc3021" }, @@ -633,6 +681,7 @@ MODULE_DEVICE_TABLE(of, hdc3020_dt_ids); static struct i2c_driver hdc3020_driver = { .driver = { .name = "hdc3020", + .pm = pm_sleep_ptr(&hdc3020_pm_ops), .of_match_table = hdc3020_dt_ids, }, .probe = hdc3020_probe, From patchwork Tue Feb 20 21:14:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 203821 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp670093dyc; Tue, 20 Feb 2024 13:16:11 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUmE+lbGhhjKv0PrrHHUGDUq2WdGZBFDi0ZyBkrfZq2XlVTQo8iBKT3xPg+GhNBaPGLRV8x7m/9wMO+XEwEkFSKBwhSpw== X-Google-Smtp-Source: AGHT+IG0JjuoqU8ExkaVgZIiRNfDJvpnUEXONXeoHPWwwdSzWOc+q66Mg50ftS7fWpSWIqDNcZgB X-Received: by 2002:a05:6a00:2354:b0:6e4:84db:e30e with SMTP id j20-20020a056a00235400b006e484dbe30emr1997487pfj.32.1708463771675; Tue, 20 Feb 2024 13:16:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708463771; cv=pass; d=google.com; s=arc-20160816; b=EeY7otjYsbaeCIc5at4Z5Acry8rhNBb7D6DH+dzxtsabAma+hzyL4EkwoSZCsh63Az qzAvBQtORpF3cBOqyP0FeKs0/Y0+0gNg5UqaybtPfZttE0j2s6fHPqWGYz85la6F3LSE r/ZLrCf3kgvv/q+ZHLasyAAcIA8/l1e/iTeO8jhlKJMcQW4U6xO+KxVSgGntglOHfz5K XhkeXhn9AmySBgSshklY+3Yop/EN2MThO8oWsbzh4DiDl4sPeE/qp1vJqDM5w6PYEwE3 qMEQv2zieEOc/56+Jj7t5tCFE09zOH6OLbEVcyYK87utjZI+d7n2r5iDeI73Byu4t8t6 lD/A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=sjOh/UQPhwu1ysWxAs0vISEfQvcgjub2FXkP8IJA4e0=; fh=t2dAfjxy7IAfR6wzqqMXeeDt0ZR8fiETXWESzLzzLpw=; b=cokbIZ/rtmsgTi/IfM2vdkgxBhIAe2wkP4kP2IkHE00WTLaM4lcxgmVVnICbaCEvJe YPIHFW0CoWBkfzrl0EgW/RHbaqmKsUUKnVJ5OrpvGZGzB72NLHr8nI259Tkop3R7+AdV /K4N96Oh1MMWoE3MHZ1tRawjjQ/73Q1DO9c+DKisdhowP68mG6noFvwvvJCZmnCmxbFb PilJ2ksMkwLeSCYn5CxSQWk8E/hjc18+95EIOIxyUMFKNwQlFgaUiaLaBTmaf2PMDTLS iG69bRVYrCe3bR9AflKOICspNXX9UR6HChIt1ZPtPCq11b8dJhf66JPmPnl4pqfPrLnZ FeEw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=e2pP2Nv4; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73718-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73718-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id c20-20020a637254000000b005dc493c948bsi6845873pgn.843.2024.02.20.13.16.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:16:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-73718-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=e2pP2Nv4; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73718-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73718-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 671FCB21693 for ; Tue, 20 Feb 2024 21:16:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C0D9D153516; Tue, 20 Feb 2024 21:15:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="e2pP2Nv4" Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57080152DEA; Tue, 20 Feb 2024 21:15:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463706; cv=none; b=NCxukVDc2OQQFH9juRd5IhLATPOldUP3XqEdGBOTe6+bBXW1azb1cTzy9YJePGfs6nsGuSLNblrd5mq5GxP40xc0PS0+v0lNp/+qpS3lLXHzL/3eIuKf1VkfzPBNQJm8be983Ol5+VkGj64IiTaPmoEBecPi2SrW8tILPxFCjew= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463706; c=relaxed/simple; bh=plh10VuMojhQ7wzSifZveM3iRuWPqiS+3GR/CvVqCLs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WmSEeOw3JDkXXDydDKzb6uXsjMQsFk8NI2HOh0aLSPJrTh1vY+usMgTG26+Zbgn7/87oVmrPC+qz/G9Hi3777MeelnYrOJRxdwtjSfBeNd+YuTpwUbeeWaMgCVSvJ0FFWCyfu7r53DmfW0ZYm4Np6wK0NV3+/G9h4dLSv1QYMTI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=e2pP2Nv4; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5643eccad0bso4806151a12.1; Tue, 20 Feb 2024 13:15:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708463702; x=1709068502; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=sjOh/UQPhwu1ysWxAs0vISEfQvcgjub2FXkP8IJA4e0=; b=e2pP2Nv4AGLS5XYkLBXkAyY7MuzJHYu1Yv1FK2VzX0Pis3NQu8hlala7tChDY67qR3 EoDM2Xkl61Gzn3qeXwBCa8ndMVdYXPbH2OYiu/fG82PDe2MBvsHcX+FBltnX+6oi6y+A Jx60Nb4jfStB5q3B2qGxaLDV0L1mpgNX6taKoHg9Bb0A074iZ7a8NP/WK1GM9gIj72QF bPfjvVt3K0VmBSUyHTDrOyn5NntORT8IqNLaeaTAefahNTwZ0epHNwbojv14mo+0OdT6 OYQtiMVTUb9Uqh83qCmKN+eniCTmyypB0REA8tLS4zQ+wXmkwvcjSbv4OOdSKLeI5oAB 9+aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708463702; x=1709068502; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sjOh/UQPhwu1ysWxAs0vISEfQvcgjub2FXkP8IJA4e0=; b=gbUz1F7OKXnmtsART5AmSmgDZguNjlmB4F5nTJAK5KrBoQhR/f2t+BTWXOVpPzdT9Q aza5jEKYPW2Pm1OvJN4+9sDknubAReBlIDkR76R+VjEDzfmCRv6zgKdnK6UZfrvdRnSK X7mpsCJPox9IGkpxIqYPnikkYKJg0sf7zczYxQegp6ZmApd4MlmsVad6rV6kjt07BVYU 9WqjDQV4oprjwsZ6MBAmMNyLAV67Kb2zB2dpPD57wHG5M7oT4SQJ3s+GSSACPfv3w/Pn qM7NmbRxsq/sm9syClE8TWKPDSdq7PGTONUuDGI4t1R7t0NZgP6vhpDuK++KgnxKMdQq Q5jw== X-Forwarded-Encrypted: i=1; AJvYcCUm67GxJTHLs4RkAtIcCQopepFptS8fG2ohjoiNvFyR1oTDuWWWY+CHU1MjDoVGv6NWyrCwf+j3giVPFvPFQFdtSSwv75XrQ2tJeoAyyULAdYSxXreWZVF7nr8EheZXbF63GLLk9kOGe84e3VzuV+T/o1FTzqnO7qN6vUC+qaG2YH39OQ== X-Gm-Message-State: AOJu0YxgD/4f8+s/QZVddBnrKOfd56yyDUKBC6SfvWUoVQXgHmMV9eC+ TzJBy+azRSggg1kex8MR5faKn1K4nM3yJOLTcYVJGKUY7nR+xJbBZm+DFARN3vuG5w== X-Received: by 2002:aa7:c746:0:b0:564:5764:a5df with SMTP id c6-20020aa7c746000000b005645764a5dfmr5123925eds.27.1708463702035; Tue, 20 Feb 2024 13:15:02 -0800 (PST) Received: from [127.0.1.1] (2a02-8389-41cf-e200-d60d-797f-077b-a805.cable.dynamic.v6.surfer.at. [2a02:8389:41cf:e200:d60d:797f:77b:a805]) by smtp.gmail.com with ESMTPSA id fj21-20020a0564022b9500b00564da28dfe2sm538137edb.19.2024.02.20.13.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:15:01 -0800 (PST) From: Javier Carrasco Date: Tue, 20 Feb 2024 22:14:57 +0100 Subject: [PATCH 3/4] dt-bindings: iio: humidity: hdc3020: add reset-gpios Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240220-hdc3020-pm-v1-3-d8e60dbe79e9@gmail.com> References: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> In-Reply-To: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Li peiyu <579lpy@gmail.com>, Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Jonathan Cameron , linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, Javier Carrasco X-Mailer: b4 0.14-dev-8b532 X-Developer-Signature: v=1; a=ed25519-sha256; t=1708463696; l=1261; i=javier.carrasco.cruz@gmail.com; s=20230509; h=from:subject:message-id; bh=plh10VuMojhQ7wzSifZveM3iRuWPqiS+3GR/CvVqCLs=; b=GnHgNYg80trx+7eLcOPnsNYdIJ2vZx6nca6RTKiHYbyHH3jh27qBRlTPMMFma+e7xFCerehSP z8LVP7UwzbHAbubqJa3vMx7GA6S87moFCcSpP78Kd4LA1gcDjBCnDfU X-Developer-Key: i=javier.carrasco.cruz@gmail.com; a=ed25519; pk=tIGJV7M+tCizagNijF0eGMBGcOsPD+0cWGfKjl4h6K8= X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791454108142514401 X-GMAIL-MSGID: 1791454108142514401 The HDC3020 provides an active low reset signal that is still not described in the bindings. Add reset-gpios to the bindings and the example. Signed-off-by: Javier Carrasco Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/iio/humidity/ti,hdc3020.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/iio/humidity/ti,hdc3020.yaml b/Documentation/devicetree/bindings/iio/humidity/ti,hdc3020.yaml index 8b5dedd1a598..b375d307513f 100644 --- a/Documentation/devicetree/bindings/iio/humidity/ti,hdc3020.yaml +++ b/Documentation/devicetree/bindings/iio/humidity/ti,hdc3020.yaml @@ -34,6 +34,9 @@ properties: reg: maxItems: 1 + reset-gpios: + maxItems: 1 + required: - compatible - reg @@ -43,6 +46,7 @@ additionalProperties: false examples: - | + #include #include i2c { #address-cells = <1>; @@ -54,5 +58,6 @@ examples: vdd-supply = <&vcc_3v3>; interrupt-parent = <&gpio3>; interrupts = <23 IRQ_TYPE_EDGE_RISING>; + reset-gpios = <&gpio3 27 GPIO_ACTIVE_LOW>; }; }; From patchwork Tue Feb 20 21:14:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 203822 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp670149dyc; Tue, 20 Feb 2024 13:16:17 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUnRL23PztqdihY5VIM9EnWc8Tikx62P6eD57PSLI9P8/lkLexd4EelHgosB5ped4ZO9RsvnLPtyUl3XfvI3q145IMW2w== X-Google-Smtp-Source: AGHT+IEsZdFOFCNqLXSwXY8Sy9C8IBra7+Jwu8AXhWHY0ShdW/XZWb/5s5APRAOy5GqIhWNTKJ9l X-Received: by 2002:a05:6a20:9c8b:b0:199:e4ab:691c with SMTP id mj11-20020a056a209c8b00b00199e4ab691cmr21177792pzb.8.1708463777770; Tue, 20 Feb 2024 13:16:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708463777; cv=pass; d=google.com; s=arc-20160816; b=wFAWW0c5brlx2RsjXpLFw/0SJXh4GCFTMx20efKcIOVtfQDWE90YCLr3X7jEPOSG+7 V5KkKMtm4UHpQwAjnAy5cimsTyDibGixuTf8oIudaVL3aXRD29gRHQ+Rp6B1FbG0juzQ KqxFxr2CCRpPsDdh/20jlrSefcyMeFdjeTw8tPFuARmeLsjGCQC0rsXcml/QtLM/Y2TF hUohxCY/l63nnT5WAJ/qIL0xmcWgkWXCUwpNDa+mkPBu3S+hDkcSqlZDDS/WZMA/XUPK WhfsqS81Ljrc6ol2asfY5+HvRMkGStW+j1rMERn+5qfWeH4Tg+hEKQXVG/xBRBPvY3PX shTA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=rpz65CgEKeFqCseDG6nHrCx/ipraX250PSOWkqJO8E4=; fh=5enJWGZxSt3TCfbkf9bK/fMvEOGVdl9vPc24wjp0/FM=; b=dmic3rUrH2g3pVefahBEciOTMgl89FwpCwHAliHTEID0T7G3dGUb1NJU60snBf+sca MYEWINZ5Ox+v2jW05oYHGhU1ELRRDi0aCDwQE25FhdHOOhRAZaYh8uJ/5z0WPuqevJm8 N1DK5a3zvqTeEYSF1WAc9omRXytMw9pUFu4oXeD3cMs4TWjN3DWmy+aMm+WAOZVmx5AH kkBqkyaiZEyoLrctXlRoXhx/l3v3ogHv7/HRH10Uu5uPxhOfS8Vvxthdsunl9Pnu4qRx yjZG2tzsxZB/4f6bUMKMzBXOUNpcg8oBGP5kt5m3v3RtmBbaA7hRFLvB73872nnj+GSs DcEg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="Rqi8mqQ/"; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73719-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73719-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id e1-20020a631e01000000b005d771540eb9si6738211pge.206.2024.02.20.13.16.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:16:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-73719-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="Rqi8mqQ/"; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-73719-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-73719-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 89D43283AD0 for ; Tue, 20 Feb 2024 21:16:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4CA51153BD3; Tue, 20 Feb 2024 21:15:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Rqi8mqQ/" Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B6E05151CD6; Tue, 20 Feb 2024 21:15:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463707; cv=none; b=NGEosVWls/a3BIivJvXYWNdV1fmnqoUJFvXXavkqccGAOPNiYFWUgGT079Qc56nJ8h1l8N1IEH/Jv/ubmGpxX1cE+w/SOJuGVvRV5aAFLeBLCEoaSIPwcs+nhHXT2ql0jRqGVbQJOYlfd7AA7xrHPoRqbOMUSVcjuVL1O3q9Z8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708463707; c=relaxed/simple; bh=PfgqwBzwcDb+91qumay33JWHJ7BTVWpHM3HbGeClp7I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q38fhipNm0iu+OcLsC6GAoEMeP6+JUd3ocOAO3T/zPraLeEskYBiH2BaGggX7R4F8FOc7++1Y7HAXcsGpNhj1FL5IVAQnYGw31LrM/4/AKCpDcqdBkUqnXyzhQa5l28kGen2ZubO3ecDoDQ1BKA+e4UDLJQggFAs/Pn7niVkVK0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Rqi8mqQ/; arc=none smtp.client-ip=209.85.208.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-564f1876a2fso182525a12.3; Tue, 20 Feb 2024 13:15:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708463703; x=1709068503; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rpz65CgEKeFqCseDG6nHrCx/ipraX250PSOWkqJO8E4=; b=Rqi8mqQ/Bx0R4GUvFuKSZy/e6YC3oycmtsUMu4dcj3ZYmbKfRlKvN88AdRZ+FKHdO7 3ZZm+s6OT8L9BUKUugHaURCrqCOYrTD6UibQ0NJ0BM8yStHTuHV/GFBFfo44RFyNwA+J ZSxZKPTOhV/uMidRpLWfiDELiYwNI5wn36bpOx8a2gHvcUXrOWXTDLqYG06Hnw2mxvka gq5QrF6eVC9fK36pBv6gzAyicMm8Qu6OqP7xrHjILf/mv0C2XVlLZ/JG43PrBX9VCdiO 7OozmmEtQWfdCbzXJBEecEHu3WlqM2qsNUM4aJhFZRFTwJP8c9hlAOIs4h9hhnZauRhE n52g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708463703; x=1709068503; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rpz65CgEKeFqCseDG6nHrCx/ipraX250PSOWkqJO8E4=; b=D2ALL7PgOj9PNuFrnH9Nw7w1lvcHJM7vumlh1He8mZbFZrzfAtWemt15BzE1sffPDW 3U962m67enUlo0r2mZ5wl/X5ReZjuNYv0Hm+plU4XNQWbW+NPoW4LGLg6GCnfPwhBTbM SxcegicXA0b5BZSi8ITWV5XQcV8gUbZ3ATiRps2xMnoeg5EBf1pte37R2dLCrbPfSivp Yb1WwDfnHMgKiFon2tMeSclo7y0sWpQrV0UEz0C/g1J41edwhHkPbBj3ToKMQZlXw+tc cVXSl6eOaSX+90L5pBMIF/CAz7xgvrwb2ZNJehT9pRA3VKtJCCSYKlbPPbEqF2I/0uw1 Eh4Q== X-Forwarded-Encrypted: i=1; AJvYcCVGlRNb05i7jzZ5IS8PM1EROQYqfE6KP84m0kHV7Yb/GHNlgwEnK+YW4TROzA6HZZ8NIhYXSBoNQn8hzr/rAIE1hIOjxgctFJUx/K3LFvcjIflJ4i1ErwfDVCim9Cm6pkT3eBlNJi1RIBANNDCqObydaTEOw6CVZMHamkXjkGHRjICk/A== X-Gm-Message-State: AOJu0Ywqm7gkgEh4Y8bJx1VBf9icum7zvvy543h+UuYNXirKtZtWYE7F y+RW+jslZN2xJBYTa991aFdgPw4wRZNGHBaj2rjNdJAOPa/mD3QZMX1qNyaLW5I1AA== X-Received: by 2002:aa7:d997:0:b0:564:71d1:6cbd with SMTP id u23-20020aa7d997000000b0056471d16cbdmr4697858eds.14.1708463703514; Tue, 20 Feb 2024 13:15:03 -0800 (PST) Received: from [127.0.1.1] (2a02-8389-41cf-e200-d60d-797f-077b-a805.cable.dynamic.v6.surfer.at. [2a02:8389:41cf:e200:d60d:797f:77b:a805]) by smtp.gmail.com with ESMTPSA id fj21-20020a0564022b9500b00564da28dfe2sm538137edb.19.2024.02.20.13.15.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Feb 2024 13:15:03 -0800 (PST) From: Javier Carrasco Date: Tue, 20 Feb 2024 22:14:58 +0100 Subject: [PATCH 4/4] iio: humidity: hdc3020: add reset management Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240220-hdc3020-pm-v1-4-d8e60dbe79e9@gmail.com> References: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> In-Reply-To: <20240220-hdc3020-pm-v1-0-d8e60dbe79e9@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Li peiyu <579lpy@gmail.com>, Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Jonathan Cameron , linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, Javier Carrasco X-Mailer: b4 0.14-dev-8b532 X-Developer-Signature: v=1; a=ed25519-sha256; t=1708463696; l=2241; i=javier.carrasco.cruz@gmail.com; s=20230509; h=from:subject:message-id; bh=PfgqwBzwcDb+91qumay33JWHJ7BTVWpHM3HbGeClp7I=; b=54ovICHbb8pco+EjzIxuBxnPtD3cYYN+SBpBLC2Tnc5vCDXBBIlegBTCEeG0TC9xqxDvX0IsL NArRKsDJhrIAUau1dSTjETtzBA75FnxjpacxAPgfJrlDKmPMv9tGgYa X-Developer-Key: i=javier.carrasco.cruz@gmail.com; a=ed25519; pk=tIGJV7M+tCizagNijF0eGMBGcOsPD+0cWGfKjl4h6K8= X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791454113891062162 X-GMAIL-MSGID: 1791454113891062162 The HDC3020 provides an active low reset signal that must be handled if connected. Asserting this signal turns the device into Trigger-on Demand measurement mode, reducing its power consumption when no measurements are required like in low-power modes. According to the datasheet, the longest "Reset Ready" is 3 ms, which is only taken into account if the reset signal is defined. Signed-off-by: Javier Carrasco --- drivers/iio/humidity/hdc3020.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/iio/humidity/hdc3020.c b/drivers/iio/humidity/hdc3020.c index 0da5c5c41cd2..bd2f57a7eedc 100644 --- a/drivers/iio/humidity/hdc3020.c +++ b/drivers/iio/humidity/hdc3020.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -70,6 +71,7 @@ struct hdc3020_data { struct i2c_client *client; + struct gpio_desc *reset_gpio; struct regulator *vdd_supply; /* * Ensure that the sensor configuration (currently only heater is @@ -564,6 +566,11 @@ static int hdc3020_power_on(struct hdc3020_data *data) fsleep(5000); + if (data->reset_gpio) { + gpiod_set_value_cansleep(data->reset_gpio, 0); + fsleep(3000); + } + if (data->client->irq) { /* * The alert output is activated by default upon power up, @@ -581,6 +588,9 @@ static int hdc3020_power_off(struct hdc3020_data *data) { hdc3020_exec_cmd(data, HDC3020_EXIT_AUTO); + if (data->reset_gpio) + gpiod_set_value_cansleep(data->reset_gpio, 1); + return regulator_disable(data->vdd_supply); } @@ -621,6 +631,12 @@ static int hdc3020_probe(struct i2c_client *client) return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply), "Unable to get VDD regulator\n"); + data->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset", + GPIOD_OUT_HIGH); + if (IS_ERR(data->reset_gpio)) + return dev_err_probe(&client->dev, PTR_ERR(data->reset_gpio), + "Cannot get reset GPIO\n"); + hdc3020_power_on(data); if (client->irq) {