当前位置: 首页>>代码示例>>C++>>正文


C++ rdev_get_dev函数代码示例

本文整理汇总了C++中rdev_get_dev函数的典型用法代码示例。如果您正苦于以下问题:C++ rdev_get_dev函数的具体用法?C++ rdev_get_dev怎么用?C++ rdev_get_dev使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了rdev_get_dev函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: mc13xxx_fixed_regulator_get_voltage

int mc13xxx_fixed_regulator_get_voltage(struct regulator_dev *rdev)
{
	struct mc13xxx_regulator_priv *priv = rdev_get_drvdata(rdev);
	struct mc13xxx_regulator *mc13xxx_regulators = priv->mc13xxx_regulators;
	int id = rdev_get_id(rdev);

	dev_dbg(rdev_get_dev(rdev), "%s id: %d\n", __func__, id);

	return mc13xxx_regulators[id].voltages[0];
}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:10,代码来源:mc13xxx-regulator-core.c

示例2: ab8500_ext_regulator_enable

static int ab8500_ext_regulator_enable(struct regulator_dev *rdev)
{
	int ret;
	struct ab8500_ext_regulator_info *info = rdev_get_drvdata(rdev);
	u8 regval;

	if (info == NULL) {
		dev_err(rdev_get_dev(rdev), "regulator info null pointer\n");
		return -EINVAL;
	}

	ret = enable(info, &regval);

	dev_dbg(rdev_get_dev(rdev), "%s-enable (bank, reg, mask, value):"
		" 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
		info->desc.name, info->update_bank, info->update_reg,
		info->update_mask, regval);

	return ret;
}
开发者ID:791254467,项目名称:u8500_kernel,代码行数:20,代码来源:ab8500-ext.c

示例3: mc13xxx_regulator_disable

static int mc13xxx_regulator_disable(struct regulator_dev *rdev)
{
	struct mc13xxx_regulator_priv *priv = rdev_get_drvdata(rdev);
	struct mc13xxx_regulator *mc13xxx_regulators = priv->mc13xxx_regulators;
	int id = rdev_get_id(rdev);

	dev_dbg(rdev_get_dev(rdev), "%s id: %d\n", __func__, id);

	return mc13xxx_reg_rmw(priv->mc13xxx, mc13xxx_regulators[id].reg,
			       mc13xxx_regulators[id].enable_bit, 0);
}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:11,代码来源:mc13xxx-regulator-core.c

示例4: ab8500_ext_fixed_get_voltage

static int ab8500_ext_fixed_get_voltage(struct regulator_dev *rdev)
{
	struct ab8500_ext_regulator_info *info = rdev_get_drvdata(rdev);

	if (info == NULL) {
		dev_err(rdev_get_dev(rdev), "regulator info null pointer\n");
		return -EINVAL;
	}

	return info->fixed_uV;
}
开发者ID:791254467,项目名称:u8500_kernel,代码行数:11,代码来源:ab8500-ext.c

示例5: db8500_regulator_is_enabled

static int db8500_regulator_is_enabled(struct regulator_dev *rdev)
{
	struct db8500_regulator_info *info = rdev_get_drvdata(rdev);

	if (info == NULL)
		return -EINVAL;

	dev_vdbg(rdev_get_dev(rdev), "regulator-%s-is_enabled (is_enabled):"
		" %i\n", info->desc.name, info->is_enabled);

	return info->is_enabled;
}
开发者ID:badwtg1111,项目名称:linux-2.6,代码行数:12,代码来源:db8500-prcmu.c

示例6: ab8500_ext_set_voltage

static int ab8500_ext_set_voltage(struct regulator_dev *rdev, int min_uV,
				  int max_uV, unsigned *selector)
{
	struct regulation_constraints *regu_constraints = rdev->constraints;

	if (!regu_constraints) {
		dev_err(rdev_get_dev(rdev), "No regulator constraints\n");
		return -EINVAL;
	}

	if (regu_constraints->min_uV == min_uV &&
	    regu_constraints->max_uV == max_uV)
		return 0;

	dev_err(rdev_get_dev(rdev),
		"Requested min %duV max %duV != constrained min %duV max %duV\n",
		min_uV, max_uV,
		regu_constraints->min_uV, regu_constraints->max_uV);

	return -EINVAL;
}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:21,代码来源:ab8500-ext.c

示例7: bq24022_set_current_limit

static int bq24022_set_current_limit(struct regulator_dev *rdev,
					int min_uA, int max_uA)
{
	struct bq24022_mach_info *pdata = rdev_get_drvdata(rdev);

	dev_dbg(rdev_get_dev(rdev), "setting current limit to %s mA\n",
		max_uA >= 500000 ? "500" : "100");

	/* REVISIT: maybe return error if min_uA != 0 ? */
	gpio_set_value(pdata->gpio_iset2, max_uA >= 500000);
	return 0;
}
开发者ID:mecke,项目名称:linux-2.6,代码行数:12,代码来源:bq24022.c

示例8: proccomm_vreg_enable

static int proccomm_vreg_enable(struct regulator_dev *rdev)
{
	struct proccomm_regulator_drvdata *ddata;
	int rc;

	ddata = rdev_get_drvdata(rdev);
	rc = _vreg_switch(rdev_get_id(rdev), VREG_SWITCH_ENABLE);

	if (rc) {
		dev_err(rdev_get_dev(rdev),
			"could not enable regulator %d (%s): %d\n",
			rdev_get_id(rdev), ddata->rdesc.name, rc);
	} else {
		dev_dbg(rdev_get_dev(rdev),
			"enabled regulator %d (%s)\n",
			rdev_get_id(rdev), ddata->rdesc.name);
		ddata->enabled = 1;
	}

	return rc;
}
开发者ID:DAGr8,项目名称:gp-peak-kernel,代码行数:21,代码来源:proccomm-regulator.c

示例9: ab8500_regulator_set_mode

static int ab8500_regulator_set_mode(struct regulator_dev *rdev,
				     unsigned int mode)
{
	int ret = 0;

	struct ab8500_regulator_info *info = rdev_get_drvdata(rdev);

	if (info == NULL) {
		dev_err(rdev_get_dev(rdev), "regulator info null pointer\n");
		return -EINVAL;
	}

	switch (mode) {
	case REGULATOR_MODE_NORMAL:
		info->update_val = info->update_val_normal;
		break;
	case REGULATOR_MODE_IDLE:
		info->update_val = info->update_val_idle;
		break;
	default:
		return -EINVAL;
	}

	if (info->is_enabled) {
		ret = abx500_mask_and_set_register_interruptible(info->dev,
			info->update_bank, info->update_reg,
			info->update_mask, info->update_val);
		if (ret < 0)
			dev_err(rdev_get_dev(rdev),
				"couldn't set regulator mode\n");

		dev_vdbg(rdev_get_dev(rdev),
			"%s-set_mode (bank, reg, mask, value): "
			"0x%x, 0x%x, 0x%x, 0x%x\n",
			info->desc.name, info->update_bank, info->update_reg,
			info->update_mask, info->update_val);
	}

	return ret;
}
开发者ID:krachlatte,项目名称:Sony-Xperia-Go-ST27i,代码行数:40,代码来源:ab8500.c

示例10: ab8500_ext_regulator_set_mode

static int ab8500_ext_regulator_set_mode(struct regulator_dev *rdev,
					 unsigned int mode)
{
	int ret = 0;
	struct ab8500_ext_regulator_info *info = rdev_get_drvdata(rdev);

	if (info == NULL) {
		dev_err(rdev_get_dev(rdev), "regulator info null pointer\n");
		return -EINVAL;
	}

	switch (mode) {
	case REGULATOR_MODE_NORMAL:
		info->update_val = info->update_val_hp;
		break;
	case REGULATOR_MODE_IDLE:
		info->update_val = info->update_val_lp;
		break;

	default:
		return -EINVAL;
	}

	if (info->is_enabled) {
		u8 regval;

		ret = enable(info, &regval);
		if (ret < 0)
			dev_err(rdev_get_dev(rdev),
				"Could not set regulator mode.\n");

		dev_dbg(rdev_get_dev(rdev),
			"%s-set_mode (bank, reg, mask, value): "
			"0x%x, 0x%x, 0x%x, 0x%x\n",
			info->desc.name, info->update_bank, info->update_reg,
			info->update_mask, regval);
	}

	return ret;
}
开发者ID:791254467,项目名称:u8500_kernel,代码行数:40,代码来源:ab8500-ext.c

示例11: da903x_is_enabled

static int da903x_is_enabled(struct regulator_dev *rdev)
{
	struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
	struct device *da9034_dev = rdev_get_dev(rdev)->parent;
	uint8_t reg_val;
	int ret;

	ret = da903x_read(da9034_dev, info->enable_reg, &reg_val);
	if (ret)
		return ret;

	return reg_val & (1 << info->enable_bit);
}
开发者ID:mpalmer,项目名称:linux-2.6,代码行数:13,代码来源:da903x.c

示例12: mc13892_sw_regulator_get_voltage_sel

static int mc13892_sw_regulator_get_voltage_sel(struct regulator_dev *rdev)
{
	struct mc13xxx_regulator_priv *priv = rdev_get_drvdata(rdev);
	int ret, id = rdev_get_id(rdev);
	unsigned int val;

	dev_dbg(rdev_get_dev(rdev), "%s id: %d\n", __func__, id);

	mc13xxx_lock(priv->mc13xxx);
	ret = mc13xxx_reg_read(priv->mc13xxx,
		mc13892_regulators[id].vsel_reg, &val);
	mc13xxx_unlock(priv->mc13xxx);
	if (ret)
		return ret;

	val = (val & mc13892_regulators[id].vsel_mask)
		>> mc13892_regulators[id].vsel_shift;

	dev_dbg(rdev_get_dev(rdev), "%s id: %d val: %d\n", __func__, id, val);

	return val;
}
开发者ID:AdrianHuang,项目名称:linux-3.8.13,代码行数:22,代码来源:mc13892-regulator.c

示例13: mc13892_sw_regulator_get_voltage_sel

static int mc13892_sw_regulator_get_voltage_sel(struct regulator_dev *rdev)
{
	struct mc13xxx_regulator_priv *priv = rdev_get_drvdata(rdev);
	int ret, id = rdev_get_id(rdev);
	unsigned int val, selector;

	dev_dbg(rdev_get_dev(rdev), "%s id: %d\n", __func__, id);

	mc13xxx_lock(priv->mc13xxx);
	ret = mc13xxx_reg_read(priv->mc13xxx,
		mc13892_regulators[id].vsel_reg, &val);
	mc13xxx_unlock(priv->mc13xxx);
	if (ret)
		return ret;

	/*
	 * Figure out if the HI bit is set inside the switcher mode register
	 * since this means the selector value we return is at a different
	 * offset into the selector table.
	 *
	 * According to the MC13892 documentation note 59 (Table 47) the SW1
	 * buck switcher does not support output range programming therefore
	 * the HI bit must always remain 0. So do not do anything strange if
	 * our register is MC13892_SWITCHERS0.
	 */

	selector = val & mc13892_regulators[id].vsel_mask;

	if ((mc13892_regulators[id].vsel_reg != MC13892_SWITCHERS0) &&
	    (val & MC13892_SWITCHERS0_SWxHI)) {
		selector += MC13892_SWxHI_SEL_OFFSET;
	}

	dev_dbg(rdev_get_dev(rdev), "%s id: %d val: 0x%08x selector: %d\n",
			__func__, id, val, selector);

	return selector;
}
开发者ID:AD5GB,项目名称:kernel_n5_3.10-experimental,代码行数:38,代码来源:mc13892-regulator.c

示例14: db8500_regulator_switch_disable

static int db8500_regulator_switch_disable(struct regulator_dev *rdev)
{
	struct db8500_regulator_info *info = rdev_get_drvdata(rdev);
	int ret;

	if (info == NULL)
		return -EINVAL;

	dev_vdbg(rdev_get_dev(rdev), "regulator-switch-%s-disable\n",
		info->desc.name);

	ret = disable_epod(info->epod_id, info->is_ramret);
	if (ret < 0) {
		dev_err(rdev_get_dev(rdev),
			"regulator_switch-%s-disable: prcmu call failed\n",
			info->desc.name);
		goto out;
	}

	info->is_enabled = 0;
out:
	return ret;
}
开发者ID:badwtg1111,项目名称:linux-2.6,代码行数:23,代码来源:db8500-prcmu.c

示例15: mc13783_fixed_regulator_set_voltage

static int mc13783_fixed_regulator_set_voltage(struct regulator_dev *rdev,
						int min_uV, int max_uV)
{
	int id = rdev_get_id(rdev);

	dev_dbg(rdev_get_dev(rdev), "%s id: %d min_uV: %d max_uV: %d\n",
		__func__, id, min_uV, max_uV);

	if (min_uV >= mc13783_regulators[id].voltages[0] &&
	    max_uV <= mc13783_regulators[id].voltages[0])
		return 0;
	else
		return -EINVAL;
}
开发者ID:Medvedroid,项目名称:OT_903D-kernel-2.6.35.7,代码行数:14,代码来源:mc13783-regulator.c


注:本文中的rdev_get_dev函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。