Lines Matching refs:bd718xx
94 static int bd718xx_init_press_duration(struct bd718xx *bd718xx) in bd718xx_init_press_duration() argument
96 struct device* dev = bd718xx->chip.dev; in bd718xx_init_press_duration()
105 ret = regmap_update_bits(bd718xx->chip.regmap, in bd718xx_init_press_duration()
119 ret = regmap_update_bits(bd718xx->chip.regmap, in bd718xx_init_press_duration()
135 struct bd718xx *bd718xx; in bd718xx_i2c_probe() local
146 bd718xx = devm_kzalloc(&i2c->dev, sizeof(struct bd718xx), GFP_KERNEL); in bd718xx_i2c_probe()
148 if (!bd718xx) in bd718xx_i2c_probe()
151 bd718xx->chip_irq = i2c->irq; in bd718xx_i2c_probe()
167 bd718xx->chip.dev = &i2c->dev; in bd718xx_i2c_probe()
168 dev_set_drvdata(&i2c->dev, bd718xx); in bd718xx_i2c_probe()
170 bd718xx->chip.regmap = devm_regmap_init_i2c(i2c, in bd718xx_i2c_probe()
172 if (IS_ERR(bd718xx->chip.regmap)) { in bd718xx_i2c_probe()
174 return PTR_ERR(bd718xx->chip.regmap); in bd718xx_i2c_probe()
177 ret = devm_regmap_add_irq_chip(&i2c->dev, bd718xx->chip.regmap, in bd718xx_i2c_probe()
178 bd718xx->chip_irq, IRQF_ONESHOT, 0, in bd718xx_i2c_probe()
179 &bd718xx_irq_chip, &bd718xx->irq_data); in bd718xx_i2c_probe()
185 ret = bd718xx_init_press_duration(bd718xx); in bd718xx_i2c_probe()
189 ret = regmap_irq_get_virq(bd718xx->irq_data, BD718XX_INT_PWRBTN_S); in bd718xx_i2c_probe()
198 ret = devm_mfd_add_devices(bd718xx->chip.dev, PLATFORM_DEVID_AUTO, in bd718xx_i2c_probe()
200 regmap_irq_get_domain(bd718xx->irq_data)); in bd718xx_i2c_probe()