Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3277880 authored by Kevin Hilman's avatar Kevin Hilman
Browse files

OMAP3+: voltdm: final removal of omap_vdd_info



Remove last remaining member (volt_data) from omap_vdd_info into
struct voltagedomain and removal remaining usage and reference to
omap_vdd_info.

Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 7590f608
Loading
Loading
Loading
Loading
+9 −45
Original line number Diff line number Diff line
@@ -43,34 +43,6 @@

static LIST_HEAD(voltdm_list);

static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
{
	/* Generic voltage parameters */
	voltdm->scale = omap_vp_forceupdate_scale;

	return 0;
}

static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
{
	int ret = -EINVAL;

	if (!voltdm->pmic) {
		pr_err("%s: PMIC info requried to configure vdd_%s not"
			"populated.Hence cannot initialize vdd_%s\n",
			__func__, voltdm->name, voltdm->name);
		goto ovdc_out;
	}

	if (IS_ERR_VALUE(_config_common_vdd_data(voltdm)))
		goto ovdc_out;

	ret = 0;

ovdc_out:
	return ret;
}

/* Public functions */
/**
 * omap_voltage_get_nom_volt() - Gets the current non-auto-compensated voltage
@@ -157,16 +129,12 @@ void voltdm_reset(struct voltagedomain *voltdm)
void omap_voltage_get_volttable(struct voltagedomain *voltdm,
				struct omap_volt_data **volt_data)
{
	struct omap_vdd_info *vdd;

	if (!voltdm || IS_ERR(voltdm)) {
		pr_warning("%s: VDD specified does not exist!\n", __func__);
		return;
	}

	vdd = voltdm->vdd;

	*volt_data = vdd->volt_data;
	*volt_data = voltdm->volt_data;
}

/**
@@ -187,7 +155,6 @@ void omap_voltage_get_volttable(struct voltagedomain *voltdm,
struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
						 unsigned long volt)
{
	struct omap_vdd_info *vdd;
	int i;

	if (!voltdm || IS_ERR(voltdm)) {
@@ -195,17 +162,15 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
		return ERR_PTR(-EINVAL);
	}

	vdd = voltdm->vdd;

	if (!vdd->volt_data) {
	if (!voltdm->volt_data) {
		pr_warning("%s: voltage table does not exist for vdd_%s\n",
			__func__, voltdm->name);
		return ERR_PTR(-ENODATA);
	}

	for (i = 0; vdd->volt_data[i].volt_nominal != 0; i++) {
		if (vdd->volt_data[i].volt_nominal == volt)
			return &vdd->volt_data[i];
	for (i = 0; voltdm->volt_data[i].volt_nominal != 0; i++) {
		if (voltdm->volt_data[i].volt_nominal == volt)
			return &voltdm->volt_data[i];
	}

	pr_notice("%s: Unable to match the current voltage with the voltage"
@@ -304,9 +269,8 @@ int __init omap_voltage_late_init(void)
			omap_vc_init_channel(voltdm);
		}

		if (voltdm->vdd) {
			if (omap_vdd_data_configure(voltdm))
				continue;
		if (voltdm->vp) {
			voltdm->scale = omap_vp_forceupdate_scale;
			omap_vp_init(voltdm);
		}
	}
+4 −15
Original line number Diff line number Diff line
@@ -33,8 +33,6 @@ struct powerdomain;
#define OMAP3_VOLTOFFSET	0xff
#define OMAP3_VOLTSETUP2	0xff

struct omap_vdd_info;

/**
 * struct omap_vfsm_instance - per-voltage manager FSM register/bitfield
 * data
@@ -60,9 +58,10 @@ struct omap_vfsm_instance {
 * @write: write a VC/VP register
 * @read: read-modify-write a VC/VP register
 * @sys_clk: system clock name/frequency, used for various timing calculations
 * @vdd: to be removed
 * @scale: function used to scale the voltage of the voltagedomain
 * @nominal_volt: current nominal voltage for this voltage domain
 * @volt_data: voltage table having the distinct voltages supported
 *             by the domain and other associated per voltage data.
 */
struct voltagedomain {
	char *name;
@@ -86,9 +85,9 @@ struct voltagedomain {

	int (*scale) (struct voltagedomain *voltdm,
		      unsigned long target_volt);
	u32 nominal_volt;

	struct omap_vdd_info *vdd;
	u32 nominal_volt;
	struct omap_volt_data *volt_data;
};

/**
@@ -145,16 +144,6 @@ struct omap_voltdm_pmic {
	u8 (*uv_to_vsel) (unsigned long uV);
};

/**
 * omap_vdd_info - Per Voltage Domain info
 *
 * @volt_data		: voltage table having the distinct voltages supported
 *			  by the domain and other associated per voltage data.
 */
struct omap_vdd_info {
	struct omap_volt_data *volt_data;
};

void omap_voltage_get_volttable(struct voltagedomain *voltdm,
		struct omap_volt_data **volt_data);
struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
+4 −10
Original line number Diff line number Diff line
@@ -36,15 +36,11 @@ static const struct omap_vfsm_instance omap3_vdd1_vfsm = {
	.voltsetup_mask = OMAP3430_SETUP_TIME1_MASK,
};

static struct omap_vdd_info omap3_vdd1_info;

static const struct omap_vfsm_instance omap3_vdd2_vfsm = {
	.voltsetup_reg = OMAP3_PRM_VOLTSETUP1_OFFSET,
	.voltsetup_mask = OMAP3430_SETUP_TIME2_MASK,
};

static struct omap_vdd_info omap3_vdd2_info;

static struct voltagedomain omap3_voltdm_mpu = {
	.name = "mpu_iva",
	.scalable = true,
@@ -54,7 +50,6 @@ static struct voltagedomain omap3_voltdm_mpu = {
	.vc = &omap3_vc_mpu,
	.vfsm = &omap3_vdd1_vfsm,
	.vp = &omap3_vp_mpu,
	.vdd = &omap3_vdd1_info,
};

static struct voltagedomain omap3_voltdm_core = {
@@ -66,7 +61,6 @@ static struct voltagedomain omap3_voltdm_core = {
	.vc = &omap3_vc_core,
	.vfsm = &omap3_vdd2_vfsm,
	.vp = &omap3_vp_core,
	.vdd = &omap3_vdd2_info,
};

static struct voltagedomain omap3_voltdm_wkup = {
@@ -92,11 +86,11 @@ void __init omap3xxx_voltagedomains_init(void)
	 * for the currently-running IC
	 */
	if (cpu_is_omap3630()) {
		omap3_vdd1_info.volt_data = omap36xx_vddmpu_volt_data;
		omap3_vdd2_info.volt_data = omap36xx_vddcore_volt_data;
		omap3_voltdm_mpu.volt_data = omap36xx_vddmpu_volt_data;
		omap3_voltdm_core.volt_data = omap36xx_vddcore_volt_data;
	} else {
		omap3_vdd1_info.volt_data = omap34xx_vddmpu_volt_data;
		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
		omap3_voltdm_mpu.volt_data = omap34xx_vddmpu_volt_data;
		omap3_voltdm_core.volt_data = omap34xx_vddcore_volt_data;
	}

	for (i = 0; voltdm = voltagedomains_omap3[i], voltdm; i++)
+3 −12
Original line number Diff line number Diff line
@@ -36,20 +36,14 @@ static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
};

static struct omap_vdd_info omap4_vdd_mpu_info;

static const struct omap_vfsm_instance omap4_vdd_iva_vfsm = {
	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_IVA_RET_SLEEP_OFFSET,
};

static struct omap_vdd_info omap4_vdd_iva_info;

static const struct omap_vfsm_instance omap4_vdd_core_vfsm = {
	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET,
};

static struct omap_vdd_info omap4_vdd_core_info;

static struct voltagedomain omap4_voltdm_mpu = {
	.name = "mpu",
	.scalable = true,
@@ -59,7 +53,6 @@ static struct voltagedomain omap4_voltdm_mpu = {
	.vc = &omap4_vc_mpu,
	.vfsm = &omap4_vdd_mpu_vfsm,
	.vp = &omap4_vp_mpu,
	.vdd = &omap4_vdd_mpu_info,
};

static struct voltagedomain omap4_voltdm_iva = {
@@ -71,7 +64,6 @@ static struct voltagedomain omap4_voltdm_iva = {
	.vc = &omap4_vc_iva,
	.vfsm = &omap4_vdd_iva_vfsm,
	.vp = &omap4_vp_iva,
	.vdd = &omap4_vdd_iva_info,
};

static struct voltagedomain omap4_voltdm_core = {
@@ -83,7 +75,6 @@ static struct voltagedomain omap4_voltdm_core = {
	.vc = &omap4_vc_core,
	.vfsm = &omap4_vdd_core_vfsm,
	.vp = &omap4_vp_core,
	.vdd = &omap4_vdd_core_info,
};

static struct voltagedomain omap4_voltdm_wkup = {
@@ -109,9 +100,9 @@ void __init omap44xx_voltagedomains_init(void)
	 * XXX Will depend on the process, validation, and binning
	 * for the currently-running IC
	 */
	omap4_vdd_mpu_info.volt_data = omap44xx_vdd_mpu_volt_data;
	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
	omap4_voltdm_mpu.volt_data = omap44xx_vdd_mpu_volt_data;
	omap4_voltdm_iva.volt_data = omap44xx_vdd_iva_volt_data;
	omap4_voltdm_core.volt_data = omap44xx_vdd_core_volt_data;

	for (i = 0; voltdm = voltagedomains_omap4[i], voltdm; i++)
		voltdm->sys_clk.name = sys_clk_name;