All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-03 23:24 ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, swboyd, Lars Persson, linux-omap,
	Chaotian Jing, Scott Branden, Andrew Jeffery, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-kernel, Pengutronix Kernel Team,
	Eugen Hristev, Alexandre Belloni, linux-aspeed, Yangtao Li,
	Hu Ziji, Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter, linux-rockchip,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, linux-rpi-kernel, linux-amlogic, linux-arm-kernel,
	Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Patrice Chotard, Neil Armstrong, Al Cooper, Wolfram Sang,
	Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I, Chen-Yu Tsai,
	bcm-kernel-feedback-list, Joel Stanley, Orson Zhai, Ray Jui,
	Ben Dooks, Masahiro Yamada, linux-mmc, Baolin Wang, Shawn Guo,
	Andreas Färber, H. Nikolaus Schaller, Adrian Hunter,
	Paul Cercueil, Lee Jones, Marek Vasut, Anson Huang,
	Jaehoon Chung, Rui Miguel Silva, linux-mediatek, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Angelo Dureghello,
	Lars Povlsen, Nicolas Ferre, Tony Prisk, Vinod Koul,
	Robert Richter, Viresh Kumar, Jun Nie

As per discussion [1], it seems like it should be quite safe to turn
on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
give it a shot.  For some discussion about this flag, see the commit
message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe").

I've broken this series into chunks based on LTS kernel releases to
attempt to make it easier if someone wanted to cherry-pick it to an
older kernel.  While these cherry-picks won't be conflict free, there
should only be trivial context conflicts and no problems with drivers
that are totally missing.  This is a bit of a compromise between a
1-big patch and a many-part patch series.

I have only tested this on a rk3399-kevin (sdhci-of-arasan) and a
rk3288-veyron (dw_mmc-rockchip) device and only lightly.  If this
patch causes anyone problems those drivers should be marked with
PROBE_FORCE_SYNCHRONOUS, debugged, and then go back to prefer
asynchronous.  Any problems are likely just a hidden bug that has been
exposed by this change.

NOTE: in theory, it'd be nice if there was a KConfig option that we
could flip that would turn on async probe everywhere (except for those
that opt out by adding PROBE_FORCE_SYNCHRONOUS).  My hope is that by
adding this flag in more places it will become clear that this flag is
working reliably and easier to move over when we're ready.

While coccinelle is too difficult for my feeble brain, I managed to
whip up a pretty terrible python script to help with this.  For your
edification:

import os
import sys
import re

for filename in os.listdir("."):
    found_plat = False
    found_driver = False
    output = []
    for line in open(filename, "r").readlines():
        output.append(line)

        if "struct platform_driver" in line:
            found_plat = True
        if found_plat and re.search(r"\t\.driver\s*=\s*{", line):
            found_driver = True
            found_plat = False
        mo = re.search(r"(\s*)\.name(\s*)=", line)
        if found_driver and mo:
            if mo.group(2) == " ":
                space = " "
            elif mo.group(2) == "\t":
                # Best we can do
                space = " "
            elif mo.group(2).startswith("\t"):
                # Guess that removing one tab is right
                space = mo.group(2)[1:]
            else:
                # Guess it's all spaces
                space = mo.group(2)[7:] + " "

            output.append("%s.probe_type%s= PROBE_PREFER_ASYNCHRONOUS,\n" % (mo.group(1), space))
            found_driver = False

    open(filename, "w").write("".join(output))

[1] https://lore.kernel.org/r/CAPDyKFq31bucJhP9hp1HSqh-qM2uNGHgDoyQpmbJf00nEf_T4Q@mail.gmail.com/


Douglas Anderson (6):
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4

 drivers/mmc/host/alcor.c                      | 1 +
 drivers/mmc/host/android-goldfish.c           | 1 +
 drivers/mmc/host/atmel-mci.c                  | 1 +
 drivers/mmc/host/au1xmmc.c                    | 1 +
 drivers/mmc/host/bcm2835.c                    | 1 +
 drivers/mmc/host/cavium-octeon.c              | 1 +
 drivers/mmc/host/davinci_mmc.c                | 1 +
 drivers/mmc/host/dw_mmc-bluefield.c           | 1 +
 drivers/mmc/host/dw_mmc-exynos.c              | 1 +
 drivers/mmc/host/dw_mmc-hi3798cv200.c         | 1 +
 drivers/mmc/host/dw_mmc-k3.c                  | 1 +
 drivers/mmc/host/dw_mmc-pltfm.c               | 1 +
 drivers/mmc/host/dw_mmc-rockchip.c            | 1 +
 drivers/mmc/host/dw_mmc-zx.c                  | 1 +
 drivers/mmc/host/jz4740_mmc.c                 | 1 +
 drivers/mmc/host/meson-gx-mmc.c               | 1 +
 drivers/mmc/host/meson-mx-sdhc-mmc.c          | 1 +
 drivers/mmc/host/meson-mx-sdio.c              | 1 +
 drivers/mmc/host/moxart-mmc.c                 | 1 +
 drivers/mmc/host/mtk-sd.c                     | 1 +
 drivers/mmc/host/mvsdio.c                     | 1 +
 drivers/mmc/host/mxcmmc.c                     | 1 +
 drivers/mmc/host/mxs-mmc.c                    | 1 +
 drivers/mmc/host/omap.c                       | 1 +
 drivers/mmc/host/omap_hsmmc.c                 | 1 +
 drivers/mmc/host/owl-mmc.c                    | 1 +
 drivers/mmc/host/pxamci.c                     | 1 +
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
 drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
 drivers/mmc/host/rtsx_pci_sdmmc.c             | 1 +
 drivers/mmc/host/rtsx_usb_sdmmc.c             | 1 +
 drivers/mmc/host/s3cmci.c                     | 1 +
 drivers/mmc/host/sdhci-acpi.c                 | 1 +
 drivers/mmc/host/sdhci-bcm-kona.c             | 1 +
 drivers/mmc/host/sdhci-brcmstb.c              | 1 +
 drivers/mmc/host/sdhci-cadence.c              | 1 +
 drivers/mmc/host/sdhci-cns3xxx.c              | 1 +
 drivers/mmc/host/sdhci-dove.c                 | 1 +
 drivers/mmc/host/sdhci-esdhc-imx.c            | 1 +
 drivers/mmc/host/sdhci-esdhc-mcf.c            | 1 +
 drivers/mmc/host/sdhci-iproc.c                | 1 +
 drivers/mmc/host/sdhci-milbeaut.c             | 1 +
 drivers/mmc/host/sdhci-of-arasan.c            | 1 +
 drivers/mmc/host/sdhci-of-aspeed.c            | 2 ++
 drivers/mmc/host/sdhci-of-at91.c              | 1 +
 drivers/mmc/host/sdhci-of-dwcmshc.c           | 1 +
 drivers/mmc/host/sdhci-of-esdhc.c             | 1 +
 drivers/mmc/host/sdhci-of-hlwd.c              | 1 +
 drivers/mmc/host/sdhci-of-sparx5.c            | 1 +
 drivers/mmc/host/sdhci-omap.c                 | 1 +
 drivers/mmc/host/sdhci-pic32.c                | 1 +
 drivers/mmc/host/sdhci-pxav2.c                | 1 +
 drivers/mmc/host/sdhci-pxav3.c                | 1 +
 drivers/mmc/host/sdhci-s3c.c                  | 1 +
 drivers/mmc/host/sdhci-sirf.c                 | 1 +
 drivers/mmc/host/sdhci-spear.c                | 1 +
 drivers/mmc/host/sdhci-sprd.c                 | 1 +
 drivers/mmc/host/sdhci-st.c                   | 1 +
 drivers/mmc/host/sdhci-tegra.c                | 1 +
 drivers/mmc/host/sdhci-xenon.c                | 1 +
 drivers/mmc/host/sdhci_am654.c                | 1 +
 drivers/mmc/host/sdhci_f_sdh30.c              | 1 +
 drivers/mmc/host/sh_mmcif.c                   | 1 +
 drivers/mmc/host/sunxi-mmc.c                  | 1 +
 drivers/mmc/host/tmio_mmc.c                   | 1 +
 drivers/mmc/host/uniphier-sd.c                | 1 +
 drivers/mmc/host/usdhi6rol0.c                 | 1 +
 drivers/mmc/host/wbsd.c                       | 1 +
 drivers/mmc/host/wmt-sdmmc.c                  | 1 +
 69 files changed, 70 insertions(+)

-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-03 23:24 ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, swboyd, Lars Persson, linux-omap,
	Chaotian Jing, Scott Branden, Andrew Jeffery, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-kernel, Pengutronix Kernel Team,
	Eugen Hristev, Alexandre Belloni, linux-aspeed, Yangtao Li,
	Hu Ziji, Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter, linux-rockchip,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, linux-rpi-kernel, linux-amlogic, linux-arm-kernel,
	Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Patrice Chotard, Neil Armstrong, Al Cooper, Wolfram Sang,
	Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I, Chen-Yu Tsai,
	bcm-kernel-feedback-list, Joel Stanley, Orson Zhai, Ray Jui,
	Ben Dooks, Masahiro Yamada, linux-mmc, Baolin Wang, Shawn Guo,
	Andreas Färber, H. Nikolaus Schaller, Adrian Hunter,
	Paul Cercueil, Lee Jones, Marek Vasut, Anson Huang,
	Jaehoon Chung, Rui Miguel Silva, linux-mediatek, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Angelo Dureghello,
	Lars Povlsen, Nicolas Ferre, Tony Prisk, Vinod Koul,
	Robert Richter, Viresh Kumar, Jun Nie

As per discussion [1], it seems like it should be quite safe to turn
on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
give it a shot.  For some discussion about this flag, see the commit
message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe").

I've broken this series into chunks based on LTS kernel releases to
attempt to make it easier if someone wanted to cherry-pick it to an
older kernel.  While these cherry-picks won't be conflict free, there
should only be trivial context conflicts and no problems with drivers
that are totally missing.  This is a bit of a compromise between a
1-big patch and a many-part patch series.

I have only tested this on a rk3399-kevin (sdhci-of-arasan) and a
rk3288-veyron (dw_mmc-rockchip) device and only lightly.  If this
patch causes anyone problems those drivers should be marked with
PROBE_FORCE_SYNCHRONOUS, debugged, and then go back to prefer
asynchronous.  Any problems are likely just a hidden bug that has been
exposed by this change.

NOTE: in theory, it'd be nice if there was a KConfig option that we
could flip that would turn on async probe everywhere (except for those
that opt out by adding PROBE_FORCE_SYNCHRONOUS).  My hope is that by
adding this flag in more places it will become clear that this flag is
working reliably and easier to move over when we're ready.

While coccinelle is too difficult for my feeble brain, I managed to
whip up a pretty terrible python script to help with this.  For your
edification:

import os
import sys
import re

for filename in os.listdir("."):
    found_plat = False
    found_driver = False
    output = []
    for line in open(filename, "r").readlines():
        output.append(line)

        if "struct platform_driver" in line:
            found_plat = True
        if found_plat and re.search(r"\t\.driver\s*=\s*{", line):
            found_driver = True
            found_plat = False
        mo = re.search(r"(\s*)\.name(\s*)=", line)
        if found_driver and mo:
            if mo.group(2) == " ":
                space = " "
            elif mo.group(2) == "\t":
                # Best we can do
                space = " "
            elif mo.group(2).startswith("\t"):
                # Guess that removing one tab is right
                space = mo.group(2)[1:]
            else:
                # Guess it's all spaces
                space = mo.group(2)[7:] + " "

            output.append("%s.probe_type%s= PROBE_PREFER_ASYNCHRONOUS,\n" % (mo.group(1), space))
            found_driver = False

    open(filename, "w").write("".join(output))

[1] https://lore.kernel.org/r/CAPDyKFq31bucJhP9hp1HSqh-qM2uNGHgDoyQpmbJf00nEf_T4Q@mail.gmail.com/


Douglas Anderson (6):
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
  mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4

 drivers/mmc/host/alcor.c                      | 1 +
 drivers/mmc/host/android-goldfish.c           | 1 +
 drivers/mmc/host/atmel-mci.c                  | 1 +
 drivers/mmc/host/au1xmmc.c                    | 1 +
 drivers/mmc/host/bcm2835.c                    | 1 +
 drivers/mmc/host/cavium-octeon.c              | 1 +
 drivers/mmc/host/davinci_mmc.c                | 1 +
 drivers/mmc/host/dw_mmc-bluefield.c           | 1 +
 drivers/mmc/host/dw_mmc-exynos.c              | 1 +
 drivers/mmc/host/dw_mmc-hi3798cv200.c         | 1 +
 drivers/mmc/host/dw_mmc-k3.c                  | 1 +
 drivers/mmc/host/dw_mmc-pltfm.c               | 1 +
 drivers/mmc/host/dw_mmc-rockchip.c            | 1 +
 drivers/mmc/host/dw_mmc-zx.c                  | 1 +
 drivers/mmc/host/jz4740_mmc.c                 | 1 +
 drivers/mmc/host/meson-gx-mmc.c               | 1 +
 drivers/mmc/host/meson-mx-sdhc-mmc.c          | 1 +
 drivers/mmc/host/meson-mx-sdio.c              | 1 +
 drivers/mmc/host/moxart-mmc.c                 | 1 +
 drivers/mmc/host/mtk-sd.c                     | 1 +
 drivers/mmc/host/mvsdio.c                     | 1 +
 drivers/mmc/host/mxcmmc.c                     | 1 +
 drivers/mmc/host/mxs-mmc.c                    | 1 +
 drivers/mmc/host/omap.c                       | 1 +
 drivers/mmc/host/omap_hsmmc.c                 | 1 +
 drivers/mmc/host/owl-mmc.c                    | 1 +
 drivers/mmc/host/pxamci.c                     | 1 +
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
 drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
 drivers/mmc/host/rtsx_pci_sdmmc.c             | 1 +
 drivers/mmc/host/rtsx_usb_sdmmc.c             | 1 +
 drivers/mmc/host/s3cmci.c                     | 1 +
 drivers/mmc/host/sdhci-acpi.c                 | 1 +
 drivers/mmc/host/sdhci-bcm-kona.c             | 1 +
 drivers/mmc/host/sdhci-brcmstb.c              | 1 +
 drivers/mmc/host/sdhci-cadence.c              | 1 +
 drivers/mmc/host/sdhci-cns3xxx.c              | 1 +
 drivers/mmc/host/sdhci-dove.c                 | 1 +
 drivers/mmc/host/sdhci-esdhc-imx.c            | 1 +
 drivers/mmc/host/sdhci-esdhc-mcf.c            | 1 +
 drivers/mmc/host/sdhci-iproc.c                | 1 +
 drivers/mmc/host/sdhci-milbeaut.c             | 1 +
 drivers/mmc/host/sdhci-of-arasan.c            | 1 +
 drivers/mmc/host/sdhci-of-aspeed.c            | 2 ++
 drivers/mmc/host/sdhci-of-at91.c              | 1 +
 drivers/mmc/host/sdhci-of-dwcmshc.c           | 1 +
 drivers/mmc/host/sdhci-of-esdhc.c             | 1 +
 drivers/mmc/host/sdhci-of-hlwd.c              | 1 +
 drivers/mmc/host/sdhci-of-sparx5.c            | 1 +
 drivers/mmc/host/sdhci-omap.c                 | 1 +
 drivers/mmc/host/sdhci-pic32.c                | 1 +
 drivers/mmc/host/sdhci-pxav2.c                | 1 +
 drivers/mmc/host/sdhci-pxav3.c                | 1 +
 drivers/mmc/host/sdhci-s3c.c                  | 1 +
 drivers/mmc/host/sdhci-sirf.c                 | 1 +
 drivers/mmc/host/sdhci-spear.c                | 1 +
 drivers/mmc/host/sdhci-sprd.c                 | 1 +
 drivers/mmc/host/sdhci-st.c                   | 1 +
 drivers/mmc/host/sdhci-tegra.c                | 1 +
 drivers/mmc/host/sdhci-xenon.c                | 1 +
 drivers/mmc/host/sdhci_am654.c                | 1 +
 drivers/mmc/host/sdhci_f_sdh30.c              | 1 +
 drivers/mmc/host/sh_mmcif.c                   | 1 +
 drivers/mmc/host/sunxi-mmc.c                  | 1 +
 drivers/mmc/host/tmio_mmc.c                   | 1 +
 drivers/mmc/host/uniphier-sd.c                | 1 +
 drivers/mmc/host/usdhi6rol0.c                 | 1 +
 drivers/mmc/host/wbsd.c                       | 1 +
 drivers/mmc/host/wmt-sdmmc.c                  | 1 +
 69 files changed, 70 insertions(+)

-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
  2020-09-03 23:24 ` Douglas Anderson
@ 2020-09-03 23:24   ` Douglas Anderson
  -1 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Alexandre Belloni, Heiko Stuebner, Geert Uytterhoeven,
	Yangtao Li, H. Nikolaus Schaller, Linus Walleij,
	Douglas Anderson, Paul Cercueil, Wolfram Sang, Thierry Reding,
	linux-arm-kernel, Shawn Guo, Fabio Estevam, Michal Simek,
	Marek Vasut, Jesper Nilsson, Florian Fainelli, Anson Huang,
	Aaro Koskinen, Lee Jones, Ludovic Desroches, Krzysztof Kozlowski,
	Jonathan Hunter, Jaehoon Chung, linux-rockchip, Chen-Yu Tsai,
	Kukjin Kim, bcm-kernel-feedback-list, NXP Linux Team,
	Pierre Ossman, linux-tegra, linux-omap, Ray Jui, Sascha Hauer,
	Nicolas Ferre, Maxime Ripard, swboyd, Rui Miguel Silva,
	linux-samsung-soc, linux-mediatek, Lars Persson, Ben Dooks,
	Manuel Lauss, Matthias Brugger, Michał Mirosław,
	Chaotian Jing, linux-arm-kernel, Peter Ujfalusi, Barry Song,
	Scott Branden, Nicolas Pitre, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-mmc, Adrian Hunter, linux-kernel,
	Tony Prisk, Vinod Koul, Patrice Chotard, Pengutronix Kernel Team,
	Viresh Kumar, Eugen Hristev, Ricky Wu

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.4 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/android-goldfish.c | 1 +
 drivers/mmc/host/atmel-mci.c        | 1 +
 drivers/mmc/host/au1xmmc.c          | 1 +
 drivers/mmc/host/davinci_mmc.c      | 1 +
 drivers/mmc/host/dw_mmc-exynos.c    | 1 +
 drivers/mmc/host/dw_mmc-k3.c        | 1 +
 drivers/mmc/host/dw_mmc-pltfm.c     | 1 +
 drivers/mmc/host/dw_mmc-rockchip.c  | 1 +
 drivers/mmc/host/jz4740_mmc.c       | 1 +
 drivers/mmc/host/moxart-mmc.c       | 1 +
 drivers/mmc/host/mtk-sd.c           | 1 +
 drivers/mmc/host/mvsdio.c           | 1 +
 drivers/mmc/host/mxcmmc.c           | 1 +
 drivers/mmc/host/mxs-mmc.c          | 1 +
 drivers/mmc/host/omap.c             | 1 +
 drivers/mmc/host/omap_hsmmc.c       | 1 +
 drivers/mmc/host/pxamci.c           | 1 +
 drivers/mmc/host/rtsx_pci_sdmmc.c   | 1 +
 drivers/mmc/host/rtsx_usb_sdmmc.c   | 1 +
 drivers/mmc/host/s3cmci.c           | 1 +
 drivers/mmc/host/sdhci-acpi.c       | 1 +
 drivers/mmc/host/sdhci-bcm-kona.c   | 1 +
 drivers/mmc/host/sdhci-cns3xxx.c    | 1 +
 drivers/mmc/host/sdhci-dove.c       | 1 +
 drivers/mmc/host/sdhci-esdhc-imx.c  | 1 +
 drivers/mmc/host/sdhci-iproc.c      | 1 +
 drivers/mmc/host/sdhci-of-arasan.c  | 1 +
 drivers/mmc/host/sdhci-of-at91.c    | 1 +
 drivers/mmc/host/sdhci-of-esdhc.c   | 1 +
 drivers/mmc/host/sdhci-of-hlwd.c    | 1 +
 drivers/mmc/host/sdhci-pxav2.c      | 1 +
 drivers/mmc/host/sdhci-pxav3.c      | 1 +
 drivers/mmc/host/sdhci-s3c.c        | 1 +
 drivers/mmc/host/sdhci-sirf.c       | 1 +
 drivers/mmc/host/sdhci-spear.c      | 1 +
 drivers/mmc/host/sdhci-st.c         | 1 +
 drivers/mmc/host/sdhci-tegra.c      | 1 +
 drivers/mmc/host/sdhci_f_sdh30.c    | 1 +
 drivers/mmc/host/sh_mmcif.c         | 1 +
 drivers/mmc/host/sunxi-mmc.c        | 1 +
 drivers/mmc/host/tmio_mmc.c         | 1 +
 drivers/mmc/host/usdhi6rol0.c       | 1 +
 drivers/mmc/host/wbsd.c             | 1 +
 drivers/mmc/host/wmt-sdmmc.c        | 1 +
 44 files changed, 44 insertions(+)

diff --git a/drivers/mmc/host/android-goldfish.c b/drivers/mmc/host/android-goldfish.c
index ceb4924e02d0..e878fdf8f20a 100644
--- a/drivers/mmc/host/android-goldfish.c
+++ b/drivers/mmc/host/android-goldfish.c
@@ -537,6 +537,7 @@ static struct platform_driver goldfish_mmc_driver = {
 	.remove		= goldfish_mmc_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 300901415aa2..19d72eb0ec5a 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -2668,6 +2668,7 @@ static struct platform_driver atmci_driver = {
 	.remove		= atmci_remove,
 	.driver		= {
 		.name		= "atmel_mci",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= of_match_ptr(atmci_dt_ids),
 		.pm		= &atmci_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
index 9bb1910268ca..bd00515fbaba 100644
--- a/drivers/mmc/host/au1xmmc.c
+++ b/drivers/mmc/host/au1xmmc.c
@@ -1189,6 +1189,7 @@ static struct platform_driver au1xmmc_driver = {
 	.resume        = au1xmmc_resume,
 	.driver        = {
 		.name  = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 
diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
index a138e1ea6805..384e989f493a 100644
--- a/drivers/mmc/host/davinci_mmc.c
+++ b/drivers/mmc/host/davinci_mmc.c
@@ -1395,6 +1395,7 @@ static const struct dev_pm_ops davinci_mmcsd_pm = {
 static struct platform_driver davinci_mmcsd_driver = {
 	.driver		= {
 		.name	= "davinci_mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= davinci_mmcsd_pm_ops,
 		.of_match_table = davinci_mmc_dt_ids,
 	},
diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
index 95adeee07217..0c75810812a0 100644
--- a/drivers/mmc/host/dw_mmc-exynos.c
+++ b/drivers/mmc/host/dw_mmc-exynos.c
@@ -592,6 +592,7 @@ static struct platform_driver dw_mci_exynos_pltfm_driver = {
 	.remove		= dw_mci_exynos_remove,
 	.driver		= {
 		.name		= "dwmmc_exynos",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_exynos_match,
 		.pm		= &dw_mci_exynos_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
index 50977ff18074..ea7e6c734394 100644
--- a/drivers/mmc/host/dw_mmc-k3.c
+++ b/drivers/mmc/host/dw_mmc-k3.c
@@ -473,6 +473,7 @@ static struct platform_driver dw_mci_k3_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_k3",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_k3_match,
 		.pm		= &dw_mci_k3_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c
index 7de37f524a96..73731cd3ba23 100644
--- a/drivers/mmc/host/dw_mmc-pltfm.c
+++ b/drivers/mmc/host/dw_mmc-pltfm.c
@@ -98,6 +98,7 @@ static struct platform_driver dw_mci_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dw_mmc",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_pltfm_match,
 		.pm		= &dw_mci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c
index d4d02134848c..753502ce3c85 100644
--- a/drivers/mmc/host/dw_mmc-rockchip.c
+++ b/drivers/mmc/host/dw_mmc-rockchip.c
@@ -383,6 +383,7 @@ static struct platform_driver dw_mci_rockchip_pltfm_driver = {
 	.remove		= dw_mci_rockchip_remove,
 	.driver		= {
 		.name		= "dwmmc_rockchip",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_rockchip_match,
 		.pm		= &dw_mci_rockchip_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
index 21fd0939bb7b..e2a111e54097 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
@@ -1125,6 +1125,7 @@ static struct platform_driver jz4740_mmc_driver = {
 	.remove = jz4740_mmc_remove,
 	.driver = {
 		.name = "jz4740-mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(jz4740_mmc_of_match),
 		.pm = pm_ptr(&jz4740_mmc_pm_ops),
 	},
diff --git a/drivers/mmc/host/moxart-mmc.c b/drivers/mmc/host/moxart-mmc.c
index fc6b9cf27d0b..2bfb376fddc4 100644
--- a/drivers/mmc/host/moxart-mmc.c
+++ b/drivers/mmc/host/moxart-mmc.c
@@ -717,6 +717,7 @@ static struct platform_driver moxart_mmc_driver = {
 	.remove     = moxart_remove,
 	.driver     = {
 		.name		= "mmc-moxart",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= moxart_mmc_match,
 	},
 };
diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index ed2b24691b4f..691c928edab7 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -2689,6 +2689,7 @@ static struct platform_driver mt_msdc_driver = {
 	.remove = msdc_drv_remove,
 	.driver = {
 		.name = "mtk-msdc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = msdc_of_ids,
 		.pm = &msdc_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index cc0752a9df6d..629efbe639c4 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -824,6 +824,7 @@ static struct platform_driver mvsd_driver = {
 	.remove		= mvsd_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = mvsdio_dt_ids,
 	},
 };
diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
index b3d654c688e5..12ee07285980 100644
--- a/drivers/mmc/host/mxcmmc.c
+++ b/drivers/mmc/host/mxcmmc.c
@@ -1244,6 +1244,7 @@ static struct platform_driver mxcmci_driver = {
 	.id_table	= mxcmci_devtype,
 	.driver		= {
 		.name		= DRIVER_NAME,
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &mxcmci_pm_ops,
 		.of_match_table	= mxcmci_of_match,
 	}
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
index b1820def36c0..75007f61df97 100644
--- a/drivers/mmc/host/mxs-mmc.c
+++ b/drivers/mmc/host/mxs-mmc.c
@@ -726,6 +726,7 @@ static struct platform_driver mxs_mmc_driver = {
 	.id_table	= mxs_ssp_ids,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &mxs_mmc_pm_ops,
 		.of_match_table = mxs_mmc_dt_ids,
 	},
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 33d7af7c7762..6aa0537f1f84 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1504,6 +1504,7 @@ static struct platform_driver mmc_omap_driver = {
 	.remove		= mmc_omap_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(mmc_omap_match),
 	},
 };
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 37b8740513f5..036264443646 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2171,6 +2171,7 @@ static struct platform_driver omap_hsmmc_driver = {
 	.remove		= omap_hsmmc_remove,
 	.driver		= {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &omap_hsmmc_dev_pm_ops,
 		.of_match_table = of_match_ptr(omap_mmc_of_match),
 	},
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index 3a9333475a2b..29f6180a0036 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -811,6 +811,7 @@ static struct platform_driver pxamci_driver = {
 	.remove		= pxamci_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(pxa_mmc_dt_ids),
 	},
 };
diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c
index 2763a376b054..eb395e144207 100644
--- a/drivers/mmc/host/rtsx_pci_sdmmc.c
+++ b/drivers/mmc/host/rtsx_pci_sdmmc.c
@@ -1471,6 +1471,7 @@ static struct platform_driver rtsx_pci_sdmmc_driver = {
 	.id_table       = rtsx_pci_sdmmc_ids,
 	.driver		= {
 		.name	= DRV_NAME_RTSX_PCI_SDMMC,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 module_platform_driver(rtsx_pci_sdmmc_driver);
diff --git a/drivers/mmc/host/rtsx_usb_sdmmc.c b/drivers/mmc/host/rtsx_usb_sdmmc.c
index 7225d9312af8..598f49573f5d 100644
--- a/drivers/mmc/host/rtsx_usb_sdmmc.c
+++ b/drivers/mmc/host/rtsx_usb_sdmmc.c
@@ -1458,6 +1458,7 @@ static struct platform_driver rtsx_usb_sdmmc_driver = {
 	.id_table       = rtsx_usb_sdmmc_ids,
 	.driver		= {
 		.name	= "rtsx_usb_sdmmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &rtsx_usb_sdmmc_dev_pm_ops,
 	},
 };
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index a725fb1abce7..e3698aba8dd3 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -1804,6 +1804,7 @@ MODULE_DEVICE_TABLE(platform, s3cmci_driver_ids);
 static struct platform_driver s3cmci_driver = {
 	.driver	= {
 		.name	= "s3c-sdi",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = s3cmci_dt_match,
 	},
 	.id_table	= s3cmci_driver_ids,
diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c
index 284cba11e279..fc41d0451f20 100644
--- a/drivers/mmc/host/sdhci-acpi.c
+++ b/drivers/mmc/host/sdhci-acpi.c
@@ -1027,6 +1027,7 @@ static const struct dev_pm_ops sdhci_acpi_pm_ops = {
 static struct platform_driver sdhci_acpi_driver = {
 	.driver = {
 		.name			= "sdhci-acpi",
+		.probe_type		= PROBE_PREFER_ASYNCHRONOUS,
 		.acpi_match_table	= sdhci_acpi_ids,
 		.pm			= &sdhci_acpi_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-bcm-kona.c b/drivers/mmc/host/sdhci-bcm-kona.c
index a6c2bd202b45..4d4aac85cc7a 100644
--- a/drivers/mmc/host/sdhci-bcm-kona.c
+++ b/drivers/mmc/host/sdhci-bcm-kona.c
@@ -324,6 +324,7 @@ static int sdhci_bcm_kona_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_bcm_kona_driver = {
 	.driver		= {
 		.name	= "sdhci-kona",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = sdhci_bcm_kona_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-cns3xxx.c b/drivers/mmc/host/sdhci-cns3xxx.c
index 811eab1b8964..2a29c7a4f308 100644
--- a/drivers/mmc/host/sdhci-cns3xxx.c
+++ b/drivers/mmc/host/sdhci-cns3xxx.c
@@ -98,6 +98,7 @@ static int sdhci_cns3xxx_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_cns3xxx_driver = {
 	.driver		= {
 		.name	= "sdhci-cns3xxx",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 	},
 	.probe		= sdhci_cns3xxx_probe,
diff --git a/drivers/mmc/host/sdhci-dove.c b/drivers/mmc/host/sdhci-dove.c
index fe9da3122fe9..5e5bf82e5976 100644
--- a/drivers/mmc/host/sdhci-dove.c
+++ b/drivers/mmc/host/sdhci-dove.c
@@ -105,6 +105,7 @@ MODULE_DEVICE_TABLE(of, sdhci_dove_of_match_table);
 static struct platform_driver sdhci_dove_driver = {
 	.driver		= {
 		.name	= "sdhci-dove",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = sdhci_dove_of_match_table,
 	},
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 325e241b5f99..6a859616dcc7 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1925,6 +1925,7 @@ static const struct dev_pm_ops sdhci_esdhc_pmops = {
 static struct platform_driver sdhci_esdhc_imx_driver = {
 	.driver		= {
 		.name	= "sdhci-esdhc-imx",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = imx_esdhc_dt_ids,
 		.pm	= &sdhci_esdhc_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
index b540aa6faacb..c9434b461aab 100644
--- a/drivers/mmc/host/sdhci-iproc.c
+++ b/drivers/mmc/host/sdhci-iproc.c
@@ -369,6 +369,7 @@ static int sdhci_iproc_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_iproc_driver = {
 	.driver = {
 		.name = "sdhci-iproc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_iproc_of_match,
 		.acpi_match_table = ACPI_PTR(sdhci_iproc_acpi_ids),
 		.pm = &sdhci_pltfm_pmops,
diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
index 3aea46db2ea7..829ccef87426 100644
--- a/drivers/mmc/host/sdhci-of-arasan.c
+++ b/drivers/mmc/host/sdhci-of-arasan.c
@@ -1693,6 +1693,7 @@ static int sdhci_arasan_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_arasan_driver = {
 	.driver = {
 		.name = "sdhci-arasan",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_arasan_of_match,
 		.pm = &sdhci_arasan_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c
index 1ece2c50042c..5564d7b23e7c 100644
--- a/drivers/mmc/host/sdhci-of-at91.c
+++ b/drivers/mmc/host/sdhci-of-at91.c
@@ -465,6 +465,7 @@ static int sdhci_at91_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_at91_driver = {
 	.driver		= {
 		.name	= "sdhci-at91",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_at91_dt_match,
 		.pm	= &sdhci_at91_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
index 45881b309956..3a3340c9b8c9 100644
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -1468,6 +1468,7 @@ static int sdhci_esdhc_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_esdhc_driver = {
 	.driver = {
 		.name = "sdhci-esdhc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_esdhc_of_match,
 		.pm = &esdhc_of_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-of-hlwd.c b/drivers/mmc/host/sdhci-of-hlwd.c
index da844a39af6e..12675797b296 100644
--- a/drivers/mmc/host/sdhci-of-hlwd.c
+++ b/drivers/mmc/host/sdhci-of-hlwd.c
@@ -80,6 +80,7 @@ MODULE_DEVICE_TABLE(of, sdhci_hlwd_of_match);
 static struct platform_driver sdhci_hlwd_driver = {
 	.driver = {
 		.name = "sdhci-hlwd",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_hlwd_of_match,
 		.pm = &sdhci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
index 9282bc4b8c41..f18906b5575f 100644
--- a/drivers/mmc/host/sdhci-pxav2.c
+++ b/drivers/mmc/host/sdhci-pxav2.c
@@ -226,6 +226,7 @@ static int sdhci_pxav2_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_pxav2_driver = {
 	.driver		= {
 		.name	= "sdhci-pxav2",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_pxav2_of_match),
 		.pm	= &sdhci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index e55037ceda73..a6d89a3f1946 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -567,6 +567,7 @@ static const struct dev_pm_ops sdhci_pxav3_pmops = {
 static struct platform_driver sdhci_pxav3_driver = {
 	.driver		= {
 		.name	= "sdhci-pxav3",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_pxav3_of_match),
 		.pm	= &sdhci_pxav3_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
index 9194bb73e601..ae75bebbbfbf 100644
--- a/drivers/mmc/host/sdhci-s3c.c
+++ b/drivers/mmc/host/sdhci-s3c.c
@@ -784,6 +784,7 @@ static struct platform_driver sdhci_s3c_driver = {
 	.id_table	= sdhci_s3c_driver_ids,
 	.driver		= {
 		.name	= "s3c-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_s3c_dt_match),
 		.pm	= &sdhci_s3c_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-sirf.c b/drivers/mmc/host/sdhci-sirf.c
index f4b05dd6c20a..e9b347b3af7e 100644
--- a/drivers/mmc/host/sdhci-sirf.c
+++ b/drivers/mmc/host/sdhci-sirf.c
@@ -220,6 +220,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sirf_of_match);
 static struct platform_driver sdhci_sirf_driver = {
 	.driver		= {
 		.name	= "sdhci-sirf",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_sirf_of_match,
 		.pm	= &sdhci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-spear.c b/drivers/mmc/host/sdhci-spear.c
index b4b63089a4e2..d463e2fd5b1a 100644
--- a/drivers/mmc/host/sdhci-spear.c
+++ b/drivers/mmc/host/sdhci-spear.c
@@ -181,6 +181,7 @@ MODULE_DEVICE_TABLE(of, sdhci_spear_id_table);
 static struct platform_driver sdhci_driver = {
 	.driver = {
 		.name	= "sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pm_ops,
 		.of_match_table = of_match_ptr(sdhci_spear_id_table),
 	},
diff --git a/drivers/mmc/host/sdhci-st.c b/drivers/mmc/host/sdhci-st.c
index 1301cebfc3ea..4e9ff3e828ba 100644
--- a/drivers/mmc/host/sdhci-st.c
+++ b/drivers/mmc/host/sdhci-st.c
@@ -521,6 +521,7 @@ static struct platform_driver sdhci_st_driver = {
 	.remove = sdhci_st_remove,
 	.driver = {
 		   .name = "sdhci-st",
+		   .probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		   .pm = &sdhci_st_pmops,
 		   .of_match_table = of_match_ptr(st_sdhci_match),
 		  },
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 428cdc53c858..ed12aacb1c73 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -1782,6 +1782,7 @@ static SIMPLE_DEV_PM_OPS(sdhci_tegra_dev_pm_ops, sdhci_tegra_suspend,
 static struct platform_driver sdhci_tegra_driver = {
 	.driver		= {
 		.name	= "sdhci-tegra",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_tegra_dt_match,
 		.pm	= &sdhci_tegra_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci_f_sdh30.c b/drivers/mmc/host/sdhci_f_sdh30.c
index 4625cc071b61..3f5977979cf2 100644
--- a/drivers/mmc/host/sdhci_f_sdh30.c
+++ b/drivers/mmc/host/sdhci_f_sdh30.c
@@ -219,6 +219,7 @@ MODULE_DEVICE_TABLE(acpi, f_sdh30_acpi_ids);
 static struct platform_driver sdhci_f_sdh30_driver = {
 	.driver = {
 		.name = "f_sdh30",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(f_sdh30_dt_ids),
 		.acpi_match_table = ACPI_PTR(f_sdh30_acpi_ids),
 		.pm	= &sdhci_pltfm_pmops,
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 9f53634aa411..e5e457037235 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -1562,6 +1562,7 @@ static struct platform_driver sh_mmcif_driver = {
 	.remove		= sh_mmcif_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sh_mmcif_dev_pm_ops,
 		.of_match_table = sh_mmcif_of_match,
 	},
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index 5e95bbc51644..fc62773602ec 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -1514,6 +1514,7 @@ static const struct dev_pm_ops sunxi_mmc_pm_ops = {
 static struct platform_driver sunxi_mmc_driver = {
 	.driver = {
 		.name	= "sunxi-mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sunxi_mmc_of_match),
 		.pm = &sunxi_mmc_pm_ops,
 	},
diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
index 757c90160ae4..d2d3b8df1bbe 100644
--- a/drivers/mmc/host/tmio_mmc.c
+++ b/drivers/mmc/host/tmio_mmc.c
@@ -213,6 +213,7 @@ static const struct dev_pm_ops tmio_mmc_dev_pm_ops = {
 static struct platform_driver tmio_mmc_driver = {
 	.driver = {
 		.name = "tmio-mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &tmio_mmc_dev_pm_ops,
 	},
 	.probe = tmio_mmc_probe,
diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c
index 369b8dee2e3d..f644f7035f16 100644
--- a/drivers/mmc/host/usdhi6rol0.c
+++ b/drivers/mmc/host/usdhi6rol0.c
@@ -1890,6 +1890,7 @@ static struct platform_driver usdhi6_driver = {
 	.remove		= usdhi6_remove,
 	.driver		= {
 		.name	= "usdhi6rol0",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = usdhi6_of_match,
 	},
 };
diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c
index 67f917d6ecd3..cd63ea865b77 100644
--- a/drivers/mmc/host/wbsd.c
+++ b/drivers/mmc/host/wbsd.c
@@ -1905,6 +1905,7 @@ static struct platform_driver wbsd_driver = {
 	.resume		= wbsd_platform_resume,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 
diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c
index 2c4ba1fa4bbf..cf10949fb0ac 100644
--- a/drivers/mmc/host/wmt-sdmmc.c
+++ b/drivers/mmc/host/wmt-sdmmc.c
@@ -990,6 +990,7 @@ static struct platform_driver wmt_mci_driver = {
 	.remove = wmt_mci_remove,
 	.driver = {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = wmt_mci_pm_ops,
 		.of_match_table = wmt_mci_dt_ids,
 	},
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Alexandre Belloni, Heiko Stuebner, Geert Uytterhoeven,
	Yangtao Li, H. Nikolaus Schaller, Linus Walleij,
	Douglas Anderson, Paul Cercueil, Wolfram Sang, Thierry Reding,
	linux-arm-kernel, Shawn Guo, Fabio Estevam, Michal Simek,
	Marek Vasut, Jesper Nilsson, Florian Fainelli, Anson Huang,
	Aaro Koskinen, Lee Jones, Ludovic Desroches, Krzysztof Kozlowski,
	Jonathan Hunter, Jaehoon Chung, linux-rockchip, Chen-Yu Tsai,
	Kukjin Kim, bcm-kernel-feedback-list, NXP Linux Team,
	Pierre Ossman, linux-tegra, linux-omap, Ray Jui, Sascha Hauer,
	Nicolas Ferre, Maxime Ripard, swboyd, Rui Miguel Silva,
	linux-samsung-soc, linux-mediatek, Lars Persson, Ben Dooks,
	Manuel Lauss, Matthias Brugger, Michał Mirosław,
	Chaotian Jing, linux-arm-kernel, Peter Ujfalusi, Barry Song,
	Scott Branden, Nicolas Pitre, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-mmc, Adrian Hunter, linux-kernel,
	Tony Prisk, Vinod Koul, Patrice Chotard, Pengutronix Kernel Team,
	Viresh Kumar, Eugen Hristev, Ricky Wu

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.4 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/android-goldfish.c | 1 +
 drivers/mmc/host/atmel-mci.c        | 1 +
 drivers/mmc/host/au1xmmc.c          | 1 +
 drivers/mmc/host/davinci_mmc.c      | 1 +
 drivers/mmc/host/dw_mmc-exynos.c    | 1 +
 drivers/mmc/host/dw_mmc-k3.c        | 1 +
 drivers/mmc/host/dw_mmc-pltfm.c     | 1 +
 drivers/mmc/host/dw_mmc-rockchip.c  | 1 +
 drivers/mmc/host/jz4740_mmc.c       | 1 +
 drivers/mmc/host/moxart-mmc.c       | 1 +
 drivers/mmc/host/mtk-sd.c           | 1 +
 drivers/mmc/host/mvsdio.c           | 1 +
 drivers/mmc/host/mxcmmc.c           | 1 +
 drivers/mmc/host/mxs-mmc.c          | 1 +
 drivers/mmc/host/omap.c             | 1 +
 drivers/mmc/host/omap_hsmmc.c       | 1 +
 drivers/mmc/host/pxamci.c           | 1 +
 drivers/mmc/host/rtsx_pci_sdmmc.c   | 1 +
 drivers/mmc/host/rtsx_usb_sdmmc.c   | 1 +
 drivers/mmc/host/s3cmci.c           | 1 +
 drivers/mmc/host/sdhci-acpi.c       | 1 +
 drivers/mmc/host/sdhci-bcm-kona.c   | 1 +
 drivers/mmc/host/sdhci-cns3xxx.c    | 1 +
 drivers/mmc/host/sdhci-dove.c       | 1 +
 drivers/mmc/host/sdhci-esdhc-imx.c  | 1 +
 drivers/mmc/host/sdhci-iproc.c      | 1 +
 drivers/mmc/host/sdhci-of-arasan.c  | 1 +
 drivers/mmc/host/sdhci-of-at91.c    | 1 +
 drivers/mmc/host/sdhci-of-esdhc.c   | 1 +
 drivers/mmc/host/sdhci-of-hlwd.c    | 1 +
 drivers/mmc/host/sdhci-pxav2.c      | 1 +
 drivers/mmc/host/sdhci-pxav3.c      | 1 +
 drivers/mmc/host/sdhci-s3c.c        | 1 +
 drivers/mmc/host/sdhci-sirf.c       | 1 +
 drivers/mmc/host/sdhci-spear.c      | 1 +
 drivers/mmc/host/sdhci-st.c         | 1 +
 drivers/mmc/host/sdhci-tegra.c      | 1 +
 drivers/mmc/host/sdhci_f_sdh30.c    | 1 +
 drivers/mmc/host/sh_mmcif.c         | 1 +
 drivers/mmc/host/sunxi-mmc.c        | 1 +
 drivers/mmc/host/tmio_mmc.c         | 1 +
 drivers/mmc/host/usdhi6rol0.c       | 1 +
 drivers/mmc/host/wbsd.c             | 1 +
 drivers/mmc/host/wmt-sdmmc.c        | 1 +
 44 files changed, 44 insertions(+)

diff --git a/drivers/mmc/host/android-goldfish.c b/drivers/mmc/host/android-goldfish.c
index ceb4924e02d0..e878fdf8f20a 100644
--- a/drivers/mmc/host/android-goldfish.c
+++ b/drivers/mmc/host/android-goldfish.c
@@ -537,6 +537,7 @@ static struct platform_driver goldfish_mmc_driver = {
 	.remove		= goldfish_mmc_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 300901415aa2..19d72eb0ec5a 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -2668,6 +2668,7 @@ static struct platform_driver atmci_driver = {
 	.remove		= atmci_remove,
 	.driver		= {
 		.name		= "atmel_mci",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= of_match_ptr(atmci_dt_ids),
 		.pm		= &atmci_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
index 9bb1910268ca..bd00515fbaba 100644
--- a/drivers/mmc/host/au1xmmc.c
+++ b/drivers/mmc/host/au1xmmc.c
@@ -1189,6 +1189,7 @@ static struct platform_driver au1xmmc_driver = {
 	.resume        = au1xmmc_resume,
 	.driver        = {
 		.name  = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 
diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
index a138e1ea6805..384e989f493a 100644
--- a/drivers/mmc/host/davinci_mmc.c
+++ b/drivers/mmc/host/davinci_mmc.c
@@ -1395,6 +1395,7 @@ static const struct dev_pm_ops davinci_mmcsd_pm = {
 static struct platform_driver davinci_mmcsd_driver = {
 	.driver		= {
 		.name	= "davinci_mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= davinci_mmcsd_pm_ops,
 		.of_match_table = davinci_mmc_dt_ids,
 	},
diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
index 95adeee07217..0c75810812a0 100644
--- a/drivers/mmc/host/dw_mmc-exynos.c
+++ b/drivers/mmc/host/dw_mmc-exynos.c
@@ -592,6 +592,7 @@ static struct platform_driver dw_mci_exynos_pltfm_driver = {
 	.remove		= dw_mci_exynos_remove,
 	.driver		= {
 		.name		= "dwmmc_exynos",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_exynos_match,
 		.pm		= &dw_mci_exynos_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
index 50977ff18074..ea7e6c734394 100644
--- a/drivers/mmc/host/dw_mmc-k3.c
+++ b/drivers/mmc/host/dw_mmc-k3.c
@@ -473,6 +473,7 @@ static struct platform_driver dw_mci_k3_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_k3",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_k3_match,
 		.pm		= &dw_mci_k3_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c
index 7de37f524a96..73731cd3ba23 100644
--- a/drivers/mmc/host/dw_mmc-pltfm.c
+++ b/drivers/mmc/host/dw_mmc-pltfm.c
@@ -98,6 +98,7 @@ static struct platform_driver dw_mci_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dw_mmc",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_pltfm_match,
 		.pm		= &dw_mci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c
index d4d02134848c..753502ce3c85 100644
--- a/drivers/mmc/host/dw_mmc-rockchip.c
+++ b/drivers/mmc/host/dw_mmc-rockchip.c
@@ -383,6 +383,7 @@ static struct platform_driver dw_mci_rockchip_pltfm_driver = {
 	.remove		= dw_mci_rockchip_remove,
 	.driver		= {
 		.name		= "dwmmc_rockchip",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_rockchip_match,
 		.pm		= &dw_mci_rockchip_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
index 21fd0939bb7b..e2a111e54097 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
@@ -1125,6 +1125,7 @@ static struct platform_driver jz4740_mmc_driver = {
 	.remove = jz4740_mmc_remove,
 	.driver = {
 		.name = "jz4740-mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(jz4740_mmc_of_match),
 		.pm = pm_ptr(&jz4740_mmc_pm_ops),
 	},
diff --git a/drivers/mmc/host/moxart-mmc.c b/drivers/mmc/host/moxart-mmc.c
index fc6b9cf27d0b..2bfb376fddc4 100644
--- a/drivers/mmc/host/moxart-mmc.c
+++ b/drivers/mmc/host/moxart-mmc.c
@@ -717,6 +717,7 @@ static struct platform_driver moxart_mmc_driver = {
 	.remove     = moxart_remove,
 	.driver     = {
 		.name		= "mmc-moxart",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= moxart_mmc_match,
 	},
 };
diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index ed2b24691b4f..691c928edab7 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -2689,6 +2689,7 @@ static struct platform_driver mt_msdc_driver = {
 	.remove = msdc_drv_remove,
 	.driver = {
 		.name = "mtk-msdc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = msdc_of_ids,
 		.pm = &msdc_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index cc0752a9df6d..629efbe639c4 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -824,6 +824,7 @@ static struct platform_driver mvsd_driver = {
 	.remove		= mvsd_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = mvsdio_dt_ids,
 	},
 };
diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
index b3d654c688e5..12ee07285980 100644
--- a/drivers/mmc/host/mxcmmc.c
+++ b/drivers/mmc/host/mxcmmc.c
@@ -1244,6 +1244,7 @@ static struct platform_driver mxcmci_driver = {
 	.id_table	= mxcmci_devtype,
 	.driver		= {
 		.name		= DRIVER_NAME,
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &mxcmci_pm_ops,
 		.of_match_table	= mxcmci_of_match,
 	}
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
index b1820def36c0..75007f61df97 100644
--- a/drivers/mmc/host/mxs-mmc.c
+++ b/drivers/mmc/host/mxs-mmc.c
@@ -726,6 +726,7 @@ static struct platform_driver mxs_mmc_driver = {
 	.id_table	= mxs_ssp_ids,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &mxs_mmc_pm_ops,
 		.of_match_table = mxs_mmc_dt_ids,
 	},
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 33d7af7c7762..6aa0537f1f84 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1504,6 +1504,7 @@ static struct platform_driver mmc_omap_driver = {
 	.remove		= mmc_omap_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(mmc_omap_match),
 	},
 };
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 37b8740513f5..036264443646 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2171,6 +2171,7 @@ static struct platform_driver omap_hsmmc_driver = {
 	.remove		= omap_hsmmc_remove,
 	.driver		= {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &omap_hsmmc_dev_pm_ops,
 		.of_match_table = of_match_ptr(omap_mmc_of_match),
 	},
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index 3a9333475a2b..29f6180a0036 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -811,6 +811,7 @@ static struct platform_driver pxamci_driver = {
 	.remove		= pxamci_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(pxa_mmc_dt_ids),
 	},
 };
diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c
index 2763a376b054..eb395e144207 100644
--- a/drivers/mmc/host/rtsx_pci_sdmmc.c
+++ b/drivers/mmc/host/rtsx_pci_sdmmc.c
@@ -1471,6 +1471,7 @@ static struct platform_driver rtsx_pci_sdmmc_driver = {
 	.id_table       = rtsx_pci_sdmmc_ids,
 	.driver		= {
 		.name	= DRV_NAME_RTSX_PCI_SDMMC,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 module_platform_driver(rtsx_pci_sdmmc_driver);
diff --git a/drivers/mmc/host/rtsx_usb_sdmmc.c b/drivers/mmc/host/rtsx_usb_sdmmc.c
index 7225d9312af8..598f49573f5d 100644
--- a/drivers/mmc/host/rtsx_usb_sdmmc.c
+++ b/drivers/mmc/host/rtsx_usb_sdmmc.c
@@ -1458,6 +1458,7 @@ static struct platform_driver rtsx_usb_sdmmc_driver = {
 	.id_table       = rtsx_usb_sdmmc_ids,
 	.driver		= {
 		.name	= "rtsx_usb_sdmmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &rtsx_usb_sdmmc_dev_pm_ops,
 	},
 };
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index a725fb1abce7..e3698aba8dd3 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -1804,6 +1804,7 @@ MODULE_DEVICE_TABLE(platform, s3cmci_driver_ids);
 static struct platform_driver s3cmci_driver = {
 	.driver	= {
 		.name	= "s3c-sdi",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = s3cmci_dt_match,
 	},
 	.id_table	= s3cmci_driver_ids,
diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c
index 284cba11e279..fc41d0451f20 100644
--- a/drivers/mmc/host/sdhci-acpi.c
+++ b/drivers/mmc/host/sdhci-acpi.c
@@ -1027,6 +1027,7 @@ static const struct dev_pm_ops sdhci_acpi_pm_ops = {
 static struct platform_driver sdhci_acpi_driver = {
 	.driver = {
 		.name			= "sdhci-acpi",
+		.probe_type		= PROBE_PREFER_ASYNCHRONOUS,
 		.acpi_match_table	= sdhci_acpi_ids,
 		.pm			= &sdhci_acpi_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-bcm-kona.c b/drivers/mmc/host/sdhci-bcm-kona.c
index a6c2bd202b45..4d4aac85cc7a 100644
--- a/drivers/mmc/host/sdhci-bcm-kona.c
+++ b/drivers/mmc/host/sdhci-bcm-kona.c
@@ -324,6 +324,7 @@ static int sdhci_bcm_kona_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_bcm_kona_driver = {
 	.driver		= {
 		.name	= "sdhci-kona",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = sdhci_bcm_kona_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-cns3xxx.c b/drivers/mmc/host/sdhci-cns3xxx.c
index 811eab1b8964..2a29c7a4f308 100644
--- a/drivers/mmc/host/sdhci-cns3xxx.c
+++ b/drivers/mmc/host/sdhci-cns3xxx.c
@@ -98,6 +98,7 @@ static int sdhci_cns3xxx_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_cns3xxx_driver = {
 	.driver		= {
 		.name	= "sdhci-cns3xxx",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 	},
 	.probe		= sdhci_cns3xxx_probe,
diff --git a/drivers/mmc/host/sdhci-dove.c b/drivers/mmc/host/sdhci-dove.c
index fe9da3122fe9..5e5bf82e5976 100644
--- a/drivers/mmc/host/sdhci-dove.c
+++ b/drivers/mmc/host/sdhci-dove.c
@@ -105,6 +105,7 @@ MODULE_DEVICE_TABLE(of, sdhci_dove_of_match_table);
 static struct platform_driver sdhci_dove_driver = {
 	.driver		= {
 		.name	= "sdhci-dove",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = sdhci_dove_of_match_table,
 	},
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 325e241b5f99..6a859616dcc7 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1925,6 +1925,7 @@ static const struct dev_pm_ops sdhci_esdhc_pmops = {
 static struct platform_driver sdhci_esdhc_imx_driver = {
 	.driver		= {
 		.name	= "sdhci-esdhc-imx",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = imx_esdhc_dt_ids,
 		.pm	= &sdhci_esdhc_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
index b540aa6faacb..c9434b461aab 100644
--- a/drivers/mmc/host/sdhci-iproc.c
+++ b/drivers/mmc/host/sdhci-iproc.c
@@ -369,6 +369,7 @@ static int sdhci_iproc_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_iproc_driver = {
 	.driver = {
 		.name = "sdhci-iproc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_iproc_of_match,
 		.acpi_match_table = ACPI_PTR(sdhci_iproc_acpi_ids),
 		.pm = &sdhci_pltfm_pmops,
diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
index 3aea46db2ea7..829ccef87426 100644
--- a/drivers/mmc/host/sdhci-of-arasan.c
+++ b/drivers/mmc/host/sdhci-of-arasan.c
@@ -1693,6 +1693,7 @@ static int sdhci_arasan_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_arasan_driver = {
 	.driver = {
 		.name = "sdhci-arasan",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_arasan_of_match,
 		.pm = &sdhci_arasan_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c
index 1ece2c50042c..5564d7b23e7c 100644
--- a/drivers/mmc/host/sdhci-of-at91.c
+++ b/drivers/mmc/host/sdhci-of-at91.c
@@ -465,6 +465,7 @@ static int sdhci_at91_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_at91_driver = {
 	.driver		= {
 		.name	= "sdhci-at91",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_at91_dt_match,
 		.pm	= &sdhci_at91_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
index 45881b309956..3a3340c9b8c9 100644
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -1468,6 +1468,7 @@ static int sdhci_esdhc_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_esdhc_driver = {
 	.driver = {
 		.name = "sdhci-esdhc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_esdhc_of_match,
 		.pm = &esdhc_of_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci-of-hlwd.c b/drivers/mmc/host/sdhci-of-hlwd.c
index da844a39af6e..12675797b296 100644
--- a/drivers/mmc/host/sdhci-of-hlwd.c
+++ b/drivers/mmc/host/sdhci-of-hlwd.c
@@ -80,6 +80,7 @@ MODULE_DEVICE_TABLE(of, sdhci_hlwd_of_match);
 static struct platform_driver sdhci_hlwd_driver = {
 	.driver = {
 		.name = "sdhci-hlwd",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_hlwd_of_match,
 		.pm = &sdhci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
index 9282bc4b8c41..f18906b5575f 100644
--- a/drivers/mmc/host/sdhci-pxav2.c
+++ b/drivers/mmc/host/sdhci-pxav2.c
@@ -226,6 +226,7 @@ static int sdhci_pxav2_probe(struct platform_device *pdev)
 static struct platform_driver sdhci_pxav2_driver = {
 	.driver		= {
 		.name	= "sdhci-pxav2",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_pxav2_of_match),
 		.pm	= &sdhci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index e55037ceda73..a6d89a3f1946 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -567,6 +567,7 @@ static const struct dev_pm_ops sdhci_pxav3_pmops = {
 static struct platform_driver sdhci_pxav3_driver = {
 	.driver		= {
 		.name	= "sdhci-pxav3",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_pxav3_of_match),
 		.pm	= &sdhci_pxav3_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
index 9194bb73e601..ae75bebbbfbf 100644
--- a/drivers/mmc/host/sdhci-s3c.c
+++ b/drivers/mmc/host/sdhci-s3c.c
@@ -784,6 +784,7 @@ static struct platform_driver sdhci_s3c_driver = {
 	.id_table	= sdhci_s3c_driver_ids,
 	.driver		= {
 		.name	= "s3c-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_s3c_dt_match),
 		.pm	= &sdhci_s3c_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-sirf.c b/drivers/mmc/host/sdhci-sirf.c
index f4b05dd6c20a..e9b347b3af7e 100644
--- a/drivers/mmc/host/sdhci-sirf.c
+++ b/drivers/mmc/host/sdhci-sirf.c
@@ -220,6 +220,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sirf_of_match);
 static struct platform_driver sdhci_sirf_driver = {
 	.driver		= {
 		.name	= "sdhci-sirf",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_sirf_of_match,
 		.pm	= &sdhci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-spear.c b/drivers/mmc/host/sdhci-spear.c
index b4b63089a4e2..d463e2fd5b1a 100644
--- a/drivers/mmc/host/sdhci-spear.c
+++ b/drivers/mmc/host/sdhci-spear.c
@@ -181,6 +181,7 @@ MODULE_DEVICE_TABLE(of, sdhci_spear_id_table);
 static struct platform_driver sdhci_driver = {
 	.driver = {
 		.name	= "sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pm_ops,
 		.of_match_table = of_match_ptr(sdhci_spear_id_table),
 	},
diff --git a/drivers/mmc/host/sdhci-st.c b/drivers/mmc/host/sdhci-st.c
index 1301cebfc3ea..4e9ff3e828ba 100644
--- a/drivers/mmc/host/sdhci-st.c
+++ b/drivers/mmc/host/sdhci-st.c
@@ -521,6 +521,7 @@ static struct platform_driver sdhci_st_driver = {
 	.remove = sdhci_st_remove,
 	.driver = {
 		   .name = "sdhci-st",
+		   .probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		   .pm = &sdhci_st_pmops,
 		   .of_match_table = of_match_ptr(st_sdhci_match),
 		  },
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 428cdc53c858..ed12aacb1c73 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -1782,6 +1782,7 @@ static SIMPLE_DEV_PM_OPS(sdhci_tegra_dev_pm_ops, sdhci_tegra_suspend,
 static struct platform_driver sdhci_tegra_driver = {
 	.driver		= {
 		.name	= "sdhci-tegra",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_tegra_dt_match,
 		.pm	= &sdhci_tegra_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci_f_sdh30.c b/drivers/mmc/host/sdhci_f_sdh30.c
index 4625cc071b61..3f5977979cf2 100644
--- a/drivers/mmc/host/sdhci_f_sdh30.c
+++ b/drivers/mmc/host/sdhci_f_sdh30.c
@@ -219,6 +219,7 @@ MODULE_DEVICE_TABLE(acpi, f_sdh30_acpi_ids);
 static struct platform_driver sdhci_f_sdh30_driver = {
 	.driver = {
 		.name = "f_sdh30",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(f_sdh30_dt_ids),
 		.acpi_match_table = ACPI_PTR(f_sdh30_acpi_ids),
 		.pm	= &sdhci_pltfm_pmops,
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 9f53634aa411..e5e457037235 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -1562,6 +1562,7 @@ static struct platform_driver sh_mmcif_driver = {
 	.remove		= sh_mmcif_remove,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sh_mmcif_dev_pm_ops,
 		.of_match_table = sh_mmcif_of_match,
 	},
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index 5e95bbc51644..fc62773602ec 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -1514,6 +1514,7 @@ static const struct dev_pm_ops sunxi_mmc_pm_ops = {
 static struct platform_driver sunxi_mmc_driver = {
 	.driver = {
 		.name	= "sunxi-mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sunxi_mmc_of_match),
 		.pm = &sunxi_mmc_pm_ops,
 	},
diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
index 757c90160ae4..d2d3b8df1bbe 100644
--- a/drivers/mmc/host/tmio_mmc.c
+++ b/drivers/mmc/host/tmio_mmc.c
@@ -213,6 +213,7 @@ static const struct dev_pm_ops tmio_mmc_dev_pm_ops = {
 static struct platform_driver tmio_mmc_driver = {
 	.driver = {
 		.name = "tmio-mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &tmio_mmc_dev_pm_ops,
 	},
 	.probe = tmio_mmc_probe,
diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c
index 369b8dee2e3d..f644f7035f16 100644
--- a/drivers/mmc/host/usdhi6rol0.c
+++ b/drivers/mmc/host/usdhi6rol0.c
@@ -1890,6 +1890,7 @@ static struct platform_driver usdhi6_driver = {
 	.remove		= usdhi6_remove,
 	.driver		= {
 		.name	= "usdhi6rol0",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = usdhi6_of_match,
 	},
 };
diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c
index 67f917d6ecd3..cd63ea865b77 100644
--- a/drivers/mmc/host/wbsd.c
+++ b/drivers/mmc/host/wbsd.c
@@ -1905,6 +1905,7 @@ static struct platform_driver wbsd_driver = {
 	.resume		= wbsd_platform_resume,
 	.driver		= {
 		.name	= DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 };
 
diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c
index 2c4ba1fa4bbf..cf10949fb0ac 100644
--- a/drivers/mmc/host/wmt-sdmmc.c
+++ b/drivers/mmc/host/wmt-sdmmc.c
@@ -990,6 +990,7 @@ static struct platform_driver wmt_mci_driver = {
 	.remove = wmt_mci_remove,
 	.driver = {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = wmt_mci_pm_ops,
 		.of_match_table = wmt_mci_dt_ids,
 	},
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 2/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
  2020-09-03 23:24 ` Douglas Anderson
@ 2020-09-03 23:24   ` Douglas Anderson
  -1 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: swboyd, Douglas Anderson, Adrian Hunter, Al Cooper,
	Florian Fainelli, bcm-kernel-feedback-list, linux-arm-kernel,
	linux-kernel, linux-mmc

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.9 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/sdhci-brcmstb.c | 1 +
 drivers/mmc/host/sdhci-pic32.c   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
index 876668827580..bbf3496f4495 100644
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
@@ -326,6 +326,7 @@ MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match);
 static struct platform_driver sdhci_brcmstb_driver = {
 	.driver		= {
 		.name	= "sdhci-brcmstb",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = of_match_ptr(sdhci_brcm_of_match),
 	},
diff --git a/drivers/mmc/host/sdhci-pic32.c b/drivers/mmc/host/sdhci-pic32.c
index a11e6397d4ff..6ce1519ae177 100644
--- a/drivers/mmc/host/sdhci-pic32.c
+++ b/drivers/mmc/host/sdhci-pic32.c
@@ -241,6 +241,7 @@ MODULE_DEVICE_TABLE(of, pic32_sdhci_id_table);
 static struct platform_driver pic32_sdhci_driver = {
 	.driver = {
 		.name	= "pic32-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(pic32_sdhci_id_table),
 	},
 	.probe		= pic32_sdhci_probe,
-- 
2.28.0.526.ge36021eeef-goog


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 2/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Florian Fainelli, linux-kernel, Al Cooper, linux-mmc,
	Adrian Hunter, Douglas Anderson, bcm-kernel-feedback-list,
	swboyd, linux-arm-kernel

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.9 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/sdhci-brcmstb.c | 1 +
 drivers/mmc/host/sdhci-pic32.c   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
index 876668827580..bbf3496f4495 100644
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
@@ -326,6 +326,7 @@ MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match);
 static struct platform_driver sdhci_brcmstb_driver = {
 	.driver		= {
 		.name	= "sdhci-brcmstb",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = of_match_ptr(sdhci_brcm_of_match),
 	},
diff --git a/drivers/mmc/host/sdhci-pic32.c b/drivers/mmc/host/sdhci-pic32.c
index a11e6397d4ff..6ce1519ae177 100644
--- a/drivers/mmc/host/sdhci-pic32.c
+++ b/drivers/mmc/host/sdhci-pic32.c
@@ -241,6 +241,7 @@ MODULE_DEVICE_TABLE(of, pic32_sdhci_id_table);
 static struct platform_driver pic32_sdhci_driver = {
 	.driver = {
 		.name	= "pic32-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(pic32_sdhci_id_table),
 	},
 	.probe		= pic32_sdhci_probe,
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
  2020-09-03 23:24 ` Douglas Anderson
  (?)
@ 2020-09-03 23:24   ` Douglas Anderson
  -1 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: swboyd, Douglas Anderson, Adrian Hunter, Florian Fainelli,
	Hu Ziji, Jaehoon Chung, Jerome Brunet, Jun Nie, Kevin Hilman,
	Krzysztof Kozlowski, Martin Blumenstingl, Neil Armstrong,
	Nicolas Saenz Julienne, Peter Ujfalusi, Ray Jui, Robert Richter,
	Saiyam Doshi, Scott Branden, Shawn Guo, Stefan Wahren,
	Wolfram Sang, bcm-kernel-feedback-list, linux-amlogic,
	linux-arm-kernel, linux-kernel, linux-mmc, linux-rpi-kernel

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.14 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/bcm2835.c                    | 1 +
 drivers/mmc/host/cavium-octeon.c              | 1 +
 drivers/mmc/host/dw_mmc-zx.c                  | 1 +
 drivers/mmc/host/meson-gx-mmc.c               | 1 +
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
 drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
 drivers/mmc/host/sdhci-cadence.c              | 1 +
 drivers/mmc/host/sdhci-xenon.c                | 1 +
 8 files changed, 8 insertions(+)

diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
index 35320bc9dc02..8c2361e66277 100644
--- a/drivers/mmc/host/bcm2835.c
+++ b/drivers/mmc/host/bcm2835.c
@@ -1474,6 +1474,7 @@ static struct platform_driver bcm2835_driver = {
 	.remove     = bcm2835_remove,
 	.driver     = {
 		.name		= "sdhost-bcm2835",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= bcm2835_match,
 	},
 };
diff --git a/drivers/mmc/host/cavium-octeon.c b/drivers/mmc/host/cavium-octeon.c
index e299cdd1e619..2c4b2df52adb 100644
--- a/drivers/mmc/host/cavium-octeon.c
+++ b/drivers/mmc/host/cavium-octeon.c
@@ -327,6 +327,7 @@ static struct platform_driver octeon_mmc_driver = {
 	.remove		= octeon_mmc_remove,
 	.driver		= {
 		.name	= KBUILD_MODNAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = octeon_mmc_match,
 	},
 };
diff --git a/drivers/mmc/host/dw_mmc-zx.c b/drivers/mmc/host/dw_mmc-zx.c
index d9e483432a61..51bcc6332f3a 100644
--- a/drivers/mmc/host/dw_mmc-zx.c
+++ b/drivers/mmc/host/dw_mmc-zx.c
@@ -222,6 +222,7 @@ static struct platform_driver dw_mci_zx_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_zx",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_zx_match,
 		.pm		= &dw_mci_zx_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index a68b43082f61..4ec41579940a 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -1264,6 +1264,7 @@ static struct platform_driver meson_mmc_driver = {
 	.remove		= meson_mmc_remove,
 	.driver		= {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mmc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
index 32ab991544ef..90b395a187fa 100644
--- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
@@ -357,6 +357,7 @@ static const struct dev_pm_ops renesas_sdhi_internal_dmac_dev_pm_ops = {
 static struct platform_driver renesas_internal_dmac_sdhi_driver = {
 	.driver		= {
 		.name	= "renesas_sdhi_internal_dmac",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &renesas_sdhi_internal_dmac_dev_pm_ops,
 		.of_match_table = renesas_sdhi_internal_dmac_of_match,
 	},
diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index 13ff023fbee9..c5f789675302 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -463,6 +463,7 @@ static const struct dev_pm_ops renesas_sdhi_sys_dmac_dev_pm_ops = {
 static struct platform_driver renesas_sys_dmac_sdhi_driver = {
 	.driver		= {
 		.name	= "sh_mobile_sdhi",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &renesas_sdhi_sys_dmac_dev_pm_ops,
 		.of_match_table = renesas_sdhi_sys_dmac_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cadence.c
index 4d9f7681817c..6f2de54a5987 100644
--- a/drivers/mmc/host/sdhci-cadence.c
+++ b/drivers/mmc/host/sdhci-cadence.c
@@ -463,6 +463,7 @@ MODULE_DEVICE_TABLE(of, sdhci_cdns_match);
 static struct platform_driver sdhci_cdns_driver = {
 	.driver = {
 		.name = "sdhci-cdns",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &sdhci_cdns_pm_ops,
 		.of_match_table = sdhci_cdns_match,
 	},
diff --git a/drivers/mmc/host/sdhci-xenon.c b/drivers/mmc/host/sdhci-xenon.c
index 4703cd540c7f..24c978de2a3f 100644
--- a/drivers/mmc/host/sdhci-xenon.c
+++ b/drivers/mmc/host/sdhci-xenon.c
@@ -677,6 +677,7 @@ MODULE_DEVICE_TABLE(of, sdhci_xenon_dt_ids);
 static struct platform_driver sdhci_xenon_driver = {
 	.driver	= {
 		.name	= "xenon-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_xenon_dt_ids,
 		.pm = &sdhci_xenon_dev_pm_ops,
 	},
-- 
2.28.0.526.ge36021eeef-goog


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Neil Armstrong, Douglas Anderson, Peter Ujfalusi, Wolfram Sang,
	Jerome Brunet, Florian Fainelli, Kevin Hilman,
	Krzysztof Kozlowski, Jaehoon Chung, bcm-kernel-feedback-list,
	Saiyam Doshi, Martin Blumenstingl, Ray Jui, swboyd,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Scott Branden,
	Hu Ziji, linux-mmc, Adrian Hunter, linux-kernel, Robert Richter,
	Stefan Wahren, Jun Nie, Shawn Guo, Nicolas Saenz Julienne

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.14 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/bcm2835.c                    | 1 +
 drivers/mmc/host/cavium-octeon.c              | 1 +
 drivers/mmc/host/dw_mmc-zx.c                  | 1 +
 drivers/mmc/host/meson-gx-mmc.c               | 1 +
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
 drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
 drivers/mmc/host/sdhci-cadence.c              | 1 +
 drivers/mmc/host/sdhci-xenon.c                | 1 +
 8 files changed, 8 insertions(+)

diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
index 35320bc9dc02..8c2361e66277 100644
--- a/drivers/mmc/host/bcm2835.c
+++ b/drivers/mmc/host/bcm2835.c
@@ -1474,6 +1474,7 @@ static struct platform_driver bcm2835_driver = {
 	.remove     = bcm2835_remove,
 	.driver     = {
 		.name		= "sdhost-bcm2835",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= bcm2835_match,
 	},
 };
diff --git a/drivers/mmc/host/cavium-octeon.c b/drivers/mmc/host/cavium-octeon.c
index e299cdd1e619..2c4b2df52adb 100644
--- a/drivers/mmc/host/cavium-octeon.c
+++ b/drivers/mmc/host/cavium-octeon.c
@@ -327,6 +327,7 @@ static struct platform_driver octeon_mmc_driver = {
 	.remove		= octeon_mmc_remove,
 	.driver		= {
 		.name	= KBUILD_MODNAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = octeon_mmc_match,
 	},
 };
diff --git a/drivers/mmc/host/dw_mmc-zx.c b/drivers/mmc/host/dw_mmc-zx.c
index d9e483432a61..51bcc6332f3a 100644
--- a/drivers/mmc/host/dw_mmc-zx.c
+++ b/drivers/mmc/host/dw_mmc-zx.c
@@ -222,6 +222,7 @@ static struct platform_driver dw_mci_zx_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_zx",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_zx_match,
 		.pm		= &dw_mci_zx_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index a68b43082f61..4ec41579940a 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -1264,6 +1264,7 @@ static struct platform_driver meson_mmc_driver = {
 	.remove		= meson_mmc_remove,
 	.driver		= {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mmc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
index 32ab991544ef..90b395a187fa 100644
--- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
@@ -357,6 +357,7 @@ static const struct dev_pm_ops renesas_sdhi_internal_dmac_dev_pm_ops = {
 static struct platform_driver renesas_internal_dmac_sdhi_driver = {
 	.driver		= {
 		.name	= "renesas_sdhi_internal_dmac",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &renesas_sdhi_internal_dmac_dev_pm_ops,
 		.of_match_table = renesas_sdhi_internal_dmac_of_match,
 	},
diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index 13ff023fbee9..c5f789675302 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -463,6 +463,7 @@ static const struct dev_pm_ops renesas_sdhi_sys_dmac_dev_pm_ops = {
 static struct platform_driver renesas_sys_dmac_sdhi_driver = {
 	.driver		= {
 		.name	= "sh_mobile_sdhi",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &renesas_sdhi_sys_dmac_dev_pm_ops,
 		.of_match_table = renesas_sdhi_sys_dmac_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cadence.c
index 4d9f7681817c..6f2de54a5987 100644
--- a/drivers/mmc/host/sdhci-cadence.c
+++ b/drivers/mmc/host/sdhci-cadence.c
@@ -463,6 +463,7 @@ MODULE_DEVICE_TABLE(of, sdhci_cdns_match);
 static struct platform_driver sdhci_cdns_driver = {
 	.driver = {
 		.name = "sdhci-cdns",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &sdhci_cdns_pm_ops,
 		.of_match_table = sdhci_cdns_match,
 	},
diff --git a/drivers/mmc/host/sdhci-xenon.c b/drivers/mmc/host/sdhci-xenon.c
index 4703cd540c7f..24c978de2a3f 100644
--- a/drivers/mmc/host/sdhci-xenon.c
+++ b/drivers/mmc/host/sdhci-xenon.c
@@ -677,6 +677,7 @@ MODULE_DEVICE_TABLE(of, sdhci_xenon_dt_ids);
 static struct platform_driver sdhci_xenon_driver = {
 	.driver	= {
 		.name	= "xenon-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_xenon_dt_ids,
 		.pm = &sdhci_xenon_dev_pm_ops,
 	},
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Neil Armstrong, Douglas Anderson, Peter Ujfalusi, Wolfram Sang,
	Jerome Brunet, Florian Fainelli, Kevin Hilman,
	Krzysztof Kozlowski, Jaehoon Chung, bcm-kernel-feedback-list,
	Saiyam Doshi, Martin Blumenstingl, Ray Jui, swboyd,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Scott Branden,
	Hu Ziji, linux-mmc, Adrian Hunter, linux-kernel, Robert Richter,
	Stefan Wahren, Jun Nie, Shawn Guo, Nicolas Saenz Julienne

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.14 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/bcm2835.c                    | 1 +
 drivers/mmc/host/cavium-octeon.c              | 1 +
 drivers/mmc/host/dw_mmc-zx.c                  | 1 +
 drivers/mmc/host/meson-gx-mmc.c               | 1 +
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
 drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
 drivers/mmc/host/sdhci-cadence.c              | 1 +
 drivers/mmc/host/sdhci-xenon.c                | 1 +
 8 files changed, 8 insertions(+)

diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
index 35320bc9dc02..8c2361e66277 100644
--- a/drivers/mmc/host/bcm2835.c
+++ b/drivers/mmc/host/bcm2835.c
@@ -1474,6 +1474,7 @@ static struct platform_driver bcm2835_driver = {
 	.remove     = bcm2835_remove,
 	.driver     = {
 		.name		= "sdhost-bcm2835",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= bcm2835_match,
 	},
 };
diff --git a/drivers/mmc/host/cavium-octeon.c b/drivers/mmc/host/cavium-octeon.c
index e299cdd1e619..2c4b2df52adb 100644
--- a/drivers/mmc/host/cavium-octeon.c
+++ b/drivers/mmc/host/cavium-octeon.c
@@ -327,6 +327,7 @@ static struct platform_driver octeon_mmc_driver = {
 	.remove		= octeon_mmc_remove,
 	.driver		= {
 		.name	= KBUILD_MODNAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = octeon_mmc_match,
 	},
 };
diff --git a/drivers/mmc/host/dw_mmc-zx.c b/drivers/mmc/host/dw_mmc-zx.c
index d9e483432a61..51bcc6332f3a 100644
--- a/drivers/mmc/host/dw_mmc-zx.c
+++ b/drivers/mmc/host/dw_mmc-zx.c
@@ -222,6 +222,7 @@ static struct platform_driver dw_mci_zx_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_zx",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_zx_match,
 		.pm		= &dw_mci_zx_dev_pm_ops,
 	},
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index a68b43082f61..4ec41579940a 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -1264,6 +1264,7 @@ static struct platform_driver meson_mmc_driver = {
 	.remove		= meson_mmc_remove,
 	.driver		= {
 		.name = DRIVER_NAME,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mmc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
index 32ab991544ef..90b395a187fa 100644
--- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
@@ -357,6 +357,7 @@ static const struct dev_pm_ops renesas_sdhi_internal_dmac_dev_pm_ops = {
 static struct platform_driver renesas_internal_dmac_sdhi_driver = {
 	.driver		= {
 		.name	= "renesas_sdhi_internal_dmac",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &renesas_sdhi_internal_dmac_dev_pm_ops,
 		.of_match_table = renesas_sdhi_internal_dmac_of_match,
 	},
diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index 13ff023fbee9..c5f789675302 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -463,6 +463,7 @@ static const struct dev_pm_ops renesas_sdhi_sys_dmac_dev_pm_ops = {
 static struct platform_driver renesas_sys_dmac_sdhi_driver = {
 	.driver		= {
 		.name	= "sh_mobile_sdhi",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &renesas_sdhi_sys_dmac_dev_pm_ops,
 		.of_match_table = renesas_sdhi_sys_dmac_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cadence.c
index 4d9f7681817c..6f2de54a5987 100644
--- a/drivers/mmc/host/sdhci-cadence.c
+++ b/drivers/mmc/host/sdhci-cadence.c
@@ -463,6 +463,7 @@ MODULE_DEVICE_TABLE(of, sdhci_cdns_match);
 static struct platform_driver sdhci_cdns_driver = {
 	.driver = {
 		.name = "sdhci-cdns",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm = &sdhci_cdns_pm_ops,
 		.of_match_table = sdhci_cdns_match,
 	},
diff --git a/drivers/mmc/host/sdhci-xenon.c b/drivers/mmc/host/sdhci-xenon.c
index 4703cd540c7f..24c978de2a3f 100644
--- a/drivers/mmc/host/sdhci-xenon.c
+++ b/drivers/mmc/host/sdhci-xenon.c
@@ -677,6 +677,7 @@ MODULE_DEVICE_TABLE(of, sdhci_xenon_dt_ids);
 static struct platform_driver sdhci_xenon_driver = {
 	.driver	= {
 		.name	= "xenon-sdhci",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_xenon_dt_ids,
 		.pm = &sdhci_xenon_dev_pm_ops,
 	},
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 4/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
  2020-09-03 23:24 ` Douglas Anderson
  (?)
@ 2020-09-03 23:24   ` Douglas Anderson
  -1 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: swboyd, Douglas Anderson, Adrian Hunter, Jaehoon Chung,
	Jerome Brunet, Kevin Hilman, Kishon Vijay Abraham I,
	Martin Blumenstingl, Neil Armstrong, linux-amlogic,
	linux-arm-kernel, linux-kernel, linux-mmc

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.19 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/dw_mmc-bluefield.c   | 1 +
 drivers/mmc/host/dw_mmc-hi3798cv200.c | 1 +
 drivers/mmc/host/meson-mx-sdio.c      | 1 +
 drivers/mmc/host/sdhci-of-dwcmshc.c   | 1 +
 drivers/mmc/host/sdhci-omap.c         | 1 +
 5 files changed, 5 insertions(+)

diff --git a/drivers/mmc/host/dw_mmc-bluefield.c b/drivers/mmc/host/dw_mmc-bluefield.c
index aa38b1a8017e..10baf122bc15 100644
--- a/drivers/mmc/host/dw_mmc-bluefield.c
+++ b/drivers/mmc/host/dw_mmc-bluefield.c
@@ -55,6 +55,7 @@ static struct platform_driver dw_mci_bluefield_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_bluefield",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_bluefield_match,
 		.pm		= &dw_mci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-hi3798cv200.c b/drivers/mmc/host/dw_mmc-hi3798cv200.c
index 83e1bad0a008..39794f93826f 100644
--- a/drivers/mmc/host/dw_mmc-hi3798cv200.c
+++ b/drivers/mmc/host/dw_mmc-hi3798cv200.c
@@ -200,6 +200,7 @@ static struct platform_driver dw_mci_hi3798cv200_driver = {
 	.remove = dw_mci_hi3798cv200_remove,
 	.driver = {
 		.name = "dwmmc_hi3798cv200",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = dw_mci_hi3798cv200_match,
 	},
 };
diff --git a/drivers/mmc/host/meson-mx-sdio.c b/drivers/mmc/host/meson-mx-sdio.c
index 9b2cf7afc246..a6ff8b4ad1a5 100644
--- a/drivers/mmc/host/meson-mx-sdio.c
+++ b/drivers/mmc/host/meson-mx-sdio.c
@@ -755,6 +755,7 @@ static struct platform_driver meson_mx_mmc_driver = {
 	.remove  = meson_mx_mmc_remove,
 	.driver  = {
 		.name = "meson-mx-sdio",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mx_mmc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
index 64ac0dbee95c..4b673792b5a4 100644
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -214,6 +214,7 @@ MODULE_DEVICE_TABLE(of, sdhci_dwcmshc_dt_ids);
 static struct platform_driver sdhci_dwcmshc_driver = {
 	.driver	= {
 		.name	= "sdhci-dwcmshc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_dwcmshc_dt_ids,
 		.pm = &dwcmshc_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-omap.c b/drivers/mmc/host/sdhci-omap.c
index 1ec74c2d5c17..7893fd3599b6 100644
--- a/drivers/mmc/host/sdhci-omap.c
+++ b/drivers/mmc/host/sdhci-omap.c
@@ -1297,6 +1297,7 @@ static struct platform_driver sdhci_omap_driver = {
 	.remove = sdhci_omap_remove,
 	.driver = {
 		   .name = "sdhci-omap",
+		   .probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		   .pm = &sdhci_omap_dev_pm_ops,
 		   .of_match_table = omap_sdhci_match,
 		  },
-- 
2.28.0.526.ge36021eeef-goog


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 4/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Kishon Vijay Abraham I, linux-kernel, Neil Armstrong,
	Martin Blumenstingl, Kevin Hilman, linux-mmc, Adrian Hunter,
	Douglas Anderson, Jaehoon Chung, linux-amlogic, swboyd,
	linux-arm-kernel, Jerome Brunet

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.19 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/dw_mmc-bluefield.c   | 1 +
 drivers/mmc/host/dw_mmc-hi3798cv200.c | 1 +
 drivers/mmc/host/meson-mx-sdio.c      | 1 +
 drivers/mmc/host/sdhci-of-dwcmshc.c   | 1 +
 drivers/mmc/host/sdhci-omap.c         | 1 +
 5 files changed, 5 insertions(+)

diff --git a/drivers/mmc/host/dw_mmc-bluefield.c b/drivers/mmc/host/dw_mmc-bluefield.c
index aa38b1a8017e..10baf122bc15 100644
--- a/drivers/mmc/host/dw_mmc-bluefield.c
+++ b/drivers/mmc/host/dw_mmc-bluefield.c
@@ -55,6 +55,7 @@ static struct platform_driver dw_mci_bluefield_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_bluefield",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_bluefield_match,
 		.pm		= &dw_mci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-hi3798cv200.c b/drivers/mmc/host/dw_mmc-hi3798cv200.c
index 83e1bad0a008..39794f93826f 100644
--- a/drivers/mmc/host/dw_mmc-hi3798cv200.c
+++ b/drivers/mmc/host/dw_mmc-hi3798cv200.c
@@ -200,6 +200,7 @@ static struct platform_driver dw_mci_hi3798cv200_driver = {
 	.remove = dw_mci_hi3798cv200_remove,
 	.driver = {
 		.name = "dwmmc_hi3798cv200",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = dw_mci_hi3798cv200_match,
 	},
 };
diff --git a/drivers/mmc/host/meson-mx-sdio.c b/drivers/mmc/host/meson-mx-sdio.c
index 9b2cf7afc246..a6ff8b4ad1a5 100644
--- a/drivers/mmc/host/meson-mx-sdio.c
+++ b/drivers/mmc/host/meson-mx-sdio.c
@@ -755,6 +755,7 @@ static struct platform_driver meson_mx_mmc_driver = {
 	.remove  = meson_mx_mmc_remove,
 	.driver  = {
 		.name = "meson-mx-sdio",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mx_mmc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
index 64ac0dbee95c..4b673792b5a4 100644
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -214,6 +214,7 @@ MODULE_DEVICE_TABLE(of, sdhci_dwcmshc_dt_ids);
 static struct platform_driver sdhci_dwcmshc_driver = {
 	.driver	= {
 		.name	= "sdhci-dwcmshc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_dwcmshc_dt_ids,
 		.pm = &dwcmshc_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-omap.c b/drivers/mmc/host/sdhci-omap.c
index 1ec74c2d5c17..7893fd3599b6 100644
--- a/drivers/mmc/host/sdhci-omap.c
+++ b/drivers/mmc/host/sdhci-omap.c
@@ -1297,6 +1297,7 @@ static struct platform_driver sdhci_omap_driver = {
 	.remove = sdhci_omap_remove,
 	.driver = {
 		   .name = "sdhci-omap",
+		   .probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		   .pm = &sdhci_omap_dev_pm_ops,
 		   .of_match_table = omap_sdhci_match,
 		  },
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 4/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Kishon Vijay Abraham I, linux-kernel, Neil Armstrong,
	Martin Blumenstingl, Kevin Hilman, linux-mmc, Adrian Hunter,
	Douglas Anderson, Jaehoon Chung, linux-amlogic, swboyd,
	linux-arm-kernel, Jerome Brunet

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v4.19 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/dw_mmc-bluefield.c   | 1 +
 drivers/mmc/host/dw_mmc-hi3798cv200.c | 1 +
 drivers/mmc/host/meson-mx-sdio.c      | 1 +
 drivers/mmc/host/sdhci-of-dwcmshc.c   | 1 +
 drivers/mmc/host/sdhci-omap.c         | 1 +
 5 files changed, 5 insertions(+)

diff --git a/drivers/mmc/host/dw_mmc-bluefield.c b/drivers/mmc/host/dw_mmc-bluefield.c
index aa38b1a8017e..10baf122bc15 100644
--- a/drivers/mmc/host/dw_mmc-bluefield.c
+++ b/drivers/mmc/host/dw_mmc-bluefield.c
@@ -55,6 +55,7 @@ static struct platform_driver dw_mci_bluefield_pltfm_driver = {
 	.remove		= dw_mci_pltfm_remove,
 	.driver		= {
 		.name		= "dwmmc_bluefield",
+		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table	= dw_mci_bluefield_match,
 		.pm		= &dw_mci_pltfm_pmops,
 	},
diff --git a/drivers/mmc/host/dw_mmc-hi3798cv200.c b/drivers/mmc/host/dw_mmc-hi3798cv200.c
index 83e1bad0a008..39794f93826f 100644
--- a/drivers/mmc/host/dw_mmc-hi3798cv200.c
+++ b/drivers/mmc/host/dw_mmc-hi3798cv200.c
@@ -200,6 +200,7 @@ static struct platform_driver dw_mci_hi3798cv200_driver = {
 	.remove = dw_mci_hi3798cv200_remove,
 	.driver = {
 		.name = "dwmmc_hi3798cv200",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = dw_mci_hi3798cv200_match,
 	},
 };
diff --git a/drivers/mmc/host/meson-mx-sdio.c b/drivers/mmc/host/meson-mx-sdio.c
index 9b2cf7afc246..a6ff8b4ad1a5 100644
--- a/drivers/mmc/host/meson-mx-sdio.c
+++ b/drivers/mmc/host/meson-mx-sdio.c
@@ -755,6 +755,7 @@ static struct platform_driver meson_mx_mmc_driver = {
 	.remove  = meson_mx_mmc_remove,
 	.driver  = {
 		.name = "meson-mx-sdio",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mx_mmc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
index 64ac0dbee95c..4b673792b5a4 100644
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -214,6 +214,7 @@ MODULE_DEVICE_TABLE(of, sdhci_dwcmshc_dt_ids);
 static struct platform_driver sdhci_dwcmshc_driver = {
 	.driver	= {
 		.name	= "sdhci-dwcmshc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_dwcmshc_dt_ids,
 		.pm = &dwcmshc_pmops,
 	},
diff --git a/drivers/mmc/host/sdhci-omap.c b/drivers/mmc/host/sdhci-omap.c
index 1ec74c2d5c17..7893fd3599b6 100644
--- a/drivers/mmc/host/sdhci-omap.c
+++ b/drivers/mmc/host/sdhci-omap.c
@@ -1297,6 +1297,7 @@ static struct platform_driver sdhci_omap_driver = {
 	.remove = sdhci_omap_remove,
 	.driver = {
 		   .name = "sdhci-omap",
+		   .probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		   .pm = &sdhci_omap_dev_pm_ops,
 		   .of_match_table = omap_sdhci_match,
 		  },
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 5/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
  2020-09-03 23:24 ` Douglas Anderson
@ 2020-09-03 23:24   ` Douglas Anderson
  -1 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: swboyd, Douglas Anderson, Adrian Hunter, Andrew Jeffery,
	Baolin Wang, Christophe JAILLET, Chunyan Zhang, Joel Stanley,
	Masahiro Yamada, Orson Zhai, linux-arm-kernel, linux-aspeed,
	linux-kernel, linux-mmc

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v5.4 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/alcor.c           | 1 +
 drivers/mmc/host/sdhci-of-aspeed.c | 2 ++
 drivers/mmc/host/sdhci-sprd.c      | 1 +
 drivers/mmc/host/sdhci_am654.c     | 1 +
 drivers/mmc/host/uniphier-sd.c     | 1 +
 5 files changed, 6 insertions(+)

diff --git a/drivers/mmc/host/alcor.c b/drivers/mmc/host/alcor.c
index 026ca9194ce5..bfb8efeb7eb8 100644
--- a/drivers/mmc/host/alcor.c
+++ b/drivers/mmc/host/alcor.c
@@ -1178,6 +1178,7 @@ static struct platform_driver alcor_pci_sdmmc_driver = {
 	.id_table	= alcor_pci_sdmmc_ids,
 	.driver		= {
 		.name	= DRV_NAME_ALCOR_PCI_SDMMC,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &alcor_mmc_pm_ops
 	},
 };
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c
index a1bcc0f4ba9e..4f008ba3280e 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -240,6 +240,7 @@ static const struct of_device_id aspeed_sdhci_of_match[] = {
 static struct platform_driver aspeed_sdhci_driver = {
 	.driver		= {
 		.name	= "sdhci-aspeed",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = aspeed_sdhci_of_match,
 	},
 	.probe		= aspeed_sdhci_probe,
@@ -318,6 +319,7 @@ MODULE_DEVICE_TABLE(of, aspeed_sdc_of_match);
 static struct platform_driver aspeed_sdc_driver = {
 	.driver		= {
 		.name	= "sd-controller-aspeed",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = aspeed_sdc_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
index a910cb461ed7..f88d38e34a23 100644
--- a/drivers/mmc/host/sdhci-sprd.c
+++ b/drivers/mmc/host/sdhci-sprd.c
@@ -787,6 +787,7 @@ static struct platform_driver sdhci_sprd_driver = {
 	.remove = sdhci_sprd_remove,
 	.driver = {
 		.name = "sdhci_sprd_r11",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_sprd_of_match),
 		.pm = &sdhci_sprd_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index c5f47197d177..a4c6d9d80e88 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -745,6 +745,7 @@ static int sdhci_am654_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_am654_driver = {
 	.driver = {
 		.name = "sdhci-am654",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_am654_of_match,
 	},
 	.probe = sdhci_am654_probe,
diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c
index 55efd5c53249..3092466a99ab 100644
--- a/drivers/mmc/host/uniphier-sd.c
+++ b/drivers/mmc/host/uniphier-sd.c
@@ -685,6 +685,7 @@ static struct platform_driver uniphier_sd_driver = {
 	.remove = uniphier_sd_remove,
 	.driver = {
 		.name = "uniphier-sd",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = uniphier_sd_match,
 	},
 };
-- 
2.28.0.526.ge36021eeef-goog


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 5/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: linux-kernel, linux-aspeed, Andrew Jeffery, Chunyan Zhang,
	linux-mmc, Adrian Hunter, Douglas Anderson, Masahiro Yamada,
	Christophe JAILLET, Joel Stanley, Baolin Wang, Orson Zhai,
	swboyd, linux-arm-kernel

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to be around in the v5.4 timeframe.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/alcor.c           | 1 +
 drivers/mmc/host/sdhci-of-aspeed.c | 2 ++
 drivers/mmc/host/sdhci-sprd.c      | 1 +
 drivers/mmc/host/sdhci_am654.c     | 1 +
 drivers/mmc/host/uniphier-sd.c     | 1 +
 5 files changed, 6 insertions(+)

diff --git a/drivers/mmc/host/alcor.c b/drivers/mmc/host/alcor.c
index 026ca9194ce5..bfb8efeb7eb8 100644
--- a/drivers/mmc/host/alcor.c
+++ b/drivers/mmc/host/alcor.c
@@ -1178,6 +1178,7 @@ static struct platform_driver alcor_pci_sdmmc_driver = {
 	.id_table	= alcor_pci_sdmmc_ids,
 	.driver		= {
 		.name	= DRV_NAME_ALCOR_PCI_SDMMC,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &alcor_mmc_pm_ops
 	},
 };
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c
index a1bcc0f4ba9e..4f008ba3280e 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -240,6 +240,7 @@ static const struct of_device_id aspeed_sdhci_of_match[] = {
 static struct platform_driver aspeed_sdhci_driver = {
 	.driver		= {
 		.name	= "sdhci-aspeed",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = aspeed_sdhci_of_match,
 	},
 	.probe		= aspeed_sdhci_probe,
@@ -318,6 +319,7 @@ MODULE_DEVICE_TABLE(of, aspeed_sdc_of_match);
 static struct platform_driver aspeed_sdc_driver = {
 	.driver		= {
 		.name	= "sd-controller-aspeed",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.pm	= &sdhci_pltfm_pmops,
 		.of_match_table = aspeed_sdc_of_match,
 	},
diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
index a910cb461ed7..f88d38e34a23 100644
--- a/drivers/mmc/host/sdhci-sprd.c
+++ b/drivers/mmc/host/sdhci-sprd.c
@@ -787,6 +787,7 @@ static struct platform_driver sdhci_sprd_driver = {
 	.remove = sdhci_sprd_remove,
 	.driver = {
 		.name = "sdhci_sprd_r11",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(sdhci_sprd_of_match),
 		.pm = &sdhci_sprd_pm_ops,
 	},
diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index c5f47197d177..a4c6d9d80e88 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -745,6 +745,7 @@ static int sdhci_am654_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_am654_driver = {
 	.driver = {
 		.name = "sdhci-am654",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_am654_of_match,
 	},
 	.probe = sdhci_am654_probe,
diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c
index 55efd5c53249..3092466a99ab 100644
--- a/drivers/mmc/host/uniphier-sd.c
+++ b/drivers/mmc/host/uniphier-sd.c
@@ -685,6 +685,7 @@ static struct platform_driver uniphier_sd_driver = {
 	.remove = uniphier_sd_remove,
 	.driver = {
 		.name = "uniphier-sd",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = uniphier_sd_match,
 	},
 };
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
  2020-09-03 23:24 ` Douglas Anderson
  (?)
@ 2020-09-03 23:24   ` Douglas Anderson
  -1 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: swboyd, Douglas Anderson, Adrian Hunter, Andreas Färber,
	Angelo Dureghello, Jerome Brunet, Kevin Hilman, Lars Povlsen,
	Manivannan Sadhasivam, Martin Blumenstingl,
	Microchip Linux Driver Support, Neil Armstrong, Steen Hegelund,
	linux-amlogic, linux-arm-kernel, linux-kernel, linux-mmc

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to have been added after kernel 5.4.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
 drivers/mmc/host/owl-mmc.c           | 1 +
 drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
 drivers/mmc/host/sdhci-milbeaut.c    | 1 +
 drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
 5 files changed, 5 insertions(+)

diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c
index 53e3f6a4245a..7cd9c0ec2fcf 100644
--- a/drivers/mmc/host/meson-mx-sdhc-mmc.c
+++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c
@@ -903,6 +903,7 @@ static struct platform_driver meson_mx_sdhc_driver = {
 	.remove  = meson_mx_sdhc_remove,
 	.driver  = {
 		.name = "meson-mx-sdhc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mx_sdhc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
index df43f42855e2..ccf214a89eda 100644
--- a/drivers/mmc/host/owl-mmc.c
+++ b/drivers/mmc/host/owl-mmc.c
@@ -689,6 +689,7 @@ MODULE_DEVICE_TABLE(of, owl_mmc_of_match);
 static struct platform_driver owl_mmc_driver = {
 	.driver = {
 		.name	= "owl_mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = owl_mmc_of_match,
 	},
 	.probe		= owl_mmc_probe,
diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
index 71bf086a9812..ca7a1690b2a8 100644
--- a/drivers/mmc/host/sdhci-esdhc-mcf.c
+++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
@@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_esdhc_mcf_driver = {
 	.driver	= {
 		.name = "sdhci-esdhc-mcf",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 	.probe = sdhci_esdhc_mcf_probe,
 	.remove = sdhci_esdhc_mcf_remove,
diff --git a/drivers/mmc/host/sdhci-milbeaut.c b/drivers/mmc/host/sdhci-milbeaut.c
index 4e7cc0680f94..148b37ac6564 100644
--- a/drivers/mmc/host/sdhci-milbeaut.c
+++ b/drivers/mmc/host/sdhci-milbeaut.c
@@ -333,6 +333,7 @@ static int sdhci_milbeaut_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_milbeaut_driver = {
 	.driver = {
 		.name = "sdhci-milbeaut",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(mlb_dt_ids),
 	},
 	.probe	= sdhci_milbeaut_probe,
diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
index 747f108a0ace..28e4ee69e100 100644
--- a/drivers/mmc/host/sdhci-of-sparx5.c
+++ b/drivers/mmc/host/sdhci-of-sparx5.c
@@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
 static struct platform_driver sdhci_sparx5_driver = {
 	.driver = {
 		.name = "sdhci-sparx5",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_sparx5_of_match,
 		.pm = &sdhci_pltfm_pmops,
 	},
-- 
2.28.0.526.ge36021eeef-goog


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: linux-kernel, Neil Armstrong, Martin Blumenstingl, Kevin Hilman,
	Steen Hegelund, Manivannan Sadhasivam, linux-mmc, Adrian Hunter,
	Douglas Anderson, Microchip Linux Driver Support,
	linux-arm-kernel, Andreas Färber, linux-amlogic, swboyd,
	Angelo Dureghello, Lars Povlsen, Jerome Brunet

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to have been added after kernel 5.4.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
 drivers/mmc/host/owl-mmc.c           | 1 +
 drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
 drivers/mmc/host/sdhci-milbeaut.c    | 1 +
 drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
 5 files changed, 5 insertions(+)

diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c
index 53e3f6a4245a..7cd9c0ec2fcf 100644
--- a/drivers/mmc/host/meson-mx-sdhc-mmc.c
+++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c
@@ -903,6 +903,7 @@ static struct platform_driver meson_mx_sdhc_driver = {
 	.remove  = meson_mx_sdhc_remove,
 	.driver  = {
 		.name = "meson-mx-sdhc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mx_sdhc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
index df43f42855e2..ccf214a89eda 100644
--- a/drivers/mmc/host/owl-mmc.c
+++ b/drivers/mmc/host/owl-mmc.c
@@ -689,6 +689,7 @@ MODULE_DEVICE_TABLE(of, owl_mmc_of_match);
 static struct platform_driver owl_mmc_driver = {
 	.driver = {
 		.name	= "owl_mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = owl_mmc_of_match,
 	},
 	.probe		= owl_mmc_probe,
diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
index 71bf086a9812..ca7a1690b2a8 100644
--- a/drivers/mmc/host/sdhci-esdhc-mcf.c
+++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
@@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_esdhc_mcf_driver = {
 	.driver	= {
 		.name = "sdhci-esdhc-mcf",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 	.probe = sdhci_esdhc_mcf_probe,
 	.remove = sdhci_esdhc_mcf_remove,
diff --git a/drivers/mmc/host/sdhci-milbeaut.c b/drivers/mmc/host/sdhci-milbeaut.c
index 4e7cc0680f94..148b37ac6564 100644
--- a/drivers/mmc/host/sdhci-milbeaut.c
+++ b/drivers/mmc/host/sdhci-milbeaut.c
@@ -333,6 +333,7 @@ static int sdhci_milbeaut_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_milbeaut_driver = {
 	.driver = {
 		.name = "sdhci-milbeaut",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(mlb_dt_ids),
 	},
 	.probe	= sdhci_milbeaut_probe,
diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
index 747f108a0ace..28e4ee69e100 100644
--- a/drivers/mmc/host/sdhci-of-sparx5.c
+++ b/drivers/mmc/host/sdhci-of-sparx5.c
@@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
 static struct platform_driver sdhci_sparx5_driver = {
 	.driver = {
 		.name = "sdhci-sparx5",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_sparx5_of_match,
 		.pm = &sdhci_pltfm_pmops,
 	},
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-03 23:24   ` Douglas Anderson
  0 siblings, 0 replies; 45+ messages in thread
From: Douglas Anderson @ 2020-09-03 23:24 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: linux-kernel, Neil Armstrong, Martin Blumenstingl, Kevin Hilman,
	Steen Hegelund, Manivannan Sadhasivam, linux-mmc, Adrian Hunter,
	Douglas Anderson, Microchip Linux Driver Support,
	linux-arm-kernel, Andreas Färber, linux-amlogic, swboyd,
	Angelo Dureghello, Lars Povlsen, Jerome Brunet

This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe") but applied to a whole pile of drivers.  This batch converts
the drivers that appeared to have been added after kernel 5.4.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
 drivers/mmc/host/owl-mmc.c           | 1 +
 drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
 drivers/mmc/host/sdhci-milbeaut.c    | 1 +
 drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
 5 files changed, 5 insertions(+)

diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c
index 53e3f6a4245a..7cd9c0ec2fcf 100644
--- a/drivers/mmc/host/meson-mx-sdhc-mmc.c
+++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c
@@ -903,6 +903,7 @@ static struct platform_driver meson_mx_sdhc_driver = {
 	.remove  = meson_mx_sdhc_remove,
 	.driver  = {
 		.name = "meson-mx-sdhc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(meson_mx_sdhc_of_match),
 	},
 };
diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
index df43f42855e2..ccf214a89eda 100644
--- a/drivers/mmc/host/owl-mmc.c
+++ b/drivers/mmc/host/owl-mmc.c
@@ -689,6 +689,7 @@ MODULE_DEVICE_TABLE(of, owl_mmc_of_match);
 static struct platform_driver owl_mmc_driver = {
 	.driver = {
 		.name	= "owl_mmc",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = owl_mmc_of_match,
 	},
 	.probe		= owl_mmc_probe,
diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
index 71bf086a9812..ca7a1690b2a8 100644
--- a/drivers/mmc/host/sdhci-esdhc-mcf.c
+++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
@@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_esdhc_mcf_driver = {
 	.driver	= {
 		.name = "sdhci-esdhc-mcf",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 	.probe = sdhci_esdhc_mcf_probe,
 	.remove = sdhci_esdhc_mcf_remove,
diff --git a/drivers/mmc/host/sdhci-milbeaut.c b/drivers/mmc/host/sdhci-milbeaut.c
index 4e7cc0680f94..148b37ac6564 100644
--- a/drivers/mmc/host/sdhci-milbeaut.c
+++ b/drivers/mmc/host/sdhci-milbeaut.c
@@ -333,6 +333,7 @@ static int sdhci_milbeaut_remove(struct platform_device *pdev)
 static struct platform_driver sdhci_milbeaut_driver = {
 	.driver = {
 		.name = "sdhci-milbeaut",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = of_match_ptr(mlb_dt_ids),
 	},
 	.probe	= sdhci_milbeaut_probe,
diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
index 747f108a0ace..28e4ee69e100 100644
--- a/drivers/mmc/host/sdhci-of-sparx5.c
+++ b/drivers/mmc/host/sdhci-of-sparx5.c
@@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
 static struct platform_driver sdhci_sparx5_driver = {
 	.driver = {
 		.name = "sdhci-sparx5",
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = sdhci_sparx5_of_match,
 		.pm = &sdhci_pltfm_pmops,
 	},
-- 
2.28.0.526.ge36021eeef-goog


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* Re: [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
  2020-09-03 23:24   ` Douglas Anderson
  (?)
@ 2020-09-04  6:35     ` Wolfram Sang
  -1 siblings, 0 replies; 45+ messages in thread
From: Wolfram Sang @ 2020-09-04  6:35 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, swboyd, Adrian Hunter, Florian Fainelli, Hu Ziji,
	Jaehoon Chung, Jerome Brunet, Jun Nie, Kevin Hilman,
	Krzysztof Kozlowski, Martin Blumenstingl, Neil Armstrong,
	Nicolas Saenz Julienne, Peter Ujfalusi, Ray Jui, Robert Richter,
	Saiyam Doshi, Scott Branden, Shawn Guo, Stefan Wahren,
	bcm-kernel-feedback-list, linux-amlogic, linux-arm-kernel,
	linux-kernel, linux-mmc, linux-rpi-kernel

[-- Attachment #1: Type: text/plain, Size: 892 bytes --]

On Thu, Sep 03, 2020 at 04:24:38PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.14 timeframe.

The LTS granularity of patches is a nice idea! I will keep it in mind.

> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

In general, I like more coverage of async probing. It makes sense for
SD/MMC, I think.

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
>  drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +

For these two also:

Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # SDHI drivers

The speedups somewhat match the expected values and no regressions when
checksumming a large file.


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
@ 2020-09-04  6:35     ` Wolfram Sang
  0 siblings, 0 replies; 45+ messages in thread
From: Wolfram Sang @ 2020-09-04  6:35 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, Neil Armstrong, linux-kernel, Peter Ujfalusi,
	Hu Ziji, Jerome Brunet, Florian Fainelli, Kevin Hilman,
	Krzysztof Kozlowski, Jaehoon Chung, bcm-kernel-feedback-list,
	Saiyam Doshi, Martin Blumenstingl, Ray Jui, swboyd,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Scott Branden,
	linux-mmc, Adrian Hunter, Robert Richter, Stefan Wahren, Jun Nie,
	Shawn Guo, Nicolas Saenz Julienne


[-- Attachment #1.1: Type: text/plain, Size: 892 bytes --]

On Thu, Sep 03, 2020 at 04:24:38PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.14 timeframe.

The LTS granularity of patches is a nice idea! I will keep it in mind.

> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

In general, I like more coverage of async probing. It makes sense for
SD/MMC, I think.

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
>  drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +

For these two also:

Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # SDHI drivers

The speedups somewhat match the expected values and no regressions when
checksumming a large file.


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
@ 2020-09-04  6:35     ` Wolfram Sang
  0 siblings, 0 replies; 45+ messages in thread
From: Wolfram Sang @ 2020-09-04  6:35 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, Neil Armstrong, linux-kernel, Peter Ujfalusi,
	Hu Ziji, Jerome Brunet, Florian Fainelli, Kevin Hilman,
	Krzysztof Kozlowski, Jaehoon Chung, bcm-kernel-feedback-list,
	Saiyam Doshi, Martin Blumenstingl, Ray Jui, swboyd,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Scott Branden,
	linux-mmc, Adrian Hunter, Robert Richter, Stefan Wahren, Jun Nie,
	Shawn Guo, Nicolas Saenz Julienne


[-- Attachment #1.1: Type: text/plain, Size: 892 bytes --]

On Thu, Sep 03, 2020 at 04:24:38PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.14 timeframe.

The LTS granularity of patches is a nice idea! I will keep it in mind.

> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

In general, I like more coverage of async probing. It makes sense for
SD/MMC, I think.

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
>  drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +

For these two also:

Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # SDHI drivers

The speedups somewhat match the expected values and no regressions when
checksumming a large file.


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
  2020-09-03 23:24   ` Douglas Anderson
@ 2020-09-04  6:36     ` Wolfram Sang
  -1 siblings, 0 replies; 45+ messages in thread
From: Wolfram Sang @ 2020-09-04  6:36 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, Heiko Stuebner, Geert Uytterhoeven, Yangtao Li,
	H. Nikolaus Schaller, Linus Walleij, Alexandre Belloni,
	Michal Simek, Paul Cercueil, linux-tegra, Thierry Reding,
	linux-arm-kernel, Shawn Guo, Fabio Estevam, Marek Vasut,
	Jesper Nilsson, Florian Fainelli, Anson Huang, Aaro Koskinen,
	Lee Jones, Ludovic Desroches, Krzysztof Kozlowski,
	Jonathan Hunter, Jaehoon Chung, linux-rockchip, Chen-Yu Tsai,
	Kukjin Kim, bcm-kernel-feedback-list, NXP Linux Team,
	Pierre Ossman, linux-omap, Ray Jui, Sascha Hauer, Nicolas Ferre,
	Maxime Ripard, swboyd, Rui Miguel Silva, linux-samsung-soc,
	linux-mediatek, Lars Persson, Ben Dooks, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Chaotian Jing,
	linux-arm-kernel, Peter Ujfalusi, Barry Song, Scott Branden,
	Nicolas Pitre, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-mmc,
	Adrian Hunter, linux-kernel, Tony Prisk, Vinod Koul,
	Patrice Chotard, Pengutronix Kernel Team, Viresh Kumar,
	Eugen Hristev, Ricky Wu


[-- Attachment #1.1: Type: text/plain, Size: 579 bytes --]

On Thu, Sep 03, 2020 at 04:24:36PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.4 timeframe.
> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Positive comments from patch 3 apply here, too.

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

>  drivers/mmc/host/sh_mmcif.c         | 1 +

Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # SH_MMCIF


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
@ 2020-09-04  6:36     ` Wolfram Sang
  0 siblings, 0 replies; 45+ messages in thread
From: Wolfram Sang @ 2020-09-04  6:36 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, Heiko Stuebner, Geert Uytterhoeven, Yangtao Li,
	H. Nikolaus Schaller, Linus Walleij, Alexandre Belloni,
	Michal Simek, Paul Cercueil, linux-tegra, Thierry Reding,
	linux-arm-kernel, Shawn Guo, Fabio Estevam, Marek Vasut,
	Jesper Nilsson, Florian Fainelli, Anson Huang, Aaro Koskinen,
	Lee Jones, Ludovic Desroches, Krzysztof Kozlowski,
	Jonathan Hunter, Jaehoon Chung, linux-rockchip, Chen-Yu Tsai,
	Kukjin Kim, bcm-kernel-feedback-list, NXP Linux Team,
	Pierre Ossman, linux-omap, Ray Jui, Sascha Hauer, Nicolas Ferre,
	Maxime Ripard, swboyd, Rui Miguel Silva, linux-samsung-soc,
	linux-mediatek, Lars Persson, Ben Dooks, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Chaotian Jing,
	linux-arm-kernel, Peter Ujfalusi, Barry Song, Scott Branden,
	Nicolas Pitre, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-mmc,
	Adrian Hunter, linux-kernel, Tony Prisk, Vinod Koul,
	Patrice Chotard, Pengutronix Kernel Team, Viresh Kumar,
	Eugen Hristev, Ricky Wu


[-- Attachment #1.1: Type: text/plain, Size: 579 bytes --]

On Thu, Sep 03, 2020 at 04:24:36PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.4 timeframe.
> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Positive comments from patch 3 apply here, too.

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

>  drivers/mmc/host/sh_mmcif.c         | 1 +

Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # SH_MMCIF


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
  2020-09-03 23:24   ` Douglas Anderson
  (?)
@ 2020-09-04  8:14     ` Lars Povlsen
  -1 siblings, 0 replies; 45+ messages in thread
From: Lars Povlsen @ 2020-09-04  8:14 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, swboyd, Adrian Hunter, Andreas Färber,
	Angelo Dureghello, Jerome Brunet, Kevin Hilman, Lars Povlsen,
	Manivannan Sadhasivam, Martin Blumenstingl,
	Microchip Linux Driver Support, Neil Armstrong, Steen Hegelund,
	linux-amlogic, linux-arm-kernel, linux-kernel, linux-mmc


Douglas Anderson writes:

> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
>
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)
>

[snip]

> diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
> index 747f108a0ace..28e4ee69e100 100644
> --- a/drivers/mmc/host/sdhci-of-sparx5.c
> +++ b/drivers/mmc/host/sdhci-of-sparx5.c
> @@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
>  static struct platform_driver sdhci_sparx5_driver = {
>         .driver = {
>                 .name = "sdhci-sparx5",
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>                 .of_match_table = sdhci_sparx5_of_match,
>                 .pm = &sdhci_pltfm_pmops,
>         },

Acked-by: Lars Povlsen <lars.povlsen@microchip.com>

-- 
Lars Povlsen,
Microchip

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-04  8:14     ` Lars Povlsen
  0 siblings, 0 replies; 45+ messages in thread
From: Lars Povlsen @ 2020-09-04  8:14 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, linux-kernel, Neil Armstrong, Martin Blumenstingl,
	Kevin Hilman, Steen Hegelund, linux-mmc, Adrian Hunter,
	Andreas Färber, Microchip Linux Driver Support,
	linux-arm-kernel, Manivannan Sadhasivam, linux-amlogic, swboyd,
	Angelo Dureghello, Lars Povlsen, Jerome Brunet


Douglas Anderson writes:

> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
>
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)
>

[snip]

> diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
> index 747f108a0ace..28e4ee69e100 100644
> --- a/drivers/mmc/host/sdhci-of-sparx5.c
> +++ b/drivers/mmc/host/sdhci-of-sparx5.c
> @@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
>  static struct platform_driver sdhci_sparx5_driver = {
>         .driver = {
>                 .name = "sdhci-sparx5",
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>                 .of_match_table = sdhci_sparx5_of_match,
>                 .pm = &sdhci_pltfm_pmops,
>         },

Acked-by: Lars Povlsen <lars.povlsen@microchip.com>

-- 
Lars Povlsen,
Microchip

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-04  8:14     ` Lars Povlsen
  0 siblings, 0 replies; 45+ messages in thread
From: Lars Povlsen @ 2020-09-04  8:14 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, linux-kernel, Neil Armstrong, Martin Blumenstingl,
	Kevin Hilman, Steen Hegelund, linux-mmc, Adrian Hunter,
	Andreas Färber, Microchip Linux Driver Support,
	linux-arm-kernel, Manivannan Sadhasivam, linux-amlogic, swboyd,
	Angelo Dureghello, Lars Povlsen, Jerome Brunet


Douglas Anderson writes:

> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
>
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)
>

[snip]

> diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
> index 747f108a0ace..28e4ee69e100 100644
> --- a/drivers/mmc/host/sdhci-of-sparx5.c
> +++ b/drivers/mmc/host/sdhci-of-sparx5.c
> @@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
>  static struct platform_driver sdhci_sparx5_driver = {
>         .driver = {
>                 .name = "sdhci-sparx5",
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>                 .of_match_table = sdhci_sparx5_of_match,
>                 .pm = &sdhci_pltfm_pmops,
>         },

Acked-by: Lars Povlsen <lars.povlsen@microchip.com>

-- 
Lars Povlsen,
Microchip

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
  2020-09-03 23:24   ` Douglas Anderson
  (?)
@ 2020-09-04  9:33     ` Angelo Dureghello
  -1 siblings, 0 replies; 45+ messages in thread
From: Angelo Dureghello @ 2020-09-04  9:33 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, swboyd, Adrian Hunter, Andreas Färber,
	Jerome Brunet, Kevin Hilman, Lars Povlsen, Manivannan Sadhasivam,
	Martin Blumenstingl, Microchip Linux Driver Support,
	Neil Armstrong, Steen Hegelund, linux-amlogic, linux-arm-kernel,
	linux-kernel, linux-mmc

On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:

> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
>
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)


[snip]

>
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
> index 71bf086a9812..ca7a1690b2a8 100644
> --- a/drivers/mmc/host/sdhci-esdhc-mcf.c
> +++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
> @@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_esdhc_mcf_driver = {
>         .driver = {
>                 .name = "sdhci-esdhc-mcf",
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>         },
>         .probe = sdhci_esdhc_mcf_probe,
>         .remove = sdhci_esdhc_mcf_remove,
>

Acked-by: Angelo Dureghello <angelo.dureghello@timesys.com>

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-04  9:33     ` Angelo Dureghello
  0 siblings, 0 replies; 45+ messages in thread
From: Angelo Dureghello @ 2020-09-04  9:33 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, linux-kernel, Neil Armstrong, Martin Blumenstingl,
	Kevin Hilman, Steen Hegelund, linux-mmc, Adrian Hunter, swboyd,
	linux-arm-kernel, Manivannan Sadhasivam, linux-amlogic,
	Microchip Linux Driver Support, Andreas Färber,
	Lars Povlsen, Jerome Brunet

On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:

> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
>
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)


[snip]

>
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
> index 71bf086a9812..ca7a1690b2a8 100644
> --- a/drivers/mmc/host/sdhci-esdhc-mcf.c
> +++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
> @@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_esdhc_mcf_driver = {
>         .driver = {
>                 .name = "sdhci-esdhc-mcf",
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>         },
>         .probe = sdhci_esdhc_mcf_probe,
>         .remove = sdhci_esdhc_mcf_remove,
>

Acked-by: Angelo Dureghello <angelo.dureghello@timesys.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-04  9:33     ` Angelo Dureghello
  0 siblings, 0 replies; 45+ messages in thread
From: Angelo Dureghello @ 2020-09-04  9:33 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, linux-kernel, Neil Armstrong, Martin Blumenstingl,
	Kevin Hilman, Steen Hegelund, linux-mmc, Adrian Hunter, swboyd,
	linux-arm-kernel, Manivannan Sadhasivam, linux-amlogic,
	Microchip Linux Driver Support, Andreas Färber,
	Lars Povlsen, Jerome Brunet

On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:

> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
>
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)


[snip]

>
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
> index 71bf086a9812..ca7a1690b2a8 100644
> --- a/drivers/mmc/host/sdhci-esdhc-mcf.c
> +++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
> @@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_esdhc_mcf_driver = {
>         .driver = {
>                 .name = "sdhci-esdhc-mcf",
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>         },
>         .probe = sdhci_esdhc_mcf_probe,
>         .remove = sdhci_esdhc_mcf_remove,
>

Acked-by: Angelo Dureghello <angelo.dureghello@timesys.com>

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
  2020-09-03 23:24   ` Douglas Anderson
  (?)
@ 2020-09-04 10:42     ` Manivannan Sadhasivam
  -1 siblings, 0 replies; 45+ messages in thread
From: Manivannan Sadhasivam @ 2020-09-04 10:42 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, swboyd, Adrian Hunter, Andreas Färber,
	Angelo Dureghello, Jerome Brunet, Kevin Hilman, Lars Povlsen,
	Martin Blumenstingl, Microchip Linux Driver Support,
	Neil Armstrong, Steen Hegelund, linux-amlogic, linux-arm-kernel,
	linux-kernel, linux-mmc

On 0903, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
> 

Backporting made easy ;)

> Signed-off-by: Douglas Anderson <dianders@chromium.org>

For owl-mmc,

Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Thanks,
Mani

> ---
> 
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)
> 
> diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c
> index 53e3f6a4245a..7cd9c0ec2fcf 100644
> --- a/drivers/mmc/host/meson-mx-sdhc-mmc.c
> +++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c
> @@ -903,6 +903,7 @@ static struct platform_driver meson_mx_sdhc_driver = {
>  	.remove  = meson_mx_sdhc_remove,
>  	.driver  = {
>  		.name = "meson-mx-sdhc",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = of_match_ptr(meson_mx_sdhc_of_match),
>  	},
>  };
> diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
> index df43f42855e2..ccf214a89eda 100644
> --- a/drivers/mmc/host/owl-mmc.c
> +++ b/drivers/mmc/host/owl-mmc.c
> @@ -689,6 +689,7 @@ MODULE_DEVICE_TABLE(of, owl_mmc_of_match);
>  static struct platform_driver owl_mmc_driver = {
>  	.driver = {
>  		.name	= "owl_mmc",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = owl_mmc_of_match,
>  	},
>  	.probe		= owl_mmc_probe,
> diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
> index 71bf086a9812..ca7a1690b2a8 100644
> --- a/drivers/mmc/host/sdhci-esdhc-mcf.c
> +++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
> @@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_esdhc_mcf_driver = {
>  	.driver	= {
>  		.name = "sdhci-esdhc-mcf",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  	},
>  	.probe = sdhci_esdhc_mcf_probe,
>  	.remove = sdhci_esdhc_mcf_remove,
> diff --git a/drivers/mmc/host/sdhci-milbeaut.c b/drivers/mmc/host/sdhci-milbeaut.c
> index 4e7cc0680f94..148b37ac6564 100644
> --- a/drivers/mmc/host/sdhci-milbeaut.c
> +++ b/drivers/mmc/host/sdhci-milbeaut.c
> @@ -333,6 +333,7 @@ static int sdhci_milbeaut_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_milbeaut_driver = {
>  	.driver = {
>  		.name = "sdhci-milbeaut",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = of_match_ptr(mlb_dt_ids),
>  	},
>  	.probe	= sdhci_milbeaut_probe,
> diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
> index 747f108a0ace..28e4ee69e100 100644
> --- a/drivers/mmc/host/sdhci-of-sparx5.c
> +++ b/drivers/mmc/host/sdhci-of-sparx5.c
> @@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
>  static struct platform_driver sdhci_sparx5_driver = {
>  	.driver = {
>  		.name = "sdhci-sparx5",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = sdhci_sparx5_of_match,
>  		.pm = &sdhci_pltfm_pmops,
>  	},
> -- 
> 2.28.0.526.ge36021eeef-goog
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-04 10:42     ` Manivannan Sadhasivam
  0 siblings, 0 replies; 45+ messages in thread
From: Manivannan Sadhasivam @ 2020-09-04 10:42 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, linux-kernel, Neil Armstrong, Martin Blumenstingl,
	Kevin Hilman, Steen Hegelund, linux-mmc, Adrian Hunter,
	Andreas Färber, Microchip Linux Driver Support,
	linux-arm-kernel, linux-amlogic, swboyd, Angelo Dureghello,
	Lars Povlsen, Jerome Brunet

On 0903, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
> 

Backporting made easy ;)

> Signed-off-by: Douglas Anderson <dianders@chromium.org>

For owl-mmc,

Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Thanks,
Mani

> ---
> 
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)
> 
> diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c
> index 53e3f6a4245a..7cd9c0ec2fcf 100644
> --- a/drivers/mmc/host/meson-mx-sdhc-mmc.c
> +++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c
> @@ -903,6 +903,7 @@ static struct platform_driver meson_mx_sdhc_driver = {
>  	.remove  = meson_mx_sdhc_remove,
>  	.driver  = {
>  		.name = "meson-mx-sdhc",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = of_match_ptr(meson_mx_sdhc_of_match),
>  	},
>  };
> diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
> index df43f42855e2..ccf214a89eda 100644
> --- a/drivers/mmc/host/owl-mmc.c
> +++ b/drivers/mmc/host/owl-mmc.c
> @@ -689,6 +689,7 @@ MODULE_DEVICE_TABLE(of, owl_mmc_of_match);
>  static struct platform_driver owl_mmc_driver = {
>  	.driver = {
>  		.name	= "owl_mmc",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = owl_mmc_of_match,
>  	},
>  	.probe		= owl_mmc_probe,
> diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
> index 71bf086a9812..ca7a1690b2a8 100644
> --- a/drivers/mmc/host/sdhci-esdhc-mcf.c
> +++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
> @@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_esdhc_mcf_driver = {
>  	.driver	= {
>  		.name = "sdhci-esdhc-mcf",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  	},
>  	.probe = sdhci_esdhc_mcf_probe,
>  	.remove = sdhci_esdhc_mcf_remove,
> diff --git a/drivers/mmc/host/sdhci-milbeaut.c b/drivers/mmc/host/sdhci-milbeaut.c
> index 4e7cc0680f94..148b37ac6564 100644
> --- a/drivers/mmc/host/sdhci-milbeaut.c
> +++ b/drivers/mmc/host/sdhci-milbeaut.c
> @@ -333,6 +333,7 @@ static int sdhci_milbeaut_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_milbeaut_driver = {
>  	.driver = {
>  		.name = "sdhci-milbeaut",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = of_match_ptr(mlb_dt_ids),
>  	},
>  	.probe	= sdhci_milbeaut_probe,
> diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
> index 747f108a0ace..28e4ee69e100 100644
> --- a/drivers/mmc/host/sdhci-of-sparx5.c
> +++ b/drivers/mmc/host/sdhci-of-sparx5.c
> @@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
>  static struct platform_driver sdhci_sparx5_driver = {
>  	.driver = {
>  		.name = "sdhci-sparx5",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = sdhci_sparx5_of_match,
>  		.pm = &sdhci_pltfm_pmops,
>  	},
> -- 
> 2.28.0.526.ge36021eeef-goog
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
@ 2020-09-04 10:42     ` Manivannan Sadhasivam
  0 siblings, 0 replies; 45+ messages in thread
From: Manivannan Sadhasivam @ 2020-09-04 10:42 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, linux-kernel, Neil Armstrong, Martin Blumenstingl,
	Kevin Hilman, Steen Hegelund, linux-mmc, Adrian Hunter,
	Andreas Färber, Microchip Linux Driver Support,
	linux-arm-kernel, linux-amlogic, swboyd, Angelo Dureghello,
	Lars Povlsen, Jerome Brunet

On 0903, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to have been added after kernel 5.4.
> 

Backporting made easy ;)

> Signed-off-by: Douglas Anderson <dianders@chromium.org>

For owl-mmc,

Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Thanks,
Mani

> ---
> 
>  drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
>  drivers/mmc/host/owl-mmc.c           | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c   | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c    | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c   | 1 +
>  5 files changed, 5 insertions(+)
> 
> diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c
> index 53e3f6a4245a..7cd9c0ec2fcf 100644
> --- a/drivers/mmc/host/meson-mx-sdhc-mmc.c
> +++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c
> @@ -903,6 +903,7 @@ static struct platform_driver meson_mx_sdhc_driver = {
>  	.remove  = meson_mx_sdhc_remove,
>  	.driver  = {
>  		.name = "meson-mx-sdhc",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = of_match_ptr(meson_mx_sdhc_of_match),
>  	},
>  };
> diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
> index df43f42855e2..ccf214a89eda 100644
> --- a/drivers/mmc/host/owl-mmc.c
> +++ b/drivers/mmc/host/owl-mmc.c
> @@ -689,6 +689,7 @@ MODULE_DEVICE_TABLE(of, owl_mmc_of_match);
>  static struct platform_driver owl_mmc_driver = {
>  	.driver = {
>  		.name	= "owl_mmc",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = owl_mmc_of_match,
>  	},
>  	.probe		= owl_mmc_probe,
> diff --git a/drivers/mmc/host/sdhci-esdhc-mcf.c b/drivers/mmc/host/sdhci-esdhc-mcf.c
> index 71bf086a9812..ca7a1690b2a8 100644
> --- a/drivers/mmc/host/sdhci-esdhc-mcf.c
> +++ b/drivers/mmc/host/sdhci-esdhc-mcf.c
> @@ -509,6 +509,7 @@ static int sdhci_esdhc_mcf_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_esdhc_mcf_driver = {
>  	.driver	= {
>  		.name = "sdhci-esdhc-mcf",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  	},
>  	.probe = sdhci_esdhc_mcf_probe,
>  	.remove = sdhci_esdhc_mcf_remove,
> diff --git a/drivers/mmc/host/sdhci-milbeaut.c b/drivers/mmc/host/sdhci-milbeaut.c
> index 4e7cc0680f94..148b37ac6564 100644
> --- a/drivers/mmc/host/sdhci-milbeaut.c
> +++ b/drivers/mmc/host/sdhci-milbeaut.c
> @@ -333,6 +333,7 @@ static int sdhci_milbeaut_remove(struct platform_device *pdev)
>  static struct platform_driver sdhci_milbeaut_driver = {
>  	.driver = {
>  		.name = "sdhci-milbeaut",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = of_match_ptr(mlb_dt_ids),
>  	},
>  	.probe	= sdhci_milbeaut_probe,
> diff --git a/drivers/mmc/host/sdhci-of-sparx5.c b/drivers/mmc/host/sdhci-of-sparx5.c
> index 747f108a0ace..28e4ee69e100 100644
> --- a/drivers/mmc/host/sdhci-of-sparx5.c
> +++ b/drivers/mmc/host/sdhci-of-sparx5.c
> @@ -255,6 +255,7 @@ MODULE_DEVICE_TABLE(of, sdhci_sparx5_of_match);
>  static struct platform_driver sdhci_sparx5_driver = {
>  	.driver = {
>  		.name = "sdhci-sparx5",
> +		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
>  		.of_match_table = sdhci_sparx5_of_match,
>  		.pm = &sdhci_pltfm_pmops,
>  	},
> -- 
> 2.28.0.526.ge36021eeef-goog
> 

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
  2020-09-03 23:24   ` Douglas Anderson
@ 2020-09-04 13:28     ` Thierry Reding
  -1 siblings, 0 replies; 45+ messages in thread
From: Thierry Reding @ 2020-09-04 13:28 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, Heiko Stuebner, Geert Uytterhoeven, Yangtao Li,
	H. Nikolaus Schaller, Linus Walleij, Alexandre Belloni,
	Michal Simek, Paul Cercueil, Wolfram Sang, linux-arm-kernel,
	Shawn Guo, Fabio Estevam, Marek Vasut, Jesper Nilsson,
	Florian Fainelli, Anson Huang, Aaro Koskinen, Lee Jones,
	Ludovic Desroches, Krzysztof Kozlowski, Jonathan Hunter,
	Jaehoon Chung, linux-rockchip, Chen-Yu Tsai, Kukjin Kim,
	bcm-kernel-feedback-list, NXP Linux Team, Pierre Ossman,
	linux-tegra, linux-omap, Ray Jui, Sascha Hauer, Nicolas Ferre,
	Maxime Ripard, swboyd, Rui Miguel Silva, linux-samsung-soc,
	linux-mediatek, Lars Persson, Ben Dooks, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Chaotian Jing,
	linux-arm-kernel, Peter Ujfalusi, Barry Song, Scott Branden,
	Nicolas Pitre, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-mmc,
	Adrian Hunter, linux-kernel, Tony Prisk, Vinod Koul,
	Patrice Chotard, Pengutronix Kernel Team, Viresh Kumar,
	Eugen Hristev, Ricky Wu


[-- Attachment #1.1: Type: text/plain, Size: 2237 bytes --]

On Thu, Sep 03, 2020 at 04:24:36PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.4 timeframe.
> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
> 
>  drivers/mmc/host/android-goldfish.c | 1 +
>  drivers/mmc/host/atmel-mci.c        | 1 +
>  drivers/mmc/host/au1xmmc.c          | 1 +
>  drivers/mmc/host/davinci_mmc.c      | 1 +
>  drivers/mmc/host/dw_mmc-exynos.c    | 1 +
>  drivers/mmc/host/dw_mmc-k3.c        | 1 +
>  drivers/mmc/host/dw_mmc-pltfm.c     | 1 +
>  drivers/mmc/host/dw_mmc-rockchip.c  | 1 +
>  drivers/mmc/host/jz4740_mmc.c       | 1 +
>  drivers/mmc/host/moxart-mmc.c       | 1 +
>  drivers/mmc/host/mtk-sd.c           | 1 +
>  drivers/mmc/host/mvsdio.c           | 1 +
>  drivers/mmc/host/mxcmmc.c           | 1 +
>  drivers/mmc/host/mxs-mmc.c          | 1 +
>  drivers/mmc/host/omap.c             | 1 +
>  drivers/mmc/host/omap_hsmmc.c       | 1 +
>  drivers/mmc/host/pxamci.c           | 1 +
>  drivers/mmc/host/rtsx_pci_sdmmc.c   | 1 +
>  drivers/mmc/host/rtsx_usb_sdmmc.c   | 1 +
>  drivers/mmc/host/s3cmci.c           | 1 +
>  drivers/mmc/host/sdhci-acpi.c       | 1 +
>  drivers/mmc/host/sdhci-bcm-kona.c   | 1 +
>  drivers/mmc/host/sdhci-cns3xxx.c    | 1 +
>  drivers/mmc/host/sdhci-dove.c       | 1 +
>  drivers/mmc/host/sdhci-esdhc-imx.c  | 1 +
>  drivers/mmc/host/sdhci-iproc.c      | 1 +
>  drivers/mmc/host/sdhci-of-arasan.c  | 1 +
>  drivers/mmc/host/sdhci-of-at91.c    | 1 +
>  drivers/mmc/host/sdhci-of-esdhc.c   | 1 +
>  drivers/mmc/host/sdhci-of-hlwd.c    | 1 +
>  drivers/mmc/host/sdhci-pxav2.c      | 1 +
>  drivers/mmc/host/sdhci-pxav3.c      | 1 +
>  drivers/mmc/host/sdhci-s3c.c        | 1 +
>  drivers/mmc/host/sdhci-sirf.c       | 1 +
>  drivers/mmc/host/sdhci-spear.c      | 1 +
>  drivers/mmc/host/sdhci-st.c         | 1 +
>  drivers/mmc/host/sdhci-tegra.c      | 1 +

I do see a failure on Tegra124, but comparing to recent test results
from linux-next that seems to be a preexisting problem, so:

Tested-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
@ 2020-09-04 13:28     ` Thierry Reding
  0 siblings, 0 replies; 45+ messages in thread
From: Thierry Reding @ 2020-09-04 13:28 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Ulf Hansson, Heiko Stuebner, Geert Uytterhoeven, Yangtao Li,
	H. Nikolaus Schaller, Linus Walleij, Alexandre Belloni,
	Michal Simek, Paul Cercueil, Wolfram Sang, linux-arm-kernel,
	Shawn Guo, Fabio Estevam, Marek Vasut, Jesper Nilsson,
	Florian Fainelli, Anson Huang, Aaro Koskinen, Lee Jones,
	Ludovic Desroches, Krzysztof Kozlowski, Jonathan Hunter,
	Jaehoon Chung, linux-rockchip, Chen-Yu Tsai, Kukjin Kim,
	bcm-kernel-feedback-list, NXP Linux Team, Pierre Ossman,
	linux-tegra, linux-omap, Ray Jui, Sascha Hauer, Nicolas Ferre,
	Maxime Ripard, swboyd, Rui Miguel Silva, linux-samsung-soc,
	linux-mediatek, Lars Persson, Ben Dooks, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Chaotian Jing,
	linux-arm-kernel, Peter Ujfalusi, Barry Song, Scott Branden,
	Nicolas Pitre, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-mmc,
	Adrian Hunter, linux-kernel, Tony Prisk, Vinod Koul,
	Patrice Chotard, Pengutronix Kernel Team, Viresh Kumar,
	Eugen Hristev, Ricky Wu


[-- Attachment #1.1: Type: text/plain, Size: 2237 bytes --]

On Thu, Sep 03, 2020 at 04:24:36PM -0700, Douglas Anderson wrote:
> This is like commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe") but applied to a whole pile of drivers.  This batch converts
> the drivers that appeared to be around in the v4.4 timeframe.
> 
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
> 
>  drivers/mmc/host/android-goldfish.c | 1 +
>  drivers/mmc/host/atmel-mci.c        | 1 +
>  drivers/mmc/host/au1xmmc.c          | 1 +
>  drivers/mmc/host/davinci_mmc.c      | 1 +
>  drivers/mmc/host/dw_mmc-exynos.c    | 1 +
>  drivers/mmc/host/dw_mmc-k3.c        | 1 +
>  drivers/mmc/host/dw_mmc-pltfm.c     | 1 +
>  drivers/mmc/host/dw_mmc-rockchip.c  | 1 +
>  drivers/mmc/host/jz4740_mmc.c       | 1 +
>  drivers/mmc/host/moxart-mmc.c       | 1 +
>  drivers/mmc/host/mtk-sd.c           | 1 +
>  drivers/mmc/host/mvsdio.c           | 1 +
>  drivers/mmc/host/mxcmmc.c           | 1 +
>  drivers/mmc/host/mxs-mmc.c          | 1 +
>  drivers/mmc/host/omap.c             | 1 +
>  drivers/mmc/host/omap_hsmmc.c       | 1 +
>  drivers/mmc/host/pxamci.c           | 1 +
>  drivers/mmc/host/rtsx_pci_sdmmc.c   | 1 +
>  drivers/mmc/host/rtsx_usb_sdmmc.c   | 1 +
>  drivers/mmc/host/s3cmci.c           | 1 +
>  drivers/mmc/host/sdhci-acpi.c       | 1 +
>  drivers/mmc/host/sdhci-bcm-kona.c   | 1 +
>  drivers/mmc/host/sdhci-cns3xxx.c    | 1 +
>  drivers/mmc/host/sdhci-dove.c       | 1 +
>  drivers/mmc/host/sdhci-esdhc-imx.c  | 1 +
>  drivers/mmc/host/sdhci-iproc.c      | 1 +
>  drivers/mmc/host/sdhci-of-arasan.c  | 1 +
>  drivers/mmc/host/sdhci-of-at91.c    | 1 +
>  drivers/mmc/host/sdhci-of-esdhc.c   | 1 +
>  drivers/mmc/host/sdhci-of-hlwd.c    | 1 +
>  drivers/mmc/host/sdhci-pxav2.c      | 1 +
>  drivers/mmc/host/sdhci-pxav3.c      | 1 +
>  drivers/mmc/host/sdhci-s3c.c        | 1 +
>  drivers/mmc/host/sdhci-sirf.c       | 1 +
>  drivers/mmc/host/sdhci-spear.c      | 1 +
>  drivers/mmc/host/sdhci-st.c         | 1 +
>  drivers/mmc/host/sdhci-tegra.c      | 1 +

I do see a failure on Tegra124, but comparing to recent test results
from linux-next that seems to be a preexisting problem, so:

Tested-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
  2020-09-03 23:24 ` Douglas Anderson
@ 2020-09-04 21:53   ` Martin Blumenstingl
  -1 siblings, 0 replies; 45+ messages in thread
From: Martin Blumenstingl @ 2020-09-04 21:53 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, swboyd, Lars Persson, linux-omap,
	Chaotian Jing, Scott Branden, Andrew Jeffery, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-kernel, Pengutronix Kernel Team,
	Eugen Hristev, Alexandre Belloni, linux-aspeed, Yangtao Li,
	Hu Ziji, Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter, linux-rockchip,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Maxime Ripard,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Barry Song,
	Nicolas Pitre, Patrice Chotard, Microchip Linux Driver Support,
	Stefan Wahren, Christophe JAILLET, Ricky Wu,
	Nicolas Saenz Julienne, Ulf Hansson, Neil Armstrong, Al Cooper,
	Wolfram Sang, Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I, Chen-Yu Tsai,
	bcm-kernel-feedback-list, Joel Stanley, Orson Zhai, Ray Jui,
	Ben Dooks, Masahiro Yamada, linux-mmc, Baolin Wang, Shawn Guo,
	Andreas Färber, H. Nikolaus Schaller, Adrian Hunter,
	Paul Cercueil, Lee Jones, Marek Vasut, Anson Huang,
	Jaehoon Chung, Rui Miguel Silva, linux-mediatek, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Angelo Dureghello,
	Lars Povlsen, Nicolas Ferre, Tony Prisk, Vinod Koul,
	Robert Richter, Viresh Kumar, Jun Nie

Hi Douglas,

On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
>
> As per discussion [1], it seems like it should be quite safe to turn
> on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> give it a shot.  For some discussion about this flag, see the commit
> message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe").
can this somehow change the order in which the MMC drivers end up loading?
on Amlogic SoCs we have up to three MMC controllers, some SoCs even
use two different MMC controller IPs (and therefore two different
drivers).
so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
can that change with this patch?

apologies if this has been discussed and answered anywhere


Best regards,
Martin

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-04 21:53   ` Martin Blumenstingl
  0 siblings, 0 replies; 45+ messages in thread
From: Martin Blumenstingl @ 2020-09-04 21:53 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, swboyd, Lars Persson, linux-omap,
	Chaotian Jing, Scott Branden, Andrew Jeffery, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-kernel, Pengutronix Kernel Team,
	Eugen Hristev, Alexandre Belloni, linux-aspeed, Yangtao Li,
	Hu Ziji, Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter, linux-rockchip,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Maxime Ripard,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Barry Song,
	Nicolas Pitre, Patrice Chotard, Microchip Linux Driver Support,
	Stefan Wahren, Christophe JAILLET, Ricky Wu,
	Nicolas Saenz Julienne, Ulf Hansson, Neil Armstrong, Al Cooper,
	Wolfram Sang, Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I, Chen-Yu Tsai,
	bcm-kernel-feedback-list, Joel Stanley, Orson Zhai, Ray Jui,
	Ben Dooks, Masahiro Yamada, linux-mmc, Baolin Wang, Shawn Guo,
	Andreas Färber, H. Nikolaus Schaller, Adrian Hunter,
	Paul Cercueil, Lee Jones, Marek Vasut, Anson Huang,
	Jaehoon Chung, Rui Miguel Silva, linux-mediatek, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Angelo Dureghello,
	Lars Povlsen, Nicolas Ferre, Tony Prisk, Vinod Koul,
	Robert Richter, Viresh Kumar, Jun Nie

Hi Douglas,

On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
>
> As per discussion [1], it seems like it should be quite safe to turn
> on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> give it a shot.  For some discussion about this flag, see the commit
> message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe").
can this somehow change the order in which the MMC drivers end up loading?
on Amlogic SoCs we have up to three MMC controllers, some SoCs even
use two different MMC controller IPs (and therefore two different
drivers).
so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
can that change with this patch?

apologies if this has been discussed and answered anywhere


Best regards,
Martin

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
  2020-09-04 21:53   ` Martin Blumenstingl
@ 2020-09-07  3:57     ` Anand Moon
  -1 siblings, 0 replies; 45+ messages in thread
From: Anand Moon @ 2020-09-07  3:57 UTC (permalink / raw)
  To: Martin Blumenstingl
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, Michał Mirosław,
	Lars Persson, linux-omap, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter, linux-rockchip,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Maxime Ripard,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Barry Song,
	Nicolas Pitre, Douglas Anderson, Microchip Linux Driver Support,
	Stefan Wahren, Christophe JAILLET, Ricky Wu,
	Nicolas Saenz Julienne, Ulf Hansson, Neil Armstrong, Al Cooper,
	Wolfram Sang, Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I, Chen-Yu Tsai,
	bcm-kernel-feedback-list, Joel Stanley, Orson Zhai, Ray Jui,
	Ben Dooks, Masahiro Yamada, linux-mmc, Baolin Wang, Shawn Guo,
	Andreas Färber, H. Nikolaus Schaller, Nicolas Ferre,
	Paul Cercueil, Lee Jones, Marek Vasut, Anson Huang,
	Jaehoon Chung, Robert Richter, Rui Miguel Silva, linux-mediatek,
	Manuel Lauss, Matthias Brugger, swboyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

Hi Martin.

On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:
>
> Hi Douglas,
>
> On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> >
> > As per discussion [1], it seems like it should be quite safe to turn
> > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > give it a shot.  For some discussion about this flag, see the commit
> > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > probe").
> can this somehow change the order in which the MMC drivers end up loading?
> on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> use two different MMC controller IPs (and therefore two different
> drivers).
> so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> can that change with this patch?
>

We could resolve this by setting up aliases for mmc nodes in the dts.

> apologies if this has been discussed and answered anywhere
>
>
> Best regards,
> Martin

Best regards
-Anand

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-07  3:57     ` Anand Moon
  0 siblings, 0 replies; 45+ messages in thread
From: Anand Moon @ 2020-09-07  3:57 UTC (permalink / raw)
  To: Martin Blumenstingl
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, Michał Mirosław,
	Lars Persson, linux-omap, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter, linux-rockchip,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Maxime Ripard,
	linux-rpi-kernel, linux-amlogic, linux-arm-kernel, Barry Song,
	Nicolas Pitre, Douglas Anderson, Microchip Linux Driver Support,
	Stefan Wahren, Christophe JAILLET, Ricky Wu,
	Nicolas Saenz Julienne, Ulf Hansson, Neil Armstrong, Al Cooper,
	Wolfram Sang, Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I, Chen-Yu Tsai,
	bcm-kernel-feedback-list, Joel Stanley, Orson Zhai, Ray Jui,
	Ben Dooks, Masahiro Yamada, linux-mmc, Baolin Wang, Shawn Guo,
	Andreas Färber, H. Nikolaus Schaller, Nicolas Ferre,
	Paul Cercueil, Lee Jones, Marek Vasut, Anson Huang,
	Jaehoon Chung, Robert Richter, Rui Miguel Silva, linux-mediatek,
	Manuel Lauss, Matthias Brugger, swboyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

Hi Martin.

On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:
>
> Hi Douglas,
>
> On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> >
> > As per discussion [1], it seems like it should be quite safe to turn
> > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > give it a shot.  For some discussion about this flag, see the commit
> > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > probe").
> can this somehow change the order in which the MMC drivers end up loading?
> on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> use two different MMC controller IPs (and therefore two different
> drivers).
> so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> can that change with this patch?
>

We could resolve this by setting up aliases for mmc nodes in the dts.

> apologies if this has been discussed and answered anywhere
>
>
> Best regards,
> Martin

Best regards
-Anand

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
  2020-09-07  3:57     ` Anand Moon
@ 2020-09-07  4:04       ` Chen-Yu Tsai
  -1 siblings, 0 replies; 45+ messages in thread
From: Chen-Yu Tsai @ 2020-09-07  4:04 UTC (permalink / raw)
  To: Anand Moon
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet,
	moderated list:ARM/SAMSUNG EXYNO...,
	Aaro Koskinen, Kevin Hilman, Michal Simek, Ludovic Desroches,
	NXP Linux Team, linux-tegra, Sascha Hauer,
	Michał Mirosław, Lars Persson,
	open list:OMAP2+ SUPPORT, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter,
	open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	linux-arm-kernel, Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Ulf Hansson, Neil Armstrong, Al Cooper, Wolfram Sang,
	Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I,
	open list:BROADCOM BCM281XX...,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Nicolas Ferre, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Robert Richter,
	Rui Miguel Silva, moderated list:ARM/Mediatek SoC...,
	Manuel Lauss, Matthias Brugger, Stephen Boyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

On Mon, Sep 7, 2020 at 11:57 AM Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Martin.
>
> On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
> >
> > Hi Douglas,
> >
> > On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> > >
> > > As per discussion [1], it seems like it should be quite safe to turn
> > > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > > give it a shot.  For some discussion about this flag, see the commit
> > > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > > probe").
> > can this somehow change the order in which the MMC drivers end up loading?
> > on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> > use two different MMC controller IPs (and therefore two different
> > drivers).
> > so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> > can that change with this patch?
> >
>
> We could resolve this by setting up aliases for mmc nodes in the dts.

Right now, only the dw_mmc driver family supports aliases for mmc nodes.

> > apologies if this has been discussed and answered anywhere
> >
> >
> > Best regards,
> > Martin
>
> Best regards
> -Anand

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-07  4:04       ` Chen-Yu Tsai
  0 siblings, 0 replies; 45+ messages in thread
From: Chen-Yu Tsai @ 2020-09-07  4:04 UTC (permalink / raw)
  To: Anand Moon
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet,
	moderated list:ARM/SAMSUNG EXYNO...,
	Aaro Koskinen, Kevin Hilman, Michal Simek, Ludovic Desroches,
	NXP Linux Team, linux-tegra, Sascha Hauer,
	Michał Mirosław, Lars Persson,
	open list:OMAP2+ SUPPORT, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter,
	open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	linux-arm-kernel, Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Ulf Hansson, Neil Armstrong, Al Cooper, Wolfram Sang,
	Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I,
	open list:BROADCOM BCM281XX...,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Nicolas Ferre, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Robert Richter,
	Rui Miguel Silva, moderated list:ARM/Mediatek SoC...,
	Manuel Lauss, Matthias Brugger, Stephen Boyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

On Mon, Sep 7, 2020 at 11:57 AM Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Martin.
>
> On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
> >
> > Hi Douglas,
> >
> > On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> > >
> > > As per discussion [1], it seems like it should be quite safe to turn
> > > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > > give it a shot.  For some discussion about this flag, see the commit
> > > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > > probe").
> > can this somehow change the order in which the MMC drivers end up loading?
> > on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> > use two different MMC controller IPs (and therefore two different
> > drivers).
> > so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> > can that change with this patch?
> >
>
> We could resolve this by setting up aliases for mmc nodes in the dts.

Right now, only the dw_mmc driver family supports aliases for mmc nodes.

> > apologies if this has been discussed and answered anywhere
> >
> >
> > Best regards,
> > Martin
>
> Best regards
> -Anand

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
  2020-09-07  3:57     ` Anand Moon
@ 2020-09-07  4:07       ` Chen-Yu Tsai
  -1 siblings, 0 replies; 45+ messages in thread
From: Chen-Yu Tsai @ 2020-09-07  4:07 UTC (permalink / raw)
  To: Anand Moon
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet,
	moderated list:ARM/SAMSUNG EXYNO...,
	Aaro Koskinen, Kevin Hilman, Michal Simek, Ludovic Desroches,
	NXP Linux Team, linux-tegra, Sascha Hauer,
	Michał Mirosław, Lars Persson,
	open list:OMAP2+ SUPPORT, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter,
	open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	linux-arm-kernel, Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Ulf Hansson, Neil Armstrong, Al Cooper, Wolfram Sang,
	Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I,
	open list:BROADCOM BCM281XX...,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Nicolas Ferre, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Robert Richter,
	Rui Miguel Silva, moderated list:ARM/Mediatek SoC...,
	Manuel Lauss, Matthias Brugger, Stephen Boyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

(Resent from kernel.org)

On Mon, Sep 7, 2020 at 11:57 AM Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Martin.
>
> On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
> >
> > Hi Douglas,
> >
> > On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> > >
> > > As per discussion [1], it seems like it should be quite safe to turn
> > > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > > give it a shot.  For some discussion about this flag, see the commit
> > > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > > probe").
> > can this somehow change the order in which the MMC drivers end up loading?
> > on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> > use two different MMC controller IPs (and therefore two different
> > drivers).
> > so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> > can that change with this patch?
> >
>
> We could resolve this by setting up aliases for mmc nodes in the dts.

Right now, only the dw_mmc driver family supports aliases for mmc nodes.

> > apologies if this has been discussed and answered anywhere
> >
> >
> > Best regards,
> > Martin
>
> Best regards
> -Anand

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-07  4:07       ` Chen-Yu Tsai
  0 siblings, 0 replies; 45+ messages in thread
From: Chen-Yu Tsai @ 2020-09-07  4:07 UTC (permalink / raw)
  To: Anand Moon
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet,
	moderated list:ARM/SAMSUNG EXYNO...,
	Aaro Koskinen, Kevin Hilman, Michal Simek, Ludovic Desroches,
	NXP Linux Team, linux-tegra, Sascha Hauer,
	Michał Mirosław, Lars Persson,
	open list:OMAP2+ SUPPORT, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter,
	open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	linux-arm-kernel, Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Ulf Hansson, Neil Armstrong, Al Cooper, Wolfram Sang,
	Fabio Estevam, Florian Fainelli, Steen Hegelund,
	Krzysztof Kozlowski, Kishon Vijay Abraham I,
	open list:BROADCOM BCM281XX...,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Nicolas Ferre, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Robert Richter,
	Rui Miguel Silva, moderated list:ARM/Mediatek SoC...,
	Manuel Lauss, Matthias Brugger, Stephen Boyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

(Resent from kernel.org)

On Mon, Sep 7, 2020 at 11:57 AM Anand Moon <linux.amoon@gmail.com> wrote:
>
> Hi Martin.
>
> On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
> >
> > Hi Douglas,
> >
> > On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> > >
> > > As per discussion [1], it seems like it should be quite safe to turn
> > > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > > give it a shot.  For some discussion about this flag, see the commit
> > > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > > probe").
> > can this somehow change the order in which the MMC drivers end up loading?
> > on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> > use two different MMC controller IPs (and therefore two different
> > drivers).
> > so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> > can that change with this patch?
> >
>
> We could resolve this by setting up aliases for mmc nodes in the dts.

Right now, only the dw_mmc driver family supports aliases for mmc nodes.

> > apologies if this has been discussed and answered anywhere
> >
> >
> > Best regards,
> > Martin
>
> Best regards
> -Anand

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
  2020-09-07  4:07       ` Chen-Yu Tsai
@ 2020-09-07 10:25         ` Ulf Hansson
  -1 siblings, 0 replies; 45+ messages in thread
From: Ulf Hansson @ 2020-09-07 10:25 UTC (permalink / raw)
  To: Chen-Yu Tsai, Anand Moon, Martin Blumenstingl
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet,
	moderated list:ARM/SAMSUNG EXYNO...,
	Aaro Koskinen, Kevin Hilman, Michal Simek, Ludovic Desroches,
	NXP Linux Team, linux-tegra, Sascha Hauer,
	Michał Mirosław, Lars Persson,
	open list:OMAP2+ SUPPORT, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter,
	open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Maxime Ripard,
	moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	linux-arm-kernel, Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Neil Armstrong, Al Cooper, Wolfram Sang, Fabio Estevam,
	Florian Fainelli, Steen Hegelund, Krzysztof Kozlowski,
	Kishon Vijay Abraham I, open list:BROADCOM BCM281XX...,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Nicolas Ferre, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Robert Richter,
	Rui Miguel Silva, moderated list:ARM/Mediatek SoC...,
	Manuel Lauss, Matthias Brugger, Stephen Boyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

On Mon, 7 Sep 2020 at 06:08, Chen-Yu Tsai <wens@kernel.org> wrote:
>
> (Resent from kernel.org)
>
> On Mon, Sep 7, 2020 at 11:57 AM Anand Moon <linux.amoon@gmail.com> wrote:
> >
> > Hi Martin.
> >
> > On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
> > <martin.blumenstingl@googlemail.com> wrote:
> > >
> > > Hi Douglas,
> > >
> > > On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> > > >
> > > > As per discussion [1], it seems like it should be quite safe to turn
> > > > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > > > give it a shot.  For some discussion about this flag, see the commit
> > > > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > > > probe").
> > > can this somehow change the order in which the MMC drivers end up loading?
> > > on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> > > use two different MMC controller IPs (and therefore two different
> > > drivers).
> > > so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> > > can that change with this patch?
> > >

Consistency has never been guaranteed. Just imagine one of the mmc
host drivers ending up lacking some of its resources during ->probe()
and returning -EPROBE_DEFER.

UUID/PARTID has been the only way.

> >
> > We could resolve this by setting up aliases for mmc nodes in the dts.

Yes, this is now possible due to the recently [1] applied patches for
supporting mmc aliases.

>
> Right now, only the dw_mmc driver family supports aliases for mmc nodes.

That's "mshc" specific (related to the old multiple slot support I
think), but not affecting the mmc aliases, which the mmc core now is
supporting.

So the mmc aliases are common for all mmc hosts. Please have a look at
the new OF parsing in mmc_alloc_host().

[...]

Kind regards
Uffe

[1]
https://patchwork.kernel.org/patch/11747669/
https://patchwork.kernel.org/patch/11747671/

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-07 10:25         ` Ulf Hansson
  0 siblings, 0 replies; 45+ messages in thread
From: Ulf Hansson @ 2020-09-07 10:25 UTC (permalink / raw)
  To: Chen-Yu Tsai, Anand Moon, Martin Blumenstingl
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet,
	moderated list:ARM/SAMSUNG EXYNO...,
	Aaro Koskinen, Kevin Hilman, Michal Simek, Ludovic Desroches,
	NXP Linux Team, linux-tegra, Sascha Hauer,
	Michał Mirosław, Lars Persson,
	open list:OMAP2+ SUPPORT, Chaotian Jing, Scott Branden,
	Andrew Jeffery, Greg Kroah-Hartman, Yoshihiro Shimoda,
	Linux Kernel, Pengutronix Kernel Team, Eugen Hristev,
	Alexandre Belloni, linux-aspeed, Yangtao Li, Hu Ziji,
	Thierry Reding, Manivannan Sadhasivam, Jesper Nilsson,
	Chunyan Zhang, linux-arm-kernel, Jonathan Hunter,
	open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Maxime Ripard,
	moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	linux-arm-kernel, Barry Song, Nicolas Pitre, Douglas Anderson,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Neil Armstrong, Al Cooper, Wolfram Sang, Fabio Estevam,
	Florian Fainelli, Steen Hegelund, Krzysztof Kozlowski,
	Kishon Vijay Abraham I, open list:BROADCOM BCM281XX...,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Nicolas Ferre, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Robert Richter,
	Rui Miguel Silva, moderated list:ARM/Mediatek SoC...,
	Manuel Lauss, Matthias Brugger, Stephen Boyd, Angelo Dureghello,
	Lars Povlsen, Adrian Hunter, Tony Prisk, Vinod Koul,
	Patrice Chotard, Viresh Kumar, Jun Nie

On Mon, 7 Sep 2020 at 06:08, Chen-Yu Tsai <wens@kernel.org> wrote:
>
> (Resent from kernel.org)
>
> On Mon, Sep 7, 2020 at 11:57 AM Anand Moon <linux.amoon@gmail.com> wrote:
> >
> > Hi Martin.
> >
> > On Sat, 5 Sep 2020 at 03:24, Martin Blumenstingl
> > <martin.blumenstingl@googlemail.com> wrote:
> > >
> > > Hi Douglas,
> > >
> > > On Fri, Sep 4, 2020 at 1:25 AM Douglas Anderson <dianders@chromium.org> wrote:
> > > >
> > > > As per discussion [1], it seems like it should be quite safe to turn
> > > > on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> > > > give it a shot.  For some discussion about this flag, see the commit
> > > > message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> > > > probe").
> > > can this somehow change the order in which the MMC drivers end up loading?
> > > on Amlogic SoCs we have up to three MMC controllers, some SoCs even
> > > use two different MMC controller IPs (and therefore two different
> > > drivers).
> > > so far the MMC controller naming (/dev/mmcblk* etc.) was consistent -
> > > can that change with this patch?
> > >

Consistency has never been guaranteed. Just imagine one of the mmc
host drivers ending up lacking some of its resources during ->probe()
and returning -EPROBE_DEFER.

UUID/PARTID has been the only way.

> >
> > We could resolve this by setting up aliases for mmc nodes in the dts.

Yes, this is now possible due to the recently [1] applied patches for
supporting mmc aliases.

>
> Right now, only the dw_mmc driver family supports aliases for mmc nodes.

That's "mshc" specific (related to the old multiple slot support I
think), but not affecting the mmc aliases, which the mmc core now is
supporting.

So the mmc aliases are common for all mmc hosts. Please have a look at
the new OF parsing in mmc_alloc_host().

[...]

Kind regards
Uffe

[1]
https://patchwork.kernel.org/patch/11747669/
https://patchwork.kernel.org/patch/11747671/

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
  2020-09-03 23:24 ` Douglas Anderson
@ 2020-09-07 12:28   ` Ulf Hansson
  -1 siblings, 0 replies; 45+ messages in thread
From: Ulf Hansson @ 2020-09-07 12:28 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, Stephen Boyd, Lars Persson,
	linux-omap, Chaotian Jing, Scott Branden, Andrew Jeffery,
	Greg Kroah-Hartman, Yoshihiro Shimoda, Linux Kernel Mailing List,
	Pengutronix Kernel Team, Eugen Hristev, Alexandre Belloni,
	linux-aspeed, Yangtao Li, Hu Ziji, Thierry Reding,
	Manivannan Sadhasivam, Jesper Nilsson, Chunyan Zhang,
	linux-arm-kernel, Jonathan Hunter, open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	Linux ARM, Barry Song, Nicolas Pitre, Patrice Chotard,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Neil Armstrong, Al Cooper, Wolfram Sang, Fabio Estevam,
	Florian Fainelli, Steen Hegelund, Krzysztof Kozlowski,
	Kishon Vijay Abraham I, Chen-Yu Tsai, BCM Kernel Feedback,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Adrian Hunter, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Rui Miguel Silva,
	moderated list:ARM/Mediatek SoC support, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Angelo Dureghello,
	Lars Povlsen, Nicolas Ferre, Tony Prisk, Vinod Koul,
	Robert Richter, Viresh Kumar, Jun Nie

On Fri, 4 Sep 2020 at 01:25, Douglas Anderson <dianders@chromium.org> wrote:
>
> As per discussion [1], it seems like it should be quite safe to turn
> on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> give it a shot.  For some discussion about this flag, see the commit
> message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe").
>
> I've broken this series into chunks based on LTS kernel releases to
> attempt to make it easier if someone wanted to cherry-pick it to an
> older kernel.  While these cherry-picks won't be conflict free, there
> should only be trivial context conflicts and no problems with drivers
> that are totally missing.  This is a bit of a compromise between a
> 1-big patch and a many-part patch series.
>
> I have only tested this on a rk3399-kevin (sdhci-of-arasan) and a
> rk3288-veyron (dw_mmc-rockchip) device and only lightly.  If this
> patch causes anyone problems those drivers should be marked with
> PROBE_FORCE_SYNCHRONOUS, debugged, and then go back to prefer
> asynchronous.  Any problems are likely just a hidden bug that has been
> exposed by this change.
>
> NOTE: in theory, it'd be nice if there was a KConfig option that we
> could flip that would turn on async probe everywhere (except for those
> that opt out by adding PROBE_FORCE_SYNCHRONOUS).  My hope is that by
> adding this flag in more places it will become clear that this flag is
> working reliably and easier to move over when we're ready.
>
> While coccinelle is too difficult for my feeble brain, I managed to
> whip up a pretty terrible python script to help with this.  For your
> edification:
>
> import os
> import sys
> import re
>
> for filename in os.listdir("."):
>     found_plat = False
>     found_driver = False
>     output = []
>     for line in open(filename, "r").readlines():
>         output.append(line)
>
>         if "struct platform_driver" in line:
>             found_plat = True
>         if found_plat and re.search(r"\t\.driver\s*=\s*{", line):
>             found_driver = True
>             found_plat = False
>         mo = re.search(r"(\s*)\.name(\s*)=", line)
>         if found_driver and mo:
>             if mo.group(2) == " ":
>                 space = " "
>             elif mo.group(2) == "\t":
>                 # Best we can do
>                 space = " "
>             elif mo.group(2).startswith("\t"):
>                 # Guess that removing one tab is right
>                 space = mo.group(2)[1:]
>             else:
>                 # Guess it's all spaces
>                 space = mo.group(2)[7:] + " "
>
>             output.append("%s.probe_type%s= PROBE_PREFER_ASYNCHRONOUS,\n" % (mo.group(1), space))
>             found_driver = False
>
>     open(filename, "w").write("".join(output))
>
> [1] https://lore.kernel.org/r/CAPDyKFq31bucJhP9hp1HSqh-qM2uNGHgDoyQpmbJf00nEf_T4Q@mail.gmail.com/
>
>
> Douglas Anderson (6):
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
>
>  drivers/mmc/host/alcor.c                      | 1 +
>  drivers/mmc/host/android-goldfish.c           | 1 +
>  drivers/mmc/host/atmel-mci.c                  | 1 +
>  drivers/mmc/host/au1xmmc.c                    | 1 +
>  drivers/mmc/host/bcm2835.c                    | 1 +
>  drivers/mmc/host/cavium-octeon.c              | 1 +
>  drivers/mmc/host/davinci_mmc.c                | 1 +
>  drivers/mmc/host/dw_mmc-bluefield.c           | 1 +
>  drivers/mmc/host/dw_mmc-exynos.c              | 1 +
>  drivers/mmc/host/dw_mmc-hi3798cv200.c         | 1 +
>  drivers/mmc/host/dw_mmc-k3.c                  | 1 +
>  drivers/mmc/host/dw_mmc-pltfm.c               | 1 +
>  drivers/mmc/host/dw_mmc-rockchip.c            | 1 +
>  drivers/mmc/host/dw_mmc-zx.c                  | 1 +
>  drivers/mmc/host/jz4740_mmc.c                 | 1 +
>  drivers/mmc/host/meson-gx-mmc.c               | 1 +
>  drivers/mmc/host/meson-mx-sdhc-mmc.c          | 1 +
>  drivers/mmc/host/meson-mx-sdio.c              | 1 +
>  drivers/mmc/host/moxart-mmc.c                 | 1 +
>  drivers/mmc/host/mtk-sd.c                     | 1 +
>  drivers/mmc/host/mvsdio.c                     | 1 +
>  drivers/mmc/host/mxcmmc.c                     | 1 +
>  drivers/mmc/host/mxs-mmc.c                    | 1 +
>  drivers/mmc/host/omap.c                       | 1 +
>  drivers/mmc/host/omap_hsmmc.c                 | 1 +
>  drivers/mmc/host/owl-mmc.c                    | 1 +
>  drivers/mmc/host/pxamci.c                     | 1 +
>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
>  drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
>  drivers/mmc/host/rtsx_pci_sdmmc.c             | 1 +
>  drivers/mmc/host/rtsx_usb_sdmmc.c             | 1 +
>  drivers/mmc/host/s3cmci.c                     | 1 +
>  drivers/mmc/host/sdhci-acpi.c                 | 1 +
>  drivers/mmc/host/sdhci-bcm-kona.c             | 1 +
>  drivers/mmc/host/sdhci-brcmstb.c              | 1 +
>  drivers/mmc/host/sdhci-cadence.c              | 1 +
>  drivers/mmc/host/sdhci-cns3xxx.c              | 1 +
>  drivers/mmc/host/sdhci-dove.c                 | 1 +
>  drivers/mmc/host/sdhci-esdhc-imx.c            | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c            | 1 +
>  drivers/mmc/host/sdhci-iproc.c                | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c             | 1 +
>  drivers/mmc/host/sdhci-of-arasan.c            | 1 +
>  drivers/mmc/host/sdhci-of-aspeed.c            | 2 ++
>  drivers/mmc/host/sdhci-of-at91.c              | 1 +
>  drivers/mmc/host/sdhci-of-dwcmshc.c           | 1 +
>  drivers/mmc/host/sdhci-of-esdhc.c             | 1 +
>  drivers/mmc/host/sdhci-of-hlwd.c              | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c            | 1 +
>  drivers/mmc/host/sdhci-omap.c                 | 1 +
>  drivers/mmc/host/sdhci-pic32.c                | 1 +
>  drivers/mmc/host/sdhci-pxav2.c                | 1 +
>  drivers/mmc/host/sdhci-pxav3.c                | 1 +
>  drivers/mmc/host/sdhci-s3c.c                  | 1 +
>  drivers/mmc/host/sdhci-sirf.c                 | 1 +
>  drivers/mmc/host/sdhci-spear.c                | 1 +
>  drivers/mmc/host/sdhci-sprd.c                 | 1 +
>  drivers/mmc/host/sdhci-st.c                   | 1 +
>  drivers/mmc/host/sdhci-tegra.c                | 1 +
>  drivers/mmc/host/sdhci-xenon.c                | 1 +
>  drivers/mmc/host/sdhci_am654.c                | 1 +
>  drivers/mmc/host/sdhci_f_sdh30.c              | 1 +
>  drivers/mmc/host/sh_mmcif.c                   | 1 +
>  drivers/mmc/host/sunxi-mmc.c                  | 1 +
>  drivers/mmc/host/tmio_mmc.c                   | 1 +
>  drivers/mmc/host/uniphier-sd.c                | 1 +
>  drivers/mmc/host/usdhi6rol0.c                 | 1 +
>  drivers/mmc/host/wbsd.c                       | 1 +
>  drivers/mmc/host/wmt-sdmmc.c                  | 1 +
>  69 files changed, 70 insertions(+)
>
> --
> 2.28.0.526.ge36021eeef-goog
>

An interesting idea about a patch per LTS release. I think it makes
perfect sense in this type of case.

Let's give this a shot in next and see how it goes. So, applied for
next, thanks!

Kind regards
Uffe

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
@ 2020-09-07 12:28   ` Ulf Hansson
  0 siblings, 0 replies; 45+ messages in thread
From: Ulf Hansson @ 2020-09-07 12:28 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Heiko Stuebner, Geert Uytterhoeven, Linus Walleij,
	Peter Ujfalusi, Jerome Brunet, linux-samsung-soc, Aaro Koskinen,
	Kevin Hilman, Michal Simek, Ludovic Desroches, NXP Linux Team,
	linux-tegra, Sascha Hauer, Stephen Boyd, Lars Persson,
	linux-omap, Chaotian Jing, Scott Branden, Andrew Jeffery,
	Greg Kroah-Hartman, Yoshihiro Shimoda, Linux Kernel Mailing List,
	Pengutronix Kernel Team, Eugen Hristev, Alexandre Belloni,
	linux-aspeed, Yangtao Li, Hu Ziji, Thierry Reding,
	Manivannan Sadhasivam, Jesper Nilsson, Chunyan Zhang,
	linux-arm-kernel, Jonathan Hunter, open list:ARM/Rockchip SoC...,
	Kukjin Kim, Pierre Ossman, Saiyam Doshi, Martin Blumenstingl,
	Maxime Ripard, moderated list:BROADCOM BCM2835...,
	open list:ARM/Amlogic Meson...,
	Linux ARM, Barry Song, Nicolas Pitre, Patrice Chotard,
	Microchip Linux Driver Support, Stefan Wahren,
	Christophe JAILLET, Ricky Wu, Nicolas Saenz Julienne,
	Neil Armstrong, Al Cooper, Wolfram Sang, Fabio Estevam,
	Florian Fainelli, Steen Hegelund, Krzysztof Kozlowski,
	Kishon Vijay Abraham I, Chen-Yu Tsai, BCM Kernel Feedback,
	Joel Stanley, Orson Zhai, Ray Jui, Ben Dooks, Masahiro Yamada,
	linux-mmc, Baolin Wang, Shawn Guo, Andreas Färber,
	H. Nikolaus Schaller, Adrian Hunter, Paul Cercueil, Lee Jones,
	Marek Vasut, Anson Huang, Jaehoon Chung, Rui Miguel Silva,
	moderated list:ARM/Mediatek SoC support, Manuel Lauss,
	Matthias Brugger, Michał Mirosław, Angelo Dureghello,
	Lars Povlsen, Nicolas Ferre, Tony Prisk, Vinod Koul,
	Robert Richter, Viresh Kumar, Jun Nie

On Fri, 4 Sep 2020 at 01:25, Douglas Anderson <dianders@chromium.org> wrote:
>
> As per discussion [1], it seems like it should be quite safe to turn
> on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers.  Let's
> give it a shot.  For some discussion about this flag, see the commit
> message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
> probe").
>
> I've broken this series into chunks based on LTS kernel releases to
> attempt to make it easier if someone wanted to cherry-pick it to an
> older kernel.  While these cherry-picks won't be conflict free, there
> should only be trivial context conflicts and no problems with drivers
> that are totally missing.  This is a bit of a compromise between a
> 1-big patch and a many-part patch series.
>
> I have only tested this on a rk3399-kevin (sdhci-of-arasan) and a
> rk3288-veyron (dw_mmc-rockchip) device and only lightly.  If this
> patch causes anyone problems those drivers should be marked with
> PROBE_FORCE_SYNCHRONOUS, debugged, and then go back to prefer
> asynchronous.  Any problems are likely just a hidden bug that has been
> exposed by this change.
>
> NOTE: in theory, it'd be nice if there was a KConfig option that we
> could flip that would turn on async probe everywhere (except for those
> that opt out by adding PROBE_FORCE_SYNCHRONOUS).  My hope is that by
> adding this flag in more places it will become clear that this flag is
> working reliably and easier to move over when we're ready.
>
> While coccinelle is too difficult for my feeble brain, I managed to
> whip up a pretty terrible python script to help with this.  For your
> edification:
>
> import os
> import sys
> import re
>
> for filename in os.listdir("."):
>     found_plat = False
>     found_driver = False
>     output = []
>     for line in open(filename, "r").readlines():
>         output.append(line)
>
>         if "struct platform_driver" in line:
>             found_plat = True
>         if found_plat and re.search(r"\t\.driver\s*=\s*{", line):
>             found_driver = True
>             found_plat = False
>         mo = re.search(r"(\s*)\.name(\s*)=", line)
>         if found_driver and mo:
>             if mo.group(2) == " ":
>                 space = " "
>             elif mo.group(2) == "\t":
>                 # Best we can do
>                 space = " "
>             elif mo.group(2).startswith("\t"):
>                 # Guess that removing one tab is right
>                 space = mo.group(2)[1:]
>             else:
>                 # Guess it's all spaces
>                 space = mo.group(2)[7:] + " "
>
>             output.append("%s.probe_type%s= PROBE_PREFER_ASYNCHRONOUS,\n" % (mo.group(1), space))
>             found_driver = False
>
>     open(filename, "w").write("".join(output))
>
> [1] https://lore.kernel.org/r/CAPDyKFq31bucJhP9hp1HSqh-qM2uNGHgDoyQpmbJf00nEf_T4Q@mail.gmail.com/
>
>
> Douglas Anderson (6):
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
>   mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
>
>  drivers/mmc/host/alcor.c                      | 1 +
>  drivers/mmc/host/android-goldfish.c           | 1 +
>  drivers/mmc/host/atmel-mci.c                  | 1 +
>  drivers/mmc/host/au1xmmc.c                    | 1 +
>  drivers/mmc/host/bcm2835.c                    | 1 +
>  drivers/mmc/host/cavium-octeon.c              | 1 +
>  drivers/mmc/host/davinci_mmc.c                | 1 +
>  drivers/mmc/host/dw_mmc-bluefield.c           | 1 +
>  drivers/mmc/host/dw_mmc-exynos.c              | 1 +
>  drivers/mmc/host/dw_mmc-hi3798cv200.c         | 1 +
>  drivers/mmc/host/dw_mmc-k3.c                  | 1 +
>  drivers/mmc/host/dw_mmc-pltfm.c               | 1 +
>  drivers/mmc/host/dw_mmc-rockchip.c            | 1 +
>  drivers/mmc/host/dw_mmc-zx.c                  | 1 +
>  drivers/mmc/host/jz4740_mmc.c                 | 1 +
>  drivers/mmc/host/meson-gx-mmc.c               | 1 +
>  drivers/mmc/host/meson-mx-sdhc-mmc.c          | 1 +
>  drivers/mmc/host/meson-mx-sdio.c              | 1 +
>  drivers/mmc/host/moxart-mmc.c                 | 1 +
>  drivers/mmc/host/mtk-sd.c                     | 1 +
>  drivers/mmc/host/mvsdio.c                     | 1 +
>  drivers/mmc/host/mxcmmc.c                     | 1 +
>  drivers/mmc/host/mxs-mmc.c                    | 1 +
>  drivers/mmc/host/omap.c                       | 1 +
>  drivers/mmc/host/omap_hsmmc.c                 | 1 +
>  drivers/mmc/host/owl-mmc.c                    | 1 +
>  drivers/mmc/host/pxamci.c                     | 1 +
>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
>  drivers/mmc/host/renesas_sdhi_sys_dmac.c      | 1 +
>  drivers/mmc/host/rtsx_pci_sdmmc.c             | 1 +
>  drivers/mmc/host/rtsx_usb_sdmmc.c             | 1 +
>  drivers/mmc/host/s3cmci.c                     | 1 +
>  drivers/mmc/host/sdhci-acpi.c                 | 1 +
>  drivers/mmc/host/sdhci-bcm-kona.c             | 1 +
>  drivers/mmc/host/sdhci-brcmstb.c              | 1 +
>  drivers/mmc/host/sdhci-cadence.c              | 1 +
>  drivers/mmc/host/sdhci-cns3xxx.c              | 1 +
>  drivers/mmc/host/sdhci-dove.c                 | 1 +
>  drivers/mmc/host/sdhci-esdhc-imx.c            | 1 +
>  drivers/mmc/host/sdhci-esdhc-mcf.c            | 1 +
>  drivers/mmc/host/sdhci-iproc.c                | 1 +
>  drivers/mmc/host/sdhci-milbeaut.c             | 1 +
>  drivers/mmc/host/sdhci-of-arasan.c            | 1 +
>  drivers/mmc/host/sdhci-of-aspeed.c            | 2 ++
>  drivers/mmc/host/sdhci-of-at91.c              | 1 +
>  drivers/mmc/host/sdhci-of-dwcmshc.c           | 1 +
>  drivers/mmc/host/sdhci-of-esdhc.c             | 1 +
>  drivers/mmc/host/sdhci-of-hlwd.c              | 1 +
>  drivers/mmc/host/sdhci-of-sparx5.c            | 1 +
>  drivers/mmc/host/sdhci-omap.c                 | 1 +
>  drivers/mmc/host/sdhci-pic32.c                | 1 +
>  drivers/mmc/host/sdhci-pxav2.c                | 1 +
>  drivers/mmc/host/sdhci-pxav3.c                | 1 +
>  drivers/mmc/host/sdhci-s3c.c                  | 1 +
>  drivers/mmc/host/sdhci-sirf.c                 | 1 +
>  drivers/mmc/host/sdhci-spear.c                | 1 +
>  drivers/mmc/host/sdhci-sprd.c                 | 1 +
>  drivers/mmc/host/sdhci-st.c                   | 1 +
>  drivers/mmc/host/sdhci-tegra.c                | 1 +
>  drivers/mmc/host/sdhci-xenon.c                | 1 +
>  drivers/mmc/host/sdhci_am654.c                | 1 +
>  drivers/mmc/host/sdhci_f_sdh30.c              | 1 +
>  drivers/mmc/host/sh_mmcif.c                   | 1 +
>  drivers/mmc/host/sunxi-mmc.c                  | 1 +
>  drivers/mmc/host/tmio_mmc.c                   | 1 +
>  drivers/mmc/host/uniphier-sd.c                | 1 +
>  drivers/mmc/host/usdhi6rol0.c                 | 1 +
>  drivers/mmc/host/wbsd.c                       | 1 +
>  drivers/mmc/host/wmt-sdmmc.c                  | 1 +
>  69 files changed, 70 insertions(+)
>
> --
> 2.28.0.526.ge36021eeef-goog
>

An interesting idea about a patch per LTS release. I think it makes
perfect sense in this type of case.

Let's give this a shot in next and see how it goes. So, applied for
next, thanks!

Kind regards
Uffe

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2020-09-07 12:29 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-03 23:24 [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers Douglas Anderson
2020-09-03 23:24 ` Douglas Anderson
2020-09-03 23:24 ` [PATCH 1/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-04  6:36   ` Wolfram Sang
2020-09-04  6:36     ` Wolfram Sang
2020-09-04 13:28   ` Thierry Reding
2020-09-04 13:28     ` Thierry Reding
2020-09-03 23:24 ` [PATCH 2/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9 Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-03 23:24 ` [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-04  6:35   ` Wolfram Sang
2020-09-04  6:35     ` Wolfram Sang
2020-09-04  6:35     ` Wolfram Sang
2020-09-03 23:24 ` [PATCH 4/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19 Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-03 23:24 ` [PATCH 5/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4 Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-03 23:24 ` [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-03 23:24   ` Douglas Anderson
2020-09-04  8:14   ` Lars Povlsen
2020-09-04  8:14     ` Lars Povlsen
2020-09-04  8:14     ` Lars Povlsen
2020-09-04  9:33   ` Angelo Dureghello
2020-09-04  9:33     ` Angelo Dureghello
2020-09-04  9:33     ` Angelo Dureghello
2020-09-04 10:42   ` Manivannan Sadhasivam
2020-09-04 10:42     ` Manivannan Sadhasivam
2020-09-04 10:42     ` Manivannan Sadhasivam
2020-09-04 21:53 ` [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers Martin Blumenstingl
2020-09-04 21:53   ` Martin Blumenstingl
2020-09-07  3:57   ` Anand Moon
2020-09-07  3:57     ` Anand Moon
2020-09-07  4:04     ` Chen-Yu Tsai
2020-09-07  4:04       ` Chen-Yu Tsai
2020-09-07  4:07     ` Chen-Yu Tsai
2020-09-07  4:07       ` Chen-Yu Tsai
2020-09-07 10:25       ` Ulf Hansson
2020-09-07 10:25         ` Ulf Hansson
2020-09-07 12:28 ` Ulf Hansson
2020-09-07 12:28   ` Ulf Hansson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.