From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (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 2251F423A6B for ; Tue, 3 Mar 2026 13:23:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544209; cv=none; b=LyTmr4sARrj6i19K4sKpXd9HedL2fvBy65BsUl3Xt7P/2/9NLoC4hzA3IwMZNMSEJB/82lq/SsfybICrSKXP2dGhKsc9J7P0KrjTK99d1YDZFcDnTkTTe37M9YZ0ecAN8x5+5UZN5xOrvnYLnKrDbpyrJuEXKROpCyoBCXnZ7cU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544209; c=relaxed/simple; bh=ryqZNJNqA365MRETYNHzz0EgbqcaPN3QUhG1y3UNT1k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VvTnfK4BvXTT4NMNUtQy2bsOxHEuYGendVf7XMrChulaJV2eKluvAG3FwpXZEFIisJyTuAHMJlWXAtN9sb8AbtYGRI09R/HgwVPxluXa+mQY/Vq/Lj+07e5VJbBx5KIuhIe8WBh71SA7fCZ6eIyJ4GgbDsG0D8FJNk6S2ZqMjEo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=FGiQqSp5; arc=none smtp.client-ip=209.85.208.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="FGiQqSp5" Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-389fb626b67so91116481fa.2 for ; Tue, 03 Mar 2026 05:23:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544206; x=1773149006; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DY+Uv5zbRZBrLkNEfOsAHSSzgZnf3SBlBifVwXPv9CE=; b=FGiQqSp5IG0COcpOM7SJNzO17LE8sv93D+xXaEHMFkO04tU5VOyrTgE0yW2GeAHkVn EEXcWqM8g/ryaLhTbYoWto66jlo4BKe6ZODaJ9FJBWRuLiTQr5CU+cgFMGOaBn1h1Ue3 /ouIOdZsKx5po6Ux4HdoxsKHt4O2cAx5+CN4NipbwkkTBTZwtpghO8pOEuAtK/bK5Xha hFjWN+IlwLxweCMlfNnn+fiRe3A9jmlRQ1s4MoSFrgXE5sNczlOWbg3hzPf08viabZd4 ZzTEj2YI+PhpJMuSYzpwoRk5robWrvhGsNI47Cnwcc5ECkgXBEg+RHX4iuKxVBap/maP B9oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544206; x=1773149006; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DY+Uv5zbRZBrLkNEfOsAHSSzgZnf3SBlBifVwXPv9CE=; b=qj8UHjqayoiWv5TcVp6Gj6Yh+S3lB1N4eijV5ZG5gNFeXGBr8EWHE58ogCJi9L5TGW pIY2qZ83EeXV49n1n9evgnikgm+xXpAAPTg8+g/ouIzUAzK94HIccrBpkcQYU4mtIdHa IfIKN4cnUuCfoQ8snd7zo/p1sLB56BlVKc+oT9sELZvsFViCB9pXyl0hkSHM3Ba8mD4U DEsrNibs5cSXFpuZWCr0iifVh6s9huxf5TiLiEE6wKAMg/X7rY0p/Z6VZ9CUHhUQ3y+6 V7f1VkVoYNu3FPooZOpk1x8F3d3xdMo7PHV2Bm0IdHyBCTGr8wWFUDWbRPDSIrp2Zid/ 2Dlw== X-Forwarded-Encrypted: i=1; AJvYcCVeiRkukz1+DHwN95suDsQqayEFRh4KFSwAwRICTuiMRagVhUq2r50zWm85AE930O4Z/wtb6LcmGzceK2Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yxp8p4n1IOdgjbakZW74+y4BL5Lbh5ibWa/gf2ITFKMF0h+bagB ekzh0+F6R+zsOHYjw9Lai9XmU/FfiisCan2CwvyS2/HmpD3XYFv0KNm+JqbIqxBKmgM= X-Gm-Gg: ATEYQzwn7U2IwTjezx6sEtM46/fnPuAwAIaG2c3hUa4Ru9nBU1tJZeMky1xrGQ+GZnR ilkb+9qI/kQWXogVECL1qV4Vay7tDPk3BcLUMm0VWJu45ksxpZe3D4wPr51WnZyc+nPtCmE77SY CNrbNAohHg/s04Tfl7rTKVFxuw4M8ImhSZSe98cX/vRl/K7b5TreRHpJMeEJtxL/XLJmmNkb6do e8ww+dewh9ZBJZ1N7fByZtVb4WKV8K3pFhU0lbYTecwIRiuN5kE7kPKuQERBtj7LH7fVtWgHAqC a0wGUlUveIVLMmtMl5dP174QpLN2lS+o5Cb50fZXaxPyBAbHvY5LL8rJe48KloXiu0ubRhLh04J UDWLMhckKSlR9IU7/DuaoA/XlGTnK5yRop1jSRQebbaK0Bw/lq5vBk+CJ/hSBzznHx67++imhng ZMHmsVY1g69BqagKtsMndIdnZRuYobK0XqTP6SQN5hNR7EIhp3JzMXGgDwCxgAktYVDrAdC182 X-Received: by 2002:a2e:b896:0:b0:389:fd52:a1d9 with SMTP id 38308e7fff4ca-389ff141f4fmr91698381fa.14.1772544206259; Tue, 03 Mar 2026 05:23:26 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:25 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/9] driver core: Enable suppliers to implement fine grained sync_state support Date: Tue, 3 Mar 2026 14:22:47 +0100 Message-ID: <20260303132305.438657-2-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The common sync_state support isn't fine grained enough for some types of suppliers, like power domains for example. Especially when a supplier provides multiple independent power domains, each with their own set of consumers. In these cases we need to wait for all consumers for all the provided power domains before invoking the supplier's ->sync_state(). To allow a more fine grained sync_state support to be implemented on per supplier's driver basis, let's add a new optional callback. As soon as there is an update worth to consider in regards to managing sync_state for a supplier device, __device_links_queue_sync_state() invokes the callback. Signed-off-by: Ulf Hansson Tested-by: Geert Uytterhoeven --- drivers/base/core.c | 7 ++++++- include/linux/device/driver.h | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index 791f9e444df8..a262714a83b6 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -1106,7 +1106,9 @@ int device_links_check_suppliers(struct device *dev) * Queues a device for a sync_state() callback when the device links write= lock * isn't held. This allows the sync_state() execution flow to use device l= inks * APIs. The caller must ensure this function is called with - * device_links_write_lock() held. + * device_links_write_lock() held. Note, if the optional queue_sync_state= () + * callback has been assigned too, it gets called for every update to allo= wing a + * more fine grained support to be implemented on per supplier basis. * * This function does a get_device() to make sure the device is not freed = while * on this list. @@ -1126,6 +1128,9 @@ static void __device_links_queue_sync_state(struct de= vice *dev, if (dev->state_synced) return; =20 + if (dev->driver && dev->driver->queue_sync_state) + dev->driver->queue_sync_state(dev); + list_for_each_entry(link, &dev->links.consumers, s_node) { if (!device_link_test(link, DL_FLAG_MANAGED)) continue; diff --git a/include/linux/device/driver.h b/include/linux/device/driver.h index bbc67ec513ed..bc9ae1cbe03c 100644 --- a/include/linux/device/driver.h +++ b/include/linux/device/driver.h @@ -68,6 +68,12 @@ enum probe_type { * be called at late_initcall_sync level. If the device has * consumers that are never bound to a driver, this function * will never get called until they do. + * @queue_sync_state: Similar to the ->sync_state() callback, but called to + * allow syncing device state to software state in a more fine + * grained way. It is called when there is an updated state that + * may be worth to consider for any of the consumers linked to + * this device. If implemented, the ->sync_state() callback is + * required too. * @remove: Called when the device is removed from the system to * unbind a device from this driver. * @shutdown: Called at shut-down time to quiesce the device. @@ -110,6 +116,7 @@ struct device_driver { =20 int (*probe) (struct device *dev); void (*sync_state)(struct device *dev); + void (*queue_sync_state)(struct device *dev); int (*remove) (struct device *dev); void (*shutdown) (struct device *dev); int (*suspend) (struct device *dev, pm_message_t state); --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 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 418E5426D17 for ; Tue, 3 Mar 2026 13:23:29 +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=1772544211; cv=none; b=ZeYwx/kM6jNAOuVULb5HGUfa66YvKQX2hzW4Xaq3hhncQl9wUXXfc+GkGyrCpXWfMBN9UTGIl7SZ7yYbONJCi96WuhGZ/wZPQupzmg/2Mc8vMt8lT9eyCHQ5GLyvE7l1p2Mgy24SN9uhnU1ievLmFyTrVNyj2+uSouZdkZZIYuw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544211; c=relaxed/simple; bh=1RmUB4J0WmVWcQ6AXCjH1JjPWiLUQ3vlFDkTR2NbKIE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Nj0T0N8rHAvX+FwuXAkwIb1oJosWxhdeAZtNQhxaDe+aXaPS+8xM0GYY/s1miOrWKatewK5EXFhzzZTP4q04LghmClLn001Wz0ZpONYcsHkJ5IvUlB34bvtSUiPhwSs/vHY37fbmeo5OFyYBobvQLUWrOfjQTwxGrPpyAQYtQmI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=exIebbbe; arc=none smtp.client-ip=209.85.208.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="exIebbbe" Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-3870cbd6c40so87509031fa.0 for ; Tue, 03 Mar 2026 05:23:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544207; x=1773149007; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VrTcqboCNhMKSZmhSq2Q2fHRWd6h/WAqYEJUXJORyrA=; b=exIebbbeTzbG8AM3ibLGDe+oMWsWqhRz6sOCoXirdZKnhpG1aecqWNRIaJh7YzYRKt 2X2ZMjZx0KEqwWmwT8G/D3XQh5hODNMnG0a4DD1yqIS/ef8EZGfr3wvqLnv0UlEqgpJd PuMhD9gsmWttOfL6UYRu0VOgkIlR6W7WjkqGZw8dNuGtsfruPwhMkoxI8gO+XAxo3zqM Ibg48Hz25/A4oi5OC0CxABUVUY26YL04xBpeiGNIodDkz5pWGUrkYvf8zT68II2QP1S7 BM1Z5kcewSGVLsMt7bbgU7gRMnIxrWvFg55/Ha5U0fyI592l+hxL93KjL7pRhwU424ap UOAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544207; x=1773149007; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=VrTcqboCNhMKSZmhSq2Q2fHRWd6h/WAqYEJUXJORyrA=; b=AibkWlUGRH8T9L6iwu8rn3Ne+ZQcMOajylEv9/ovPhKhN0qzAe40hL/IvBsbetxbv9 ZzrWRkttOv20siVxcDRKVZz/RYINOirxfxC0Wvm/IMxpIboP2M+JiftIebyeDJy0OADo fRKstrnOQBAQmWnU0vFTQjQ0O9cimtrA5tUc0FIyhh2Cb8bZ6d/rpfefZ+mugcABQp4o WsFms2674gZLgACXMywb7eqcCyYlHin9MYEfIlOz4LUMBEJ9qtaqyy8F/7hsXsuf4mcQ O9E8VpSvUYcLOa9JI8Etz1IZx524fZmw/MG9Xd07yvw8qHXnlDonZBeZ+8mWxmmqmgzP GnBQ== X-Forwarded-Encrypted: i=1; AJvYcCVvrhwqGe/F84z2Qyn+Xrx7BYSrBQPH4h38oSqQXGeLMmvbP014B9Oj86Uh9CZVA0/sNoSGCp7D2aq2KAs=@vger.kernel.org X-Gm-Message-State: AOJu0YwL6AelXoGvYaEYHp3LbmEspUNJhXRbDqXJgU+xVI52FiTiv2gl q31SmIXo+EO4tJURfU4d+xdIRVw1Vl27kSf8AHlL/qL/Ztlm/PKS0fuvlZ7Xbf78Izo= X-Gm-Gg: ATEYQzwJIAZR2CNQujNrSfMwYRB9sz0sqZINgQO0pGrGX/aDzCgLrvDnJQL7TQBcU8Y 8QFN0A+C5vJQoDQOnSDYhp8KIwdQKzpyAtNVkPe6WIYMRLLbSNRV9DcU8Af3aHEEeu++DAbbgbt JQ4J2WTjj5rXt8rDT6mje8uywwOHnTNvmdqqkwhL/Z/pAtIpwtoyEfkAG4b2LQpd1PwuFCBJIRe qfhAgqWCaNKzUpNOAbITCryd6hFDvPRbw98CeG5RpazTFA38o2cfCFhjQhQEii64zBOeETVHffD TA5hDBYIFya91qmCXL2XOo1sj5qBkgAinCJYkUjJ3aJexLY+Flw8xKSxhQvdsviSZMvbldUzDMw N7p7AGa7IXE3yvxeJCJAqQgn1VcWKYb1rM/CQlnNDpiwsr7kDN0P3dMOD3PFbxfuTXvK8rTo8vW y2n3RZ6VLSMYo4X3fW5m2IweLcZnyV5u8YAYBJbzzjw+AnIjNRpf+jQahx2XhOV14oEY7fQkji X-Received: by 2002:a05:651c:25d1:20b0:385:f235:51c9 with SMTP id 38308e7fff4ca-389ff363773mr101440641fa.34.1772544207434; Tue, 03 Mar 2026 05:23:27 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:26 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/9] driver core: Add dev_set_drv_queue_sync_state() Date: Tue, 3 Mar 2026 14:22:48 +0100 Message-ID: <20260303132305.438657-3-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Similar to the dev_set_drv_sync_state() helper, let's add another one to allow subsystem level code to set the ->queue_sync_state() callback for a driver that has not already set it. Signed-off-by: Ulf Hansson Tested-by: Geert Uytterhoeven --- include/linux/device.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/device.h b/include/linux/device.h index 0be95294b6e6..eeb18548ea4f 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -940,6 +940,18 @@ static inline int dev_set_drv_sync_state(struct device= *dev, return 0; } =20 +static inline int dev_set_drv_queue_sync_state(struct device *dev, + void (*fn)(struct device *dev)) +{ + if (!dev || !dev->driver) + return 0; + if (dev->driver->queue_sync_state && dev->driver->queue_sync_state !=3D f= n) + return -EBUSY; + if (!dev->driver->queue_sync_state) + dev->driver->queue_sync_state =3D fn; + return 0; +} + static inline void dev_set_removable(struct device *dev, enum device_removable removable) { --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) (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 65F51426ED6 for ; Tue, 3 Mar 2026 13:23:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544211; cv=none; b=FzG7+u4kbl/iCJHOaXcoHIoRA4n0CtIjwm27MGsAb+1aMZPzwhnBxrqRS+VIwmFGksS9jsGs3mTHUotIcUISY/9gdRFqzTNoadWVhtOZbzeUwqjIX7P7h0Xu/lhrmnifMCt6O0Hk0Xzo5tIVtVDRIA2yF5XQXr/BU3LKiYgZOyk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544211; c=relaxed/simple; bh=PgRK7Z/ELlFf1grrwRkzttg710p9L9+z9DNAt0f3fH0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ny7p+t0Eb61HSlBrjQ9nS6YTIJzVZeSZAyWyeb9Ld7Sh7egbZpcURJ8JU1wuH5B7/5jnks04uYg7PfdIcb7NtXk/nhnBDEJpg47M/YqgqPlRjcKnth/37mX5phPkz63SNEs1WVZSFXLz7RokE0hme+qkRYGsMziusjmI98VRAWM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=mlXjXBfM; arc=none smtp.client-ip=209.85.208.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="mlXjXBfM" Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-389e268a9b4so88190371fa.2 for ; Tue, 03 Mar 2026 05:23:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544209; x=1773149009; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1I/ac7CjNwYFvttLqOBBZxSN0B1UQ8w+5WLt0DDXeQY=; b=mlXjXBfM2oYpMtcicb53SRRF9wIt3kfHLC2QKkl1QQZq4K5/JcMNHknKPRE0iElGgS +XM6OptTcoLEkKQBG/juienNP6/tbjKJGdYamikaLI6zSjXc/cvaOmnFc5T45hbbP6RQ iXYY7u9UjEWVyUixe1qV9qpDVAXuMNSRvTu7L4UMdMecd1Ggl7E9Wkp3M0LyY1V2rvzP V5S6xq51aG3zPxjyI2encKEdMIqmRVOhP+hil2VCpsw7eyRfBswgetI1SOGkHEjMhzoC YC5BI2j6t2bde5pQAo7Qwg5iJhYhV2ZfI8r7Z0YtAOvTiDgB8mfsQl3ECRf9nSCZxi4C I9jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544209; x=1773149009; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1I/ac7CjNwYFvttLqOBBZxSN0B1UQ8w+5WLt0DDXeQY=; b=JjDBfSM5EKL2F/Ipk2MuaKkZy8s4UUmJfZc6aM1KtBHus7egojaEXvw8OnlbMWjapU iKAqn5jR800T1rO/Mob3qf3TgiFtJfBITr+97KnsOPTs6XV7MMQdBiDZwZuFYp/kAEKp HD1Rdzydh+YRE8MW58yZmzmumJbScUnedpwROT6XGm7BNOEmqhhWrlbqgLVjSKKRCvk/ zX34RBKicRQlT3hjk0cJAadDRcwFtQn0KXjT/6E3tqKmjTjA5kHL7UaL5XAcmpI/nwqT G2R1ILhgJG46XZF0m1poPGlzsC8410l58Zl1ZakqwHsO/56Qi9OetQSaEVp4vf2YM7eS U+Xg== X-Forwarded-Encrypted: i=1; AJvYcCUbvuNEFWQCR5hVhGrR7ZAPOJA8PVYjkyDx/zg7bmWRvvscWTsbERkT26x6oqtxbV6kZ/GSs4Wvb5PYs1I=@vger.kernel.org X-Gm-Message-State: AOJu0YyLf45sII6VnOPSE1JGNmffSXYPeHIYciFfx219DzSdhZvkkbRT 4cPlDxqd2Mk6yJ0FjlMNiHhWFEOQrCFwDJFvWFS48Sv6oZnCsoQkvgZtznE5ebwzdTI= X-Gm-Gg: ATEYQzwP0IWLcbbrrRspb6we981srn4pASzETGCQvbbkqFHi/gyuigq+kW528AoPwlJ ADTG0H/LGnKdgi+3POUlAxjanyGpU+Jr78KlPUmbizSs2wwX38ybJT/3o2hXlpnMc6NimxhThef EOdKlSkIyiFAd5VruRQc4HW0rzQ+4/znjs1XhhQAppMdCcXcwXNXQjz7fQeAZcF7Z702/CjBonN yclHc762alynyX+WGQjV3En6m4DTXZGS0ADEfzt7hhPwMpS7z69tv1DxXWPy5cZdReYeApV/XXW StHNj9LD5Kl31h+E+CpBxat+s+/PkNXY+mWLPtSrLR9FS9pM/7mgeEMYMRizZlB/iB0JbRpTyZw nV7MlO8+zG6ww51lytBGwwe6Q0Sag9+Azf4mI1dlGkAg/BF2bFSWmOC17zMQnAamvvDShMq8mfW JSAf+WnIzz1w4zqZJDlN7yoY5XaNh9D9cwJZKpPrTicr65tcnP1EAg2tCHtDgS4qdY12aGdOBD X-Received: by 2002:a2e:be25:0:b0:38a:9c3:f0b2 with SMTP id 38308e7fff4ca-38a09c3f59fmr82542031fa.29.1772544208542; Tue, 03 Mar 2026 05:23:28 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:28 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/9] pmdomain: core: Move genpd_get_from_provider() Date: Tue, 3 Mar 2026 14:22:49 +0100 Message-ID: <20260303132305.438657-4-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To prepare for subsequent changes and to avoid an unnecessary function declaration, let's move genpd_get_from_provider() a bit earlier in the code. Signed-off-by: Ulf Hansson Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven --- drivers/pmdomain/core.c | 70 ++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c index 4d32fc676aaf..ad57846f02a3 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2664,6 +2664,41 @@ static bool genpd_present(const struct generic_pm_do= main *genpd) return ret; } =20 +/** + * genpd_get_from_provider() - Look-up PM domain + * @genpdspec: OF phandle args to use for look-up + * + * Looks for a PM domain provider under the node specified by @genpdspec a= nd if + * found, uses xlate function of the provider to map phandle args to a PM + * domain. + * + * Returns a valid pointer to struct generic_pm_domain on success or ERR_P= TR() + * on failure. + */ +static struct generic_pm_domain *genpd_get_from_provider( + const struct of_phandle_args *genpdspec) +{ + struct generic_pm_domain *genpd =3D ERR_PTR(-ENOENT); + struct of_genpd_provider *provider; + + if (!genpdspec) + return ERR_PTR(-EINVAL); + + mutex_lock(&of_genpd_mutex); + + /* Check if we have such a provider in our array */ + list_for_each_entry(provider, &of_genpd_providers, link) { + if (provider->node =3D=3D genpdspec->np) + genpd =3D provider->xlate(genpdspec, provider->data); + if (!IS_ERR(genpd)) + break; + } + + mutex_unlock(&of_genpd_mutex); + + return genpd; +} + static void genpd_sync_state(struct device *dev) { return of_genpd_sync_state(dev->of_node); @@ -2889,41 +2924,6 @@ void of_genpd_del_provider(struct device_node *np) } EXPORT_SYMBOL_GPL(of_genpd_del_provider); =20 -/** - * genpd_get_from_provider() - Look-up PM domain - * @genpdspec: OF phandle args to use for look-up - * - * Looks for a PM domain provider under the node specified by @genpdspec a= nd if - * found, uses xlate function of the provider to map phandle args to a PM - * domain. - * - * Returns a valid pointer to struct generic_pm_domain on success or ERR_P= TR() - * on failure. - */ -static struct generic_pm_domain *genpd_get_from_provider( - const struct of_phandle_args *genpdspec) -{ - struct generic_pm_domain *genpd =3D ERR_PTR(-ENOENT); - struct of_genpd_provider *provider; - - if (!genpdspec) - return ERR_PTR(-EINVAL); - - mutex_lock(&of_genpd_mutex); - - /* Check if we have such a provider in our array */ - list_for_each_entry(provider, &of_genpd_providers, link) { - if (provider->node =3D=3D genpdspec->np) - genpd =3D provider->xlate(genpdspec, provider->data); - if (!IS_ERR(genpd)) - break; - } - - mutex_unlock(&of_genpd_mutex); - - return genpd; -} - /** * of_genpd_add_device() - Add a device to an I/O PM domain * @genpdspec: OF phandle args to use for look-up PM domain --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (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 C4FA4423A8E for ; Tue, 3 Mar 2026 13:23:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544214; cv=none; b=V1sOhEYI0AJPDIi3kIxUZb1dY8qnLQlxMIh1M5dgDa330JMLGn9fwqfL6DLMgBWgaHjaPurS9weooMsWgS9Hc/y1PoZOAJ9n8vUmcIDn2y8VRKeaVbkZWWwxRHmjmHYg25hU0fR5P0nKDiksgCWzac8vU7dpFr38jMA1wVDbm3g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544214; c=relaxed/simple; bh=KqwRlC6a0mFJBPkblfsKOEZY7P0vlTLRhRY9ZzoVEss=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tZBL5xt3LHDNOAcn7T4SbwhwUVNOekAbhMeI62L11H8Eu+KjD/jBXky1SbpiPdCTs3IKjnRMLNg42P4nYdUpzbEBCihWZeyAmH829xKsEDO65A8TY4kdO+APyX4K0oqcuFwDZnQn5Z3xYi5+CAF+Z9X6hpQPKQCCLf73DXjsSsE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ebZgW3Nr; arc=none smtp.client-ip=209.85.208.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ebZgW3Nr" Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-389e71756d8so104816461fa.2 for ; Tue, 03 Mar 2026 05:23:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544210; x=1773149010; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4SAiIzSfTMRShdXJxCInhMGpqoMCKhmfdktkL1GCb0E=; b=ebZgW3Nrqb81MdqiZgEgQPDhRcCC42qgUPPd+lzVy0DpJfbQjs2pSh+O9MMJem0h/+ 8nxIyUw6cp+7tb0lNMGGXJXJjbpjer3TtuHU/+ahnqLkqG57iQa8NL+GKwwWFvPBrPYq n0S3c9Js+EqHXNB9CQ3g0GpA0SyU/J3B+810GnsfE6a9OiaMe2ZkcjAiQGrv2SCJ/Nqn vcpz1q+WPztpWZL01CeiJXSA45MvD3CUIjiQrPdWFjzD5/I9PpIFZkIPEDPojX9F19X8 0IlvyIzbCCSNt7l6OP5RSTv9sYbQP98nsDB6Yzmcrggdrsssr1JE1dQlexGipyAUHum5 jitA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544210; x=1773149010; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4SAiIzSfTMRShdXJxCInhMGpqoMCKhmfdktkL1GCb0E=; b=gyDR1Bqrt9qFBeVSgAJlYflUVo8kW0syoPIwykc8oxXR/sJuA4/3+6tfomY//Ysx2h ryt+6PQqDP2RubUHj7iObmwlp9UB5mc2aZMRjiM1UaPZFzq0h8eIutTZzxWl9QVkBXQ+ zrlziGW8BNTjb+bws+6d3f79hkrImcAVhTA1lecAjIqycIP4qQA3MAba6YeXaiGXjWDd ldawW6TPtP2v+VsTEzhzKw2gGR5ubhaADL/yiwi3qPw9ukdURZ2rayW80xNi7MoUZN3U Em2mmkhv5y8BKSbK4NLW+wtChFSoM3yYx2nwfYo2dRmNmf/8hf5Z7dYpqe3U16Kj+zSa CERg== X-Forwarded-Encrypted: i=1; AJvYcCW3G1YxCwB4/sVJDhPQai3m0ckcfuOo3nuvKzhsQNxLXHSdDRETfbL81MveXhr9F0vATkz1oetIQ05wPbk=@vger.kernel.org X-Gm-Message-State: AOJu0YxHmRA6fSqk0oVkjFrrsP3g3AtiYWhhbz9q9vmFY2j3UQM/ccvK /QYrnrklqqf5Zsrdf1iEkrSXlK9jYy9Asj6O8USyiCzS/X4qi1KmdRJ+MP0gxC7Gteo= X-Gm-Gg: ATEYQzxZ6EmPRn61maeBZdvEcdz40qUbPUl9ReQo1shOPxkJw60if+HnSrUE+2aSOCH 33dLa9+/XMaURS2O6z7F0HPXPzadUMGNvGRgNJl7ZnG6rZy7jFzsmUomZbPzoga3Wz++MjvmDmS vEiHc8TiftB2GewchqkWPPNT31Ye2+xpQ6M/KqhfwoLIl9Ne3JigzvmSwIPrjxtNy8W2fb1VGw0 GOahQnyBGHcVAOJU7Ggh4l45R1bgFRDcLsP6AyGwNTtE1H+jhL3NwFWiQ1u2rAdLmwlCVUnJtf1 3ec6L7KCFSQyrqvF+OgLvMF1JORRwtjczg/49YJEKN7IBAqL1F+tkmvX/ddsWP64zC1TG6pQ0z6 U08DTDG6LUfgDlhehEORUVVSySRGElkJnrC3/cnbte8Nv9oQJoZvAqy7mkn1FqMeHhd6i2xrq0H 6bvB3KxnmwqkdT/pmlbT44NiIajJggloAXhz+0tt3PfyPZHfxmQdpN0hP8Hu/4m+3cLajLC4+V X-Received: by 2002:a05:651c:1c7:b0:387:17e6:1dd9 with SMTP id 38308e7fff4ca-389ff34cc65mr108309141fa.23.1772544209839; Tue, 03 Mar 2026 05:23:29 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:29 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/9] pmdomain: core: Add initial fine grained sync_state support Date: Tue, 3 Mar 2026 14:22:50 +0100 Message-ID: <20260303132305.438657-5-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A onecell (#power-domain-cells =3D <1 or 2>; in DT) power domain provider typically provides multiple independent power domains, each with their own corresponding consumers. In these cases we have to wait for all consumers for all the provided power domains before the ->sync_state() callback gets called for the supplier. In a first step to improve this, let's implement support for fine grained sync_state support a per genpd basis by using the ->queue_sync_state() callback. To take step by step, let's initially limit the improvement to the internal genpd provider driver and to its corresponding genpd devices for onecell providers. Signed-off-by: Ulf Hansson Tested-by: Geert Uytterhoeven --- drivers/pmdomain/core.c | 128 ++++++++++++++++++++++++++++++++++++++ include/linux/pm_domain.h | 1 + 2 files changed, 129 insertions(+) diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c index ad57846f02a3..53401db2a386 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2699,6 +2699,123 @@ static struct generic_pm_domain *genpd_get_from_pro= vider( return genpd; } =20 +static bool genpd_should_wait_for_consumer(struct device_node *np) +{ + struct generic_pm_domain *genpd; + bool should_wait =3D false; + + mutex_lock(&gpd_list_lock); + list_for_each_entry(genpd, &gpd_list, gpd_list_node) { + if (genpd->provider =3D=3D of_fwnode_handle(np)) { + genpd_lock(genpd); + + /* Clear the previous state before reevaluating. */ + genpd->wait_for_consumer =3D false; + + /* + * Unless there is at least one genpd for the provider + * that is being kept powered-on, we don't have to care + * about waiting for consumers. + */ + if (genpd->stay_on) + should_wait =3D true; + + genpd_unlock(genpd); + } + } + mutex_unlock(&gpd_list_lock); + + return should_wait; +} + +static void genpd_parse_for_consumer(struct device_node *sup, + struct device_node *con) +{ + struct generic_pm_domain *genpd; + int i; + + for (i =3D 0; ; i++) { + struct of_phandle_args pd_args; + + if (of_parse_phandle_with_args(con, "power-domains", + "#power-domain-cells", + i, &pd_args)) + break; + + /* + * The phandle must correspond to the supplier's genpd provider + * to be relevant else let's move to the next index. + */ + if (sup !=3D pd_args.np) { + of_node_put(pd_args.np); + continue; + } + + mutex_lock(&gpd_list_lock); + genpd =3D genpd_get_from_provider(&pd_args); + if (!IS_ERR(genpd)) { + genpd_lock(genpd); + genpd->wait_for_consumer =3D true; + genpd_unlock(genpd); + } + mutex_unlock(&gpd_list_lock); + + of_node_put(pd_args.np); + } +} + +static void _genpd_queue_sync_state(struct device_node *np) +{ + struct generic_pm_domain *genpd; + + mutex_lock(&gpd_list_lock); + list_for_each_entry(genpd, &gpd_list, gpd_list_node) { + if (genpd->provider =3D=3D of_fwnode_handle(np)) { + genpd_lock(genpd); + if (genpd->stay_on && !genpd->wait_for_consumer) { + genpd->stay_on =3D false; + genpd_queue_power_off_work(genpd); + } + genpd_unlock(genpd); + } + } + mutex_unlock(&gpd_list_lock); +} + +static void genpd_queue_sync_state(struct device *dev) +{ + struct device_node *np =3D dev->of_node; + struct device_link *link; + + if (!genpd_should_wait_for_consumer(np)) + return; + + list_for_each_entry(link, &dev->links.consumers, s_node) { + struct device *consumer =3D link->consumer; + + pr_info("%s:%s con=3D%s\n", __func__, dev_name(dev), + dev_name(consumer)); + + if (!device_link_test(link, DL_FLAG_MANAGED)) + continue; + + if (link->status =3D=3D DL_STATE_ACTIVE) + continue; + + if (!consumer->of_node) + continue; + + /* + * A consumer device has not been probed yet. Let's parse its + * device node for the power-domains property, to find out the + * genpds it may belong to and then prevent sync state for them. + */ + genpd_parse_for_consumer(np, consumer->of_node); + } + + _genpd_queue_sync_state(np); +} + static void genpd_sync_state(struct device *dev) { return of_genpd_sync_state(dev->of_node); @@ -3531,6 +3648,16 @@ static int genpd_provider_probe(struct device *dev) return 0; } =20 +static void genpd_provider_queue_sync_state(struct device *dev) +{ + struct generic_pm_domain *genpd =3D container_of(dev, struct generic_pm_d= omain, dev); + + if (genpd->sync_state !=3D GENPD_SYNC_STATE_ONECELL) + return; + + genpd_queue_sync_state(dev); +} + static void genpd_provider_sync_state(struct device *dev) { struct generic_pm_domain *genpd =3D container_of(dev, struct generic_pm_d= omain, dev); @@ -3559,6 +3686,7 @@ static struct device_driver genpd_provider_drv =3D { .name =3D "genpd_provider", .bus =3D &genpd_provider_bus_type, .probe =3D genpd_provider_probe, + .queue_sync_state =3D genpd_provider_queue_sync_state, .sync_state =3D genpd_provider_sync_state, .suppress_bind_attrs =3D true, }; diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index b299dc0128d6..7aa49721cde5 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h @@ -215,6 +215,7 @@ struct generic_pm_domain { cpumask_var_t cpus; /* A cpumask of the attached CPUs */ bool synced_poweroff; /* A consumer needs a synced poweroff */ bool stay_on; /* Stay powered-on during boot. */ + bool wait_for_consumer; /* Consumers awaits to be probed. */ enum genpd_sync_state sync_state; /* How sync_state is managed. */ int (*power_off)(struct generic_pm_domain *domain); int (*power_on)(struct generic_pm_domain *domain); --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) (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 D20BC42DFF5 for ; Tue, 3 Mar 2026 13:23:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544214; cv=none; b=YdSSCtFvJRHjpLww/j3vntEPP2DeC/BceJqsAD/m1q33Jjc7QJtathvQK77bN3m5IVfMiDz8XuTRiey1Y4iRQCpk81cMS5Za8+Uv7C1ia4UDre3wbmM0wWep7Yx0O9R2hfiGMz/8AOiv8QYto4fIpbWFzqIU/jls1khoTiUJ4ek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544214; c=relaxed/simple; bh=WKqv0V5RDTnIOsUpxiUcyJteviqImj57nQdHfZtzZbg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F9DbgoIKXvWe7SXhOCbbkKstfJ/9ndLwFRXkEKxylI0pt0ZxjQZ+8Hw4Odl3sGmcxeJBuocOxYqB/jhYLnIt/UFtM3Gp/2fI+54o724FCTTsOiWdGHCxfKdB9abowwm6zJ5IYAmn5iGoVzAo00Nlhh2J70lFtLBumx038wcPjNU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=E0goQyIl; arc=none smtp.client-ip=209.85.208.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="E0goQyIl" Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-389fa352b0eso83823791fa.1 for ; Tue, 03 Mar 2026 05:23:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544211; x=1773149011; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7NdMfo9Xg2r6aJvOcLQwOOsrACKCVOknll0GbpvMaoA=; b=E0goQyIlS/yRgXjHPtZ+vQX8jwdijLa7DVLE4MvgiGKp/vQ1dUmCYOOa77rx2qI2aL cwpzxSTtlDC3DImTRM+HYjYfF1eU9tCCS2iPnrTN1Rab8x/4OMOJ2k5ZDZo6ZthpbFS/ JGcLXTzifR4G6YT9JFieGd5/VgnqFgY31vaibxJCDZGO2MtPbAUVifYLhFR5FCbj65Il xtUMnToQZ73VUGzvZPCgpxBLA0mcHvnRGos7KYfPv5RS8JsWWYKoJfG+CrYdfUQsm4YO SuXSr6rRMl9lo8d06brZdd5eC3siLPdbroNjFydX53BZGPhgW4LOepRn9waEqX6Mega8 f3HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544211; x=1773149011; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7NdMfo9Xg2r6aJvOcLQwOOsrACKCVOknll0GbpvMaoA=; b=BsXvXE+X/WE8li7lw9GWKMhuyg/3/dc5lXsAOSBnGrWkQIyN581iC4yCqQuULVwRAu F8tqkCf5LyACRlMydtuT1ZaWjST02iuLD5vWUXbmRcltHFjUvJTbhYZPPpv7rVRc4hkT 6dVWNgXc9UoSaKdf2HLbl3aLhTxcdq3/tTE7kmjiqSmbnvZfQ9cuQxrdoL2WIs0clDCg B+43jb3yKbo2U6eaYCy/QaXM9jod2NDmRWL7Q5XdNIjODBeOq5tgbP60sIlorBClENiT ZN5kPcW9gAvQU5oJ8qRFrr1GpRcQmZhjmaht1gbtDV/By+VZe4gQstroBt8LaG2M5u7V LiLw== X-Forwarded-Encrypted: i=1; AJvYcCWerpAwni/ev5T+Ffsvz5VI6R3zOQTTC0sGy7FAZflk/2/gtVgPS3X3CZD0mUZlaYD+6ABcx8YKz79vgI8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxr2DZcfqiN2Ig3O6CeX+brgm26fp8sZudpgCzdaaOfL3WtRYjz TFBN1+24c2TqhlFyXksFrgaNJC4CmY20lGOz9GeEK4BgyJTYKeW6yTW3fSRCb8qPi74= X-Gm-Gg: ATEYQzx1BVTQxUqAoOUKT9DGQb7O9ZIfpZVeFscqdAsKbV9eUq16b/oPdrUdKwz9NFT 6zR6xUYSqpEsXB1PTlShGho7YbNWVc8jDT5MIEPb2oRTVTS3VWOIjjP1JbGsqFQf+lQapTvs+/0 Eeyos4/Ersyai88c9UGPQSlmko5RcJHbJAS6tl9U6PNMgv7osiGo1beNsLQ+CpwO+p1PVYbis0J dNTtnAfuz3Y+HAijbve+CttluoImLNxyAvv4oWUpRuV9HCvEIMyJrc6hVmmssTo+eGYwzv5DTHr NKbIEcYXosc46sy1rCoaVd/sGJ/SCoge+mItICl6qVVdXR8LzIYqQpdYLCXc1e4WA3f6PI3MU1E UDudMw1tRTurrb7fKCQHzvYQP6hNgPfKO1EJEImL2FA5D4wnZ6R+dw9DsUAZ10iZ4SlfahW56dc D1aZrK0x8Vyf01wU0GRualftWth9+nuMia/6AyZsHxwKFYSKCaocX+16pc8fMd9gaxitngIE8N2 9Rcqca3GUE= X-Received: by 2002:a05:651c:552:b0:37c:c84a:99b9 with SMTP id 38308e7fff4ca-389ff34ecc7mr108930621fa.24.1772544210984; Tue, 03 Mar 2026 05:23:30 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:30 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/9] pmdomain: core: Extend fine grained sync_state to more onecell providers Date: Tue, 3 Mar 2026 14:22:51 +0100 Message-ID: <20260303132305.438657-6-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A onecell power domain provider driver that we can assign a common ->sync_state() callback for, should be able to benefit from the improved fine grained sync_state support in genpd. Therefore, let's also assign the ->queue_sync_state() callback for these types of provider drivers. Signed-off-by: Ulf Hansson Tested-by: Geert Uytterhoeven --- drivers/pmdomain/core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c index 53401db2a386..e0b9dd15a949 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2921,10 +2921,12 @@ int of_genpd_add_provider_onecell(struct device_nod= e *np, =20 fwnode =3D of_fwnode_handle(np); dev =3D get_dev_from_fwnode(fwnode); - if (!dev) + if (!dev) { sync_state =3D true; - else + } else if (!dev_has_sync_state(dev)) { dev_set_drv_sync_state(dev, genpd_sync_state); + dev_set_drv_queue_sync_state(dev, genpd_queue_sync_state); + } =20 put_device(dev); =20 --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (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 E0D5242EEBD for ; Tue, 3 Mar 2026 13:23:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544215; cv=none; b=DEbr5ShARXtxqcAT5cXb9T+93rziL+Wvo7V2gnG5b1TlOiF4hRcgFrfRlqr25wRvB6h1wLFGaYZEDqfYHcd/0CT1V7k2Ttywr7yBoB0DAAB4GsrMMDpGjfEKu2w9U3OUdG8QWgR68a6mXwLlvmYL66mpc3abyma2gUdvcRfIu+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544215; c=relaxed/simple; bh=y/DqFEmuuAqngsFZGp72PLnscTsfuWhm9dcxa38N2FQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZOrf9C732bqAUG9LPYL4k1tZfzRLBnFszICMaMkVlNjDp3H2J5oRjs86+6C197scv+9+SF0eAktSTp4veheRUcTRAZcDhFtmeK8tqGwq/F/YVJDwkdlIEo89MePBh1xU3G6k1JaSbcvQDxRr4RaZ1DrGKSyK2SHytuycP5JiOfY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=pKj7WLGP; arc=none smtp.client-ip=209.85.208.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="pKj7WLGP" Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-38a1eb8b560so9319361fa.2 for ; Tue, 03 Mar 2026 05:23:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544212; x=1773149012; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SGEFbwaqUhjNwCekhYMgDEG4xaWMEQ4ewEceL5SvVds=; b=pKj7WLGPBYvYYo1/u9GYId2bHWjXOLKknnToMb8Vz5b1hVffPjOH93mFkvGyOlZjU3 TxsA6cPSySSg4dCYppE6YN/kgA53OWi9srlfpa8VUjFGMH7d65biIMRzyII0nnRO5dgD L0sKtW1BNOYnc4kHoh2PedH4cUMWorndFfYXgEdh3fynYmj+KtT2u5UB3w22qqE3w/TU ot3jycLks0RQ1AW/BzEX8exRLYyy7evN/IZn8BNAoxL9tPuHy9UtPC8DU1u5e6LO5XNJ UnCjVrfYCSH+dtIqOqZ5liz80cbCQUZiJe1PAyBbGfdrjRA7ZjzJp06qrmXAc6C/7njF hoAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544212; x=1773149012; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=SGEFbwaqUhjNwCekhYMgDEG4xaWMEQ4ewEceL5SvVds=; b=pXCRjrlp+lmzorrC4eE6YtHoKo210nM9u57tJnHpNiGJ0/hJ8jDPITrrXP1eYex1C8 8rnxepcH8u18xtMgfDatU6iX7/8hPwzp598LhT/cVuX5Bf1gt6gXjW9VXyXJrH4KPUTQ oZIP3Hjeyj6FLbNp/q2Ox7HArQJ4t0QAKBYbzxnzymotNZ6OBx68u/8E7RVaySDjRCHD I8o0wTzIvmVpEBF7FoF8Je2cUfSTCmEXSVUiNnipkW505ZIhb55bWi4rpoT90lnoFc9G ExanCZicT6RTPhUfHaST0gbV5T3wbBA3bc1Ij/VOHQtB9UZSa64T+kzlZPepcxl1I/RS e0oQ== X-Forwarded-Encrypted: i=1; AJvYcCVb5jS+OhoCV/iMI7+fax1VKbcVB98kiWONxwjJVfCptEcJXHJJLE9az3mSZNCCnygLo3T+RU+Mx4+Xv5A=@vger.kernel.org X-Gm-Message-State: AOJu0Yzy4Ox/0FOyKex6EKE0KSEFHBDdmQ/6EgnkvLCfSla9y/YsVkaC 97eFZifdao42KY+zcNEVWPFU2Zu06lQ+HdOZtq42HQex4kGH4/lUgEjfa7Abj1s3Jh0= X-Gm-Gg: ATEYQzzjZM1pIx3fmMR+J//BL55P4zrspWza37B8vCXaIUi0vF4fKj/ymzLz6EijRqV K+Mcp0PH6sPLxaPCvkNEY7OA4KNqNj6CBQDwD9uSPGxHvKjGKNUU9ABlyrIl5vtBE4lgTWvt/8b OJ0szMkSMH5QMH9SQ5yJjIdfwRoRhBCQe77TYmQeDaRSzkTQ7bwKTXGcgr4lYFuvu8T2qo0GToF vaTwGF2dWhxbIeitfGuhB0uNwwMVO+S5G3iP49/R11YYBF1om5kZ2JIkD+zaHTRzTabLDpfZWEs vM6yVVzKwO3jxEvHvw7+Oc7yPtAq8KFdHMln+XeVxWx+1Zgbxk2nwexvfhRQ3k2penwkg6YjvI7 TagjJWI31R2Do1XjpXLUQF4rDqfTzg2EPDDFYhZBCAJCck/LNlUKXAvqJLNInNxs+immUXHUifh yckKv5n3AimcuxZ659rgAj8u29Y3WvhkvKFp+6497ZdzBFLj4wbTaKDPtUvp6gH2TjbGgfXY2pj MepRYkvxRw= X-Received: by 2002:a2e:9a83:0:b0:383:18fb:fdf0 with SMTP id 38308e7fff4ca-389ff34fbe2mr88653161fa.22.1772544212105; Tue, 03 Mar 2026 05:23:32 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:31 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/9] pmdomain: core: Export a common function for ->queue_sync_state() Date: Tue, 3 Mar 2026 14:22:52 +0100 Message-ID: <20260303132305.438657-7-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Along with of_genpd_sync_state() that genpd provider drivers may use to manage sync_state, let's add and export of_genpd_queue_sync_state() for those that may need it. It's expected that the genpd provider driver assigns it's own ->queue_sync_state() callback and invoke the new helper from there. Signed-off-by: Ulf Hansson Tested-by: Geert Uytterhoeven --- drivers/pmdomain/core.c | 14 +++++++++----- include/linux/pm_domain.h | 2 ++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c index e0b9dd15a949..0b07b2d15969 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2764,7 +2764,7 @@ static void genpd_parse_for_consumer(struct device_no= de *sup, } } =20 -static void _genpd_queue_sync_state(struct device_node *np) +static void genpd_queue_sync_state(struct device_node *np) { struct generic_pm_domain *genpd; =20 @@ -2782,11 +2782,14 @@ static void _genpd_queue_sync_state(struct device_n= ode *np) mutex_unlock(&gpd_list_lock); } =20 -static void genpd_queue_sync_state(struct device *dev) +void of_genpd_queue_sync_state(struct device *dev) { struct device_node *np =3D dev->of_node; struct device_link *link; =20 + if (!np) + return; + if (!genpd_should_wait_for_consumer(np)) return; =20 @@ -2813,8 +2816,9 @@ static void genpd_queue_sync_state(struct device *dev) genpd_parse_for_consumer(np, consumer->of_node); } =20 - _genpd_queue_sync_state(np); + genpd_queue_sync_state(np); } +EXPORT_SYMBOL_GPL(of_genpd_queue_sync_state); =20 static void genpd_sync_state(struct device *dev) { @@ -2925,7 +2929,7 @@ int of_genpd_add_provider_onecell(struct device_node = *np, sync_state =3D true; } else if (!dev_has_sync_state(dev)) { dev_set_drv_sync_state(dev, genpd_sync_state); - dev_set_drv_queue_sync_state(dev, genpd_queue_sync_state); + dev_set_drv_queue_sync_state(dev, of_genpd_queue_sync_state); } =20 put_device(dev); @@ -3657,7 +3661,7 @@ static void genpd_provider_queue_sync_state(struct de= vice *dev) if (genpd->sync_state !=3D GENPD_SYNC_STATE_ONECELL) return; =20 - genpd_queue_sync_state(dev); + of_genpd_queue_sync_state(dev); } =20 static void genpd_provider_sync_state(struct device *dev) diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index 7aa49721cde5..d428dd805c46 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h @@ -467,6 +467,7 @@ int of_genpd_remove_subdomain(const struct of_phandle_a= rgs *parent_spec, struct generic_pm_domain *of_genpd_remove_last(struct device_node *np); int of_genpd_parse_idle_states(struct device_node *dn, struct genpd_power_state **states, int *n); +void of_genpd_queue_sync_state(struct device *dev); void of_genpd_sync_state(struct device_node *np); =20 int genpd_dev_pm_attach(struct device *dev); @@ -513,6 +514,7 @@ static inline int of_genpd_parse_idle_states(struct dev= ice_node *dn, return -ENODEV; } =20 +static inline void of_genpd_queue_sync_state(struct device *dev) {} static inline void of_genpd_sync_state(struct device_node *np) {} =20 static inline int genpd_dev_pm_attach(struct device *dev) --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (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 A960E426EC2 for ; Tue, 3 Mar 2026 13:23:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544216; cv=none; b=GxzGPO9PUEwR11gXJy/DX02So6N23PC6o/q2uvRCvFXiin79ynOhHdWavPKwRZjrDw/DKZguUOa50vE7QS9qK9gypR3mbm3AorlfkN18QBRc32xAjfCRu1gMNX4PMhBJQ/yMHKv4jASs9BOwCgV46QI8wFLh3MuKbCVek+HjGD0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544216; c=relaxed/simple; bh=jVvBBV/zsuRMqgxHsBrAH7bVrJpNyNeo1V3ejrzfL3s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iaTLqslpk/Rv4qjy5sBO9WNC6SCBPR0WHikOwlpTKnA6Om/So2aS1uorwiptbXyaOc5/Q5fhf8LDBAdMW3k7yiKKXu7Fb4MN0YpBo4lyWXgC1FPSuP8HV6Cr7HfHByYyP/6EDMF35wYBwW9A/EY2PSIHtdzHAFjv9aZwEesY6g4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Us1s85G9; arc=none smtp.client-ip=209.85.208.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Us1s85G9" Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-38a23cf08e0so4591271fa.3 for ; Tue, 03 Mar 2026 05:23:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544214; x=1773149014; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=B2MfjI+hJWOgg7EoLk+8AQIgm6BBATog0kRiTKcn0Tk=; b=Us1s85G9lLQXDXpR+C/A6w9Dxe1PyB0hdAp7ZIl7LXGDzfTgYZghQ4yPxu19gPl0a7 HZwIU16NLnqWfJiTxpFNaKtixNjYg4d4sTGjgl0Pb3vqbwJSRNoNpB5EqAL8pCIz7UkV sHiw+smzjQ10yvOvG9PgP68nZSiCE/h54HQ7JAm97JDNJoCA8btWiTL9RVICAA42pW6Z IbMnV3aNh62a/RJfAWQ49yRrJi+9lc0XpaSpjQ1UvTmZmYzHA6mBUMTpNzzoUQqtbuf2 cD7FQV0cVYVnTtGA+s07acVJN3wtC6rhfIHaq/kOSpSehqlQBSYwEwZyOr7gFbzuf62k Jltw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544214; x=1773149014; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=B2MfjI+hJWOgg7EoLk+8AQIgm6BBATog0kRiTKcn0Tk=; b=bD1pkG4icY6BhiqkE7llFzK3zPaaZtv9hx5wKceajZBHi5Ts+c1dlbMtYdYvC2f/Aa fnAtwumS4g2+xTgdRJMzo1gjNL4PwFGLt6XVzfPi8O9+VAlfTfMGivwxKzTtUwds+G61 wOfoyGFyGwJ8oir3SMed80z0FFOLupkjEakVdn5Sp490wL+FtVFIf6K1ajWZTdyXTxgv SibxhaRuQI0qRdRhC4DtVTHJRZpHY2NnuVpAwEWm0ewYfOpgQZ6oyeK1/Lp8hj0r1tsd ikMpLayUxXc1rio6Ca2u93Su3B4+y2Swuj09xF1i3R6A3o8ifNVBlPC+dIdUtfAIoAbV /hvg== X-Forwarded-Encrypted: i=1; AJvYcCXzdZECiKB5dX1j6tUd3l1zPSCbEy2mojF6oCEc49siTxxjksg3anI5XDmeVN9o95UC7GkRV+OB8vWQnus=@vger.kernel.org X-Gm-Message-State: AOJu0YydqWkb5j2dd4R6HYNv9lIbFXXou4Ns+pQ9USoMnW32U2YrXbgR 5Chymbifc//5LVwfukvbQofrVeLUmL/cdyldHSmg8+8byI3zgVy4tztX7HfYkcv9JfI= X-Gm-Gg: ATEYQzzlyIDmyeqBA+vi9USQAJJ9jfibJiGWtJygFxlJ6cavAOBmopCzGo8zM8BaC9m cxpF0xVpe1DJvEHoEwqn4Wqgk2lwfDgOVekGdGk1Pr4idXprctARCi/WrolC5KK//l8SoaUC2hs 6/kwlr0PPz1rg1JCa2DEOdPGf7EJyogBUtXENDHeaXlPJsqOWNK8eB9b+RQEbXaFquywuutmXOL 0SVmg9LFFfo+qWdOu9gksNX/scsGtXR1CNGgJT9xHxiffV0szsyYUbk5o+W6T2+FIVhCY8bEtON YanNGkQ8VSWnaxcywcg+YvbPNWmdDKUytOoAKHuxEtdtFyY7m6x/fKaAdoqunPYp84N3QzrmZR2 KjuOugL0tX+Cy4kbOHr73QqMd1fNA2+Zf5c+LYxil8VmLzc6Uuf+W/HbbC+1u738BgpWzvvRmQw IVpTuY7eenrHzbSFPIX0koAYMqHbKwup2Ai+PZfP0K5+bNM61swcpYQdUiWIX/B5PbWMs+lp0w X-Received: by 2002:a05:651c:515:b0:37b:9e27:89f with SMTP id 38308e7fff4ca-389ff363a7cmr109584081fa.37.1772544213430; Tue, 03 Mar 2026 05:23:33 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:32 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 7/9] pmdomain: renesas: rcar-gen4-sysc: Drop GENPD_FLAG_NO_STAY_ON Date: Tue, 3 Mar 2026 14:22:53 +0100 Message-ID: <20260303132305.438657-8-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Due to the new fine grained sync_state support for onecell genpd provider drivers, we should no longer need use the legacy behaviour. Therefore, let's drop GENPD_FLAG_NO_STAY_ON. Signed-off-by: Ulf Hansson Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven --- drivers/pmdomain/renesas/rcar-gen4-sysc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/pmdomain/renesas/rcar-gen4-sysc.c b/drivers/pmdomain/r= enesas/rcar-gen4-sysc.c index 0c6c639a91d0..81b154da725f 100644 --- a/drivers/pmdomain/renesas/rcar-gen4-sysc.c +++ b/drivers/pmdomain/renesas/rcar-gen4-sysc.c @@ -251,7 +251,6 @@ static int __init rcar_gen4_sysc_pd_setup(struct rcar_g= en4_sysc_pd *pd) genpd->detach_dev =3D cpg_mssr_detach_dev; } =20 - genpd->flags |=3D GENPD_FLAG_NO_STAY_ON; genpd->power_off =3D rcar_gen4_sysc_pd_power_off; genpd->power_on =3D rcar_gen4_sysc_pd_power_on; =20 --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) (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 8D2CE4301A3 for ; Tue, 3 Mar 2026 13:23:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544217; cv=none; b=c9PE0h8vpWpJuKkOKWOmXGJwR7Vdm2YWOuTShqZl5tMAmUyQbjnvTpyDJ0T29Q3CulmY+U4/qFh5zj/3k35k7GXFaU0BAOIaUmAmOTelL/Pj0g1cW1pHzebunDyct/3uFWmcMqed8r2FkmOOToCm0uVRBAVzFWbXTQos+Hs62I0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544217; c=relaxed/simple; bh=HKlFck/FAja/HueIxvm1gVErLwG96G8TBeIZBi+S8vM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dZLseUPjwh1eqNF4Xkdr/0ahx6am1PAzUl3NMOgG/ezZNJD1vn5B5MgasXihtJ1xjq4fKh/3lnP+eKaJ0b7hE2jweUoqYrqocJagv2xq5ZDJacFysuj83Ow97ztjkqLx62rFMQfN9zM+YgxQhHEgwnqzTmsv8yDptBjJSz8LCRs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Ag312Kro; arc=none smtp.client-ip=209.85.208.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Ag312Kro" Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-389f200c26eso82746481fa.0 for ; Tue, 03 Mar 2026 05:23:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544215; x=1773149015; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MjWtw97EefBuIXKvc4rM905LfmUWExWCySCPbaqXUa0=; b=Ag312KroB+f5X0noKX7ECecqjY0P3rL2RKtIV4SOijx0BYmenXg1fmiy7SjEq7opCK d+YzlBZHFIds8hl+4kMFVVPvQsu9u0MVaHBym+yTAFjwXMS1LIczSajPCzQ0VZjNvW03 4kTTUpOzuNarawrdznHRC6SAEAuRUTmKiULlojqxDhljQmtjXEfkwfYb2PfCSflqO2Bf nyNo0qRfj3j/j8gBclrnboI43FVZKbA2vbKEPm3SDbfVcL9U3mjoJz2ZliicUkUHPO19 uT5dZllaMmv+neEP9m1SykI3vSIsjirOPdiRGRTqv3kRuhel/YKOfnz9kzg0Pw1caa4m +HYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544215; x=1773149015; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MjWtw97EefBuIXKvc4rM905LfmUWExWCySCPbaqXUa0=; b=tFzM/5+0iA9znIgiGREp9Q1KN5LfK1WMb1UCUdgnaJZpgRqMZVIxd2RcnZnTdpxuB0 vEESuI69pTpLEthla8oFRg8AFjyU/nTmlO/tfkvWLNLAH7t3XP+H/BwXMDcAXpwMgRZs DTXI12fqSTdbJb53Ka0nA/IM/eSK3KOkA8FvTA9MCNP/JcS2c6WIeLt9j38RodRTm+S9 JutWkmF/shPFQoQmuRbY8GwSndtqO1Huw9NFDsSWFBpOC/eAhLqjG+lrqLy1gfqaf1HA cQqtrRcqzFQ413m6aTiRmkYQdgHhWzIlWhv/4YljOs9+AZbBH3Cpf6KC5QORdNpp5VT8 Xglw== X-Forwarded-Encrypted: i=1; AJvYcCXRqiIv48EEu7ivgFlNGEXWSj6Lt+o9bTbSvUQrGad4tKynEm8j9MmvjCi9lJzqznRuKb4/IIcswMmrz8A=@vger.kernel.org X-Gm-Message-State: AOJu0YxozF2+k8uPaK319pBwVtmwrVJzO2ZMa7GZzI36XWVimn9sBPVm BLauVmj2azY/cJQVs8lC+t2bP1u2KJZzghn0bkuladFHIvBEWmsvvyy6gw6V91Mn5nc= X-Gm-Gg: ATEYQzxy13Nbsgf8iXyfiexNY/K9CCu9fkbyz37eCcOF82nKME72sVErUVeuiE1GgEf UH8KzFSA0/tjRdbNPPPiVWmSdnTKF7P9omVYgdcQL6l5ZCRqNkjZmzUIponOodqzd3FQWQ/xb8T T/WnoMuXWyS3e5C2+LXqvfqcDgCqo+9AsKKN6H4N5ZgR+YytLAsPCOTRn43KwP4loC4ZzDX0Y72 o2IwoZtzHQKz0y6kDKPvDgOVB9vtHfZIlZjfwA/Motzxtabz/Ib9fesMWiiJ7zWYEASQlzXhej3 nsT2YoE+IbwC8y/mLKtYVknxt96SEUXA+2+ztxmoYtPyUMmBlcZd5pbEfUrkBGY4f3nZk/sz95c eBaHL1jWRzz96ndADDZuFi765HY+YOwwbmyXjsqJOmC/Zs3yZhRBtk9X8EhbB6hqwSVGXByTEB4 9oaWlXnVJGb2tjpipO7mjLZnNz94NwL8O8gXUhYePv9vvmIzUGXzmSx/2HGxZCi00/vjTYFd7L X-Received: by 2002:a05:651c:1507:b0:38a:203:be8d with SMTP id 38308e7fff4ca-38a0203c336mr90018001fa.31.1772544214722; Tue, 03 Mar 2026 05:23:34 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:34 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 8/9] pmdomain: renesas: rcar-sysc: Drop GENPD_FLAG_NO_STAY_ON Date: Tue, 3 Mar 2026 14:22:54 +0100 Message-ID: <20260303132305.438657-9-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Due to the new fine grained sync_state support for onecell genpd provider drivers, we should no longer need use the legacy behaviour. Therefore, let's drop GENPD_FLAG_NO_STAY_ON. Signed-off-by: Ulf Hansson Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven --- drivers/pmdomain/renesas/rcar-sysc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/pmdomain/renesas/rcar-sysc.c b/drivers/pmdomain/renesa= s/rcar-sysc.c index bd7bb9cbd9da..e4608c657629 100644 --- a/drivers/pmdomain/renesas/rcar-sysc.c +++ b/drivers/pmdomain/renesas/rcar-sysc.c @@ -241,7 +241,6 @@ static int __init rcar_sysc_pd_setup(struct rcar_sysc_p= d *pd) } } =20 - genpd->flags |=3D GENPD_FLAG_NO_STAY_ON; genpd->power_off =3D rcar_sysc_pd_power_off; genpd->power_on =3D rcar_sysc_pd_power_on; =20 --=20 2.43.0 From nobody Thu Apr 9 16:34:33 2026 Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) (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 8C6AD4279F3 for ; Tue, 3 Mar 2026 13:23:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544219; cv=none; b=mT1bJeBDiejCPr2MHJcf2dq+buJ3xgOJyB1CjrBR9LktysgpmoHH3Jzc1YUGc2L6SCikZEiKahWmFd6YdVPSLyz0Kn5lUCHaui/4x/9EJglpCKU0T+PQ0+PIdk5sNp3EZhwYGCWWduP1DL3S0VqVJsMCHYBDpVRP4ZIazhQhU9I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772544219; c=relaxed/simple; bh=ZdxakSf6jx6HjMVNW2n3RsPo1XInrHuWIUjvjrHnlTs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rj7Wjcd6Ohk0PcqPs4KsqaojjPx52m2PjPB/wCC3txxDNlTRCzo3mABQh9B5SPZE+/U8D0FDgApCFQEc8wUilzy80u/8dkZmnCgTYY/E5ldtCcm3dihTPvCoXp4Q9Hb+PVB7kC3+Or+kWzTuXnHzIgSmtxC/6qYra9foUVhZxYw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=SjfBDXMZ; arc=none smtp.client-ip=209.85.208.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SjfBDXMZ" Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-38706b10b3bso104062651fa.1 for ; Tue, 03 Mar 2026 05:23:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772544216; x=1773149016; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=P/KXJvU/AAYNqQHp5ebH3wq5fKE6yFx6Fm3sAczFSPc=; b=SjfBDXMZZd/CA2/QEbgz3fr+fxofHPsmgK8CyIBbADZ8qfUP0D+S5UvQLwYTa0dYoz 1MSl3zF+2EzFKWhGniXbAEGVj3vISuOJRDL+Hd9fe2EOM1HM/nr31SuAAY8yklV6IO10 sCgoTdHskrQpy1svLgfLfbKDM2+fuNzzs6xqz8bkX6kTcqie+xhmNbPqJy2GTANu1qBE Oe1Oty9DiagK9KjXvjT3h+fIpCubs1DdEq8QB+lE2p4wYDhUhVaQMDDBoH8bs/lk3rQH 0R2ZgPtUBys2Jr8s5osr2U7wrpboU0muVdaJu8XzmJJgn1IHkRM71IURqLsf+V84j2p7 zOhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772544216; x=1773149016; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=P/KXJvU/AAYNqQHp5ebH3wq5fKE6yFx6Fm3sAczFSPc=; b=asxZPv3X3kmkVIS46DdpDbQ4a73kVEOaH0fjw7+asvzULYudwc4zQihwg6z1TndwBj bFQ7AUlwdZ19DGhMmYFXdsVyPjJ8vPI/8uvroTEr8bQ2OPELAUUWUFjch1mnDoQGTkDn Y4MMJ0ndmI4jBCsIXRDAODSvntZZAK/jSIneYa3OixUn0eosevEFdwLTNptq/A+lHqp6 424njC9TQV+5ZbI+3nIaa7TdypSsPa3SCQ5YTAWhFYhU48+2gyYyXdRUwtTkV/eugOQN BP7+W6nnjYdRTO8PJlXH/o/jRNeZXGn23ug0WNpMNPsbeOqDWn4YZDSfxP9/mDpaWgRn T1Hg== X-Forwarded-Encrypted: i=1; AJvYcCV/d9L18XvYmxQ3z2fXZOszPTjPrXzed0IPFwPikiIrMCFdGhXZn+U32EkkAdgKguptTxNvSQtQYTMNHUI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3eJXEK6usYvFmmQiZ7JHCJXwt3vMetNmjGQPN+ImHI0kMABNi RCSXnHSuPX/yQrLWwyY7+SSv0/Hd/IEhYViJnZcimbwn9vZz4LJobdC7dfWGxHiOOKA= X-Gm-Gg: ATEYQzx2H86WLtGzy41FTL2+hwhrxDvukCldCfWq0LR8tnBhGsiPcd7M/DSdeUjFtSD UFt3VLbmQ9zUPoXDj3tMJCoxZ0AvKsmB0PKg+HSzpbC2gMPufZHseZ3CEuI21iam0WC3zp7pmGz vfMoUkdej8V86ynm+/QINVsosa/kyN/ixrbH6s2NR9BND26q5WkM+WIBaO9p6MYTvc3yycaE5m8 s18c174+3YD2l+M+fdWFYYAQdaAUmnyJpRKyU8NBNXD+A7WKmrbCnIuPNdAfNG77tLZuMu9A7mC LT5ZH3kKos66SX28MRby0MtoRQUq6wsGZJQ9gxHdGYSBB96g8JroTKTnVDRex83zvzC6YqrLLnI 4w+MPr4uvnnqjko1ssZItHIclWaWIBYbgTzJ267Ayvq0z39DHmabieRNLY/rV9+KDfPf+n6IZ6j UHZMPuCdmtKkFbr+rpW1LJag+rdHSMX1z3yDQkZIkWcVDmPejFKrAIrpwTU3Ug141aAOjXBPx0 X-Received: by 2002:a2e:be8b:0:b0:387:197d:207a with SMTP id 38308e7fff4ca-389ff15e1c7mr126006401fa.26.1772544215824; Tue, 03 Mar 2026 05:23:35 -0800 (PST) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a1235811e3sm587866e87.29.2026.03.03.05.23.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 05:23:35 -0800 (PST) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Kevin Hilman , Stephen Boyd , Marek Szyprowski , Bjorn Andersson , Abel Vesa , Peng Fan , Tomi Valkeinen , Maulik Shah , Konrad Dybcio , Thierry Reding , Jonathan Hunter , Geert Uytterhoeven , Dmitry Baryshkov , Ulf Hansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 9/9] pmdomain: renesas: rmobile-sysc: Drop GENPD_FLAG_NO_STAY_ON Date: Tue, 3 Mar 2026 14:22:55 +0100 Message-ID: <20260303132305.438657-10-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260303132305.438657-1-ulf.hansson@linaro.org> References: <20260303132305.438657-1-ulf.hansson@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Due to the new fine grained sync_state support for onecell genpd provider drivers, we should no longer need use the legacy behaviour. Therefore, let's drop GENPD_FLAG_NO_STAY_ON. Signed-off-by: Ulf Hansson Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven --- drivers/pmdomain/renesas/rmobile-sysc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/pmdomain/renesas/rmobile-sysc.c b/drivers/pmdomain/ren= esas/rmobile-sysc.c index 93103ff33d6e..e36f5d763c91 100644 --- a/drivers/pmdomain/renesas/rmobile-sysc.c +++ b/drivers/pmdomain/renesas/rmobile-sysc.c @@ -100,8 +100,7 @@ static void rmobile_init_pm_domain(struct rmobile_pm_do= main *rmobile_pd) struct generic_pm_domain *genpd =3D &rmobile_pd->genpd; struct dev_power_governor *gov =3D rmobile_pd->gov; =20 - genpd->flags |=3D GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP | - GENPD_FLAG_NO_STAY_ON; + genpd->flags |=3D GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP; genpd->attach_dev =3D cpg_mstp_attach_dev; genpd->detach_dev =3D cpg_mstp_detach_dev; =20 --=20 2.43.0