From nobody Fri Apr 17 09:24:08 2026 Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (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 7F13438B136 for ; Fri, 10 Apr 2026 10:41:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817671; cv=none; b=oHESSoKdQJGOOo2pdetozz09xUV45zNc0OmIOkBI/5bRdabAf1nNPcAIhR58smVKm1AyYRrUTJqrB1Kn3JxxyZmjT8z67GbSxpNzfzAlDwrrfgJ7tDddBGSB7YdFjic428dWMsA7OabHAepDPvRQVCkCqKGTktit2I/GWRSQeas= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817671; c=relaxed/simple; bh=8Kq2004yGYvDmGpLcFLftKKbGVL7vNOIYvDbWawQjjk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Db80g4U+gsF5Fvt0GQanHfJe7SO28K/pziFwTRJyFw7gETUYuBIj4NXsGglV2eJnmwnYUmTAbKHsUdUoTdeBeBfMn+Vf2FkWL+GKD5xK6R4nJBUcwUDJh2qSYGMG4ZxISw2rKGgyhdERO6VAIdqqPIkv0SI3N5Mbd7wcGVNJh28= 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=O70kUc4I; arc=none smtp.client-ip=209.85.208.181 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="O70kUc4I" Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-38dd9f11a09so17404211fa.2 for ; Fri, 10 Apr 2026 03:41:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817668; x=1776422468; 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=/73f3/gKMGjhlSVUm1EFqbVBE3w9N0gOSLL9TifoTSo=; b=O70kUc4IyIZsPDCMX0M/QfNFbUw6LRk3bdFwMHclPMQyUBzbPKa3uMFmukliuneBkY ZhEBlAFRN/M+4B/cDlNZ/y8myfw0FTEi6G0cS4DBj7AILSEJhihYp3GJPbfC07ox8Ysw NyGHVB95AErTIBAb5le9DpqQ9h5l/KmCRMlrIDl5ujjd/XFNj2XHPBARol2omFryzSYa 7iU1DssRBy9MRLr1dTBhuVWuisDWFUtxgFbV/HPvvT8wATP9a3YGRdsAfuikegS8++uk mETbVeap8d12dHmA1bBu32YYax19cxh5amp35mk+QWig5RKiJ+9aSJ9ZpWfQCJZ5/1LI i+vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817668; x=1776422468; 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=/73f3/gKMGjhlSVUm1EFqbVBE3w9N0gOSLL9TifoTSo=; b=a+fmAY+OIle7HuQtohRsG8PwJQPHmqwTkZSaMDiTXORBPCEx+yLEXiNE8kEr7MedIt PQ20n2AuI+/eOI9e1y3duIDxmJd0bu/QHk1sbbdEDJqdx82doPXfskJodVeWS7otM4Vx NlK9/DQrzXxPcqrQSItVeJbDNj7k373gHf/0K775sDTJiaOne/Kr8HEZCYdLZWNEKZJc bS3m73a9nhCi9Af3w0AxcpyDXGqUJqN7fkd/rJeRpCnrFP2ShykwNUT1hHKcIYLXijoI d1wMzdp+Pz6ZucMwxz8+6ez6+LcGyiZ2lqI6/AGdqsbFTUJA9Jw1VXAggWcdHfq4qGKT J2eg== X-Forwarded-Encrypted: i=1; AJvYcCUIsBgUBXM+Fs/X4sO0luUXoAjGgxW7bRsKW5hcIEOjsbcDppYP1Tv1qtSYSbYxRNIfrzeS9fa0hgEaM0g=@vger.kernel.org X-Gm-Message-State: AOJu0YzRnzaZOPEEnl/chGLbPbYEW86inrOVQ5+aN4xSVJXs5RYEyBM0 1gRWufMMTKqrFo8F8ax/r+ejlRtP4vbjUTRAAB94SgsnpkCwZzmahJnAAITzos94qWM= X-Gm-Gg: AeBDieszeZydoavsORFBkJSHi5d5w94VhFBsSmmGEATPWTqDkecpn8udmMUNL7sJ1MZ 9kaFz+RuD52J2xWQHI3WtX1Q0fLbRg7y4K4F1ydF2o3aWOQcNlfHOhrxLDM0uGi5ni6pFnl4cjb 2k6sHJAcBHoXcOmPLm7+Sjoz9fCDcMbH51iAF85ZfTf5pTlEBeAzYmYCVD7yMEGBF5Ha+nTNy4H /Lqo0Ag4/H7MR6mwKYfuPaC93Pky9rBEb4g2PNek2a/HD0rwxJhR4Bp6y+79Tlw6kQxkFpnqBLp D7qHNJQTyvpKz7hqcgNNTYiFFiwpMppq7YQigm2o0JyX4nEFSj01Zxt/B3iDhTjNdKKmWrDV7D/ PCM7Wu+L64B0nDjiUSbXKo7qo214eyOhuczQayheTBXsLRX25poAAZ2aRJavkMGraj19vzryt2p AO+apD9awSWjx7YA+rfpHPeUKpi+woRgSXOEWmFWTNW6JwN6xdQl9LKx29vl8wKh4v2xeWe+nX X-Received: by 2002:a2e:be9b:0:b0:38c:6b7:ad39 with SMTP id 38308e7fff4ca-38e4bee2130mr9021011fa.13.1775817667538; Fri, 10 Apr 2026 03:41:07 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:06 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 1/9] driver core: Enable suppliers to implement fine grained sync_state support Date: Fri, 10 Apr 2026 12:40:44 +0200 Message-ID: <20260410104058.83748-2-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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 09b98f02f559..4085a011d8ca 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 Fri Apr 17 09:24:08 2026 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 EB6E638CFF6 for ; Fri, 10 Apr 2026 10:41:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817672; cv=none; b=pn/WRF4DrO1Dj4M7YLbLEke9syHyP9u8smJHdwebfNxiG5UO9PrKj9sXxNvrEPxURzd8Cv7sOT+o4LMIOuMtr2pzfVPaGov6Xc3Az0Hp0dIli3k9dRojWmozORTjtVi/knULtbVcWs3zsJUGfDZmCZh1TQJhph/56hM/ch9/wqE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817672; c=relaxed/simple; bh=YnkcGtx8iAEVtzUA/GgIFUdFTLKhu7OI6fU88Arifyc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A4whriQL602xv4tnFsJZEBKDeDMXH8zksaqf6eLjZMpByS/oLDq+AiNiLRXxgbZeUqTk1uBtLbJNE113KnyjyF9JOiOSsXgA7ebLaMCDQKL1fpPCYm9edcUIqGZcXBv0jFXbf9f23YyecwX3RmWydt38gaQHF5GEVrreKUoX4bc= 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=NkYB5RGM; arc=none smtp.client-ip=209.85.167.43 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="NkYB5RGM" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-59de8155501so2126777e87.3 for ; Fri, 10 Apr 2026 03:41:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817669; x=1776422469; 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=jw17PSEZKCRGEFR6RMdIihAAVWvt1U/1bx2cCz28f68=; b=NkYB5RGMa6mijdw4IWMIzjlRXN/ETzzJSmAUa7P78Y3UHWTXUvKmMCuBfGdEiImst+ xjun1OwP0nVrBgCiXOoNvOb+TUJnjereYe1Az3kZ8Ocd9tbLGoPBysFHAGMF+h727x0P KypWOgAJo9JGYDcR7dUuVUnBZkbsw7jmMEDW4qm3B3xtwAjD5rYvh2O4XKCnSCoSIzGw 0Zfy/VkEAZt1ZZdYpjelpa1pgE6alRrS7bij+/IyDNAse+8brscuI5M8S7ZdQPbEyZJe j93wmHzyQ8arqG331KEjsHJxF4DOS9BB15PgQZ+l2pqgI8NvzqvIsPlutkjfEAjnbQzB 9DKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817669; x=1776422469; 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=jw17PSEZKCRGEFR6RMdIihAAVWvt1U/1bx2cCz28f68=; b=kmH6zVbzUB4mIUIrGsKrnYdN/hPG76ehDnww+srn6TBKZTbatEp5sreCKw+g4/ivRp 327RE/lMMoFtJOz2LwIIDl+gpr7xwbSCjys5YE1N+OvGu8Ip96EkHVQM93xVb+TSpAYL RBI708xCHjcpVtIQatQeOBn7WNuFmBp1OdkRkAltjT1mPVigkRusRDLBBrRiGWlX/2N8 RRxVY1fF5tdtDoF5qrX97GViqiXSc1EW3BVQ3gnnfdAu2ASli2c/qfoAi88dxccTKU1h dtDpP9OTSG8qHb3NvLMwK1L98+Q0f1W+C03iFY+qhQ1fcDmhdtGNb1GFlCC/OPcGjxVQ hxJA== X-Forwarded-Encrypted: i=1; AJvYcCUHWHLhrYngt5Oui8JoMr/MRTuAgIKOHfmYd29VH5hPL6szML8GvQRcPcq0GpzL/rtlZZkR8GK7ub3V5j0=@vger.kernel.org X-Gm-Message-State: AOJu0YyG871NRVX72K6LgqD5ewTkcpH/ywZ7Iz/jsq6Yorl7cD7VSYXH m7NGwrx2jyaNeyPmhjF0UG6OPdb6fOzhIC8z7U84DIgm+YSQCw05inZjwG3l1wwUfkE= X-Gm-Gg: AeBDietTW3wRZs0pfh4hnmN5CqLe+gOROWg7/elhVMwlof14Zemf8Wh7u0aDc1qplA5 jyOZKPS2uiB2WOeQOPLRXuKa3MMjDpyDoq+2LVIj7DoXoHTbYeaqtdoadmP8rqVEmKOB7by8ak3 aCKnfVKGunTnxm1N/LKhG6A+nXIPhaRDpIy5zeVZAUrmc3pba1ghzqtkHpM8lLyHY6DoMZfEVg+ QmmcGSJmTJJ/53ZPdpx77MiUxg+i5q7Rvzom714A9Wk1T8pZ+fin1Ui58RkmugBnAVZcQJ3fkx3 Qp5IcItZD+X4zUP7BH7vBQjJe/pH9kOIDnMHS30YxyemMgUVeXKJ97e7mNNAf5EtVeML+QFzqwV awYt5dsQApGYpaNHkfaDsxtQR/k+FjjnPCikrs3MAXFvbKrZ6y2rtioX6ZlIq7eE+HHpaKN9Ixp HdqnpZGYZ5GM5Ss7xY6r0Mu3fculk59CaDK9a7qaDpXpC2Vz72cF/G36i4l3A0yl8PPFyXK9fj X-Received: by 2002:a05:6512:1293:b0:5a3:d375:f587 with SMTP id 2adb3069b0e04-5a3efe991e8mr817900e87.35.1775817669011; Fri, 10 Apr 2026 03:41:09 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:08 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 2/9] driver core: Add dev_set_drv_queue_sync_state() Date: Fri, 10 Apr 2026 12:40:45 +0200 Message-ID: <20260410104058.83748-3-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- include/linux/device.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/device.h b/include/linux/device.h index e65d564f01cd..f812e70bdf22 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -994,6 +994,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 Fri Apr 17 09:24:08 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 6A39D38E11E for ; Fri, 10 Apr 2026 10:41:12 +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=1775817673; cv=none; b=C04DEQKK2LOmP5rBPtAjJ5lWusMur9IusKDqCINmzDdaE3kWLJCxplI+KynB0HZYEJyJ0IvKVpRgXybdRpCun5bGrSkOZ19TFKsvSKkxhu7ID6sV7T194+Z768Tq5hSTJm++vwfgA6x2s/au8/nAgo+6XaKjO0x1t/hOGiUuGDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817673; c=relaxed/simple; bh=KuIvrgkQZXsNbe1PGIJcqjwmYA54iDgNFmQrWWfasDw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FdJBDDaxPftb3bIRiAQsnfB3smp1bNpJ5G3eQaOcjR9yDmxL9zRWrtXaTnwA9Dx1s7KWI8oBVoKN6qOuF4eS8Tm8GYqmDttpGAzso3p2/nko7pSwHivJ+9b0pa0iLkM7vnoguxL5ZZ41XVFlSKFm/Z/jxcVvlI1R/dSbpyonNs0= 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=iheW4gve; 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="iheW4gve" Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-38be5e86918so18280541fa.3 for ; Fri, 10 Apr 2026 03:41:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817671; x=1776422471; 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=Nm+wP/DxtqDeb0bHdnh1xnktH2NnKja4jlZQ2gGkpXg=; b=iheW4gveNO1P5MdzhcI5pW08CIkJX50XnXm+kh2VdrDMpztw3TRSKCUkRvL5Z9QGfD E0ApDXNwF/RCbgn6VT6ehaYf5yCVi12y37unmp+vfBwSseqW/JXBPCTNrTLeHeJUMwje vyVRrtoqDuIXn5d+s3E41RyxZczKrp6EFTNcm8OpcesAqkGg2Z/Ohmr2+wCn70eVgwvE AwFXcQLz1uO8hJ7GD8WZg64UPk5BAg8GVDQlbuDeNvugIFjh2/iL0yCt/bXGHpOpUoDb SLODi85JF6bpqbORVRznpC3rn5PBESdEHimJR/7zrysJzVcc4ufteroXaqnRkDFPWWNJ Gmhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817671; x=1776422471; 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=Nm+wP/DxtqDeb0bHdnh1xnktH2NnKja4jlZQ2gGkpXg=; b=KAEzfX+dprUZatz35MM1yxOE1Zg72GV3nO8/WEWjksMh509xZcaLwRsMFgkBNvWDHB 9rPYu3BvFTadqBfhNDeHX9eDwYn4eXacpfpjITOe44EIUuFsTvstOOndAs9+f/zypjYN z2SshHgXop8vG1ZhB9W2rFSFaxBs1R/WzxSa5ftmsBgA2X0cdgqGI8pi1fMi5gmh57RG XMR0EOxRTIUnsLIq4MLiZ59JMA2B5XhI7m6hOR/9Csix1CHZkp1QGLTYTSBaW6PIgckJ uhzwzfqyRnmzolmVhSNH9ArclcRg/hYEdYdTXUrI9ipyJtiy/OI/mkaP6mlppNljhAXw hguQ== X-Forwarded-Encrypted: i=1; AJvYcCXunCavy3vJ3x2hZ6IQeA8nn0z8/L5WzlieKr6zbMqUqYpgrwv8Cj6/XDB3vndFt4YFJsE4W3QBoVAe7jQ=@vger.kernel.org X-Gm-Message-State: AOJu0Ywup1FiiP5YuSm+O4sQzFd4DqN/mLqljbnDmphHEAUqIKH4fxJ0 012/Jh3rltvmyzYUAZHyNJkkUmaudq24e3fzoSEuOBvW7HehX+9YMzsIWOXC7bNJItg= X-Gm-Gg: AeBDieshb7OPKgX45LKpi1mJmRuvDSBnpY/6E2dZjEf03Oi1Rvjtx3gF0NVJ9ebcz85 FNWEXeJ6Z+/mSKsDcHeh9mqpcyb/Rd9/H1qsKvpbdAJP3nCQmuxNMfEHe4yute5Xh1d5wGjaqw8 FRhDgXTPYER5P0nz2ahCw8PGKlWGJKggm47Wwfd3I3i97pr5V61TeGzTaaabGvpHs+IyT/vpuWk LjtF2CSKdL7dqXSSxemJv7huS3A4Qtrn5ubSVvohL3i7d2G3zuyBAOCoZ933b53mqoNjqfBnwQt ccabRvgY1KHwK2dIzo267faOITuoeKxf9dKGFASJWZXbbjGfV3T/sCfRa0a6dBtYKe85ayZhU8/ A/faaoKlJNuUc0vTk+Vfiz0k73ic3nJAyAywIZilUsc83K6biB/SZgmQ5srJcz0LcM0s2zC/VI3 Qk+OhBv/KekGDHhXdDlpdWzgWxTUwXzRwb0crGvKGqAzIPInAZYAGNagcTQfGLhvFvNAQAeb8q X-Received: by 2002:a05:651c:b21:b0:38e:2445:fca2 with SMTP id 38308e7fff4ca-38e4c052e2bmr7575221fa.31.1775817670439; Fri, 10 Apr 2026 03:41:10 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:10 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 3/9] pmdomain: core: Move genpd_get_from_provider() Date: Fri, 10 Apr 2026 12:40:46 +0200 Message-ID: <20260410104058.83748-4-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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 Fri Apr 17 09:24:08 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 BFA7438E5CA for ; Fri, 10 Apr 2026 10:41:13 +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=1775817675; cv=none; b=qv6YByAPF8rRS5fEkK5HyGQXJZYLX1ypzwtWSngmrx6fZRCBXfL1mNph2qUFCWgSdiSMwN3bzxP+e7zJLT6lIY3M+HYcYbmVCGWHeD4L4u1KjCP56/W9w7E+AvTkf/67cuvp+obMADDqrM//QBbyew0dNW/x1Pqk6d68eY2Dbko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817675; c=relaxed/simple; bh=m4coB5e9g1UL1iOPVtCfrfwvQCguu+x2fNqi13dtzmA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fjUHwP1Lv719nCvthZSIRowpT/rN4A6m6dnhcQIUsNC5c2YSwbzi/+6fDhLptFuFtcQUtwLcVIVVaMCi/p4ZJeNfdsl/aZ66RDPZ4nj28hoK02ZLPOeTQvnLx0zNhKcUrhWCHqA6A0cab+MBzWsGveN1Q5IbHD5PSYXWCssR/B0= 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=wONb4HX2; 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="wONb4HX2" Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-38ce8a5bc20so19521121fa.1 for ; Fri, 10 Apr 2026 03:41:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817672; x=1776422472; 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=xaKCEd2gzVah/bMq++NzZ+nKKJRbKGoWqEto9LQKP04=; b=wONb4HX2xTbtpu6ijfVg8erlcb6TFhpCcZjfKsFbC3d+xWGYB16KCwvqi/puHrRhOP 4o9SiyCa1fCknN3sSkp7dTUo2OgsZBsKMJcqBUTQ1/AeB/0sj/gxXu5ns7q0zTcG0ciZ RmLYStgwFGV/FRCXiXXRvE7ia91rOQyFCgZzenBg4tMqKcQxPH8KkUKTnMf/EEJ+/Vsu CUqPTmoNFAdZQqWRdYgSEdJCW6OdpmSgHRrRhXaODueA8+5At6OcNkli/sRmeoMgnCaa QVF2OLbJpo+6ZVRxqnsoT1+uW4jKDdnJxXN/WVnLT7Ga92dp2dwUy+fLxWeaTBkkDATd 8zhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817672; x=1776422472; 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=xaKCEd2gzVah/bMq++NzZ+nKKJRbKGoWqEto9LQKP04=; b=Qox3vSzfVRaO/Yu1eFY2ne1Hgn6MsXbK4krw4jyFE2hjiBAt1a0xduk8w/tV6E3w9L zX2/n9iWt4gtPjQ64J68hXuev5fgLcTmkVYSzuaip06NSYuwCC1G4RgcteK+jhlCxPqo nWtklUgjx0O7FyZOOc7f7LyiDlanSdODqTZR2TPj7eUbrCG8AhoXp5Idsjy3TZsJQaE0 VcPSu6lJmSQheBO41hVpMn5JG0KMmoqkSfoy5eAgOaNj48hT2d5VugbJSwla5NqoSr/D VNlgyQs5TxJ+UWIIaLH9pT2fi0EduHKfgtbyBSzxTJVGjh5b0AvHlEAKfyrZsMg7BnVG VP/w== X-Forwarded-Encrypted: i=1; AJvYcCXkDp2ps3kt/VN1QnhwtaRhzQ4AUCxM+2Br1A3JjmhN69+vZAEkV+iB5F7ZNafGmetZkQGyMCk/aZiIP3A=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4TfRbBKrx4VWpvH28xazjCoyj85FqTZ2i75aHizimw4L2iIih YpzgpLIG9KB63FYEugAfVsumfRHnmpTOzrsawEjkmh4Tl8dRsYfDezJP4UHlRQI6X+U= X-Gm-Gg: AeBDies9IgPviopptddjcfWclykt6xhdpGdjLcU1i8thW2LBWGi891hUfKjCIO8TDbA MLJZQqsjjE5xizmxelfecSnzsv5oUgEE2qSZV7QjJqvvVmMa90aVF5xZRgmmyMID7GZ68nrPqYA yfk3lBH4WuYss0Ul3LlL636NN6N/b991m+LD5IRKRRfFsyTsdXHSvDtZhuQAl5WQBTrjzdOuk6I uo80rQ9rA0L6SOIbAsoPQI8K8kE93NqkaRJOkgyXfXx2GKMaLi57nXcuTE83Fh0f+J51lPaQRzd RJwQORfHNnX8pSaqo89+SaNK0JPL7D0ahNtVmRsE5QtHOk85s0AfyXUQ8Bm7IELG+aXyA3ayeJH jKPmregNumUClTJWOnWrbFiJ//4F2v5vthUMEvup0QValKbLRuCCKx7yNYnNAH1uflYftip78ej 9cek4xzr8XIav5Zk+SE7MV6imPjDyLC5JW2+VbRzsIe9X2zku82FYVn3N3FMu3Fnljl9KnG7jnR gT6hs7esIA= X-Received: by 2002:a05:651c:553:b0:38d:d686:e4c7 with SMTP id 38308e7fff4ca-38e4bece01fmr8081161fa.14.1775817671707; Fri, 10 Apr 2026 03:41:11 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:11 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 4/9] pmdomain: core: Add initial fine grained sync_state support Date: Fri, 10 Apr 2026 12:40:47 +0200 Message-ID: <20260410104058.83748-5-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- drivers/pmdomain/core.c | 125 ++++++++++++++++++++++++++++++++++++++ include/linux/pm_domain.h | 1 + 2 files changed, 126 insertions(+) diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c index ad57846f02a3..783d6f981708 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2699,6 +2699,120 @@ 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; + + 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 +3645,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 +3683,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 Fri Apr 17 09:24:08 2026 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 E50A138F248 for ; Fri, 10 Apr 2026 10:41:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817677; cv=none; b=jF8FCyFm6Vr0wHRjnjSw19L9RQJ1pmGnY6jzrHdP5STrgQvqmZOwvsqwpBNFEOE2/9NkYvWJWhmIa32bNEFw7DNxnxCrqTuq3O547psVSxXnGK4IWScW5vW/AsbhckBhitPVfPCA5KXsZrq2AWyRjN1m7SPszq7qnvfnzHyV9Gg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817677; c=relaxed/simple; bh=MQD/pbns3TGfw5gyIl2vVD5FE7yTWKPDZbqQkGVi5WM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oBjFRpfyFrHwxxUrDBao0eWpAkqdQ29sw0441JYTRcX44m+47tZPvSz9G8lwOSakhRzau5wG8Gm3Bdl3yjTalxP/50QzskQxxwViqOTMzuVs5Bjx/pX3M/kKLB/uW3LQICC5L+s5PZovKALiiVyYUdMxRNogqRz9HOCLGq/Pty4= 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=LHHXBrWF; arc=none smtp.client-ip=209.85.167.43 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="LHHXBrWF" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5a2c7427ad9so1764077e87.1 for ; Fri, 10 Apr 2026 03:41:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817673; x=1776422473; 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=Ncq8CIy6j/Z62nAIbhODRfhoacPZ6Dyu9QP51nZww8k=; b=LHHXBrWFHoIyNamly81Zo/BId91f5SyqxD0Z+aLe9MCQ03xTXS0M7sIeyQ6COwMzZz mqHZ+zIFXxioNPYJ8HLkaRAGpv48rTinbGq49rBCQWu1U10lp7fOt5MvUwRJsYOsqb9h 9lQHozWCVwQnDGQeeEZkk1ywA6RD4lU2NP8dbfj5FeZq13Xp3MTblGWBasp7Ye4K/PTF tLqHmRjqlyID5UcJBdzVP+B7T9IsuANHQj1toZ/oVbWzIj7GZbEZOgENIMT8JrLmRgC4 eVwsJ0My9+07DEdD/Fx0e5Jlwjt1grqGo1cLoXCsSJU14BesbkkJgGR4z5YIwrHtFIzc X1RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817673; x=1776422473; 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=Ncq8CIy6j/Z62nAIbhODRfhoacPZ6Dyu9QP51nZww8k=; b=eIBELso+Oz4TVkg7HAXFYlbMb22r7A+aqiog6swj3/noE5Rlk1UV4wL8H400m/8y9K XYm/jG6y/TKEtSDeGZhBaBpQl/brrmlIdCIYWtZwx4LDkpf52fnqsXJo8sirC+P/UbLF yAYCbDF2BV/g9d9zLaf7KV//tYox/EHGvYQjWP8TFOBA3pt3i6esllTgyhaCFIPfFlXn WiQcs1NGk7Plv8Fa1fe5eleXOQbZ9uB3JBshSdr6jK+ySrbNbvv1ONegeQaLV+6gHo7g 6fliIl0zboADDk7DP9NrppMdqplnDFJoUesJjfcVaBnPvRYAdI/thvRjlyl/w8wZV8gR K8cA== X-Forwarded-Encrypted: i=1; AJvYcCX87KhgL8LkVw2x3znbbefcnVrh2dqNUpayfA2bDS+8xYcme5MJ08JAs13CpxU7iMvWpqamOR2RzOpPb2Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1nG8hdIKVFIzjt9c9Trr5uYLiMqVXHPAqAXeq+R3VNJQjcei9 WmvPTcpvVU3m8aYVDihwor+JklnOn5QJpi0WhejZRa5cNGZXE+Q9nmIAPRSzOIFvAAw= X-Gm-Gg: AeBDiesdOYEWMTYa+vMrPz4zpIOPHu1EmUOj4lBH+S4HYVxbohoDNhkgcoX7z9bLKnf Z525LzSV2UQ+wZcKGgs9DeFjX9yUm8VdFdBBrAFIE0sJFnRTmp73BDfTMLzJNymM4D4nxza/1E3 /JSLaHivvVisZipe5yu1yn0L0ZOe0RmOi/IVcAGd3Cd0Jyz0IhrD8+uVL94eR7nfqX0H65lUsM4 q/m7v75os/HuXx2OfnyF/aXA4kmTx1+Ce7KtFphL2sRF0IKX5o/bflhfgLMB0dgykytlPkDGRw1 jqiWddVhg7Che1wnOlDE78s2/EjNSx23AFEwx5uir3RxiW8ZE7qzekNDBBQ385Oc1svo5zj/NmJ CMrSPj1w7fjdxj9XzsRtLleYbxIKYLApADUhqL6GQOm64JSTNQJXdgJFMuN/Ji8zydj9zfxFx07 7nj+xY6+WVtTlB6M40r1+he4CAFFIUwhNwZhdlvcWGNSRToCwYDwvCUnvRXGmzMlS/ARyN6S1YV YVtBQZ1Cv8= X-Received: by 2002:a05:6512:39c6:b0:5a3:cebc:65ca with SMTP id 2adb3069b0e04-5a3ef6fe0c8mr858352e87.7.1775817672992; Fri, 10 Apr 2026 03:41:12 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:12 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 5/9] pmdomain: core: Extend fine grained sync_state to more onecell providers Date: Fri, 10 Apr 2026 12:40:48 +0200 Message-ID: <20260410104058.83748-6-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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 783d6f981708..f11dc2110737 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2918,10 +2918,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 Fri Apr 17 09:24:08 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 6F7F238E124 for ; Fri, 10 Apr 2026 10:41:16 +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=1775817682; cv=none; b=jm0koh5vadZMoeTr84jPuZQNaJEAl6PqAY2zx4vaK+fRrsgiIoDG1WezUJLCy6ldJaKcAYL8LeG+aYXofKfarlWDAN0htYSDzT3/cImNEbUsWnTglum/1ot8EeCkngErXo9dAqkTOqy8sptIDuAtLRY0uDN0/pI5Zk7HkgLWUhw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817682; c=relaxed/simple; bh=IB3CeM4ZCjOqujI0alIpIPr9P7diFeoJW2cvKyVGP1s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kEp8CQCxGxRxSQm1lAwMj0R++flJfAqCKZ/FQL3xJft7qd3hiWU9cozwaL8VXR9ptKnWPU8c5MavTzicfMU5sYhaOkbQJ1IftaULz02YvbM7iYmCd1RTg2OLOBsHOwzT4VwPlgHYq6lo3QEw4UW9Y/ZGjKbKudWBD8oST1k82lc= 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=RJ7b0nve; 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="RJ7b0nve" Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-38ce8a5bc20so19521431fa.1 for ; Fri, 10 Apr 2026 03:41:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817675; x=1776422475; 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=1UhYTbrB1qQtFiMVvjgMKHcw9lJtRkAWHlKZwVPZOCw=; b=RJ7b0nvecvxopfqx1RovIMsEYAruco5fEhfCRG58ZYLfj+HnJkOj6w1hOXMHPIi3vj uq0NjXmGlnwGKqvmHzfCGl5HFHoTLQop9mJxqaiKi8qvIrotQDEwPcnxV6i227u1Dc2I 9YWGJX9evI/xQBrEnSnGFxBTSyEJ+kWndTJ7k0dgY9KfJ+c6YlA5z//KtYtjIJVW4NhY m1KcHGUwPkp1XS/k5pepwJ2N6ann4OxtEEkaoCo5ZK7CkVT7k+D7onXZnXcnOUdUggDU rtsNVgprx+FgoHTkgC3SStRS9kMMWiUDP7l9ldvPoaeMz2i4oFsWPQhPrj+NV0C1N4bX +G3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817675; x=1776422475; 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=1UhYTbrB1qQtFiMVvjgMKHcw9lJtRkAWHlKZwVPZOCw=; b=RUP7jpc9T0T0sfLI4sC9HKC4pOC+rt8B6WFO25qxtWY2QQAdww7zhTnbU92Z9q3xKG 4IEHKTWx8PZx8RO9nsUoSo46KZ9Dpl/nCnb55Kj+n0NmxEuKCbvt6dwN1w6HhIG8HOks DmmU2f3Dk851VO3IRtTKeqZyV/pMqsGcKmT6tnOEKOpLGw7htUAC4RJXJJ+jHsLwWF4Q yUbGwvPeuesPqA053bC5KYeo5fJLl/GauI011TqdrecImgg0ADeDvoCmsm25n9ZtgHH4 2TpzFuKFCVkUFFKfsMp7KVlGqomHyFyGD3miXU/o3XHnQq4x3ZEWEBO6cFhfJyBX1WB6 CUhw== X-Forwarded-Encrypted: i=1; AJvYcCW/Nth/VhfdEdmcIHafoFJFxP3s3zVbVu2xI7DjIiuYJwQ8/Q7xRwLXotQqCbOH7SIkDC30R75spWeCMFE=@vger.kernel.org X-Gm-Message-State: AOJu0YxmqX5WR2UhdHpry5PB3Q3k0qOc/wJbtmDUC4Y9TAVe8y4DICIf usdA7Vge/JKMKkxONPU4iL8uq0YtJVrYAepLsHxupztHlFOeMmXfZN+wSYHZ2iR5SmA= X-Gm-Gg: AeBDiesJpqhIyrzf5Da7tS00981+6LofxGQkEWUtoQ3FDGls9OyUJ0EMfm3XNywF8/C +E5JHlcDEGtYjc3vu53KGKc/kCo24G5zQf3+FwjTDc6dM7EbAViV6dk+7B41hWwkfaBY8K2xguX rYhnbcCrHT1VNVbkuAv9Ulu+R9yMhwoGpkuHXKHWPGAWbRnnjcxMaPjNqShnEUMuyiLdBclXB5n Xw3e9wA732jGzk9NOKu/Fihlp+cDqmJvGP+/Tv788Ums+m8XxzLAlbILriVYQcJwI9nuZaqWCH/ Jc8WZxWn89uP5JkvAQFel9C283+cHrFeweFxoEEzcrVfSREbXlOblXTwYhX5Sv5M0OpV6ZUC8to 1niRgT7+MSblwkqHlchmcVx27fnz8QzO1MtjeFASbDBEQZwOyAMGnftRQB9DJjydai4P5ylxUjY dhkBl0XABf9whRlU4/DVr/cizyW3luK++Pza/gJ5NwuJMqutGkBT86FkNfznWJuZwH1F67mlFC X-Received: by 2002:a05:651c:4390:10b0:38b:d004:3f27 with SMTP id 38308e7fff4ca-38e4bf6e48dmr6460551fa.21.1775817674483; Fri, 10 Apr 2026 03:41:14 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:14 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 6/9] pmdomain: core: Export a common function for ->queue_sync_state() Date: Fri, 10 Apr 2026 12:40:49 +0200 Message-ID: <20260410104058.83748-7-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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 f11dc2110737..49e60cb67b3e 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 @@ -2810,8 +2813,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) { @@ -2922,7 +2926,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); @@ -3654,7 +3658,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 Fri Apr 17 09:24:08 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 98A4A38D6BD for ; Fri, 10 Apr 2026 10:41:17 +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=1775817680; cv=none; b=EytNf9S6HWRCmODofilMpCh9NAKgiN91b01u46Bw7pL0OEWPvIlNQSmHXMlTfQcIV8OdiKs1HmqrLWQS2nXZvLHtKTRf/qr7PlvfFhCA0A1t4I1pInpZYEdz1r5Mt/yV7X1Y4uBXXonwvGwhFADWEyPzk6KeN/vXMs7TJA5ry5A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817680; c=relaxed/simple; bh=Ebq9XiwYmmSji4umCyK9W1YK8ARY9lnsvR/XIFGASVY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dtCnai2Io3ZmEK8YU4FXYvj1XWG3zLXTWvl8D1d8wFYF07P9sJlN6oOkb3J5WIkiWDKQ8Vfzb3NUw/PDTlxzU+pN84YRg+UZMBEdmg6OeTQ2iwqlnDUhi/8oOpd+T53uTF62KXKRdCiyKovAjgF4RxVAxx8TTwiQt17Kle/lTxU= 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=iBvJhIqG; 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="iBvJhIqG" Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-38dd5f28a4cso16588511fa.2 for ; Fri, 10 Apr 2026 03:41:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817676; x=1776422476; 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=xFGKXYCuNL9Hzt5KxsbO6n3yPcfxQC/HvpIhLFtUJ04=; b=iBvJhIqGAXrPz7oHnTshuYf7tabWcqsw2iMJn91neCrDeo+zfKMPjpCZrg5Dzue2mP zK21+nmtnAqKIa9aG21ENuW4HXntSewXav7Q9PgOgtSznBAvwU9XgkZZ99dh/xN9LFKg GcK0eLDbF1w+mOtcx3a9uW/Bx5WGwrlrXYcDgnFoGv9gRv2jR+FEHeTloTb03EnUXCUV ge6fGl+UKvuyWsO9RRuBf0RWbTTdaYKH6FVwfngECOEs/wl+eLJS1YTBuK+bYIWb2f+K uZbHiBb8FCBZhL6CqLd/haWygAxoFNeB05cve9fKcKpQxNzY06UH5deNYk0IA5/pMU0b 8SqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817676; x=1776422476; 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=xFGKXYCuNL9Hzt5KxsbO6n3yPcfxQC/HvpIhLFtUJ04=; b=CnzxJ4Q66HYTR8h1DXNwtzgiLsowsSjCsUyNaVOHqaI/3uJEo/+lKSq7Np/xmuvC2A f7/+aXQA1wffOCFflCNBiyOvRnQiHr2vIFW7PaGh+ELOq2q7Yl4vCZfbdFHi3UEPuOIx UK0H6jd5pFiGs3cLgfkYiRmMbrgI+yYQU4bFfMFwigEU48M2li1IZ+EXRAPJ2/9zg6la 4Sww2N8ELgx/dufyZwc8hnL6uR8Ho4/9ncbScOi0NTzSm+gEJoqCF+dP3p7Doelfsd6J 717iGDEcUiJypHGY/t3S9BqmEjbXz7oo9nv2jmuWC3e4eGgA1oOoQiqLdGJeUHEz4eOs 1Lyw== X-Forwarded-Encrypted: i=1; AJvYcCW+LJ1ljOgrI3HYkPv70AUMuveli0klYhxjq6NMasduu3kQUGP45izcW5biCBjHoGdPzd4JG10UdW0h4JU=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0uawhtS8b9x8WY2v+yswwNBg38y0+A+pEoH6jjgeVjtxzUd+l n6hnvXNgmApHHUhQ4D5dAZYu5pmokk8Cl7T6GtHOyh6fBYgtX6E/Dl4fIIvGa9zW34U= X-Gm-Gg: AeBDieseRn+pwdUVZ4aCqbTLW8WlZVxwN5NgNRC2gpjaj4kNGir1MjQGqcqCVAlMwm/ YweOQuMB/pwbsfrWVgsU9MHosutr0Q0NDXsBg395snz1iCplB7a2v34m23SY+71qyOcGf7UpQoS h8/ghJ53+abMPidzAbrV6nI9OoVD/Vnd18k4F17FR3hVBnJbnJsfX3BXzvrJq3UAKL+KrdJSscI VkcZ13fNqpscWzUq8gQmiYk+g0renKwXf8t62/ppZsDPdmoS+r2RL9MVG1rYOyefIX+wSJ0jC+J 7UooaMMlyLgkKtMTu4WObzZ2va9EyLbJJ6PYRNEWC6DiYbfQsgH3GjLetXl54xxsC1z4xI9XYLL uEFhOdsoTRjdKLZZMKxpSo2HTDQLc8iZHLTyJgOf+K2ervSLuuMwTQQ1bt7dgsdvozSdidEek8s GFirbu47jCalyCp6HCye0H5Cm40fH3O0uDiqGoMYtc2WSQmnwRf7vRIhQtiDpJGzhH6wIXm/4T X-Received: by 2002:a2e:a54a:0:b0:38e:2093:1993 with SMTP id 38308e7fff4ca-38e4bdcb2a8mr8185631fa.7.1775817675691; Fri, 10 Apr 2026 03:41:15 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:15 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 7/9] pmdomain: renesas: rcar-gen4-sysc: Drop GENPD_FLAG_NO_STAY_ON Date: Fri, 10 Apr 2026 12:40:50 +0200 Message-ID: <20260410104058.83748-8-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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 Fri Apr 17 09:24:08 2026 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.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 C407D38CFE4 for ; Fri, 10 Apr 2026 10:41:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817684; cv=none; b=QMjAculMniQ2dkVDi4xpvyTC6FXZQ7VxePUo37zwoneAPuM92b2ImqHsEH41bvUAnwhqr+d2hd9SZhf3XsEa+RVELVDvPk1yB85044t4FN59+mWI96HcEy0qui2CY/uijbNHpb5QMtw5Khno33PEsWwJsLykJq/hnAxWCk5UVTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817684; c=relaxed/simple; bh=9li9y33S4Rq1qZK2KHZaV3W2zJ7DJBiBLki1qODC/AI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ndiRUt6MlBYxiJcZulROHfLTM5Zb1T6lCq1ZK06m6aaUFLTtNwVll8Umxsqvy5dMcUB4F+L2Mo+RQN/Oo7V0nR7EGLLDJSjAg3Tv6AIeaoWyghRDJykwqjweKvl9ugiouspkZ9eFHQvBGiCkqoQjHm7ZznlJzVUmCd73I0/LoR8= 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=ptbSKJxN; arc=none smtp.client-ip=209.85.167.49 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="ptbSKJxN" Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-59dea72099eso1876218e87.0 for ; Fri, 10 Apr 2026 03:41:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817677; x=1776422477; 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=Q8wAkh4o7tl/zj3dU8ucWDwim4K0cFPOmp+J3PD9wxo=; b=ptbSKJxNBezQyf+JqgF9KlQ3jConYahhgxqSHW9exvxp52PK8gplX7sPF1LmtMJbxV LT3rAiziKdYB5qLVd8QCA8o/TBa9gDzbV5YhdLv+oCNVoi044ibXzsn4FgKV55gpdpUx hvR7d0a8UFqlnTi2g4wvKMcPSAKhmZHX8TNbvvuOy0N/HK63ABj2sGCDaOI8B+/hFIuX jWszQ9Efl3fjLFyN8kM7EBGQ/G3TGsRV1ksKSBGfD86B3gFR1A5wPx96MEqkIKUcIqih U53INzsoDWxpTiGUy8rfYs41QKnAjadwz4dDk/kYlSQRXypFuMzvkZCOqzyWj7iqH4J8 vTjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817677; x=1776422477; 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=Q8wAkh4o7tl/zj3dU8ucWDwim4K0cFPOmp+J3PD9wxo=; b=LeEezmJejNl9lqJlwsUz3IWnlRzQ5t/1Khl9PrlHgDNhEH0yRGZbK79PS2MYIOmtRU 2QB5/p1j9vla0/cGsmWUEOyHpF+a0qA8AgoNC6RqzGoZaAYml9E+zTj2Sfpn7fUMnpLS fXG9reVQLUCeIRMatysKH5ybwyvWGQ8Lq1yOAl5HNLpp8rhIm/GX6H0gvXxavdH9RpsK sFEJG+vhw0XS9hQVX0kR1pu8gRxyxGW68PVr3PWei605BPYAPGjrRboKYid12yoUFZeS X2BOL7ltpYe1eXChdme7seXaMekpQeDazQ6zcAmKCusjjCsD7OzjaMPv4z/Nh4blSJg9 /kqw== X-Forwarded-Encrypted: i=1; AJvYcCWcc1RncgH3bFAT5R0vuxFp1VEycNhfauIxAE6B8NdiroBAKqXBVy2IMu03qfFMa8+HlapnqWvHl675w6g=@vger.kernel.org X-Gm-Message-State: AOJu0YwS4WhuOeNAZDvJGaH6fQjJhsHu6YozeZ7hIGOGGVSP+rR4yPzt m23tZAnGMU7XGDsA108UgVcZzTKZSmITUgKmwJFcpDkQmGtud1ryOgKbiEEPpjw9Ak4= X-Gm-Gg: AeBDieuHtfaFq/y7kLwP6Lkk/hRAt+aEP1uvkcxiHrTnOSIsW0/9feZmogR0wUcSI+J 6iSlJ6TCdl19hsdK9TUpXvq9U8oDCkTeXcmmmLQKuLbRICKIMCuKJB4Hvo4KcdnYqfrrHo9WCep b1AfJRNlOCCKfAnPcN9jca1dOyC0lnuD9EeuTF2JKWgMSjZj0JbK8VScnIkBaSs5rtWxUeyKkTQ uiyKeBFcp2g8pgg73eYDWfIJPAH47obl1JfKxyCdR+0zXQoCTg1vD1W2aSJfv2MrviuwhGS9LL/ u89n/jHVDCaQGaIHopO+ay1nnA62KnRe4u7Hh62rsl5UNRVD/qV2JQNXQ7phY2J6hvJoDDqr0SO TK8DThn4vR6+ZVJOIAIK14DXor8ISi+By2GPuE5P7oO7iyTOwh73PJ2FYDHerAZBadq0g9HjlZR s1BV2D3/BBD0aj6WwI4TuvNnPW75YkYkjeNTh2LzVT8hg+DsQKd3WnZnV5VsjKpPyQ/fa1XF6o X-Received: by 2002:a05:6512:12cf:b0:5a3:ef60:f2a2 with SMTP id 2adb3069b0e04-5a3efb5a8a3mr827213e87.43.1775817676897; Fri, 10 Apr 2026 03:41:16 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:16 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 8/9] pmdomain: renesas: rcar-sysc: Drop GENPD_FLAG_NO_STAY_ON Date: Fri, 10 Apr 2026 12:40:51 +0200 Message-ID: <20260410104058.83748-9-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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. Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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 Fri Apr 17 09:24:08 2026 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (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 2657E38C2B1 for ; Fri, 10 Apr 2026 10:41:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817683; cv=none; b=UOhAYKLJGTOkdpaMa+X/8uswoJ4LG2akCGhzInKQp1vaT1UBoeCzuGzkcZ13NY86ZKOe/fEd53kW12KT6VcYt1g8mu4qduUPbMA1SdlwO676WEw0QME1jMFiDI+/f0U9CT93jqw6MPC2PUDB1ZrvebGvbsREDjHALQ1DGV3sXl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817683; c=relaxed/simple; bh=UwOOlbvCxCnfIIic4VdFsNNaiKn11+ew7MglT8mT9rY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GRl0RTEhZKata7/aNDZI+8EvG0hkC41SuGvxj+07FdfSpsS+xPISoHgqyzEuwF4boBur9O1IdjcNLFp2aVW8hSZoUxzcTBrbV/qxMvsfOTYbwnkpyhPkdRysDM25NC0JMgTYD5FWrxvhup3XyJwbxMeL1praWXGOUGIcK74BHbQ= 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=IvyzKrt/; arc=none smtp.client-ip=209.85.208.179 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="IvyzKrt/" Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-38def541b0bso16457711fa.1 for ; Fri, 10 Apr 2026 03:41:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1775817678; x=1776422478; 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=BIFBMvwRZVJlZTyPyEFR27wpVQvdUbmru6DwxmPBoMI=; b=IvyzKrt/K2QmmUNpBSyzgQ52xM0sALxBMsykztJ+zudgPJ1hq4FLeFLX6avZQps2u0 jZYGcpiG8aNG+yO39MReTOEKd6oT1aV4k70lm/Hnw1mfd6uzeDlZUEuX3BFluMvOyw+P s1XNKzNhoGLwdyNx6voeG+p7OuHPF46DGl3bdtSQSU4ft3kQkfO9E0U/aBtZ5kocEEWG +eL3E3qvu6E52uBVCCd69PX1z+VML03mNLhUTZTPIxiSBL3joqMhGRHDmfL/hGn6dkJQ rVRVsH2g1utdMqcEb4seIfVIu9U46fEj7Vym4UbbWGDl98OFUPrCxzL24TEmZxeaRwvE uxwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817678; x=1776422478; 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=BIFBMvwRZVJlZTyPyEFR27wpVQvdUbmru6DwxmPBoMI=; b=nlEZujsk1arxjrh1bsgIFbzsOOSMi/VKOVm4hooKBhi23kTjFQ6k7McXmZ5Zfc1F9h oA5f8bPOeqKDW5ozJGksj4g3K5VGJkSvkEr/g1d7Whne/K9Zd1WptS6FS40gnT3DPUE0 wgl1sVIlOLmvZRB37Dy74TsLh8J6nkM3iK68X5nHRcmKbaR79crKjzCM1K396hmvaiJ6 6qmImuhkgHu39xcOorqJ5ah7nI2eXXnP0sRHkdtTc/632fIJXlECICI7UE0vt0ZFbR7v VjR4mAUmO8A0D+8bBw2TADH9hoEHtqhUTi/sBwDeDgHW6f3x2G7XPtGvtq6Go1kjsodP 6Ogw== X-Forwarded-Encrypted: i=1; AJvYcCXIvHWOeQCHUquCpiY8jYS4e6pTtHOyQVyeYzLOsg4gwCyZFSzaDc4JBYK/QV/K8djpSpSzFkKFK+e+ejs=@vger.kernel.org X-Gm-Message-State: AOJu0Ywc9v/aVsWNVUbYhf4/iCUhLWCwBLj/lzZvthzdxVxRXHXbsmGS EkyKRbYdLIQSh4DkYJm6hmpsFJq3buiOaobFkePIzxiW56cppOCrk8CbU1eFqn5qe5M= X-Gm-Gg: AeBDieu4KvC7vbfUm2tWSHupE/2BUM8nRQRfAb1/MTAegZ03ETPxFQVb7yGpKO32wPp C/bkNCJfzTtOY2LcmFtH66ayavDXTR2NMr7EJvaiRNbeLd2wAg3L52KBVQIpONgnbFW4hDJdH72 OSxk33wBzNggromwkSPgtTXSZVm2pRTy8wv9dh7cIYio6fRKZl1WqyDMME/naJMehpk4FGUOGKW 5YuC2KE/LDjIFcvI16RTtD/uKqOZliUaLMxP7CLeD+tbHV1sqVDh7aUolDB9shv9fkrowUZZdhV qEckkcdugEeEs/4exmDFxMG2ShcxE4rXa3kOIFKva/YqVP5Y2Aeb7v/lWD2x8wtGXeuo1+3P+K3 STkd+CAkJPhUH7W2XenVgu6ZfH8dC2eAH9lkCg6+amwIaa44ZGaDSsQ30LyiAEVRm/9d8YXkyCj ID/NFJ6fZUKaoTz1jTRXQEdveGaMawhjsrOc/wLzvQVv8kS/89zblGy4CNnE2Fjg7snhiJGehMV 246JhDO3Fw= X-Received: by 2002:a2e:bc10:0:b0:38a:44d4:4901 with SMTP id 38308e7fff4ca-38e4bee9c30mr8863961fa.17.1775817678163; Fri, 10 Apr 2026 03:41:18 -0700 (PDT) Received: from uffe-tuxpro14.. (h-178-174-189-39.A498.priv.bahnhof.se. [178.174.189.39]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495455acsm5588331fa.23.2026.04.10.03.41.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:41:17 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , "Rafael J . Wysocki" , Greg Kroah-Hartman , linux-pm@vger.kernel.org Cc: Sudeep Holla , Cristian Marussi , 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, Geert Uytterhoeven Subject: [PATCH v2 9/9] pmdomain: renesas: rmobile-sysc: Drop GENPD_FLAG_NO_STAY_ON Date: Fri, 10 Apr 2026 12:40:52 +0200 Message-ID: <20260410104058.83748-10-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260410104058.83748-1-ulf.hansson@linaro.org> References: <20260410104058.83748-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" Rmobile-sysc is not a onecell provider and didn't really needed the GENPD_FLAG_NO_STAY_ON flag in the first place. Let's drop it. Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven Signed-off-by: Ulf Hansson --- 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