Lines Matching defs:data
62 struct gpiod_data *data = dev_get_drvdata(dev);
63 struct gpio_desc *desc = data->desc;
66 mutex_lock(&data->mutex);
73 mutex_unlock(&data->mutex);
81 struct gpiod_data *data = dev_get_drvdata(dev);
82 struct gpio_desc *desc = data->desc;
85 mutex_lock(&data->mutex);
96 mutex_unlock(&data->mutex);
105 struct gpiod_data *data = dev_get_drvdata(dev);
106 struct gpio_desc *desc = data->desc;
109 mutex_lock(&data->mutex);
119 mutex_unlock(&data->mutex);
127 struct gpiod_data *data = dev_get_drvdata(dev);
128 struct gpio_desc *desc = data->desc;
131 mutex_lock(&data->mutex);
149 mutex_unlock(&data->mutex);
157 struct gpiod_data *data = priv;
159 sysfs_notify_dirent(data->value_kn);
164 /* Caller holds gpiod-data mutex. */
167 struct gpiod_data *data = dev_get_drvdata(dev);
168 struct gpio_desc *desc = data->desc;
172 data->irq = gpiod_to_irq(desc);
173 if (data->irq < 0)
176 data->value_kn = sysfs_get_dirent(dev->kobj.sd, "value");
177 if (!data->value_kn)
200 ret = request_any_context_irq(data->irq, gpio_sysfs_irq, irq_flags,
201 "gpiolib", data);
205 data->irq_flags = flags;
212 sysfs_put(data->value_kn);
218 * Caller holds gpiod-data mutex (unless called after class-device
223 struct gpiod_data *data = dev_get_drvdata(dev);
224 struct gpio_desc *desc = data->desc;
226 data->irq_flags = 0;
227 free_irq(data->irq, data);
229 sysfs_put(data->value_kn);
245 struct gpiod_data *data = dev_get_drvdata(dev);
249 mutex_lock(&data->mutex);
252 if (data->irq_flags == trigger_types[i].flags) {
258 mutex_unlock(&data->mutex);
266 struct gpiod_data *data = dev_get_drvdata(dev);
281 mutex_lock(&data->mutex);
283 if (flags == data->irq_flags) {
288 if (data->irq_flags)
298 mutex_unlock(&data->mutex);
304 /* Caller holds gpiod-data mutex. */
307 struct gpiod_data *data = dev_get_drvdata(dev);
308 struct gpio_desc *desc = data->desc;
310 unsigned int flags = data->irq_flags;
333 struct gpiod_data *data = dev_get_drvdata(dev);
334 struct gpio_desc *desc = data->desc;
337 mutex_lock(&data->mutex);
342 mutex_unlock(&data->mutex);
350 struct gpiod_data *data = dev_get_drvdata(dev);
354 mutex_lock(&data->mutex);
360 mutex_unlock(&data->mutex);
370 struct gpiod_data *data = dev_get_drvdata(dev);
371 struct gpio_desc *desc = data->desc;
373 bool show_direction = data->direction_can_change;
582 struct gpiod_data *data;
624 data = kzalloc(sizeof(*data), GFP_KERNEL);
625 if (!data) {
630 data->desc = desc;
631 mutex_init(&data->mutex);
633 data->direction_can_change = direction_may_change;
635 data->direction_can_change = false;
642 MKDEV(0, 0), data, gpio_groups,
655 kfree(data);
665 struct gpiod_data *data = dev_get_drvdata(dev);
667 return data->desc == desc;
711 struct gpiod_data *data;
728 data = dev_get_drvdata(dev);
737 if (data->irq_flags)
743 kfree(data);