|
@@ -20,7 +20,6 @@
|
|
|
#include <linux/of.h>
|
|
|
#include <linux/pinctrl/machine.h>
|
|
|
#include <linux/platform_data/omap4-keypad.h>
|
|
|
-#include <linux/platform_data/omap_ocp2scp.h>
|
|
|
#include <linux/wl12xx.h>
|
|
|
|
|
|
#include <asm/mach-types.h>
|
|
@@ -515,82 +514,6 @@ static void omap_init_vout(void)
|
|
|
static inline void omap_init_vout(void) {}
|
|
|
#endif
|
|
|
|
|
|
-#if defined(CONFIG_OMAP_OCP2SCP) || defined(CONFIG_OMAP_OCP2SCP_MODULE)
|
|
|
-static int count_ocp2scp_devices(struct omap_ocp2scp_dev *ocp2scp_dev)
|
|
|
-{
|
|
|
- int cnt = 0;
|
|
|
-
|
|
|
- while (ocp2scp_dev->drv_name != NULL) {
|
|
|
- cnt++;
|
|
|
- ocp2scp_dev++;
|
|
|
- }
|
|
|
-
|
|
|
- return cnt;
|
|
|
-}
|
|
|
-
|
|
|
-static void __init omap_init_ocp2scp(void)
|
|
|
-{
|
|
|
- struct omap_hwmod *oh;
|
|
|
- struct platform_device *pdev;
|
|
|
- int bus_id = -1, dev_cnt = 0, i;
|
|
|
- struct omap_ocp2scp_dev *ocp2scp_dev;
|
|
|
- const char *oh_name, *name;
|
|
|
- struct omap_ocp2scp_platform_data *pdata;
|
|
|
-
|
|
|
- if (!cpu_is_omap44xx())
|
|
|
- return;
|
|
|
-
|
|
|
- oh_name = "ocp2scp_usb_phy";
|
|
|
- name = "omap-ocp2scp";
|
|
|
-
|
|
|
- oh = omap_hwmod_lookup(oh_name);
|
|
|
- if (!oh) {
|
|
|
- pr_err("%s: could not find omap_hwmod for %s\n", __func__,
|
|
|
- oh_name);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
|
|
|
- if (!pdata) {
|
|
|
- pr_err("%s: No memory for ocp2scp pdata\n", __func__);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- ocp2scp_dev = oh->dev_attr;
|
|
|
- dev_cnt = count_ocp2scp_devices(ocp2scp_dev);
|
|
|
-
|
|
|
- if (!dev_cnt) {
|
|
|
- pr_err("%s: No devices connected to ocp2scp\n", __func__);
|
|
|
- kfree(pdata);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- pdata->devices = kzalloc(sizeof(struct omap_ocp2scp_dev *)
|
|
|
- * dev_cnt, GFP_KERNEL);
|
|
|
- if (!pdata->devices) {
|
|
|
- pr_err("%s: No memory for ocp2scp pdata devices\n", __func__);
|
|
|
- kfree(pdata);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- for (i = 0; i < dev_cnt; i++, ocp2scp_dev++)
|
|
|
- pdata->devices[i] = ocp2scp_dev;
|
|
|
-
|
|
|
- pdata->dev_cnt = dev_cnt;
|
|
|
-
|
|
|
- pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata));
|
|
|
- if (IS_ERR(pdev)) {
|
|
|
- pr_err("Could not build omap_device for %s %s\n",
|
|
|
- name, oh_name);
|
|
|
- kfree(pdata->devices);
|
|
|
- kfree(pdata);
|
|
|
- return;
|
|
|
- }
|
|
|
-}
|
|
|
-#else
|
|
|
-static inline void omap_init_ocp2scp(void) { }
|
|
|
-#endif
|
|
|
-
|
|
|
#if IS_ENABLED(CONFIG_WL12XX)
|
|
|
|
|
|
static struct wl12xx_platform_data wl12xx __initdata;
|
|
@@ -655,7 +578,6 @@ static int __init omap2_init_devices(void)
|
|
|
omap_init_sti();
|
|
|
omap_init_rng();
|
|
|
omap_init_vout();
|
|
|
- omap_init_ocp2scp();
|
|
|
|
|
|
return 0;
|
|
|
}
|