From: Jisheng Zhang <jszhang@kernel.org>
To: "Mark Brown" <broonie@kernel.org>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Radu Pirea" <radu_nicolae.pirea@upb.ro>,
"Vladimir Moravcevic" <vmoravcevic@axiado.com>,
"Tzu-Hao Wei" <twei@axiado.com>, "Swark Yang" <syang@axiado.com>,
"Prasad Bolisetty" <pbolisetty@axiado.com>,
"Kamal Dasu" <kamal.dasu@broadcom.com>,
"William Zhang" <william.zhang@broadcom.com>,
"Kursad Oney" <kursad.oney@broadcom.com>,
"Jonas Gorski" <jonas.gorski@gmail.com>,
"Anand Gore" <anand.gore@broadcom.com>,
"Florian Fainelli" <florian.fainelli@broadcom.com>,
"Rafał Miłecki" <rafal@milecki.pl>,
"Vladimir Oltean" <olteanv@gmail.com>,
"Frank Li" <Frank.Li@nxp.com>, "Ray Jui" <rjui@broadcom.com>,
"Scott Branden" <sbranden@broadcom.com>,
"Yinbo Zhu" <zhuyinbo@loongson.cn>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Linus Walleij" <linusw@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Andi Shyti" <andi.shyti@kernel.org>,
"Tudor Ambarus" <tudor.ambarus@linaro.org>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Orson Zhai" <orsonzhai@gmail.com>,
"Baolin Wang" <baolin.wang@linux.alibaba.com>,
"Chunyan Zhang" <zhang.lyra@gmail.com>,
"Li-hao Kuo" <lhjeff911@gmail.com>,
"Masahisa Kojima" <kojima.masahisa@socionext.com>,
"Jassi Brar" <jassisinghbrar@gmail.com>,
"Laxman Dewangan" <ldewangan@nvidia.com>,
"Thierry Reding" <thierry.reding@kernel.org>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Sowjanya Komatineni" <skomatineni@nvidia.com>,
"Michal Simek" <michal.simek@amd.com>
Cc: bcm-kernel-feedback-list@broadcom.com, linux-spi@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 38/39] spi: topcliff-pch: use modern PM macros
Date: Mon, 3 Aug 2026 22:20:02 +0800 [thread overview]
Message-ID: <20260803142003.12857-39-jszhang@kernel.org> (raw)
In-Reply-To: <20260803142003.12857-1-jszhang@kernel.org>
Use the modern PM macros for the suspend and resume functions to be
automatically dropped by the compiler when CONFIG_PM or
CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards.
This has the advantage of always compiling these functions in,
independently of any Kconfig option. Thanks to that, bugs and other
regressions are subsequently easier to catch.
At the same time, for pch_spi_pd_driver, we also switch to modern
driver.pm for pm ops.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
drivers/spi/spi-topcliff-pch.c | 47 +++++++++++++++-------------------
1 file changed, 20 insertions(+), 27 deletions(-)
diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c
index c5409ca7faef..98723042c16f 100644
--- a/drivers/spi/spi-topcliff-pch.c
+++ b/drivers/spi/spi-topcliff-pch.c
@@ -1438,19 +1438,17 @@ static void pch_spi_pd_remove(struct platform_device *plat_dev)
spi_controller_put(data->host);
}
-#ifdef CONFIG_PM
-static int pch_spi_pd_suspend(struct platform_device *pd_dev,
- pm_message_t state)
+
+static int pch_spi_pd_suspend(struct device *dev)
{
u8 count;
- struct pch_spi_board_data *board_dat = dev_get_platdata(&pd_dev->dev);
- struct pch_spi_data *data = platform_get_drvdata(pd_dev);
+ struct pch_spi_board_data *board_dat = dev_get_platdata(dev);
+ struct pch_spi_data *data = dev_get_drvdata(dev);
- dev_dbg(&pd_dev->dev, "%s ENTRY\n", __func__);
+ dev_dbg(dev, "%s ENTRY\n", __func__);
if (!board_dat) {
- dev_err(&pd_dev->dev,
- "%s pci_get_drvdata returned NULL\n", __func__);
+ dev_err(dev, "%s pci_get_drvdata returned NULL\n", __func__);
return -EFAULT;
}
@@ -1471,22 +1469,20 @@ static int pch_spi_pd_suspend(struct platform_device *pd_dev,
free_irq(board_dat->pdev->irq, data);
data->irq_reg_sts = false;
- dev_dbg(&pd_dev->dev,
- "%s free_irq invoked successfully.\n", __func__);
+ dev_dbg(dev, "%s free_irq invoked successfully.\n", __func__);
}
return 0;
}
-static int pch_spi_pd_resume(struct platform_device *pd_dev)
+static int pch_spi_pd_resume(struct device *dev)
{
- struct pch_spi_board_data *board_dat = dev_get_platdata(&pd_dev->dev);
- struct pch_spi_data *data = platform_get_drvdata(pd_dev);
+ struct pch_spi_board_data *board_dat = dev_get_platdata(dev);
+ struct pch_spi_data *data = dev_get_drvdata(dev);
int retval;
if (!board_dat) {
- dev_err(&pd_dev->dev,
- "%s pci_get_drvdata returned NULL\n", __func__);
+ dev_err(dev, "%s pci_get_drvdata returned NULL\n", __func__);
return -EFAULT;
}
@@ -1495,8 +1491,7 @@ static int pch_spi_pd_resume(struct platform_device *pd_dev)
retval = request_irq(board_dat->pdev->irq, pch_spi_handler,
IRQF_SHARED, KBUILD_MODNAME, data);
if (retval < 0) {
- dev_err(&pd_dev->dev,
- "%s request_irq failed\n", __func__);
+ dev_err(dev, "%s request_irq failed\n", __func__);
return retval;
}
@@ -1507,19 +1502,17 @@ static int pch_spi_pd_resume(struct platform_device *pd_dev)
}
return 0;
}
-#else
-#define pch_spi_pd_suspend NULL
-#define pch_spi_pd_resume NULL
-#endif
+
+static DEFINE_SIMPLE_DEV_PM_OPS(pch_spi_pd_pm_ops,
+ pch_spi_pd_suspend, pch_spi_pd_resume);
static struct platform_driver pch_spi_pd_driver = {
.driver = {
.name = "pch-spi",
+ .pm = pm_sleep_ptr(&pch_spi_pd_pm_ops),
},
.probe = pch_spi_pd_probe,
.remove = pch_spi_pd_remove,
- .suspend = pch_spi_pd_suspend,
- .resume = pch_spi_pd_resume
};
static int pch_spi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
@@ -1618,7 +1611,7 @@ static void pch_spi_remove(struct pci_dev *pdev)
kfree(pd_dev_save);
}
-static int __maybe_unused pch_spi_suspend(struct device *dev)
+static int pch_spi_suspend(struct device *dev)
{
struct pch_pd_dev_save *pd_dev_save = dev_get_drvdata(dev);
@@ -1629,7 +1622,7 @@ static int __maybe_unused pch_spi_suspend(struct device *dev)
return 0;
}
-static int __maybe_unused pch_spi_resume(struct device *dev)
+static int pch_spi_resume(struct device *dev)
{
struct pch_pd_dev_save *pd_dev_save = dev_get_drvdata(dev);
@@ -1641,14 +1634,14 @@ static int __maybe_unused pch_spi_resume(struct device *dev)
return 0;
}
-static SIMPLE_DEV_PM_OPS(pch_spi_pm_ops, pch_spi_suspend, pch_spi_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(pch_spi_pm_ops, pch_spi_suspend, pch_spi_resume);
static struct pci_driver pch_spi_pcidev_driver = {
.name = "pch_spi",
.id_table = pch_spi_pcidev_id,
.probe = pch_spi_probe,
.remove = pch_spi_remove,
- .driver.pm = &pch_spi_pm_ops,
+ .driver.pm = pm_sleep_ptr(&pch_spi_pm_ops),
};
static int __init pch_spi_init(void)
--
2.53.0
next prev parent reply other threads:[~2026-08-03 14:47 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-03 14:19 [PATCH 00/39] spi: use modern PM macros Jisheng Zhang
2026-08-03 14:19 ` [PATCH 01/39] spi: atmel-quadspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 02/39] spi: amlogic-spifc-a1: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 03/39] spi: at91-usart: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 04/39] spi: axiado: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 05/39] spi: bcm-qspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 06/39] spi: bcm63xx-hsspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 07/39] spi: bcmbca-hsspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 08/39] spi: cadence: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 09/39] spi: coldfire-qspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 10/39] spi: dln2: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 11/39] spi: dw-pci: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 12/39] spi: spi-fsl-dspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 13/39] spi: fsl-espi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 14/39] spi: fsl-lpspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 15/39] spi: qcom-geni: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 16/39] spi: img-spfi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 17/39] spi: loongson: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 18/39] spi: meson-spifc: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 19/39] spi: mt65xx: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 20/39] spi: mtk-nor: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 21/39] spi: mxic: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 22/39] spi: omap2-mcspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 23/39] spi: orion: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 24/39] spi: pl022: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 25/39] spi: spi-qcom-qspi: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 26/39] spi: qup: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 27/39] spi: rockchip-sfc: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 28/39] spi: rockchip: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 29/39] spi: s3c64xx: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 30/39] spi: slave-mt27xx: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 31/39] spi: sprd: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 32/39] spi: sunplus-sp7021: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 33/39] spi: syncuacer: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 34/39] spi: tegra114: " Jisheng Zhang
2026-08-03 14:19 ` [PATCH 35/39] spi: tegra20-sflash: " Jisheng Zhang
2026-08-03 14:20 ` [PATCH 36/39] spi: tegra20-slink: " Jisheng Zhang
2026-08-03 14:20 ` [PATCH 37/39] spi: tegra210-quad: " Jisheng Zhang
2026-08-03 14:20 ` Jisheng Zhang [this message]
2026-08-03 14:20 ` [PATCH 39/39] spi: zynqmp-gqspi: " Jisheng Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260803142003.12857-39-jszhang@kernel.org \
--to=jszhang@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alim.akhtar@samsung.com \
--cc=anand.gore@broadcom.com \
--cc=andi.shyti@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=broonie@kernel.org \
--cc=claudiu.beznea@tuxon.dev \
--cc=florian.fainelli@broadcom.com \
--cc=heiko@sntech.de \
--cc=jassisinghbrar@gmail.com \
--cc=jbrunet@baylibre.com \
--cc=jonas.gorski@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=kamal.dasu@broadcom.com \
--cc=khilman@baylibre.com \
--cc=kojima.masahisa@socionext.com \
--cc=krzk@kernel.org \
--cc=kursad.oney@broadcom.com \
--cc=ldewangan@nvidia.com \
--cc=lhjeff911@gmail.com \
--cc=linusw@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=matthias.bgg@gmail.com \
--cc=michal.simek@amd.com \
--cc=neil.armstrong@linaro.org \
--cc=nicolas.ferre@microchip.com \
--cc=olteanv@gmail.com \
--cc=orsonzhai@gmail.com \
--cc=pbolisetty@axiado.com \
--cc=radu_nicolae.pirea@upb.ro \
--cc=rafal@milecki.pl \
--cc=rjui@broadcom.com \
--cc=sbranden@broadcom.com \
--cc=skomatineni@nvidia.com \
--cc=syang@axiado.com \
--cc=thierry.reding@kernel.org \
--cc=tudor.ambarus@linaro.org \
--cc=twei@axiado.com \
--cc=vmoravcevic@axiado.com \
--cc=william.zhang@broadcom.com \
--cc=zhang.lyra@gmail.com \
--cc=zhuyinbo@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox