Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp2261307rwb; Mon, 19 Sep 2022 02:13:54 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4CDgpUFXI9pPzUt1V97uMo7ptlpEu/by14Lt56cDlkhNkPmnwQhX0yEFLfxzMGH/mZnzj0 X-Received: by 2002:aa7:946f:0:b0:541:fcf0:31d7 with SMTP id t15-20020aa7946f000000b00541fcf031d7mr17606776pfq.35.1663578834439; Mon, 19 Sep 2022 02:13:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663578834; cv=none; d=google.com; s=arc-20160816; b=zIYACgTlA9U5smU+pR5XQdTpt+sFhBLFJOBDI7pItWOniCH2s+3KfsJZ5Ocez7tDMC fmbWhswG5GClQRrE2R/CAZtLeAoPetaRJ7uZaAQhU/D9ScCfiwI5vfMbYnm01X26pED8 Vi7ZckCpc0m/+QN/oOwlxlauHf3Pr7TSjI6oIvlFK7LVJwJz+dRFW/53eRofh8wjbvpi gaJVIcpWtDwhv5aRvrZtL34ss5X/w8mdaRcPe3tgipt3TutBV0egHoZduUYi5JTt436T TCMZVlD6U5o2fahgEpLVzZAVe9X8chLqLgMWPV4tt7zXSVCUExsOaT9590R1kFrZid2H GlSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=XNzy8QXvxwZ2UpTnDHe3R7XKvvfCImteHTl3mRKpcsM=; b=cO/KpVW7SMSJOB7HwtBuLicEvpVy8dJFrHqAU85rY2VKvWpxkHmcfgHHyVB/+fWx0u y3EQx//ouX7RfKCy8+dc+UXD++k7rR0LSSE6P7/43rHJzna+mLwlZLb/QCCL/KOTyuTN 2ilhh5pbjp7Y3tvkYlRGEDsZYk1+qOfi2Qpb1PPmGqKgH1vMMU/P3qY7eH755LkNMNRz duS8pVNI2huSjpUAtLFRwPEY8XvtSWd/dMGodHWts90NDcoo17TV1MlVsjkcEYOMiSzw ub/WR4Iq6qdiZKokWj7LHLlOEXIqCN8BqvpT8Ss694on2KMkhtT5ODR8I2ij59sVZZVu n74Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@melexis.com header.s=google header.b="i+MT/i2m"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u18-20020a170903125200b0016d2a83e761si34450236plh.243.2022.09.19.02.13.42; Mon, 19 Sep 2022 02:13:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@melexis.com header.s=google header.b="i+MT/i2m"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230164AbiISItU (ORCPT + 99 others); Mon, 19 Sep 2022 04:49:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230118AbiISIsl (ORCPT ); Mon, 19 Sep 2022 04:48:41 -0400 Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5FDA722294 for ; Mon, 19 Sep 2022 01:48:40 -0700 (PDT) Received: by mail-ej1-x62f.google.com with SMTP id lc7so62895223ejb.0 for ; Mon, 19 Sep 2022 01:48:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=melexis.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=XNzy8QXvxwZ2UpTnDHe3R7XKvvfCImteHTl3mRKpcsM=; b=i+MT/i2ms5AZZ+tjGq43WTntkkCCpoEtS138K73adMJjmg041OUPqWXqFvpM9KVywj TDgke3sufaBSbceIGNOubrQo146uutANELNtaUc7uhLe6ZIsCrc3MeMSDCUQhVSWeMyn E7dmcmeHqMN0hUjx5Wvktr1kU3tNYC1BG76oFKi84ydETh3HDKfGJf78UO1wAy4kmvjE TbBe9PbfQ9F3xZBLkfTtjd+dP2Hti4piDHyS0tg6E3Zimw0vKyejAwPssL7mWFdSwuP+ QAJE5fAdNaeRdTZgVfw1txMlxG+tfhYrMUBKSMffUtGfG+ABRaN6v+nX8ZxsUiXez2kU U0zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=XNzy8QXvxwZ2UpTnDHe3R7XKvvfCImteHTl3mRKpcsM=; b=ZyEyhyeZkJvhhzH91C0yb1HVDkUQt5AgJnjAJDBBaE0odyyzSCve8UXGO3Vac8vE6z pyZLnX1RPCwqxQqpUFUfpL7/nCYxb4TD3tEpBzJEPmdxitcZ5vffwtNDNSAtNyAwllPq GUn96Neu3SfWiIN/pMOriB410MbsrBYTxH03PuQFDFSt8vSDFZT+TWBiiWWqQF6RWIYD 43o8aTQygBo5TeIO6plp2bMqkiaG7M/kuOGRnr5SinMvEvPjh4C19HGkk8IGLQcsBSn2 YW2ZgrAhkBYIMEB3lo5xZoua8W+1++EW3mzVm/tV7VPU/FrPKgupHaYU7+IA9892ws8m hkwg== X-Gm-Message-State: ACrzQf0XZE+lRHwJjLBHgf9uLmLyWrt24VUwaXiuHKXKurNHcPndvnx5 lfjKFRppKwfabHagGVAJLGxmofMUTAlrKw== X-Received: by 2002:a17:907:60d6:b0:77d:8aed:cf86 with SMTP id hv22-20020a17090760d600b0077d8aedcf86mr12082225ejc.43.1663577318848; Mon, 19 Sep 2022 01:48:38 -0700 (PDT) Received: from cmo-ThinkPad-T495.telenet.be (ptr-4xh0y3vyam57ypepalv.18120a2.ip6.access.telenet.be. [2a02:1810:a44c:8f00:d368:146c:ce83:b3f3]) by smtp.gmail.com with ESMTPSA id r20-20020aa7d594000000b0044e9a3690e0sm20081326edq.9.2022.09.19.01.48.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Sep 2022 01:48:38 -0700 (PDT) From: cmo@melexis.com To: Jonathan Cameron Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Andy Shevchenko , Crt Mori Subject: [PATCH v5 0/3] iio: temperature: mlx90632: Add powermanagement Date: Mon, 19 Sep 2022 10:48:15 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Crt Mori As discussed previously on the group under the "Controlling device power management from terminal" thread the mlx90632 sensor provides measurement capabilities under sleep_step mode. This series runtime suspends the unused chip to sleep step mode to save power but in case of continuous sequential reading it switches to continuous mode for faster readouts. This value is hardcoded to MLX90632_MEAS_MAX_TIME (with some buffer) and not user configurable. The sensor runtime suspension is set to MLX90632_SLEEP_DELAY_MS which is hardcoded to 3 times as much as MEAS_MAX_TIME. Changes in v5 (per review comments from Jonathan Cameron): - Migrate to devm also for driver removal, along with putting it to low power mode Changes in v4 (per review comments from Jonathan Cameron): - Migrate back to devm_pm_runtime_enable and remove the pm_disable function - Remove pm stuff from remove and also sleep, since when iio device is not registered also sleep makes no sense. - Replace use EOPNOTSUPP as per checkpatch suggestion although some drivers still use ENOTSUPP. - Change the style of read frequency Changes in v3 (per review comments from Jonathan Cameron): - Change the "available" attribute presentation to more recent way suggested - Replace devm_pm_runtime_enable with enable and devm_add_action_or_reset - When suspending device also put it to lower power mode in case there is dummy regulator - Use more switch cases instead of if/else Changes in v2: - apply review comments from Andy Shevchenko Crt Mori (3): iio: temperature: mlx90632 Add runtime powermanagement modes iio: temperature: mlx90632 Read sampling frequency iio: temperature: mlx90632 Change return value of sensor measurement channel drivers/iio/temperature/mlx90632.c | 432 ++++++++++++++++++++++++----- 1 file changed, 360 insertions(+), 72 deletions(-) -- 2.34.1