Lines Matching +full:chip +full:- +full:id
1 // SPDX-License-Identifier: GPL-2.0
48 struct aw37503_regulator *chip = rdev_get_drvdata(rdev); in aw37503_regulator_enable() local
49 int id = rdev_get_id(rdev); in aw37503_regulator_enable() local
50 struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[id]; in aw37503_regulator_enable()
53 if (!IS_ERR(rpdata->en_gpiod)) { in aw37503_regulator_enable()
54 gpiod_set_value_cansleep(rpdata->en_gpiod, 1); in aw37503_regulator_enable()
55 rpdata->ena_gpio_state = 1; in aw37503_regulator_enable()
59 if (rdev->constraints->active_discharge == in aw37503_regulator_enable()
63 dev_err(chip->dev, "Failed to disable active discharge: %d\n", in aw37503_regulator_enable()
74 struct aw37503_regulator *chip = rdev_get_drvdata(rdev); in aw37503_regulator_disable() local
75 int id = rdev_get_id(rdev); in aw37503_regulator_disable() local
76 struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[id]; in aw37503_regulator_disable()
78 if (!IS_ERR(rpdata->en_gpiod)) { in aw37503_regulator_disable()
79 gpiod_set_value_cansleep(rpdata->en_gpiod, 0); in aw37503_regulator_disable()
80 rpdata->ena_gpio_state = 0; in aw37503_regulator_disable()
88 struct aw37503_regulator *chip = rdev_get_drvdata(rdev); in aw37503_regulator_is_enabled() local
89 int id = rdev_get_id(rdev); in aw37503_regulator_is_enabled() local
90 struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[id]; in aw37503_regulator_is_enabled()
92 if (!IS_ERR(rpdata->en_gpiod)) in aw37503_regulator_is_enabled()
93 return rpdata->ena_gpio_state; in aw37503_regulator_is_enabled()
113 struct aw37503_regulator *chip = config->driver_data; in aw37503_of_parse_cb() local
114 struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[desc->id]; in aw37503_of_parse_cb()
117 rpdata->en_gpiod = devm_fwnode_gpiod_get(chip->dev, of_fwnode_handle(np), in aw37503_of_parse_cb()
121 if (IS_ERR(rpdata->en_gpiod)) { in aw37503_of_parse_cb()
122 ret = PTR_ERR(rpdata->en_gpiod); in aw37503_of_parse_cb()
125 if (ret == -EPROBE_DEFER) in aw37503_of_parse_cb()
135 .name = "aw37503-"#_name, \
137 .id = AW37503_REGULATOR_ID_##_id, \
162 AW37503_REG_WPRTEN - 1),
180 struct device *dev = &client->dev; in aw37503_probe()
181 struct aw37503_regulator *chip; in aw37503_probe() local
185 int id; in aw37503_probe() local
187 chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL); in aw37503_probe()
188 if (!chip) in aw37503_probe()
189 return -ENOMEM; in aw37503_probe()
196 i2c_set_clientdata(client, chip); in aw37503_probe()
197 chip->dev = dev; in aw37503_probe()
201 config.driver_data = chip; in aw37503_probe()
203 for (id = 0; id < AW37503_MAX_REGULATORS; ++id) { in aw37503_probe()
204 rdev = devm_regulator_register(dev, &aw_regs_desc[id], in aw37503_probe()
209 aw_regs_desc[id].name); in aw37503_probe()