Lines Matching +full:power +full:- +full:managed

1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2003,2004 Hewlett-Packard Company
24 int power) in lcd_notify_blank() argument
26 guard(mutex)(&ld->ops_lock); in lcd_notify_blank()
28 if (!ld->ops || !ld->ops->set_power) in lcd_notify_blank()
30 if (ld->ops->controls_device && !ld->ops->controls_device(ld, display_dev)) in lcd_notify_blank()
33 ld->ops->set_power(ld, power); in lcd_notify_blank()
36 void lcd_notify_blank_all(struct device *display_dev, int power) in lcd_notify_blank_all() argument
43 lcd_notify_blank(ld, display_dev, power); in lcd_notify_blank_all()
50 guard(mutex)(&ld->ops_lock); in lcd_notify_mode_change()
52 if (!ld->ops || !ld->ops->set_mode) in lcd_notify_mode_change()
54 if (ld->ops->controls_device && !ld->ops->controls_device(ld, display_dev)) in lcd_notify_mode_change()
57 ld->ops->set_mode(ld, width, height); in lcd_notify_mode_change()
78 mutex_lock(&ld->ops_lock); in lcd_power_show()
79 if (ld->ops && ld->ops->get_power) in lcd_power_show()
80 rc = sprintf(buf, "%d\n", ld->ops->get_power(ld)); in lcd_power_show()
82 rc = -ENXIO; in lcd_power_show()
83 mutex_unlock(&ld->ops_lock); in lcd_power_show()
93 unsigned long power; in lcd_power_store() local
95 rc = kstrtoul(buf, 0, &power); in lcd_power_store()
99 rc = -ENXIO; in lcd_power_store()
101 mutex_lock(&ld->ops_lock); in lcd_power_store()
102 if (ld->ops && ld->ops->set_power) { in lcd_power_store()
103 pr_debug("set power to %lu\n", power); in lcd_power_store()
104 ld->ops->set_power(ld, power); in lcd_power_store()
107 mutex_unlock(&ld->ops_lock); in lcd_power_store()
116 int rc = -ENXIO; in contrast_show()
119 mutex_lock(&ld->ops_lock); in contrast_show()
120 if (ld->ops && ld->ops->get_contrast) in contrast_show()
121 rc = sprintf(buf, "%d\n", ld->ops->get_contrast(ld)); in contrast_show()
122 mutex_unlock(&ld->ops_lock); in contrast_show()
138 rc = -ENXIO; in contrast_store()
140 mutex_lock(&ld->ops_lock); in contrast_store()
141 if (ld->ops && ld->ops->set_contrast) { in contrast_store()
143 ld->ops->set_contrast(ld, contrast); in contrast_store()
146 mutex_unlock(&ld->ops_lock); in contrast_store()
157 return sprintf(buf, "%d\n", ld->props.max_contrast); in max_contrast_show()
181 * lcd_device_register - register a new object of lcd_device class.
202 return ERR_PTR(-ENOMEM); in lcd_device_register()
204 mutex_init(&new_ld->ops_lock); in lcd_device_register()
205 mutex_init(&new_ld->update_lock); in lcd_device_register()
207 new_ld->dev.class = &lcd_class; in lcd_device_register()
208 new_ld->dev.parent = parent; in lcd_device_register()
209 new_ld->dev.release = lcd_device_release; in lcd_device_register()
210 dev_set_name(&new_ld->dev, "%s", name); in lcd_device_register()
211 dev_set_drvdata(&new_ld->dev, devdata); in lcd_device_register()
213 new_ld->ops = ops; in lcd_device_register()
215 rc = device_register(&new_ld->dev); in lcd_device_register()
217 put_device(&new_ld->dev); in lcd_device_register()
222 list_add(&new_ld->entry, &lcd_dev_list); in lcd_device_register()
229 * lcd_device_unregister - unregisters a object of lcd_device class.
240 list_del(&ld->entry); in lcd_device_unregister()
242 mutex_lock(&ld->ops_lock); in lcd_device_unregister()
243 ld->ops = NULL; in lcd_device_unregister()
244 mutex_unlock(&ld->ops_lock); in lcd_device_unregister()
246 device_unregister(&ld->dev); in lcd_device_unregister()
265 * devm_lcd_device_register - resource managed lcd_device_register()
274 * Managed lcd_device_register(). The lcd_device returned from this function
286 return ERR_PTR(-ENOMEM); in devm_lcd_device_register()
301 * devm_lcd_device_unregister - resource managed lcd_device_unregister()