lp87565
struct lp87565 *lp87565;
lp87565 = dev_get_drvdata(pdev->dev.parent);
gpio->chip.parent = lp87565->dev;
gpio->map = lp87565->regmap;
struct lp87565 *lp87565 = i2c_get_clientdata(client);
gpiod_set_value_cansleep(lp87565->reset_gpio, 1);
struct lp87565 *lp87565;
lp87565 = devm_kzalloc(&client->dev, sizeof(*lp87565), GFP_KERNEL);
if (!lp87565)
lp87565->dev = &client->dev;
lp87565->regmap = devm_regmap_init_i2c(client, &lp87565_regmap_config);
if (IS_ERR(lp87565->regmap)) {
ret = PTR_ERR(lp87565->regmap);
dev_err(lp87565->dev,
lp87565->reset_gpio = devm_gpiod_get_optional(lp87565->dev, "reset",
if (IS_ERR(lp87565->reset_gpio)) {
ret = PTR_ERR(lp87565->reset_gpio);
if (lp87565->reset_gpio) {
gpiod_set_value_cansleep(lp87565->reset_gpio, 1);
gpiod_set_value_cansleep(lp87565->reset_gpio, 0);
ret = regmap_read(lp87565->regmap, LP87565_REG_OTP_REV, &otpid);
dev_err(lp87565->dev, "Failed to read OTP ID\n");
lp87565->rev = otpid & LP87565_OTP_REV_OTP_ID;
lp87565->dev_type = (uintptr_t)i2c_get_match_data(client);
i2c_set_clientdata(client, lp87565);
return devm_mfd_add_devices(lp87565->dev, PLATFORM_DEVID_AUTO,
struct lp87565 *lp87565 = dev_get_drvdata(pdev->dev.parent);
platform_set_drvdata(pdev, lp87565);
config.dev->of_node = lp87565->dev->of_node;
config.driver_data = lp87565;
config.regmap = lp87565->regmap;
switch (lp87565->dev_type) {
dev_err(lp87565->dev, "failed to register %s regulator\n",