Esempio n. 1
0
int pm8901_preload_dVdd_old(void)
{
	int rc;
	u8 reg;
	struct pm8901_chip *pmic_chip;

	if (pm8901_drvdata.pm_chip_data == NULL) {
		pr_err("%s: Error: PMIC 8901 driver has not probed\n",
			__func__);
		return -ENODEV;
	}

	pmic_chip = (struct pm8901_chip *)pm8901_drvdata.pm_chip_data;

	reg = 0x0F;
	rc = msm_ssbi_write(pmic_chip->dev->parent, 0x0BD, &reg, 1);
	if (rc)
		pr_err("%s: ssbi_write failed for 0x0BD, rc=%d\n", __func__,
			rc);

	reg = 0xB4;
	rc = msm_ssbi_write(pmic_chip->dev->parent, 0x001, &reg, 1);
	if (rc)
		pr_err("%s: ssbi_write failed for 0x001, rc=%d\n", __func__,
			rc);

	pr_info("%s: dVdd preloaded\n", __func__);

	return rc;
}
static int pm8038_writeb(const struct device *dev, u16 addr, u8 val)
{
	const struct pm8xxx_drvdata *pm8038_drvdata = dev_get_drvdata(dev);
	const struct pm8038 *pmic = pm8038_drvdata->pm_chip_data;

	return msm_ssbi_write(pmic->dev->parent, addr, &val, 1);
}
static int pm8038_write_buf(const struct device *dev, u16 addr, u8 *buf,
									int cnt)
{
	const struct pm8xxx_drvdata *pm8038_drvdata = dev_get_drvdata(dev);
	const struct pm8038 *pmic = pm8038_drvdata->pm_chip_data;

	return msm_ssbi_write(pmic->dev->parent, addr, buf, cnt);
}
Esempio n. 4
0
static inline int
ssbi_write(struct device *dev, u16 addr, u8 *buf, size_t len)
{
	return msm_ssbi_write(dev->parent, addr, buf, len);
}