mmc: mmc_spi: Make of_mmc_spi.c resource provider agnostic
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 19 Apr 2021 11:24:59 +0000 (14:24 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 23 Apr 2021 07:29:49 +0000 (09:29 +0200)
In order to use the same driver on non-OF platforms, make
of_mmc_spi.c resource provider agnostic.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210419112459.25241-6-andriy.shevchenko@linux.intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/Makefile
drivers/mmc/host/of_mmc_spi.c
include/linux/spi/mmc_spi.h

index 6df5c47..14004cc 100644 (file)
@@ -34,9 +34,7 @@ obj-$(CONFIG_MMC_TIFM_SD)     += tifm_sd.o
 obj-$(CONFIG_MMC_MVSDIO)       += mvsdio.o
 obj-$(CONFIG_MMC_DAVINCI)       += davinci_mmc.o
 obj-$(CONFIG_MMC_SPI)          += mmc_spi.o
-ifeq ($(CONFIG_OF),y)
 obj-$(CONFIG_MMC_SPI)          += of_mmc_spi.o
-endif
 obj-$(CONFIG_MMC_S3C)          += s3cmci.o
 obj-$(CONFIG_MMC_SDRICOH_CS)   += sdricoh_cs.o
 obj-$(CONFIG_MMC_TMIO)         += tmio_mmc.o
index 009c388..9d480a0 100644 (file)
@@ -51,10 +51,9 @@ struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi)
 {
        struct mmc_host *mmc = dev_get_drvdata(&spi->dev);
        struct device *dev = &spi->dev;
-       struct device_node *np = dev->of_node;
        struct of_mmc_spi *oms;
 
-       if (dev->platform_data || !np)
+       if (dev->platform_data || !dev_fwnode(dev))
                return dev->platform_data;
 
        oms = kzalloc(sizeof(*oms), GFP_KERNEL);
@@ -83,10 +82,9 @@ EXPORT_SYMBOL(mmc_spi_get_pdata);
 void mmc_spi_put_pdata(struct spi_device *spi)
 {
        struct device *dev = &spi->dev;
-       struct device_node *np = dev->of_node;
        struct of_mmc_spi *oms = to_of_mmc_spi(dev);
 
-       if (!dev->platform_data || !np)
+       if (!dev->platform_data || !dev_fwnode(dev))
                return;
 
        kfree(oms);
index 778ae8e..9ad9a06 100644 (file)
@@ -35,16 +35,7 @@ struct mmc_spi_platform_data {
        void (*setpower)(struct device *, unsigned int maskval);
 };
 
-#ifdef CONFIG_OF
 extern struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi);
 extern void mmc_spi_put_pdata(struct spi_device *spi);
-#else
-static inline struct mmc_spi_platform_data *
-mmc_spi_get_pdata(struct spi_device *spi)
-{
-       return spi->dev.platform_data;
-}
-static inline void mmc_spi_put_pdata(struct spi_device *spi) {}
-#endif /* CONFIG_OF */
 
 #endif /* __LINUX_SPI_MMC_SPI_H */