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, ®, 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, ®, 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); }
static inline int ssbi_write(struct device *dev, u16 addr, u8 *buf, size_t len) { return msm_ssbi_write(dev->parent, addr, buf, len); }