Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp2023286rwn; Fri, 16 Sep 2022 04:42:35 -0700 (PDT) X-Google-Smtp-Source: AMsMyM78RzMC4Ua2D6ay8TocAf21HJJT6R+jaanHi2MMkbmWGM6isOO+erAKkTaEUVOA6IwptE7V X-Received: by 2002:a17:907:9729:b0:77e:af0c:84ca with SMTP id jg41-20020a170907972900b0077eaf0c84camr3218890ejc.629.1663328555292; Fri, 16 Sep 2022 04:42:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663328555; cv=none; d=google.com; s=arc-20160816; b=chFgpV8fnYSesZTKNM44P9SFP+cVyY2laOB9+d1nfjoNYYuZ+WbcrHaXZtv+sdNBx3 8lmp2wlb4wiy60RzCRPK36ahwCTaBOdb6wPk7iamWfZPHQEB2S+0scipNXli4vRP3ljS sE/WeTe5wc4i7VrSF/qivZyBTFYNvQ0kEpowK3Y5UP+DAOz3ojILn1rxSP9gBz9y2hA+ Hs9fpLXkkzuKmO+kolKg6pkCsDJlKeuUFGG5hrKQe2YBOQ1kdAtapq5GDCz6UkqyhRaP BdjZDJVkTEpYz8oGu7uwOna8+/54CDvOE9dvj5iUb3Bn4wjKeN4wr/AxhGD7GyOSLZy9 uKCw== 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=9nGXI3rWxOZ8NHTVQvlMO9I4kmNG+wDn/0VKOuYYbWY=; b=o25IN9ownFjAue2SemB5VvK48QMv5l1E4NsmyxtKhg96Pklk7Z+f9KQXB2pNj434YZ 9YJIACXSbUgykzFrKdisR5vxkAtJOBgm5B1k1t/oW4ISxfZelN+Cko2XG65mUg+GufPd xZKoRKD4inzRnA7w463vffXf1Y8cgA5iYVDUIsAY7M/T9ZtRNidT9WVnp7YjCfEroP8Y sdBzkuq7nOmQjHINC4wWFfFMCtg2dR7RZGPVoLTkhLnvL3yE3TN+EJkkQ/OQtR7Gah/6 uh432yJj6YAJW5koYSo95yr7TPINH8i5Csqjwqz6QfyIA+BrG6z0h2HJWSjHm/eUKotF knVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@melexis.com header.s=google header.b=fE2f0sdw; 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 i13-20020a1709064fcd00b007806efdaf3esi3667141ejw.423.2022.09.16.04.42.08; Fri, 16 Sep 2022 04:42:35 -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=fE2f0sdw; 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 S230173AbiIPK7j (ORCPT + 99 others); Fri, 16 Sep 2022 06:59:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231538AbiIPK6Q (ORCPT ); Fri, 16 Sep 2022 06:58:16 -0400 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 21C64B6D75 for ; Fri, 16 Sep 2022 03:46:16 -0700 (PDT) Received: by mail-ed1-x52b.google.com with SMTP id w28so6941757edi.7 for ; Fri, 16 Sep 2022 03:46:16 -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=9nGXI3rWxOZ8NHTVQvlMO9I4kmNG+wDn/0VKOuYYbWY=; b=fE2f0sdwj7xt5sk8vnG5J2uHo1AAJ25Dy0BoEyDsqQy1D4SUogDm9xAJtD77fIN+Ie EEEQ902UP8j0IXjey3sbypI3qT2R7G0xHLLkppeHs700m7BBUNXXqNzIK5s9F9Ul0ohV oM+NGwPtcgVuLjwxXSS75Mq7qccOBlAMU4lQd5bum18LC6i+DLvuZmT6McfX4wGETGL+ 1tGTVdWUzjm3bungP1MSKwCx3MiRE1aDtfjxlCOrH8dOzGYPjU7hFQNMNheIWnRuRRHH 1VcT4Of+KhH4RkyguiX6wvJx26akjR9hLhrc/PDca1n1c23PW9JocEvtM7OFpXFJBnrh Afkg== 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=9nGXI3rWxOZ8NHTVQvlMO9I4kmNG+wDn/0VKOuYYbWY=; b=tjQArhD8Bnyc2q/CPSqFMUa0HDA2KA6B9lXZJIhqD1jfkLxUgdDk+qusuHWVkhWiha dKyEsscSlMr0ozoxF5CHuOGG2XQ2a1jh7Zfglg6TRdQWwp3iaskCr2bOJR2HflwNWkB6 UHzs3P6MBcO4ZWN8vfkMTSUv2SUJhss5pmIizi/UEl2S9nemeBLYcE4zNS/ezAQB8J7G VpjdscB2WPRMpYXNO9zX1kJhNmxvMDgDxlWTM1QHNw3KNytgpXI3ivhhLJzlRAXeR0Fo p932e9qAaAKdcDnr1LKUNZnHk6cegGrsuA58Aw/mWJwoDqMJ0DzFtT7Lks+w7D7tAfk1 5evQ== X-Gm-Message-State: ACrzQf3bfHXfUjwC1PT53uVXoVNo9yYBKgoa6jXRyBu9xQyumhuOUhki ClBQEYTmgp8zx/CuPUwGBtGq0A== X-Received: by 2002:aa7:d614:0:b0:453:f01:75c4 with SMTP id c20-20020aa7d614000000b004530f0175c4mr3431232edr.302.1663325170983; Fri, 16 Sep 2022 03:46:10 -0700 (PDT) Received: from cmo-ThinkPad-T495.telenet.be (ptr-4xh0y3vvunoijj2gi1k.18120a2.ip6.access.telenet.be. [2a02:1810:a44c:8f00:cef1:93b4:727b:dd58]) by smtp.gmail.com with ESMTPSA id fi24-20020a1709073ad800b0072af4af2f46sm10148434ejc.74.2022.09.16.03.46.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Sep 2022 03:46:10 -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 v4 0/3] iio: temperature: mlx90632: Add powermanagement Date: Fri, 16 Sep 2022 12:45:49 +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 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 | 402 +++++++++++++++++++++++++---- 1 file changed, 347 insertions(+), 55 deletions(-) -- 2.34.1