lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPDyKFrJxP03V-ow1yGbuUDUqK_tv16NUt7TCtYLfViz2RZ-cw@mail.gmail.com>
Date: Wed, 4 Feb 2026 15:03:41 +0100
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Arnd Bergmann <arnd@...nel.org>, Shawn Lin <shawn.lin@...k-chips.com>
Cc: Jaehoon Chung <jh80.chung@...sung.com>, Arnd Bergmann <arnd@...db.de>, linux-mmc@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mmc: dw_mmc: move pmops into core driver

On Wed, 4 Feb 2026 at 14:00, Arnd Bergmann <arnd@...nel.org> wrote:
>
> From: Arnd Bergmann <arnd@...db.de>
>
> Since the platform power management structure is now shared with the PCI
> front-end, there is a link failure if only the PCI variant is enabled:
>
> arm-linux-gnueabi/bin/arm-linux-gnueabi-ld: drivers/mmc/host/dw_mmc-pci.o:(.data+0x74): undefined reference to `dw_mci_pltfm_pmops'
>
> This could be fixed by selecting the platform driver from the PCI one
> in Kconfig, or by reverting the change to the PCI driver, but since this
> is now used by all dw_mmc variants, just move the structure into the core
> code as well.
>
> Fixes: d9346fb36d84 ("mmc: dw_mmc-pltfm: use modern PM macros")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>

Thanks for the fix, applied for next!

> ---
> I ended up not renaming the structure in the process, but that
> would be another option.

Yeah, we should probably rename it to "dw_mci_pmops", but I think that
can be done as a clean-up on top. Maybe Shawn can manage it?

Kind regards
Uffe


> ---
>  drivers/mmc/host/dw_mmc-pltfm.c | 9 ---------
>  drivers/mmc/host/dw_mmc.c       | 6 ++++++
>  2 files changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c
> index fde465a4bf5d..079d0cc97766 100644
> --- a/drivers/mmc/host/dw_mmc-pltfm.c
> +++ b/drivers/mmc/host/dw_mmc-pltfm.c
> @@ -56,15 +56,6 @@ int dw_mci_pltfm_register(struct platform_device *pdev,
>  }
>  EXPORT_SYMBOL_GPL(dw_mci_pltfm_register);
>
> -const struct dev_pm_ops dw_mci_pltfm_pmops = {
> -       SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
> -                               pm_runtime_force_resume)
> -       RUNTIME_PM_OPS(dw_mci_runtime_suspend,
> -                          dw_mci_runtime_resume,
> -                          NULL)
> -};
> -EXPORT_SYMBOL_GPL(dw_mci_pltfm_pmops);
> -
>  static int dw_mci_socfpga_priv_init(struct dw_mci *host)
>  {
>         struct device_node *np = host->dev->of_node;
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index b2ac61f3a8f7..97e880022007 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -3523,6 +3523,12 @@ int dw_mci_runtime_resume(struct device *dev)
>  }
>  EXPORT_SYMBOL(dw_mci_runtime_resume);
>
> +const struct dev_pm_ops dw_mci_pltfm_pmops = {
> +       SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume)
> +       RUNTIME_PM_OPS(dw_mci_runtime_suspend, dw_mci_runtime_resume, NULL)
> +};
> +EXPORT_SYMBOL_GPL(dw_mci_pltfm_pmops);
> +
>  static int __init dw_mci_init(void)
>  {
>         pr_info("Synopsys Designware Multimedia Card Interface Driver\n");
> --
> 2.39.5
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ