OSDN Git Service

omap: remove omap2_hsmmc_info in old hsmmc.[ch] and update Makefile
authorH. Nikolaus Schaller <hns@goldelico.com>
Thu, 7 Nov 2019 10:30:40 +0000 (11:30 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 15 Nov 2019 08:59:19 +0000 (09:59 +0100)
There is a new driver in drivers/mmc/host/omap_hsmmc.c
configured by CONFIG_MMC_OMAP_HS and the last user
was the pdata-quirks for pandora.

Suggested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/hsmmc.c [deleted file]
arch/arm/mach-omap2/hsmmc.h [deleted file]
arch/arm/mach-omap2/pdata-quirks.c

index 8f20819..1e1e86d 100644 (file)
@@ -216,9 +216,6 @@ obj-$(CONFIG_MACH_NOKIA_N8X0)               += board-n8x0.o
 
 # Platform specific device init code
 
-omap-hsmmc-$(CONFIG_MMC_OMAP_HS)       := hsmmc.o
-obj-y                                  += $(omap-hsmmc-m) $(omap-hsmmc-y)
-
 obj-y                                  += omap_phy_internal.o
 
 obj-$(CONFIG_MACH_OMAP2_TUSB6010)      += usb-tusb6010.o
index 6316da3..223b37c 100644 (file)
@@ -352,7 +352,6 @@ void omap_pcs_legacy_init(int irq, void (*rearm)(void));
 struct omap_sdrc_params;
 extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
                                      struct omap_sdrc_params *sdrc_cs1);
-struct omap2_hsmmc_info;
 extern void omap_reserve(void);
 
 struct omap_hwmod;
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
deleted file mode 100644 (file)
index 63423ea..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * linux/arch/arm/mach-omap2/hsmmc.c
- *
- * Copyright (C) 2007-2008 Texas Instruments
- * Copyright (C) 2008 Nokia Corporation
- * Author: Texas Instruments
- */
-#include <linux/kernel.h>
-#include <linux/slab.h>
-#include <linux/string.h>
-#include <linux/delay.h>
-#include <linux/mmc/host.h>
-#include <linux/platform_data/hsmmc-omap.h>
-
-#include "soc.h"
-#include "omap_device.h"
-
-#include "hsmmc.h"
-#include "control.h"
-
-#if IS_ENABLED(CONFIG_MMC_OMAP_HS)
-
-static u16 control_pbias_offset;
-static u16 control_devconf1_offset;
-
-#define HSMMC_NAME_LEN 9
-
-static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
-                                       struct omap_hsmmc_platform_data *mmc)
-{
-       char *hc_name;
-
-       hc_name = kzalloc(HSMMC_NAME_LEN + 1, GFP_KERNEL);
-       if (!hc_name)
-               return -ENOMEM;
-
-       snprintf(hc_name, (HSMMC_NAME_LEN + 1), "mmc%islot%i", c->mmc, 1);
-       mmc->name = hc_name;
-       mmc->caps = c->caps;
-       mmc->reg_offset = 0;
-
-       return 0;
-}
-
-static int omap_hsmmc_done;
-
-void omap_hsmmc_late_init(struct omap2_hsmmc_info *c)
-{
-       struct platform_device *pdev;
-       int res;
-
-       if (omap_hsmmc_done)
-               return;
-
-       omap_hsmmc_done = 1;
-
-       for (; c->mmc; c++) {
-               pdev = c->pdev;
-               if (!pdev)
-                       continue;
-               res = omap_device_register(pdev);
-               if (res)
-                       pr_err("Could not late init MMC\n");
-       }
-}
-
-#define MAX_OMAP_MMC_HWMOD_NAME_LEN            16
-
-static void __init omap_hsmmc_init_one(struct omap2_hsmmc_info *hsmmcinfo,
-                                       int ctrl_nr)
-{
-       struct omap_hwmod *oh;
-       struct omap_hwmod *ohs[1];
-       struct omap_device *od;
-       struct platform_device *pdev;
-       char oh_name[MAX_OMAP_MMC_HWMOD_NAME_LEN];
-       struct omap_hsmmc_platform_data *mmc_data;
-       struct omap_hsmmc_dev_attr *mmc_dev_attr;
-       char *name;
-       int res;
-
-       mmc_data = kzalloc(sizeof(*mmc_data), GFP_KERNEL);
-       if (!mmc_data)
-               return;
-
-       res = omap_hsmmc_pdata_init(hsmmcinfo, mmc_data);
-       if (res < 0)
-               goto free_mmc;
-
-       name = "omap_hsmmc";
-       res = snprintf(oh_name, MAX_OMAP_MMC_HWMOD_NAME_LEN,
-                    "mmc%d", ctrl_nr);
-       WARN(res >= MAX_OMAP_MMC_HWMOD_NAME_LEN,
-            "String buffer overflow in MMC%d device setup\n", ctrl_nr);
-
-       oh = omap_hwmod_lookup(oh_name);
-       if (!oh) {
-               pr_err("Could not look up %s\n", oh_name);
-               goto free_name;
-       }
-       ohs[0] = oh;
-       if (oh->dev_attr != NULL) {
-               mmc_dev_attr = oh->dev_attr;
-               mmc_data->controller_flags = mmc_dev_attr->flags;
-       }
-
-       pdev = platform_device_alloc(name, ctrl_nr - 1);
-       if (!pdev) {
-               pr_err("Could not allocate pdev for %s\n", name);
-               goto free_name;
-       }
-       dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id);
-
-       od = omap_device_alloc(pdev, ohs, 1);
-       if (IS_ERR(od)) {
-               pr_err("Could not allocate od for %s\n", name);
-               goto put_pdev;
-       }
-
-       res = platform_device_add_data(pdev, mmc_data,
-                             sizeof(struct omap_hsmmc_platform_data));
-       if (res) {
-               pr_err("Could not add pdata for %s\n", name);
-               goto put_pdev;
-       }
-
-       hsmmcinfo->pdev = pdev;
-
-       res = omap_device_register(pdev);
-       if (res) {
-               pr_err("Could not register od for %s\n", name);
-               goto free_od;
-       }
-
-       goto free_mmc;
-
-free_od:
-       omap_device_delete(od);
-
-put_pdev:
-       platform_device_put(pdev);
-
-free_name:
-       kfree(mmc_data->name);
-
-free_mmc:
-       kfree(mmc_data);
-}
-
-void __init omap_hsmmc_init(struct omap2_hsmmc_info *controllers)
-{
-       if (omap_hsmmc_done)
-               return;
-
-       omap_hsmmc_done = 1;
-
-       if (cpu_is_omap2430()) {
-               control_pbias_offset = OMAP243X_CONTROL_PBIAS_LITE;
-               control_devconf1_offset = OMAP243X_CONTROL_DEVCONF1;
-       } else {
-               control_pbias_offset = OMAP343X_CONTROL_PBIAS_LITE;
-               control_devconf1_offset = OMAP343X_CONTROL_DEVCONF1;
-       }
-
-       for (; controllers->mmc; controllers++)
-               omap_hsmmc_init_one(controllers, controllers->mmc);
-
-}
-
-#endif
diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h
deleted file mode 100644 (file)
index 76c5ed2..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * MMC definitions for OMAP2
- */
-
-struct mmc_card;
-
-struct omap2_hsmmc_info {
-       u8      mmc;            /* controller 1/2/3 */
-       u32     caps;           /* 4/8 wires and any additional host
-                                * capabilities OR'd (ref. linux/mmc/host.h) */
-       struct platform_device *pdev;   /* mmc controller instance */
-       /* init some special card */
-       void (*init_card)(struct mmc_card *card);
-};
-
-#if IS_ENABLED(CONFIG_MMC_OMAP_HS)
-
-void omap_hsmmc_init(struct omap2_hsmmc_info *);
-void omap_hsmmc_late_init(struct omap2_hsmmc_info *);
-
-#else
-
-static inline void omap_hsmmc_init(struct omap2_hsmmc_info *info)
-{
-}
-
-static inline void omap_hsmmc_late_init(struct omap2_hsmmc_info *info)
-{
-}
-
-#endif
index 1b7cf81..ad0e007 100644 (file)
@@ -32,7 +32,6 @@
 #include "omap_device.h"
 #include "omap-secure.h"
 #include "soc.h"
-#include "hsmmc.h"
 
 static struct omap_hsmmc_platform_data __maybe_unused mmc_pdata[2];