Commit c1d1cd59 authored by Paul Walmsley's avatar Paul Walmsley

ARM: OMAP2+: omap_device: remove obsolete pm_lats and early_device code

Remove now-obsolete code from arch/arm/mach-omap2/omap_device.c.  This
mostly consists of removing the first attempt at device PM latency
handling.  This was never really used, has been replaced by the common
dev_pm_qos code, and needs to go away as part of the DT conversion.
Also, the early platform_device creation code has been removed, as it
appears to be unused.
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
parent 949db153
...@@ -63,7 +63,7 @@ static int __init omap_davinci_emac_dev_init(struct omap_hwmod *oh, ...@@ -63,7 +63,7 @@ static int __init omap_davinci_emac_dev_init(struct omap_hwmod *oh,
struct platform_device *pdev; struct platform_device *pdev;
pdev = omap_device_build(oh->class->name, 0, oh, pdata, pdata_len, pdev = omap_device_build(oh->class->name, 0, oh, pdata, pdata_len,
NULL, 0, false); false);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
WARN(1, "Can't build omap_device for %s:%s.\n", WARN(1, "Can't build omap_device for %s:%s.\n",
oh->class->name, oh->name); oh->class->name, oh->name);
......
...@@ -61,8 +61,7 @@ static int __init omap3_l3_init(void) ...@@ -61,8 +61,7 @@ static int __init omap3_l3_init(void)
if (!oh) if (!oh)
pr_err("could not look up %s\n", oh_name); pr_err("could not look up %s\n", oh_name);
pdev = omap_device_build("omap_l3_smx", 0, oh, NULL, 0, pdev = omap_device_build("omap_l3_smx", 0, oh, NULL, 0);
NULL, 0, 0);
WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
...@@ -96,8 +95,7 @@ static int __init omap4_l3_init(void) ...@@ -96,8 +95,7 @@ static int __init omap4_l3_init(void)
pr_err("could not look up %s\n", oh_name); pr_err("could not look up %s\n", oh_name);
} }
pdev = omap_device_build_ss("omap_l3_noc", 0, oh, 3, NULL, pdev = omap_device_build_ss("omap_l3_noc", 0, oh, 3, NULL, 0);
0, NULL, 0, 0);
WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
...@@ -273,7 +271,7 @@ int __init omap4_keyboard_init(struct omap4_keypad_platform_data ...@@ -273,7 +271,7 @@ int __init omap4_keyboard_init(struct omap4_keypad_platform_data
keypad_data = sdp4430_keypad_data; keypad_data = sdp4430_keypad_data;
pdev = omap_device_build(name, id, oh, keypad_data, pdev = omap_device_build(name, id, oh, keypad_data,
sizeof(struct omap4_keypad_platform_data), NULL, 0, 0); sizeof(struct omap4_keypad_platform_data));
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
WARN(1, "Can't build omap_device for %s:%s.\n", WARN(1, "Can't build omap_device for %s:%s.\n",
...@@ -297,7 +295,7 @@ static inline void __init omap_init_mbox(void) ...@@ -297,7 +295,7 @@ static inline void __init omap_init_mbox(void)
return; return;
} }
pdev = omap_device_build("omap-mailbox", -1, oh, NULL, 0, NULL, 0, 0); pdev = omap_device_build("omap-mailbox", -1, oh, NULL, 0);
WARN(IS_ERR(pdev), "%s: could not build device, err %ld\n", WARN(IS_ERR(pdev), "%s: could not build device, err %ld\n",
__func__, PTR_ERR(pdev)); __func__, PTR_ERR(pdev));
} }
...@@ -337,7 +335,7 @@ static void __init omap_init_mcpdm(void) ...@@ -337,7 +335,7 @@ static void __init omap_init_mcpdm(void)
return; return;
} }
pdev = omap_device_build("omap-mcpdm", -1, oh, NULL, 0, NULL, 0, 0); pdev = omap_device_build("omap-mcpdm", -1, oh, NULL, 0);
WARN(IS_ERR(pdev), "Can't build omap_device for omap-mcpdm.\n"); WARN(IS_ERR(pdev), "Can't build omap_device for omap-mcpdm.\n");
} }
#else #else
...@@ -358,7 +356,7 @@ static void __init omap_init_dmic(void) ...@@ -358,7 +356,7 @@ static void __init omap_init_dmic(void)
return; return;
} }
pdev = omap_device_build("omap-dmic", -1, oh, NULL, 0, NULL, 0, 0); pdev = omap_device_build("omap-dmic", -1, oh, NULL, 0);
WARN(IS_ERR(pdev), "Can't build omap_device for omap-dmic.\n"); WARN(IS_ERR(pdev), "Can't build omap_device for omap-dmic.\n");
} }
#else #else
...@@ -384,8 +382,7 @@ static void __init omap_init_hdmi_audio(void) ...@@ -384,8 +382,7 @@ static void __init omap_init_hdmi_audio(void)
return; return;
} }
pdev = omap_device_build("omap-hdmi-audio-dai", pdev = omap_device_build("omap-hdmi-audio-dai", -1, oh, NULL, 0, 0);
-1, oh, NULL, 0, NULL, 0, 0);
WARN(IS_ERR(pdev), WARN(IS_ERR(pdev),
"Can't build omap_device for omap-hdmi-audio-dai.\n"); "Can't build omap_device for omap-hdmi-audio-dai.\n");
...@@ -429,8 +426,7 @@ static int __init omap_mcspi_init(struct omap_hwmod *oh, void *unused) ...@@ -429,8 +426,7 @@ static int __init omap_mcspi_init(struct omap_hwmod *oh, void *unused)
} }
spi_num++; spi_num++;
pdev = omap_device_build(name, spi_num, oh, pdata, pdev = omap_device_build(name, spi_num, oh, pdata, sizeof(*pdata));
sizeof(*pdata), NULL, 0, 0);
WARN(IS_ERR(pdev), "Can't build omap_device for %s:%s\n", WARN(IS_ERR(pdev), "Can't build omap_device for %s:%s\n",
name, oh->name); name, oh->name);
kfree(pdata); kfree(pdata);
...@@ -460,7 +456,7 @@ static void omap_init_rng(void) ...@@ -460,7 +456,7 @@ static void omap_init_rng(void)
if (!oh) if (!oh)
return; return;
pdev = omap_device_build("omap_rng", -1, oh, NULL, 0, NULL, 0, 0); pdev = omap_device_build("omap_rng", -1, oh, NULL, 0);
WARN(IS_ERR(pdev), "Can't build omap_device for omap_rng\n"); WARN(IS_ERR(pdev), "Can't build omap_device for omap_rng\n");
} }
...@@ -689,8 +685,7 @@ static void __init omap_init_ocp2scp(void) ...@@ -689,8 +685,7 @@ static void __init omap_init_ocp2scp(void)
pdata->dev_cnt = dev_cnt; pdata->dev_cnt = dev_cnt;
pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata), NULL, pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata));
0, false);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("Could not build omap_device for %s %s\n", pr_err("Could not build omap_device for %s %s\n",
name, oh_name); name, oh_name);
......
...@@ -226,7 +226,7 @@ static struct platform_device *create_dss_pdev(const char *pdev_name, ...@@ -226,7 +226,7 @@ static struct platform_device *create_dss_pdev(const char *pdev_name,
dev_set_name(&pdev->dev, "%s", pdev->name); dev_set_name(&pdev->dev, "%s", pdev->name);
ohs[0] = oh; ohs[0] = oh;
od = omap_device_alloc(pdev, ohs, 1, NULL, 0); od = omap_device_alloc(pdev, ohs, 1);
if (IS_ERR(od)) { if (IS_ERR(od)) {
pr_err("Could not alloc omap_device for %s\n", pdev_name); pr_err("Could not alloc omap_device for %s\n", pdev_name);
r = -ENOMEM; r = -ENOMEM;
......
...@@ -248,7 +248,7 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused) ...@@ -248,7 +248,7 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
p->errata = configure_dma_errata(); p->errata = configure_dma_errata();
pdev = omap_device_build(name, 0, oh, p, sizeof(*p), NULL, 0, 0); pdev = omap_device_build(name, 0, oh, p, sizeof(*p));
kfree(p); kfree(p);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("%s: Can't build omap_device for %s:%s.\n", pr_err("%s: Can't build omap_device for %s:%s.\n",
......
...@@ -51,8 +51,7 @@ static int __init omap_init_drm(void) ...@@ -51,8 +51,7 @@ static int __init omap_init_drm(void)
oh = omap_hwmod_lookup("dmm"); oh = omap_hwmod_lookup("dmm");
if (oh) { if (oh) {
pdev = omap_device_build(oh->name, -1, oh, NULL, 0, NULL, 0, pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
false);
WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", WARN(IS_ERR(pdev), "Could not build omap_device for %s\n",
oh->name); oh->name);
} }
......
...@@ -131,8 +131,7 @@ static int __init omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) ...@@ -131,8 +131,7 @@ static int __init omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
pwrdm = omap_hwmod_get_pwrdm(oh); pwrdm = omap_hwmod_get_pwrdm(oh);
pdata->loses_context = pwrdm_can_ever_lose_context(pwrdm); pdata->loses_context = pwrdm_can_ever_lose_context(pwrdm);
pdev = omap_device_build(name, id - 1, oh, pdata, pdev = omap_device_build(name, id - 1, oh, pdata, sizeof(*pdata));
sizeof(*pdata), NULL, 0, false);
kfree(pdata); kfree(pdata);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
......
...@@ -1220,7 +1220,7 @@ static int __init omap_gpmc_init(void) ...@@ -1220,7 +1220,7 @@ static int __init omap_gpmc_init(void)
return -ENODEV; return -ENODEV;
} }
pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0, NULL, 0, 0); pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0);
WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; return IS_ERR(pdev) ? PTR_ERR(pdev) : 0;
......
...@@ -87,7 +87,7 @@ static int __init omap_init_hdq(void) ...@@ -87,7 +87,7 @@ static int __init omap_init_hdq(void)
if (!oh) if (!oh)
return 0; return 0;
pdev = omap_device_build(devname, id, oh, NULL, 0, NULL, 0, 0); pdev = omap_device_build(devname, id, oh, NULL, 0);
WARN(IS_ERR(pdev), "Can't build omap_device for %s:%s.\n", WARN(IS_ERR(pdev), "Can't build omap_device for %s:%s.\n",
devname, oh->name); devname, oh->name);
......
...@@ -522,7 +522,7 @@ static void __init omap_hsmmc_init_one(struct omap2_hsmmc_info *hsmmcinfo, ...@@ -522,7 +522,7 @@ static void __init omap_hsmmc_init_one(struct omap2_hsmmc_info *hsmmcinfo,
} }
dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id); dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id);
od = omap_device_alloc(pdev, ohs, 1, NULL, 0); od = omap_device_alloc(pdev, ohs, 1);
if (IS_ERR(od)) { if (IS_ERR(od)) {
pr_err("Could not allocate od for %s\n", name); pr_err("Could not allocate od for %s\n", name);
goto put_pdev; goto put_pdev;
......
...@@ -46,8 +46,7 @@ static int __init hwspinlocks_init(void) ...@@ -46,8 +46,7 @@ static int __init hwspinlocks_init(void)
return -EINVAL; return -EINVAL;
pdev = omap_device_build(dev_name, 0, oh, &omap_hwspinlock_pdata, pdev = omap_device_build(dev_name, 0, oh, &omap_hwspinlock_pdata,
sizeof(struct hwspinlock_pdata), sizeof(struct hwspinlock_pdata));
NULL, 0, false);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("Can't build omap_device for %s:%s\n", dev_name, pr_err("Can't build omap_device for %s:%s\n", dev_name,
oh_name); oh_name);
......
...@@ -178,8 +178,7 @@ int __init omap_i2c_add_bus(struct omap_i2c_bus_platform_data *i2c_pdata, ...@@ -178,8 +178,7 @@ int __init omap_i2c_add_bus(struct omap_i2c_bus_platform_data *i2c_pdata,
if (cpu_is_omap34xx()) if (cpu_is_omap34xx())
pdata->set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat; pdata->set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat;
pdev = omap_device_build(name, bus_id, oh, pdata, pdev = omap_device_build(name, bus_id, oh, pdata,
sizeof(struct omap_i2c_bus_platform_data), sizeof(struct omap_i2c_bus_platform_data));
NULL, 0, 0);
WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name); WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name);
return PTR_RET(pdev); return PTR_RET(pdev);
......
...@@ -101,7 +101,7 @@ static int __init omap_init_mcbsp(struct omap_hwmod *oh, void *unused) ...@@ -101,7 +101,7 @@ static int __init omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
count++; count++;
} }
pdev = omap_device_build_ss(name, id, oh_device, count, pdata, pdev = omap_device_build_ss(name, id, oh_device, count, pdata,
sizeof(*pdata), NULL, 0, false); sizeof(*pdata));
kfree(pdata); kfree(pdata);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("%s: Can't build omap_device for %s:%s.\n", __func__, pr_err("%s: Can't build omap_device for %s:%s.\n", __func__,
......
...@@ -150,7 +150,7 @@ void __init omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data) ...@@ -150,7 +150,7 @@ void __init omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data)
return; return;
} }
pdev = omap_device_build(dev_name, id, oh, mmc_data[0], pdev = omap_device_build(dev_name, id, oh, mmc_data[0],
sizeof(struct omap_mmc_platform_data), NULL, 0, 0); sizeof(struct omap_mmc_platform_data));
if (IS_ERR(pdev)) if (IS_ERR(pdev))
WARN(1, "Can'd build omap_device for %s:%s.\n", WARN(1, "Can'd build omap_device for %s:%s.\n",
dev_name, oh->name); dev_name, oh->name);
......
...@@ -41,8 +41,7 @@ static int __init omap_iommu_dev_init(struct omap_hwmod *oh, void *unused) ...@@ -41,8 +41,7 @@ static int __init omap_iommu_dev_init(struct omap_hwmod *oh, void *unused)
pdata->deassert_reset = omap_device_deassert_hardreset; pdata->deassert_reset = omap_device_deassert_hardreset;
} }
pdev = omap_device_build("omap-iommu", i, oh, pdata, sizeof(*pdata), pdev = omap_device_build("omap-iommu", i, oh, pdata, sizeof(*pdata));
NULL, 0, 0);
kfree(pdata); kfree(pdata);
......
This diff is collapsed.
...@@ -13,20 +13,12 @@ ...@@ -13,20 +13,12 @@
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
* *
* Eventually this type of functionality should either be * This type of functionality should be implemented as a proper
* a) implemented via arch-specific pointers in platform_device * omap_bus/omap_device in Linux.
* or
* b) implemented as a proper omap_bus/omap_device in Linux, no more
* platform_device
* *
* omap_device differs from omap_hwmod in that it includes external * omap_device differs from omap_hwmod in that it includes external
* (e.g., board- and system-level) integration details. omap_hwmod * (e.g., board- and system-level) integration details. omap_hwmod
* stores hardware data that is invariant for a given OMAP chip. * stores hardware data that is invariant for a given OMAP chip.
*
* To do:
* - GPIO integration
* - regulator integration
*
*/ */
#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H #ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H
#define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H #define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_DEVICE_H
...@@ -45,19 +37,14 @@ extern struct dev_pm_domain omap_device_pm_domain; ...@@ -45,19 +37,14 @@ extern struct dev_pm_domain omap_device_pm_domain;
#define OMAP_DEVICE_STATE_SHUTDOWN 3 #define OMAP_DEVICE_STATE_SHUTDOWN 3
/* omap_device.flags values */ /* omap_device.flags values */
#define OMAP_DEVICE_SUSPENDED BIT(0) #define OMAP_DEVICE_SUSPENDED BIT(0)
#define OMAP_DEVICE_NO_IDLE_ON_SUSPEND BIT(1) #define OMAP_DEVICE_NO_IDLE_ON_SUSPEND BIT(1)
/** /**
* struct omap_device - omap_device wrapper for platform_devices * struct omap_device - omap_device wrapper for platform_devices
* @pdev: platform_device * @pdev: platform_device
* @hwmods: (one .. many per omap_device) * @hwmods: (one .. many per omap_device)
* @hwmods_cnt: ARRAY_SIZE() of @hwmods * @hwmods_cnt: ARRAY_SIZE() of @hwmods
* @pm_lats: ptr to an omap_device_pm_latency table
* @pm_lats_cnt: ARRAY_SIZE() of what is passed to @pm_lats
* @pm_lat_level: array index of the last odpl entry executed - -1 if never
* @dev_wakeup_lat: dev wakeup latency in nanoseconds
* @_dev_wakeup_lat_limit: dev wakeup latency limit in nsec - set by OMAP PM
* @_state: one of OMAP_DEVICE_STATE_* (see above) * @_state: one of OMAP_DEVICE_STATE_* (see above)
* @flags: device flags * @flags: device flags
* @_driver_status: one of BUS_NOTIFY_*_DRIVER from <linux/device.h> * @_driver_status: one of BUS_NOTIFY_*_DRIVER from <linux/device.h>
...@@ -71,12 +58,7 @@ extern struct dev_pm_domain omap_device_pm_domain; ...@@ -71,12 +58,7 @@ extern struct dev_pm_domain omap_device_pm_domain;
struct omap_device { struct omap_device {
struct platform_device *pdev; struct platform_device *pdev;
struct omap_hwmod **hwmods; struct omap_hwmod **hwmods;
struct omap_device_pm_latency *pm_lats;
u32 dev_wakeup_lat;
u32 _dev_wakeup_lat_limit;
unsigned long _driver_status; unsigned long _driver_status;
u8 pm_lats_cnt;
s8 pm_lat_level;
u8 hwmods_cnt; u8 hwmods_cnt;
u8 _state; u8 _state;
u8 flags; u8 flags;
...@@ -86,36 +68,25 @@ struct omap_device { ...@@ -86,36 +68,25 @@ struct omap_device {
int omap_device_enable(struct platform_device *pdev); int omap_device_enable(struct platform_device *pdev);
int omap_device_idle(struct platform_device *pdev); int omap_device_idle(struct platform_device *pdev);
int omap_device_shutdown(struct platform_device *pdev);
/* Core code interface */ /* Core code interface */
struct platform_device *omap_device_build(const char *pdev_name, int pdev_id, struct platform_device *omap_device_build(const char *pdev_name, int pdev_id,
struct omap_hwmod *oh, void *pdata, struct omap_hwmod *oh, void *pdata,
int pdata_len, int pdata_len);
struct omap_device_pm_latency *pm_lats,
int pm_lats_cnt, int is_early_device);
struct platform_device *omap_device_build_ss(const char *pdev_name, int pdev_id, struct platform_device *omap_device_build_ss(const char *pdev_name, int pdev_id,
struct omap_hwmod **oh, int oh_cnt, struct omap_hwmod **oh, int oh_cnt,
void *pdata, int pdata_len, void *pdata, int pdata_len);
struct omap_device_pm_latency *pm_lats,
int pm_lats_cnt, int is_early_device);
struct omap_device *omap_device_alloc(struct platform_device *pdev, struct omap_device *omap_device_alloc(struct platform_device *pdev,
struct omap_hwmod **ohs, int oh_cnt, struct omap_hwmod **ohs, int oh_cnt);
struct omap_device_pm_latency *pm_lats,
int pm_lats_cnt);
void omap_device_delete(struct omap_device *od); void omap_device_delete(struct omap_device *od);
int omap_device_register(struct platform_device *pdev); int omap_device_register(struct platform_device *pdev);
void __iomem *omap_device_get_rt_va(struct omap_device *od);
struct device *omap_device_get_by_hwmod_name(const char *oh_name); struct device *omap_device_get_by_hwmod_name(const char *oh_name);
/* OMAP PM interface */ /* OMAP PM interface */
int omap_device_align_pm_lat(struct platform_device *pdev,
u32 new_wakeup_lat_limit);
struct powerdomain *omap_device_get_pwrdm(struct omap_device *od);
int omap_device_get_context_loss_count(struct platform_device *pdev); int omap_device_get_context_loss_count(struct platform_device *pdev);
/* Other */ /* Other */
...@@ -124,40 +95,6 @@ int omap_device_assert_hardreset(struct platform_device *pdev, ...@@ -124,40 +95,6 @@ int omap_device_assert_hardreset(struct platform_device *pdev,
const char *name); const char *name);
int omap_device_deassert_hardreset(struct platform_device *pdev, int omap_device_deassert_hardreset(struct platform_device *pdev,
const char *name); const char *name);
int omap_device_idle_hwmods(struct omap_device *od);
int omap_device_enable_hwmods(struct omap_device *od);
int omap_device_disable_clocks(struct omap_device *od);
int omap_device_enable_clocks(struct omap_device *od);
/*
* Entries should be kept in latency order ascending
*
* deact_lat is the maximum number of microseconds required to complete
* deactivate_func() at the device's slowest OPP.
*
* act_lat is the maximum number of microseconds required to complete
* activate_func() at the device's slowest OPP.
*
* This will result in some suboptimal power management decisions at fast
* OPPs, but avoids having to recompute all device power management decisions
* if the system shifts from a fast OPP to a slow OPP (in order to meet
* latency requirements).
*
* XXX should deactivate_func/activate_func() take platform_device pointers
* rather than omap_device pointers?
*/
struct omap_device_pm_latency {
u32 deactivate_lat;
u32 deactivate_lat_worst;
int (*deactivate_func)(struct omap_device *od);
u32 activate_lat;
u32 activate_lat_worst;
int (*activate_func)(struct omap_device *od);
u32 flags;
};
#define OMAP_DEVICE_LATENCY_AUTO_ADJUST BIT(1)
/* Get omap_device pointer from platform_device pointer */ /* Get omap_device pointer from platform_device pointer */
static inline struct omap_device *to_omap_device(struct platform_device *pdev) static inline struct omap_device *to_omap_device(struct platform_device *pdev)
......
...@@ -32,8 +32,6 @@ ...@@ -32,8 +32,6 @@
#include "pm.h" #include "pm.h"
#include "twl-common.h" #include "twl-common.h"
static struct omap_device_pm_latency *pm_lats;
/* /*
* omap_pm_suspend: points to a function that does the SoC-specific * omap_pm_suspend: points to a function that does the SoC-specific
* suspend work * suspend work
...@@ -82,7 +80,7 @@ static int __init _init_omap_device(char *name) ...@@ -82,7 +80,7 @@ static int __init _init_omap_device(char *name)
__func__, name)) __func__, name))
return -ENODEV; return -ENODEV;
pdev = omap_device_build(oh->name, 0, oh, NULL, 0, pm_lats, 0, false); pdev = omap_device_build(oh->name, 0, oh, NULL, 0);
if (WARN(IS_ERR(pdev), "%s: could not build omap_device for %s\n", if (WARN(IS_ERR(pdev), "%s: could not build omap_device for %s\n",
__func__, name)) __func__, name))
return -ENODEV; return -ENODEV;
......
...@@ -48,8 +48,7 @@ static int __init omap2_init_pmu(unsigned oh_num, char *oh_names[]) ...@@ -48,8 +48,7 @@ static int __init omap2_init_pmu(unsigned oh_num, char *oh_names[])
} }
} }
omap_pmu_dev = omap_device_build_ss(dev_name, -1, oh, oh_num, NULL, 0, omap_pmu_dev = omap_device_build_ss(dev_name, -1, oh, oh_num, NULL, 0);
NULL, 0, 0);
WARN(IS_ERR(omap_pmu_dev), "Can't build omap_device for %s.\n", WARN(IS_ERR(omap_pmu_dev), "Can't build omap_device for %s.\n",
dev_name); dev_name);
......
...@@ -316,8 +316,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata, ...@@ -316,8 +316,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
if (WARN_ON(!oh)) if (WARN_ON(!oh))
return; return;
pdev = omap_device_build(name, uart->num, oh, pdata, pdata_size, pdev = omap_device_build(name, uart->num, oh, pdata, pdata_size);
NULL, 0, false);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
WARN(1, "Could not build omap_device for %s: %s.\n", name, WARN(1, "Could not build omap_device for %s: %s.\n", name,
oh->name); oh->name);
......
...@@ -152,8 +152,7 @@ static int __init sr_dev_init(struct omap_hwmod *oh, void *user) ...@@ -152,8 +152,7 @@ static int __init sr_dev_init(struct omap_hwmod *oh, void *user)
sr_data->enable_on_init = sr_enable_on_init; sr_data->enable_on_init = sr_enable_on_init;
pdev = omap_device_build(name, i, oh, sr_data, sizeof(*sr_data), pdev = omap_device_build(name, i, oh, sr_data, sizeof(*sr_data), 0);
NULL, 0, 0);
if (IS_ERR(pdev)) if (IS_ERR(pdev))
pr_warning("%s: Could not build omap_device for %s: %s.\n\n", pr_warning("%s: Could not build omap_device for %s: %s.\n\n",
__func__, name, oh->name); __func__, name, oh->name);
......
...@@ -702,8 +702,7 @@ static int __init omap_timer_init(struct omap_hwmod *oh, void *unused) ...@@ -702,8 +702,7 @@ static int __init omap_timer_init(struct omap_hwmod *oh, void *unused)
pdata->timer_errata = omap_dm_timer_get_errata(); pdata->timer_errata = omap_dm_timer_get_errata();
pdata->get_context_loss_count = omap_pm_get_dev_context_loss_count; pdata->get_context_loss_count = omap_pm_get_dev_context_loss_count;
pdev = omap_device_build(name, id, oh, pdata, sizeof(*pdata), pdev = omap_device_build(name, id, oh, pdata, sizeof(*pdata));
NULL, 0, 0);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("%s: Can't build omap_device for %s: %s.\n", pr_err("%s: Can't build omap_device for %s: %s.\n",
......
...@@ -42,14 +42,6 @@ static struct usbtll_omap_platform_data usbtll_data; ...@@ -42,14 +42,6 @@ static struct usbtll_omap_platform_data usbtll_data;
static struct ehci_hcd_omap_platform_data ehci_data; static struct ehci_hcd_omap_platform_data ehci_data;
static struct ohci_hcd_omap_platform_data ohci_data; static struct ohci_hcd_omap_platform_data ohci_data;
static struct omap_device_pm_latency omap_uhhtll_latency[] = {
{
.deactivate_func = omap_device_idle_hwmods,
.activate_func = omap_device_enable_hwmods,
.flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST,
},
};
/* MUX settings for EHCI pins */ /* MUX settings for EHCI pins */
/* /*
* setup_ehci_io_mux - initialize IO pad mux for USBHOST * setup_ehci_io_mux - initialize IO pad mux for USBHOST
...@@ -530,9 +522,7 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata) ...@@ -530,9 +522,7 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata)
} }
pdev = omap_device_build(OMAP_USBTLL_DEVICE, bus_id, tll_hwm, pdev = omap_device_build(OMAP_USBTLL_DEVICE, bus_id, tll_hwm,
&usbtll_data, sizeof(usbtll_data), &usbtll_data, sizeof(usbtll_data));
omap_uhhtll_latency,
ARRAY_SIZE(omap_uhhtll_latency), false);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("Could not build hwmod device %s\n", pr_err("Could not build hwmod device %s\n",
USBHS_TLL_HWMODNAME); USBHS_TLL_HWMODNAME);
...@@ -540,9 +530,7 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata) ...@@ -540,9 +530,7 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata)
} }
pdev = omap_device_build(OMAP_USBHS_DEVICE, bus_id, uhh_hwm, pdev = omap_device_build(OMAP_USBHS_DEVICE, bus_id, uhh_hwm,
&usbhs_data, sizeof(usbhs_data), &usbhs_data, sizeof(usbhs_data));
omap_uhhtll_latency,
ARRAY_SIZE(omap_uhhtll_latency), false);
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("Could not build hwmod devices %s\n", pr_err("Could not build hwmod devices %s\n",
USBHS_UHH_HWMODNAME); USBHS_UHH_HWMODNAME);
......
...@@ -102,7 +102,7 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data) ...@@ -102,7 +102,7 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data)
return; return;
pdev = omap_device_build(name, bus_id, oh, &musb_plat, pdev = omap_device_build(name, bus_id, oh, &musb_plat,
sizeof(musb_plat), NULL, 0, false); sizeof(musb_plat));
if (IS_ERR(pdev)) { if (IS_ERR(pdev)) {
pr_err("Could not build omap_device for %s %s\n", pr_err("Could not build omap_device for %s %s\n",
name, oh_name); name, oh_name);
......
...@@ -124,8 +124,7 @@ static int __init omap_init_wdt(void) ...@@ -124,8 +124,7 @@ static int __init omap_init_wdt(void)
pdata.read_reset_sources = prm_read_reset_sources; pdata.read_reset_sources = prm_read_reset_sources;
pdev = omap_device_build(dev_name, id, oh, &pdata, pdev = omap_device_build(dev_name, id, oh, &pdata,
sizeof(struct omap_wd_timer_platform_data), sizeof(struct omap_wd_timer_platform_data));
NULL, 0, 0);
WARN(IS_ERR(pdev), "Can't build omap_device for %s:%s.\n", WARN(IS_ERR(pdev), "Can't build omap_device for %s:%s.\n",
dev_name, oh->name); dev_name, oh->name);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment