Lines Matching +full:bd71847 +full:- +full:pmic

1 // SPDX-License-Identifier: GPL-2.0-or-later
5 // ROHM BD71837MWV and BD71847MWV PMIC driver
8 // https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e
14 #include <linux/mfd/rohm-bd718x7.h>
23 .gpio = -1,
30 .name = "bd718xx-pwrkey",
35 .name = "gpio-keys",
39 { .name = "bd71837-clk", },
40 { .name = "bd71837-pmic", },
45 .name = "gpio-keys",
49 { .name = "bd71847-clk", },
50 { .name = "bd71847-pmic", },
64 .name = "bd718xx-irq",
89 .max_register = BD718XX_MAX_REGISTER - 1,
100 ret = of_property_read_u32(dev->of_node, "rohm,short-press-ms", in bd718xx_init_press_duration()
113 ret = of_property_read_u32(dev->of_node, "rohm,long-press-ms", in bd718xx_init_press_duration()
138 if (!i2c->irq) { in bd718xx_i2c_probe()
139 dev_err(&i2c->dev, "No IRQ configured\n"); in bd718xx_i2c_probe()
140 return -EINVAL; in bd718xx_i2c_probe()
143 of_device_get_match_data(&i2c->dev); in bd718xx_i2c_probe()
154 dev_err(&i2c->dev, "Unknown device type"); in bd718xx_i2c_probe()
155 return -EINVAL; in bd718xx_i2c_probe()
160 return dev_err_probe(&i2c->dev, PTR_ERR(regmap), in bd718xx_i2c_probe()
163 ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq, in bd718xx_i2c_probe()
167 return dev_err_probe(&i2c->dev, ret, "Failed to add irq_chip\n"); in bd718xx_i2c_probe()
169 ret = bd718xx_init_press_duration(regmap, &i2c->dev); in bd718xx_i2c_probe()
176 return dev_err_probe(&i2c->dev, ret, "Failed to get the IRQ\n"); in bd718xx_i2c_probe()
180 ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, in bd718xx_i2c_probe()
184 dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n"); in bd718xx_i2c_probe()
195 .compatible = "rohm,bd71847",
208 .name = "rohm-bd718x7",
229 MODULE_DESCRIPTION("ROHM BD71837/BD71847 Power Management IC driver");