Symbol: bcm590xx
drivers/mfd/bcm590xx.c
100
bcm590xx->dev = &i2c_pri->dev;
drivers/mfd/bcm590xx.c
101
bcm590xx->i2c_pri = i2c_pri;
drivers/mfd/bcm590xx.c
103
bcm590xx->pmu_id = (uintptr_t) of_device_get_match_data(bcm590xx->dev);
drivers/mfd/bcm590xx.c
105
bcm590xx->regmap_pri = devm_regmap_init_i2c(i2c_pri,
drivers/mfd/bcm590xx.c
107
if (IS_ERR(bcm590xx->regmap_pri)) {
drivers/mfd/bcm590xx.c
108
ret = PTR_ERR(bcm590xx->regmap_pri);
drivers/mfd/bcm590xx.c
114
bcm590xx->i2c_sec = i2c_new_dummy_device(i2c_pri->adapter,
drivers/mfd/bcm590xx.c
116
if (IS_ERR(bcm590xx->i2c_sec)) {
drivers/mfd/bcm590xx.c
118
return PTR_ERR(bcm590xx->i2c_sec);
drivers/mfd/bcm590xx.c
120
i2c_set_clientdata(bcm590xx->i2c_sec, bcm590xx);
drivers/mfd/bcm590xx.c
122
bcm590xx->regmap_sec = devm_regmap_init_i2c(bcm590xx->i2c_sec,
drivers/mfd/bcm590xx.c
124
if (IS_ERR(bcm590xx->regmap_sec)) {
drivers/mfd/bcm590xx.c
125
ret = PTR_ERR(bcm590xx->regmap_sec);
drivers/mfd/bcm590xx.c
126
dev_err(&bcm590xx->i2c_sec->dev,
drivers/mfd/bcm590xx.c
131
ret = bcm590xx_parse_version(bcm590xx);
drivers/mfd/bcm590xx.c
145
i2c_unregister_device(bcm590xx->i2c_sec);
drivers/mfd/bcm590xx.c
55
static int bcm590xx_parse_version(struct bcm590xx *bcm590xx)
drivers/mfd/bcm590xx.c
61
ret = regmap_read(bcm590xx->regmap_pri, BCM590XX_REG_PMUID, &id);
drivers/mfd/bcm590xx.c
63
dev_err(bcm590xx->dev, "failed to read PMU ID: %d\n", ret);
drivers/mfd/bcm590xx.c
67
if (id != bcm590xx->pmu_id) {
drivers/mfd/bcm590xx.c
68
dev_err(bcm590xx->dev, "Incorrect ID for %s: expected %x, got %x.\n",
drivers/mfd/bcm590xx.c
69
bcm590xx_names[bcm590xx->pmu_id], bcm590xx->pmu_id, id);
drivers/mfd/bcm590xx.c
74
ret = regmap_read(bcm590xx->regmap_pri, BCM590XX_REG_PMUREV, &rev);
drivers/mfd/bcm590xx.c
76
dev_err(bcm590xx->dev, "failed to read PMU revision: %d\n", ret);
drivers/mfd/bcm590xx.c
80
bcm590xx->rev_digital = (rev & BCM590XX_PMUREV_DIG_MASK) >> BCM590XX_PMUREV_DIG_SHIFT;
drivers/mfd/bcm590xx.c
82
bcm590xx->rev_analog = (rev & BCM590XX_PMUREV_ANA_MASK) >> BCM590XX_PMUREV_ANA_SHIFT;
drivers/mfd/bcm590xx.c
84
dev_dbg(bcm590xx->dev, "PMU ID 0x%x (%s), revision: digital %d, analog %d",
drivers/mfd/bcm590xx.c
85
id, bcm590xx_names[id], bcm590xx->rev_digital, bcm590xx->rev_analog);
drivers/mfd/bcm590xx.c
92
struct bcm590xx *bcm590xx;
drivers/mfd/bcm590xx.c
95
bcm590xx = devm_kzalloc(&i2c_pri->dev, sizeof(*bcm590xx), GFP_KERNEL);
drivers/mfd/bcm590xx.c
96
if (!bcm590xx)
drivers/mfd/bcm590xx.c
99
i2c_set_clientdata(i2c_pri, bcm590xx);
drivers/regulator/bcm590xx-regulator.c
1100
struct bcm590xx *bcm590xx = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/bcm590xx-regulator.c
1111
pmu->mfd = bcm590xx;
drivers/regulator/bcm590xx-regulator.c
1126
dev_err(bcm590xx->dev,
drivers/regulator/bcm590xx-regulator.c
1137
config.dev = bcm590xx->dev;
drivers/regulator/bcm590xx-regulator.c
1142
config.regmap = bcm590xx->regmap_pri;
drivers/regulator/bcm590xx-regulator.c
1145
config.regmap = bcm590xx->regmap_sec;
drivers/regulator/bcm590xx-regulator.c
1148
dev_err(bcm590xx->dev,
drivers/regulator/bcm590xx-regulator.c
1157
return dev_err_probe(bcm590xx->dev, PTR_ERR(rdev),
drivers/regulator/bcm590xx-regulator.c
40
struct bcm590xx *mfd;