Loading drivers/mfd/mt6360-core.c +22 −22 Original line number Diff line number Diff line Loading @@ -211,9 +211,9 @@ static const struct regmap_irq mt6360_pmu_irqs[] = { static int mt6360_pmu_handle_post_irq(void *irq_drv_data) { struct mt6360_pmu_data *mpd = irq_drv_data; struct mt6360_ddata *ddata = irq_drv_data; return regmap_update_bits(mpd->regmap, return regmap_update_bits(ddata->regmap, MT6360_PMU_IRQ_SET, MT6360_IRQ_RETRIG, MT6360_IRQ_RETRIG); } Loading Loading @@ -310,61 +310,61 @@ static const unsigned short mt6360_slave_addr[MT6360_SLAVE_MAX] = { static int mt6360_pmu_probe(struct i2c_client *client) { struct mt6360_pmu_data *mpd; struct mt6360_ddata *ddata; unsigned int reg_data; int i, ret; mpd = devm_kzalloc(&client->dev, sizeof(*mpd), GFP_KERNEL); if (!mpd) ddata = devm_kzalloc(&client->dev, sizeof(*ddata), GFP_KERNEL); if (!ddata) return -ENOMEM; mpd->dev = &client->dev; i2c_set_clientdata(client, mpd); ddata->dev = &client->dev; i2c_set_clientdata(client, ddata); mpd->regmap = devm_regmap_init_i2c(client, &mt6360_pmu_regmap_config); if (IS_ERR(mpd->regmap)) { ddata->regmap = devm_regmap_init_i2c(client, &mt6360_pmu_regmap_config); if (IS_ERR(ddata->regmap)) { dev_err(&client->dev, "Failed to register regmap\n"); return PTR_ERR(mpd->regmap); return PTR_ERR(ddata->regmap); } ret = regmap_read(mpd->regmap, MT6360_PMU_DEV_INFO, ®_data); ret = regmap_read(ddata->regmap, MT6360_PMU_DEV_INFO, ®_data); if (ret) { dev_err(&client->dev, "Device not found\n"); return ret; } mpd->chip_rev = reg_data & CHIP_REV_MASK; if (mpd->chip_rev != CHIP_VEN_MT6360) { ddata->chip_rev = reg_data & CHIP_REV_MASK; if (ddata->chip_rev != CHIP_VEN_MT6360) { dev_err(&client->dev, "Device not supported\n"); return -ENODEV; } mt6360_pmu_irq_chip.irq_drv_data = mpd; ret = devm_regmap_add_irq_chip(&client->dev, mpd->regmap, client->irq, mt6360_pmu_irq_chip.irq_drv_data = ddata; ret = devm_regmap_add_irq_chip(&client->dev, ddata->regmap, client->irq, IRQF_TRIGGER_FALLING, 0, &mt6360_pmu_irq_chip, &mpd->irq_data); &mt6360_pmu_irq_chip, &ddata->irq_data); if (ret) { dev_err(&client->dev, "Failed to add Regmap IRQ Chip\n"); return ret; } mpd->i2c[0] = client; ddata->i2c[0] = client; for (i = 1; i < MT6360_SLAVE_MAX; i++) { mpd->i2c[i] = devm_i2c_new_dummy_device(&client->dev, ddata->i2c[i] = devm_i2c_new_dummy_device(&client->dev, client->adapter, mt6360_slave_addr[i]); if (IS_ERR(mpd->i2c[i])) { if (IS_ERR(ddata->i2c[i])) { dev_err(&client->dev, "Failed to get new dummy I2C device for address 0x%x", mt6360_slave_addr[i]); return PTR_ERR(mpd->i2c[i]); return PTR_ERR(ddata->i2c[i]); } i2c_set_clientdata(mpd->i2c[i], mpd); i2c_set_clientdata(ddata->i2c[i], ddata); } ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_AUTO, mt6360_devs, ARRAY_SIZE(mt6360_devs), NULL, 0, regmap_irq_get_domain(mpd->irq_data)); 0, regmap_irq_get_domain(ddata->irq_data)); if (ret) { dev_err(&client->dev, "Failed to register subordinate devices\n"); Loading include/linux/mfd/mt6360.h +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ enum { #define MT6360_LDO_SLAVEID 0x64 #define MT6360_TCPC_SLAVEID 0x4E struct mt6360_pmu_data { struct mt6360_ddata { struct i2c_client *i2c[MT6360_SLAVE_MAX]; struct device *dev; struct regmap *regmap; Loading Loading
drivers/mfd/mt6360-core.c +22 −22 Original line number Diff line number Diff line Loading @@ -211,9 +211,9 @@ static const struct regmap_irq mt6360_pmu_irqs[] = { static int mt6360_pmu_handle_post_irq(void *irq_drv_data) { struct mt6360_pmu_data *mpd = irq_drv_data; struct mt6360_ddata *ddata = irq_drv_data; return regmap_update_bits(mpd->regmap, return regmap_update_bits(ddata->regmap, MT6360_PMU_IRQ_SET, MT6360_IRQ_RETRIG, MT6360_IRQ_RETRIG); } Loading Loading @@ -310,61 +310,61 @@ static const unsigned short mt6360_slave_addr[MT6360_SLAVE_MAX] = { static int mt6360_pmu_probe(struct i2c_client *client) { struct mt6360_pmu_data *mpd; struct mt6360_ddata *ddata; unsigned int reg_data; int i, ret; mpd = devm_kzalloc(&client->dev, sizeof(*mpd), GFP_KERNEL); if (!mpd) ddata = devm_kzalloc(&client->dev, sizeof(*ddata), GFP_KERNEL); if (!ddata) return -ENOMEM; mpd->dev = &client->dev; i2c_set_clientdata(client, mpd); ddata->dev = &client->dev; i2c_set_clientdata(client, ddata); mpd->regmap = devm_regmap_init_i2c(client, &mt6360_pmu_regmap_config); if (IS_ERR(mpd->regmap)) { ddata->regmap = devm_regmap_init_i2c(client, &mt6360_pmu_regmap_config); if (IS_ERR(ddata->regmap)) { dev_err(&client->dev, "Failed to register regmap\n"); return PTR_ERR(mpd->regmap); return PTR_ERR(ddata->regmap); } ret = regmap_read(mpd->regmap, MT6360_PMU_DEV_INFO, ®_data); ret = regmap_read(ddata->regmap, MT6360_PMU_DEV_INFO, ®_data); if (ret) { dev_err(&client->dev, "Device not found\n"); return ret; } mpd->chip_rev = reg_data & CHIP_REV_MASK; if (mpd->chip_rev != CHIP_VEN_MT6360) { ddata->chip_rev = reg_data & CHIP_REV_MASK; if (ddata->chip_rev != CHIP_VEN_MT6360) { dev_err(&client->dev, "Device not supported\n"); return -ENODEV; } mt6360_pmu_irq_chip.irq_drv_data = mpd; ret = devm_regmap_add_irq_chip(&client->dev, mpd->regmap, client->irq, mt6360_pmu_irq_chip.irq_drv_data = ddata; ret = devm_regmap_add_irq_chip(&client->dev, ddata->regmap, client->irq, IRQF_TRIGGER_FALLING, 0, &mt6360_pmu_irq_chip, &mpd->irq_data); &mt6360_pmu_irq_chip, &ddata->irq_data); if (ret) { dev_err(&client->dev, "Failed to add Regmap IRQ Chip\n"); return ret; } mpd->i2c[0] = client; ddata->i2c[0] = client; for (i = 1; i < MT6360_SLAVE_MAX; i++) { mpd->i2c[i] = devm_i2c_new_dummy_device(&client->dev, ddata->i2c[i] = devm_i2c_new_dummy_device(&client->dev, client->adapter, mt6360_slave_addr[i]); if (IS_ERR(mpd->i2c[i])) { if (IS_ERR(ddata->i2c[i])) { dev_err(&client->dev, "Failed to get new dummy I2C device for address 0x%x", mt6360_slave_addr[i]); return PTR_ERR(mpd->i2c[i]); return PTR_ERR(ddata->i2c[i]); } i2c_set_clientdata(mpd->i2c[i], mpd); i2c_set_clientdata(ddata->i2c[i], ddata); } ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_AUTO, mt6360_devs, ARRAY_SIZE(mt6360_devs), NULL, 0, regmap_irq_get_domain(mpd->irq_data)); 0, regmap_irq_get_domain(ddata->irq_data)); if (ret) { dev_err(&client->dev, "Failed to register subordinate devices\n"); Loading
include/linux/mfd/mt6360.h +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ enum { #define MT6360_LDO_SLAVEID 0x64 #define MT6360_TCPC_SLAVEID 0x4E struct mt6360_pmu_data { struct mt6360_ddata { struct i2c_client *i2c[MT6360_SLAVE_MAX]; struct device *dev; struct regmap *regmap; Loading