Skip to contentSkip to conversation

mmc: jz4740: Use device_get_match_data()

PATCH In review Rob Herring 3 participants 3 messages Oct 6, 2023 – Oct 10, 2023

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mmc: jz4740: Use device_get_match_data()

Use preferred device_get_match_data() instead of of_match_device() to get the driver match data. With this, adjust the includes to explicitly include the correct headers.

---
 drivers/mmc/host/jz4740_mmc.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)
drivers/mmc/host/jz4740_mmc.c +5 -10
index f379ce5b582d..6a45991ca056 100644
@@ -18,9 +18,10 @@
 #include <linux/mmc/host.h>
 #include <linux/mmc/slot-gpio.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
+#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/scatterlist.h>
 
@@ -1040,7 +1041,6 @@ static int jz4740_mmc_probe(struct platform_device* pdev)
 	int ret;
 	struct mmc_host *mmc;
 	struct jz4740_mmc_host *host;
-	const struct of_device_id *match;
 
 	mmc = mmc_alloc_host(sizeof(struct jz4740_mmc_host), &pdev->dev);
 	if (!mmc) {
@@ -1050,13 +1050,8 @@ static int jz4740_mmc_probe(struct platform_device* pdev)
 
 	host = mmc_priv(mmc);
 
-	match = of_match_device(jz4740_mmc_of_match, &pdev->dev);
-	if (match) {
-		host->version = (enum jz4740_mmc_version)match->data;
-	} else {
-		/* JZ4740 should be the only one using legacy probe */
-		host->version = JZ_MMC_JZ4740;
-	}
+	/* Default if no match is JZ4740 */
+	host->version = (enum jz4740_mmc_version)device_get_match_data(&pdev->dev);
 
 	ret = mmc_of_parse(mmc);
 	if (ret) {
@@ -1200,7 +1195,7 @@ static struct platform_driver jz4740_mmc_driver = {
 	.driver = {
 		.name = "jz4740-mmc",
 		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
-		.of_match_table = of_match_ptr(jz4740_mmc_of_match),
+		.of_match_table = jz4740_mmc_of_match,
 		.pm = pm_sleep_ptr(&jz4740_mmc_pm_ops),
 	},
 };
Signature · 1 line
2.40.1
maintainer Reviewed-by on v1 1/1
#1 lore raw

Hi Rob,

Le vendredi 06 octobre 2023 à 17:43 -0500, Rob Herring a écrit :

Quoted 45 lines

Use preferred device_get_match_data() instead of of_match_device() to get the driver match data. With this, adjust the includes to explicitly
include the correct headers.

---
 drivers/mmc/host/jz4740_mmc.c | 15 +++++----------

 1 file changed, 5 insertions(+), 10 deletions(-)
drivers/mmc/host/jz4740_mmc.c +2 -1
index f379ce5b582d..6a45991ca056 100644
@@ -18,9 +18,10 @@
  #include <linux/mmc/host.h>
  #include <linux/mmc/slot-gpio.h>
  #include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
  #include <linux/pinctrl/consumer.h>
  #include <linux/platform_device.h>
+#include <linux/property.h>
  #include <linux/regulator/consumer.h>
  #include <linux/scatterlist.h>

drivers/mmc/host/jz4740_mmc.c +0 -1
@@ -1040,7 +1041,6 @@ static int jz4740_mmc_probe(struct
 platform_device* pdev)
         int ret;
         struct mmc_host *mmc;
         struct jz4740_mmc_host *host;
-       const struct of_device_id *match;


        mmc = mmc_alloc_host(sizeof(struct jz4740_mmc_host), &pdev-

Quoted 1 line

dev);

        if (!mmc) {

drivers/mmc/host/jz4740_mmc.c +0 -0
@@ -1050,13 +1050,8 @@ static int jz4740_mmc_probe(struct
 platform_device* pdev)


        host = mmc_priv(mmc);

-       match = of_match_device(jz4740_mmc_of_match, &pdev->dev); -       if (match) {
-               host->version = (enum jz4740_mmc_version)match->data;

Quoted 8 lines

-       } else {
-               /* JZ4740 should be the only one using legacy probe */
-               host->version = JZ_MMC_JZ4740;
-       }
+       /* Default if no match is JZ4740 */
+       host->version = (enum jz4740_mmc_version)device_get_match_data(&pdev->dev);

Pretty clever.

Cheers,
-Paul

Quoted 13 lines


        ret = mmc_of_parse(mmc);
        if (ret) {

drivers/mmc/host/jz4740_mmc.c +1 -1
@@ -1200,7 +1195,7 @@ static struct platform_driver jz4740_mmc_driver
 = {
         .driver = {
                 .name = "jz4740-mmc",
                 .probe_type = PROBE_PREFER_ASYNCHRONOUS,
-               .of_match_table = of_match_ptr(jz4740_mmc_of_match),
+               .of_match_table = jz4740_mmc_of_match,
                 .pm = pm_sleep_ptr(&jz4740_mmc_pm_ops),
         },

 };

#2 lore raw
In reply to Rob Herring
Quoted 6 lines · Rob Herring

Use preferred device_get_match_data() instead of of_match_device() to get the driver match data. With this, adjust the includes to explicitly include the correct headers.

Applied for next, thanks!

Kind regards
Uffe

Quoted 56 lines
---
 drivers/mmc/host/jz4740_mmc.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)
drivers/mmc/host/jz4740_mmc.c +5 -11
index f379ce5b582d..6a45991ca056 100644
@@ -18,9 +18,10 @@
 #include <linux/mmc/host.h>
 #include <linux/mmc/slot-gpio.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
+#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/scatterlist.h>
 
@@ -1040,7 +1041,6 @@ static int jz4740_mmc_probe(struct platform_device* pdev)
        int ret;
        struct mmc_host *mmc;
        struct jz4740_mmc_host *host;
-       const struct of_device_id *match;
 
        mmc = mmc_alloc_host(sizeof(struct jz4740_mmc_host), &pdev->dev);
        if (!mmc) {
@@ -1050,13 +1050,8 @@ static int jz4740_mmc_probe(struct platform_device* pdev)
 
        host = mmc_priv(mmc);
 
-       match = of_match_device(jz4740_mmc_of_match, &pdev->dev);
-       if (match) {
-               host->version = (enum jz4740_mmc_version)match->data;
-       } else {
-               /* JZ4740 should be the only one using legacy probe */
-               host->version = JZ_MMC_JZ4740;
-       }
+       /* Default if no match is JZ4740 */
+       host->version = (enum jz4740_mmc_version)device_get_match_data(&pdev->dev);
 
        ret = mmc_of_parse(mmc);
        if (ret) {
@@ -1200,7 +1195,7 @@ static struct platform_driver jz4740_mmc_driver = {
        .driver = {
                .name = "jz4740-mmc",
                .probe_type = PROBE_PREFER_ASYNCHRONOUS,
-               .of_match_table = of_match_ptr(jz4740_mmc_of_match),
+               .of_match_table = jz4740_mmc_of_match,
                .pm = pm_sleep_ptr(&jz4740_mmc_pm_ops),
        },
 };
--

2.40.1