Skip to content

Commit

Permalink
OMAP3: remove OPP interfaces from OMAP PM layer
Browse files Browse the repository at this point in the history
With new OPP layer, OPP users will access OPP API directly instead of
using OMAP PM layer, so remove all notions of OPPs from the OMAP PM
layer.

Acked-by: Paul Walmsley <paul@pwsan.com>

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
  • Loading branch information
Kevin Hilman committed Dec 21, 2010
1 parent f5a6422 commit 53da4ce
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 33 deletions.
3 changes: 1 addition & 2 deletions arch/arm/mach-omap2/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -347,8 +347,7 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
else if (cpu_is_omap44xx())
omap44xx_hwmod_init();

/* The OPP tables have to be registered before a clk init */
omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps);
omap_pm_if_early_init();

if (cpu_is_omap2420())
omap2420_clk_init();
Expand Down
31 changes: 10 additions & 21 deletions arch/arm/plat-omap/include/plat/omap-pm.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,10 @@
#include <linux/device.h>
#include <linux/cpufreq.h>
#include <linux/clk.h>
#include <linux/opp.h>

#include "powerdomain.h"

/**
* struct omap_opp - clock frequency-to-OPP ID table for DSP, MPU
* @rate: target clock rate
* @opp_id: OPP ID
* @min_vdd: minimum VDD1 voltage (in millivolts) for this OPP
*
* Operating performance point data. Can vary by OMAP chip and board.
*/
struct omap_opp {
unsigned long rate;
u8 opp_id;
u16 min_vdd;
};

extern struct omap_opp *mpu_opps;
extern struct omap_opp *dsp_opps;
extern struct omap_opp *l3_opps;

/*
* agent_id values for use with omap_pm_set_min_bus_tput():
*
Expand All @@ -59,17 +42,23 @@ extern struct omap_opp *l3_opps;
* framework starts. The "_if_" is to avoid name collisions with the
* PM idle-loop code.
*/
int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table,
struct omap_opp *dsp_opp_table,
struct omap_opp *l3_opp_table);
#ifdef CONFIG_OMAP_PM_NONE
#define omap_pm_if_early_init() 0
#else
int __init omap_pm_if_early_init(void);
#endif

/**
* omap_pm_if_init - OMAP PM init code called after clock fw init
*
* The main initialization code. OPP tables are passed in here. The
* "_if_" is to avoid name collisions with the PM idle-loop code.
*/
#ifdef CONFIG_OMAP_PM_NONE
#define omap_pm_if_init() 0
#else
int __init omap_pm_if_init(void);
#endif

/**
* omap_pm_if_exit - OMAP PM exit code
Expand Down
11 changes: 1 addition & 10 deletions arch/arm/plat-omap/omap-pm-noop.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@

#include <plat/powerdomain.h>

struct omap_opp *dsp_opps;
struct omap_opp *mpu_opps;
struct omap_opp *l3_opps;

/*
* Device-driver-originated constraints (via board-*.c files)
*/
Expand Down Expand Up @@ -308,13 +304,8 @@ int omap_pm_get_dev_context_loss_count(struct device *dev)


/* Should be called before clk framework init */
int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table,
struct omap_opp *dsp_opp_table,
struct omap_opp *l3_opp_table)
int __init omap_pm_if_early_init(void)
{
mpu_opps = mpu_opp_table;
dsp_opps = dsp_opp_table;
l3_opps = l3_opp_table;
return 0;
}

Expand Down

0 comments on commit 53da4ce

Please sign in to comment.