Lines Matching refs:regulator

58 	struct regulator_dev *regulator;  member
87 static int _regulator_disable(struct regulator *regulator);
97 static struct regulator *create_regulator(struct regulator_dev *rdev,
100 static void destroy_regulator(struct regulator *regulator);
101 static void _regulator_put(struct regulator *regulator);
462 struct regulator *regulator; in regulator_check_consumers() local
465 list_for_each_entry(regulator, &rdev->consumer_list, list) { in regulator_check_consumers()
466 voltage = &regulator->voltage[state]; in regulator_check_consumers()
776 struct regulator *regulator; in requested_microamps_show() local
780 list_for_each_entry(regulator, &rdev->consumer_list, list) { in requested_microamps_show()
781 if (regulator->enable_count) in requested_microamps_show()
782 uA += regulator->uA_load; in requested_microamps_show()
969 struct regulator *sibling; in drms_uA_update()
1725 new_node->regulator = rdev; in set_consumer_device_supply()
1750 dev_name(&node->regulator->dev), in set_consumer_device_supply()
1751 node->regulator->desc->name, in set_consumer_device_supply()
1774 if (rdev == node->regulator) { in unset_regulator_supplies()
1787 const struct regulator *regulator = file->private_data; in constraint_flags_read_file() local
1788 const struct regulation_constraints *c = regulator->rdev->constraints; in constraint_flags_read_file()
1833 static void link_and_create_debugfs(struct regulator *regulator, struct regulator_dev *rdev, in link_and_create_debugfs() argument
1839 regulator->dev = dev; in link_and_create_debugfs()
1843 regulator->supply_name); in link_and_create_debugfs()
1852 regulator->debugfs = debugfs_create_dir(regulator->supply_name, rdev->debugfs); in link_and_create_debugfs()
1853 if (IS_ERR(regulator->debugfs)) { in link_and_create_debugfs()
1855 regulator->debugfs = NULL; in link_and_create_debugfs()
1859 if (regulator->debugfs) { in link_and_create_debugfs()
1860 debugfs_create_u32("uA_load", 0444, regulator->debugfs, in link_and_create_debugfs()
1861 &regulator->uA_load); in link_and_create_debugfs()
1862 debugfs_create_u32("min_uV", 0444, regulator->debugfs, in link_and_create_debugfs()
1863 &regulator->voltage[PM_SUSPEND_ON].min_uV); in link_and_create_debugfs()
1864 debugfs_create_u32("max_uV", 0444, regulator->debugfs, in link_and_create_debugfs()
1865 &regulator->voltage[PM_SUSPEND_ON].max_uV); in link_and_create_debugfs()
1866 debugfs_create_file("constraint_flags", 0444, regulator->debugfs, in link_and_create_debugfs()
1867 regulator, &constraint_flags_fops); in link_and_create_debugfs()
1871 static struct regulator *create_regulator(struct regulator_dev *rdev, in create_regulator()
1875 struct regulator *regulator; in create_regulator() local
1897 regulator = kzalloc(sizeof(*regulator), GFP_KERNEL); in create_regulator()
1898 if (regulator == NULL) { in create_regulator()
1903 regulator->rdev = rdev; in create_regulator()
1904 regulator->supply_name = supply_name; in create_regulator()
1906 list_add(&regulator->list, &rdev->consumer_list); in create_regulator()
1915 regulator->always_on = true; in create_regulator()
1917 return regulator; in create_regulator()
2025 get_device(&map->regulator->dev)) { in regulator_dev_lookup()
2026 r = map->regulator; in regulator_dev_lookup()
2200 struct regulator *_regulator_get_common(struct regulator_dev *rdev, struct device *dev, in _regulator_get_common()
2203 struct regulator *regulator; in _regulator_get_common() local
2248 regulator = ERR_PTR(-EPERM); in _regulator_get_common()
2250 return regulator; in _regulator_get_common()
2254 regulator = ERR_PTR(-EBUSY); in _regulator_get_common()
2256 return regulator; in _regulator_get_common()
2264 regulator = ERR_PTR(-EPROBE_DEFER); in _regulator_get_common()
2266 return regulator; in _regulator_get_common()
2271 regulator = ERR_PTR(ret); in _regulator_get_common()
2273 return regulator; in _regulator_get_common()
2277 regulator = ERR_PTR(-EPROBE_DEFER); in _regulator_get_common()
2279 return regulator; in _regulator_get_common()
2283 regulator = create_regulator(rdev, dev, id); in _regulator_get_common()
2285 if (regulator == NULL) { in _regulator_get_common()
2286 regulator = ERR_PTR(-ENOMEM); in _regulator_get_common()
2289 return regulator; in _regulator_get_common()
2292 link_and_create_debugfs(regulator, rdev, dev); in _regulator_get_common()
2301 regulator->enable_count = 1; in _regulator_get_common()
2307 destroy_regulator(regulator); in _regulator_get_common()
2315 regulator->enable_count = 0; in _regulator_get_common()
2321 regulator->device_link = true; in _regulator_get_common()
2323 return regulator; in _regulator_get_common()
2327 struct regulator *_regulator_get(struct device *dev, const char *id, in _regulator_get()
2354 struct regulator *regulator_get(struct device *dev, const char *id) in regulator_get()
2382 struct regulator *regulator_get_exclusive(struct device *dev, const char *id) in regulator_get_exclusive()
2408 struct regulator *regulator_get_optional(struct device *dev, const char *id) in regulator_get_optional()
2414 static void destroy_regulator(struct regulator *regulator) in destroy_regulator() argument
2416 struct regulator_dev *rdev = regulator->rdev; in destroy_regulator()
2418 debugfs_remove_recursive(regulator->debugfs); in destroy_regulator()
2420 if (regulator->dev) { in destroy_regulator()
2421 if (regulator->device_link) in destroy_regulator()
2422 device_link_remove(regulator->dev, &rdev->dev); in destroy_regulator()
2425 sysfs_remove_link(&rdev->dev.kobj, regulator->supply_name); in destroy_regulator()
2429 list_del(&regulator->list); in destroy_regulator()
2435 kfree_const(regulator->supply_name); in destroy_regulator()
2436 kfree(regulator); in destroy_regulator()
2440 static void _regulator_put(struct regulator *regulator) in _regulator_put() argument
2444 if (IS_ERR_OR_NULL(regulator)) in _regulator_put()
2450 WARN_ON(regulator->enable_count); in _regulator_put()
2452 rdev = regulator->rdev; in _regulator_put()
2454 destroy_regulator(regulator); in _regulator_put()
2468 void regulator_put(struct regulator *regulator) in regulator_put() argument
2471 _regulator_put(regulator); in regulator_put()
2843 static int _regulator_handle_consumer_enable(struct regulator *regulator) in _regulator_handle_consumer_enable() argument
2846 struct regulator_dev *rdev = regulator->rdev; in _regulator_handle_consumer_enable()
2850 regulator->enable_count++; in _regulator_handle_consumer_enable()
2851 if (regulator->uA_load && regulator->enable_count == 1) { in _regulator_handle_consumer_enable()
2854 regulator->enable_count--; in _regulator_handle_consumer_enable()
2869 static int _regulator_handle_consumer_disable(struct regulator *regulator) in _regulator_handle_consumer_disable() argument
2871 struct regulator_dev *rdev = regulator->rdev; in _regulator_handle_consumer_disable()
2875 if (!regulator->enable_count) { in _regulator_handle_consumer_disable()
2880 regulator->enable_count--; in _regulator_handle_consumer_disable()
2881 if (regulator->uA_load && regulator->enable_count == 0) in _regulator_handle_consumer_disable()
2888 static int _regulator_enable(struct regulator *regulator) in _regulator_enable() argument
2890 struct regulator_dev *rdev = regulator->rdev; in _regulator_enable()
2908 ret = _regulator_handle_consumer_enable(regulator); in _regulator_enable()
2938 if (regulator->enable_count == 1) in _regulator_enable()
2944 _regulator_handle_consumer_disable(regulator); in _regulator_enable()
2966 int regulator_enable(struct regulator *regulator) in regulator_enable() argument
2968 struct regulator_dev *rdev = regulator->rdev; in regulator_enable()
2973 ret = _regulator_enable(regulator); in regulator_enable()
3009 static int _regulator_disable(struct regulator *regulator) in _regulator_disable() argument
3011 struct regulator_dev *rdev = regulator->rdev; in _regulator_disable()
3016 if (WARN(regulator->enable_count == 0, in _regulator_disable()
3020 if (regulator->enable_count == 1) { in _regulator_disable()
3053 ret = _regulator_handle_consumer_disable(regulator); in _regulator_disable()
3078 int regulator_disable(struct regulator *regulator) in regulator_disable() argument
3080 struct regulator_dev *rdev = regulator->rdev; in regulator_disable()
3085 ret = _regulator_disable(regulator); in regulator_disable()
3129 int regulator_force_disable(struct regulator *regulator) in regulator_force_disable() argument
3131 struct regulator_dev *rdev = regulator->rdev; in regulator_force_disable()
3137 ret = _regulator_force_disable(regulator->rdev); in regulator_force_disable()
3142 if (regulator->uA_load) { in regulator_force_disable()
3143 regulator->uA_load = 0; in regulator_force_disable()
3162 struct regulator *regulator; in regulator_disable_work() local
3175 list_for_each_entry(regulator, &rdev->consumer_list, list) { in regulator_disable_work()
3176 count = regulator->deferred_disables; in regulator_disable_work()
3182 regulator->deferred_disables = 0; in regulator_disable_work()
3185 ret = _regulator_disable(regulator); in regulator_disable_work()
3213 int regulator_disable_deferred(struct regulator *regulator, int ms) in regulator_disable_deferred() argument
3215 struct regulator_dev *rdev = regulator->rdev; in regulator_disable_deferred()
3218 return regulator_disable(regulator); in regulator_disable_deferred()
3221 regulator->deferred_disables++; in regulator_disable_deferred()
3291 int regulator_is_enabled(struct regulator *regulator) in regulator_is_enabled() argument
3295 if (regulator->always_on) in regulator_is_enabled()
3298 regulator_lock(regulator->rdev); in regulator_is_enabled()
3299 ret = _regulator_is_enabled(regulator->rdev); in regulator_is_enabled()
3300 regulator_unlock(regulator->rdev); in regulator_is_enabled()
3315 int regulator_count_voltages(struct regulator *regulator) in regulator_count_voltages() argument
3317 struct regulator_dev *rdev = regulator->rdev; in regulator_count_voltages()
3339 int regulator_list_voltage(struct regulator *regulator, unsigned selector) in regulator_list_voltage() argument
3341 return _regulator_list_voltage(regulator->rdev, selector, 1); in regulator_list_voltage()
3352 struct regmap *regulator_get_regmap(struct regulator *regulator) in regulator_get_regmap() argument
3354 struct regmap *map = regulator->rdev->regmap; in regulator_get_regmap()
3377 int regulator_get_hardware_vsel_register(struct regulator *regulator, in regulator_get_hardware_vsel_register() argument
3381 struct regulator_dev *rdev = regulator->rdev; in regulator_get_hardware_vsel_register()
3407 int regulator_list_hardware_vsel(struct regulator *regulator, in regulator_list_hardware_vsel() argument
3410 struct regulator_dev *rdev = regulator->rdev; in regulator_list_hardware_vsel()
3434 int regulator_hardware_enable(struct regulator *regulator, bool enable) in regulator_hardware_enable() argument
3436 struct regulator_dev *rdev = regulator->rdev; in regulator_hardware_enable()
3459 unsigned int regulator_get_linear_step(struct regulator *regulator) in regulator_get_linear_step() argument
3461 struct regulator_dev *rdev = regulator->rdev; in regulator_get_linear_step()
3478 int regulator_is_supported_voltage(struct regulator *regulator, in regulator_is_supported_voltage() argument
3481 struct regulator_dev *rdev = regulator->rdev; in regulator_is_supported_voltage()
3486 ret = regulator_get_voltage(regulator); in regulator_is_supported_voltage()
3498 ret = regulator_count_voltages(regulator); in regulator_is_supported_voltage()
3504 ret = regulator_list_voltage(regulator, i); in regulator_is_supported_voltage()
3810 static int regulator_set_voltage_unlocked(struct regulator *regulator, in regulator_set_voltage_unlocked() argument
3814 struct regulator_dev *rdev = regulator->rdev; in regulator_set_voltage_unlocked()
3815 struct regulator_voltage *voltage = &regulator->voltage[state]; in regulator_set_voltage_unlocked()
4272 int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV) in regulator_set_voltage() argument
4277 regulator_lock_dependent(regulator->rdev, &ww_ctx); in regulator_set_voltage()
4279 ret = regulator_set_voltage_unlocked(regulator, min_uV, max_uV, in regulator_set_voltage()
4282 regulator_unlock_dependent(regulator->rdev, &ww_ctx); in regulator_set_voltage()
4315 struct regulator *regulator; in regulator_suspend_disable() local
4322 list_for_each_entry(regulator, &rdev->consumer_list, list) { in regulator_suspend_disable()
4323 voltage = &regulator->voltage[state]; in regulator_suspend_disable()
4332 static int _regulator_set_suspend_voltage(struct regulator *regulator, in _regulator_set_suspend_voltage() argument
4336 struct regulator_dev *rdev = regulator->rdev; in _regulator_set_suspend_voltage()
4348 return regulator_set_voltage_unlocked(regulator, min_uV, max_uV, state); in _regulator_set_suspend_voltage()
4351 int regulator_set_suspend_voltage(struct regulator *regulator, int min_uV, in regulator_set_suspend_voltage() argument
4361 regulator_lock_dependent(regulator->rdev, &ww_ctx); in regulator_set_suspend_voltage()
4363 ret = _regulator_set_suspend_voltage(regulator, min_uV, in regulator_set_suspend_voltage()
4366 regulator_unlock_dependent(regulator->rdev, &ww_ctx); in regulator_set_suspend_voltage()
4384 int regulator_set_voltage_time(struct regulator *regulator, in regulator_set_voltage_time() argument
4387 struct regulator_dev *rdev = regulator->rdev; in regulator_set_voltage_time()
4411 voltage = regulator_list_voltage(regulator, i); in regulator_set_voltage_time()
4497 int regulator_sync_voltage(struct regulator *regulator) in regulator_sync_voltage() argument
4499 struct regulator_dev *rdev = regulator->rdev; in regulator_sync_voltage()
4500 struct regulator_voltage *voltage = &regulator->voltage[PM_SUSPEND_ON]; in regulator_sync_voltage()
4599 int regulator_get_voltage(struct regulator *regulator) in regulator_get_voltage() argument
4604 regulator_lock_dependent(regulator->rdev, &ww_ctx); in regulator_get_voltage()
4605 ret = regulator_get_voltage_rdev(regulator->rdev); in regulator_get_voltage()
4606 regulator_unlock_dependent(regulator->rdev, &ww_ctx); in regulator_get_voltage()
4630 int regulator_set_current_limit(struct regulator *regulator, in regulator_set_current_limit() argument
4633 struct regulator_dev *rdev = regulator->rdev; in regulator_set_current_limit()
4686 int regulator_get_current_limit(struct regulator *regulator) in regulator_get_current_limit() argument
4688 return _regulator_get_current_limit(regulator->rdev); in regulator_get_current_limit()
4698 int regulator_get_unclaimed_power_budget(struct regulator *regulator) in regulator_get_unclaimed_power_budget() argument
4700 return regulator->rdev->constraints->pw_budget_mW - in regulator_get_unclaimed_power_budget()
4701 regulator->rdev->pw_requested_mW; in regulator_get_unclaimed_power_budget()
4712 int regulator_request_power_budget(struct regulator *regulator, in regulator_request_power_budget() argument
4715 struct regulator_dev *rdev = regulator->rdev; in regulator_request_power_budget()
4751 void regulator_free_power_budget(struct regulator *regulator, in regulator_free_power_budget() argument
4754 struct regulator_dev *rdev = regulator->rdev; in regulator_free_power_budget()
4786 int regulator_set_mode(struct regulator *regulator, unsigned int mode) in regulator_set_mode() argument
4788 struct regulator_dev *rdev = regulator->rdev; in regulator_set_mode()
4850 unsigned int regulator_get_mode(struct regulator *regulator) in regulator_get_mode() argument
4852 return _regulator_get_mode(regulator->rdev); in regulator_get_mode()
4898 int regulator_get_error_flags(struct regulator *regulator, in regulator_get_error_flags() argument
4901 return _regulator_get_error_flags(regulator->rdev, flags); in regulator_get_error_flags()
4939 int regulator_set_load(struct regulator *regulator, int uA_load) in regulator_set_load() argument
4941 struct regulator_dev *rdev = regulator->rdev; in regulator_set_load()
4946 old_uA_load = regulator->uA_load; in regulator_set_load()
4947 regulator->uA_load = uA_load; in regulator_set_load()
4948 if (regulator->enable_count && old_uA_load != uA_load) { in regulator_set_load()
4951 regulator->uA_load = old_uA_load; in regulator_set_load()
4973 int regulator_allow_bypass(struct regulator *regulator, bool enable) in regulator_allow_bypass() argument
4975 struct regulator_dev *rdev = regulator->rdev; in regulator_allow_bypass()
4987 if (enable && !regulator->bypass) { in regulator_allow_bypass()
5000 } else if (!enable && regulator->bypass) { in regulator_allow_bypass()
5015 regulator->bypass = enable; in regulator_allow_bypass()
5032 int regulator_register_notifier(struct regulator *regulator, in regulator_register_notifier() argument
5035 return blocking_notifier_chain_register(&regulator->rdev->notifier, in regulator_register_notifier()
5049 int regulator_unregister_notifier(struct regulator *regulator, in regulator_unregister_notifier() argument
5052 return blocking_notifier_chain_unregister(&regulator->rdev->notifier, in regulator_unregister_notifier()
6169 void *regulator_get_drvdata(struct regulator *regulator) in regulator_get_drvdata() argument
6171 return regulator->rdev->reg_data; in regulator_get_drvdata()
6180 void regulator_set_drvdata(struct regulator *regulator, void *data) in regulator_set_drvdata() argument
6182 regulator->rdev->reg_data = data; in regulator_set_drvdata()
6223 rdev_get_name(map->regulator), map->dev_name, in supply_map_show()
6258 struct regulator *consumer; in regulator_summary_show_subtree()