From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.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 9FE19349CE8 for ; Sat, 22 Aug 2026 07:47:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787384873; cv=none; b=LvVc7Pd1T+vB56Od5C0b2HeGPan8fSUU2BcLU+R7e/HR85xsjW7rjXdeD3PCniFX0PrXcrJShB01jg/iiKtkgO8T+kM39z4G0Zw8E1jKXZKq5p/odJX7vTncLVHW1nqCHJqmLUnoWp0YMK7l5syKXFP727vF8tADQM86PV6fVsQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787384873; c=relaxed/simple; bh=RP6GVWvaxPIJVaaSKZkxtQFEcOy88IrS8GIzqXHMG04=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Ut8KVJJjjMdldWGVxsRFTFPFmO1tLWT6VPnFZimUH9NrwFzBRD6sh1hKsyPexTzz8yOBZwaBOUjY72ld8l+HWGm+/ggicpV5HQqblOJfYhe26K1zbdcvV7IAFqEdZmn3Z8PzxVX/Vl2p88UQKMvGtTJ1e+7lT9RMAHSGXxHGwdU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=B/0hLPBe; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="B/0hLPBe" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-cc11a905ba5so1314323a12.2 for ; Sat, 22 Aug 2026 00:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787384871; x=1787989671; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=NiALqZOnRMSeRuHym28ZXhm8elis69XtxfrRz6r8iys=; b=B/0hLPBecePV5sT21W378EbMMl3Lu2T7JS9zggNshGjMgiXvrmV5XtDPIk3tGoboDt yH0hi2hafynC1rCAHquEMgnN8fTGc7Y72IsE5ICCUNrcMTJHBmtDaW8SvzDazcbPu3qR FgwBWLeNwVDXqB5P/xcOZQM9ValBdKVr7+zZ5SfJLxsfN2gg9ipCOAYj3Woq2DLigCX1 WHkUcIs/dpv+D6/Z8791ppe/ueZswqV1UukA72xtj1sllfw2R88XqJ5mm89TG6da2MAr svzSpHHbEKe0XglsaWsm8O7EBZxTmlS0BFOquGiRkuGFK/vY2DnVBwn88G4jDw0C3DV4 OoeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787384871; x=1787989671; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NiALqZOnRMSeRuHym28ZXhm8elis69XtxfrRz6r8iys=; b=nPNfe7JOLPSc+QQXTqu41zVM218QuuwDBMAqe1Cs6vEEn/iK3xBmIsHCdfHdc3/rDS LxLGB9L07OiKGIN/BR8WoHyiC24EkCxHgR/lWUtqB/0JO1BG8CKp2P/k/ZXxzsGFi6M9 jkyUyD2wAI8vikqHzR1FHoDn2n5X39JnX/fszsiAUo4wwd9eR4MlVeGqRCokc2aeDnjl x+yVgOyCLkpFIW4nTHWHxP5JLff3lj93b4LG3fnf406WebYmF9EJ22pbZXY1b1GuuE4P 7Jp7bQK5VWllByuTr1FXeu7YANf4I9hH2ba6UYw+Uh1YL7rT0oyzFQvYsG3JM00byEZ/ Pj9g== X-Forwarded-Encrypted: i=1; AHgh+RqVX2NIFYNeDLQ9H7U42aGLVDx9jBR4HPmo/e/OG8mgWBptTphxe5XrRBWa4W485NhyXkBl2BkdtyelUIM=@vger.kernel.org X-Gm-Message-State: AFuF++lbZ2wT9uAEUTesJj1xH+dHhPcfLPs+oxB2cj4ajoB1aRiYqaCR m6n5Sk22MzUE2ruR++EFs6anGTqnh7k0SYdAxRlXRTXW7U+nwciDJcVQECEVtgNKMg== X-Gm-Gg: AR+sD13vJwcuxX5N3HJlvd2e6tZR3DLpFK/BUMztlTRQVq9nQ4fxN5WD+wxWiCI6NE9 yqhtMNdR5Vi6chkYIAS74r2hGw/0eVv+ERde8BG9T4qYBgVrdX/L5OyZXrb4tH1dtXhzWSkgPr/ yCQvOYKl6VjZkW5UaHWbkSQp3u52Cemq5K2M6LkqeBg4Jq0KrfKDlq9pNDibNcgNkpM++RKMuw3 xcMR5sk1zw+B2vvbgZIEzGlZxD363z/uMr3+J46g6hvahe+0pYfOmEUUKpvmRtA8sfPJ4vwe0eu fIcNl+YnoUHN96qASxrIVmuuoRtwIVBNmTiwyCytBjIxlt+wNAexyZixzeNEnm+h6b9qAJu608f eY6QCDL5ezePp7W5Qj8nYklG9WTynLTa4hvXgPxeXO7qnB7YQlCy5yNkJUNDgFUfPWYFEkHD3e/ xIbA6rX1bkGMqvh/53zL6MlHEBtPY35/S9FSy9HthAqWNMxW8uPhU+IDaGnVpYbm2l0fJNzPRjx m/C9/OoWy5iZCoKH4vrnsK2wOu+P7/Hij2EGYomJBC4rAj310pBxEuc4W6tnbWYQyxKtHwjn6nU Dh8= X-Received: by 2002:a05:6a20:394a:b0:3b3:d0f:7883 with SMTP id adf61e73a8af0-3cd2fea4c45mr19321557637.7.1787384871064; Sat, 22 Aug 2026 00:47:51 -0700 (PDT) Received: from codespaces-2db70c.ktkhmpmw22vebpok31ngjx2qsb.ix.internal.cloudapp.net ([23.97.62.119]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc1593060e8sm3616213a12.32.2026.08.22.00.47.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Aug 2026 00:47:50 -0700 (PDT) From: Triet Hoang To: mkl@pengutronix.de Cc: mailhol@kernel.org, linux-can@vger.kernel.org, linux-kernel@vger.kernel.org, Triet Hoang Subject: [PATCH] net: can: Convert to DEFINE_SIMPLE_DEV_PM_OPS() Date: Sat, 22 Aug 2026 07:47:01 +0000 Message-ID: <20260822074701.22856-1-triet.hoang.dev@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Convert the deprecated SIMPLE_DEV_PM_OPS to DEFINE_SIMPLE_DEV_PM_OPS and pm_sleep_ptr(). This lets us drop the __maybe_unused annotations from the suspend and resume callbacks, also reduces kernel size in case CONFIG_PM or CONFIG_PM_SLEEP is disabled. Signed-off-by: Triet Hoang --- drivers/net/can/bxcan.c | 8 ++++---- drivers/net/can/ctucanfd/ctucanfd.h | 4 ++-- drivers/net/can/ctucanfd/ctucanfd_pci.c | 4 ++-- drivers/net/can/ctucanfd/ctucanfd_platform.c | 4 ++-- drivers/net/can/m_can/m_can_pci.c | 8 ++++---- drivers/net/can/spi/hi311x.c | 8 ++++---- drivers/net/can/spi/mcp251x.c | 8 ++++---- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/net/can/bxcan.c b/drivers/net/can/bxcan.c index baf494d20bef..b2a0ff8c033c 100644 --- a/drivers/net/can/bxcan.c +++ b/drivers/net/can/bxcan.c @@ -1042,7 +1042,7 @@ static void bxcan_remove(struct platform_device *pdev) free_candev(ndev); } -static int __maybe_unused bxcan_suspend(struct device *dev) +static int bxcan_suspend(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); struct bxcan_priv *priv = netdev_priv(ndev); @@ -1059,7 +1059,7 @@ static int __maybe_unused bxcan_suspend(struct device *dev) return 0; } -static int __maybe_unused bxcan_resume(struct device *dev) +static int bxcan_resume(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); struct bxcan_priv *priv = netdev_priv(ndev); @@ -1076,7 +1076,7 @@ static int __maybe_unused bxcan_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(bxcan_pm_ops, bxcan_suspend, bxcan_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(bxcan_pm_ops, bxcan_suspend, bxcan_resume); static const struct of_device_id bxcan_of_match[] = { {.compatible = "st,stm32f4-bxcan"}, @@ -1087,7 +1087,7 @@ MODULE_DEVICE_TABLE(of, bxcan_of_match); static struct platform_driver bxcan_driver = { .driver = { .name = KBUILD_MODNAME, - .pm = &bxcan_pm_ops, + .pm = pm_sleep_ptr(&bxcan_pm_ops), .of_match_table = bxcan_of_match, }, .probe = bxcan_probe, diff --git a/drivers/net/can/ctucanfd/ctucanfd.h b/drivers/net/can/ctucanfd/ctucanfd.h index 0e9904f6a05d..7dcd7dc507e4 100644 --- a/drivers/net/can/ctucanfd/ctucanfd.h +++ b/drivers/net/can/ctucanfd/ctucanfd.h @@ -76,7 +76,7 @@ int ctucan_probe_common(struct device *dev, void __iomem *addr, void (*set_drvdata_fnc)(struct device *dev, struct net_device *ndev)); -int ctucan_suspend(struct device *dev) __maybe_unused; -int ctucan_resume(struct device *dev) __maybe_unused; +int ctucan_suspend(struct device *dev); +int ctucan_resume(struct device *dev); #endif /*__CTUCANFD__*/ diff --git a/drivers/net/can/ctucanfd/ctucanfd_pci.c b/drivers/net/can/ctucanfd/ctucanfd_pci.c index 4b6db28f7b67..9c9c41c3058c 100644 --- a/drivers/net/can/ctucanfd/ctucanfd_pci.c +++ b/drivers/net/can/ctucanfd/ctucanfd_pci.c @@ -259,7 +259,7 @@ static void ctucan_pci_remove(struct pci_dev *pdev) kfree(bdata); } -static SIMPLE_DEV_PM_OPS(ctucan_pci_pm_ops, ctucan_suspend, ctucan_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(ctucan_pci_pm_ops, ctucan_suspend, ctucan_resume); static const struct pci_device_id ctucan_pci_tbl[] = { {PCI_DEVICE_DATA(TEDIA, CTUCAN_VER21, @@ -273,7 +273,7 @@ static struct pci_driver ctucan_pci_driver = { .id_table = ctucan_pci_tbl, .probe = ctucan_pci_probe, .remove = ctucan_pci_remove, - .driver.pm = &ctucan_pci_pm_ops, + .driver.pm = pm_sleep_ptr(&ctucan_pci_pm_ops), }; module_pci_driver(ctucan_pci_driver); diff --git a/drivers/net/can/ctucanfd/ctucanfd_platform.c b/drivers/net/can/ctucanfd/ctucanfd_platform.c index 70e2577c8541..4962b00ee8ac 100644 --- a/drivers/net/can/ctucanfd/ctucanfd_platform.c +++ b/drivers/net/can/ctucanfd/ctucanfd_platform.c @@ -99,7 +99,7 @@ static void ctucan_platform_remove(struct platform_device *pdev) free_candev(ndev); } -static SIMPLE_DEV_PM_OPS(ctucan_platform_pm_ops, ctucan_suspend, ctucan_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(ctucan_platform_pm_ops, ctucan_suspend, ctucan_resume); /* Match table for OF platform binding */ static const struct of_device_id ctucan_of_match[] = { @@ -114,7 +114,7 @@ static struct platform_driver ctucanfd_driver = { .remove = ctucan_platform_remove, .driver = { .name = DRV_NAME, - .pm = &ctucan_platform_pm_ops, + .pm = pm_sleep_ptr(&ctucan_platform_pm_ops), .of_match_table = ctucan_of_match, }, }; diff --git a/drivers/net/can/m_can/m_can_pci.c b/drivers/net/can/m_can/m_can_pci.c index d11a7c88fc32..d31179312026 100644 --- a/drivers/net/can/m_can/m_can_pci.c +++ b/drivers/net/can/m_can/m_can_pci.c @@ -169,17 +169,17 @@ static void m_can_pci_remove(struct pci_dev *pci) pci_free_irq_vectors(pci); } -static __maybe_unused int m_can_pci_suspend(struct device *dev) +static int m_can_pci_suspend(struct device *dev) { return m_can_class_suspend(dev); } -static __maybe_unused int m_can_pci_resume(struct device *dev) +static int m_can_pci_resume(struct device *dev) { return m_can_class_resume(dev); } -static SIMPLE_DEV_PM_OPS(m_can_pci_pm_ops, +static DEFINE_SIMPLE_DEV_PM_OPS(m_can_pci_pm_ops, m_can_pci_suspend, m_can_pci_resume); static const struct pci_device_id m_can_pci_id_table[] = { @@ -195,7 +195,7 @@ static struct pci_driver m_can_pci_driver = { .remove = m_can_pci_remove, .id_table = m_can_pci_id_table, .driver = { - .pm = &m_can_pci_pm_ops, + .pm = pm_sleep_ptr(&m_can_pci_pm_ops), }, }; diff --git a/drivers/net/can/spi/hi311x.c b/drivers/net/can/spi/hi311x.c index ae90e6716de5..076a3efa1bff 100644 --- a/drivers/net/can/spi/hi311x.c +++ b/drivers/net/can/spi/hi311x.c @@ -972,7 +972,7 @@ static void hi3110_can_remove(struct spi_device *spi) free_candev(net); } -static int __maybe_unused hi3110_can_suspend(struct device *dev) +static int hi3110_can_suspend(struct device *dev) { struct spi_device *spi = to_spi_device(dev); struct hi3110_priv *priv = spi_get_drvdata(spi); @@ -1002,7 +1002,7 @@ static int __maybe_unused hi3110_can_suspend(struct device *dev) return 0; } -static int __maybe_unused hi3110_can_resume(struct device *dev) +static int hi3110_can_resume(struct device *dev) { struct spi_device *spi = to_spi_device(dev); struct hi3110_priv *priv = spi_get_drvdata(spi); @@ -1022,13 +1022,13 @@ static int __maybe_unused hi3110_can_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(hi3110_can_pm_ops, hi3110_can_suspend, hi3110_can_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(hi3110_can_pm_ops, hi3110_can_suspend, hi3110_can_resume); static struct spi_driver hi3110_can_driver = { .driver = { .name = DEVICE_NAME, .of_match_table = hi3110_of_match, - .pm = &hi3110_can_pm_ops, + .pm = pm_sleep_ptr(&hi3110_can_pm_ops), }, .id_table = hi3110_id_table, .probe = hi3110_can_probe, diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c index 0d0190ae094a..d971890487b6 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c @@ -1490,7 +1490,7 @@ static void mcp251x_can_remove(struct spi_device *spi) free_candev(net); } -static int __maybe_unused mcp251x_can_suspend(struct device *dev) +static int mcp251x_can_suspend(struct device *dev) { struct spi_device *spi = to_spi_device(dev); struct mcp251x_priv *priv = spi_get_drvdata(spi); @@ -1517,7 +1517,7 @@ static int __maybe_unused mcp251x_can_suspend(struct device *dev) return 0; } -static int __maybe_unused mcp251x_can_resume(struct device *dev) +static int mcp251x_can_resume(struct device *dev) { struct spi_device *spi = to_spi_device(dev); struct mcp251x_priv *priv = spi_get_drvdata(spi); @@ -1551,14 +1551,14 @@ static int __maybe_unused mcp251x_can_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(mcp251x_can_pm_ops, mcp251x_can_suspend, +static DEFINE_SIMPLE_DEV_PM_OPS(mcp251x_can_pm_ops, mcp251x_can_suspend, mcp251x_can_resume); static struct spi_driver mcp251x_can_driver = { .driver = { .name = DEVICE_NAME, .of_match_table = mcp251x_of_match, - .pm = &mcp251x_can_pm_ops, + .pm = pm_sleep_ptr(&mcp251x_can_pm_ops), }, .id_table = mcp251x_id_table, .probe = mcp251x_can_probe, -- 2.53.0