Lines Matching refs:data

74 	struct gpiod_data *data = dev_get_drvdata(dev);
75 struct gpio_desc *desc = data->desc;
78 mutex_lock(&data->mutex);
83 mutex_unlock(&data->mutex);
91 struct gpiod_data *data = dev_get_drvdata(dev);
92 struct gpio_desc *desc = data->desc;
95 mutex_lock(&data->mutex);
106 mutex_unlock(&data->mutex);
115 struct gpiod_data *data = dev_get_drvdata(dev);
116 struct gpio_desc *desc = data->desc;
119 mutex_lock(&data->mutex);
123 mutex_unlock(&data->mutex);
134 struct gpiod_data *data = dev_get_drvdata(dev);
135 struct gpio_desc *desc = data->desc;
141 mutex_lock(&data->mutex);
150 mutex_unlock(&data->mutex);
158 struct gpiod_data *data = priv;
160 sysfs_notify_dirent(data->value_kn);
165 /* Caller holds gpiod-data mutex. */
168 struct gpiod_data *data = dev_get_drvdata(dev);
169 struct gpio_desc *desc = data->desc;
173 data->irq = gpiod_to_irq(desc);
174 if (data->irq < 0)
177 data->value_kn = sysfs_get_dirent(dev->kobj.sd, "value");
178 if (!data->value_kn)
201 ret = request_any_context_irq(data->irq, gpio_sysfs_irq, irq_flags,
202 "gpiolib", data);
206 data->irq_flags = flags;
213 sysfs_put(data->value_kn);
219 * Caller holds gpiod-data mutex (unless called after class-device
224 struct gpiod_data *data = dev_get_drvdata(dev);
225 struct gpio_desc *desc = data->desc;
227 data->irq_flags = 0;
228 free_irq(data->irq, data);
230 sysfs_put(data->value_kn);
243 struct gpiod_data *data = dev_get_drvdata(dev);
246 mutex_lock(&data->mutex);
248 flags = data->irq_flags;
250 mutex_unlock(&data->mutex);
261 struct gpiod_data *data = dev_get_drvdata(dev);
269 mutex_lock(&data->mutex);
271 if (flags == data->irq_flags) {
276 if (data->irq_flags)
286 mutex_unlock(&data->mutex);
292 /* Caller holds gpiod-data mutex. */
295 struct gpiod_data *data = dev_get_drvdata(dev);
296 struct gpio_desc *desc = data->desc;
298 unsigned int flags = data->irq_flags;
318 struct gpiod_data *data = dev_get_drvdata(dev);
319 struct gpio_desc *desc = data->desc;
322 mutex_lock(&data->mutex);
326 mutex_unlock(&data->mutex);
334 struct gpiod_data *data = dev_get_drvdata(dev);
342 mutex_lock(&data->mutex);
346 mutex_unlock(&data->mutex);
356 struct gpiod_data *data = dev_get_drvdata(dev);
357 struct gpio_desc *desc = data->desc;
359 bool show_direction = data->direction_can_change;
564 struct gpiod_data *data;
606 data = kzalloc(sizeof(*data), GFP_KERNEL);
607 if (!data) {
612 data->desc = desc;
613 mutex_init(&data->mutex);
615 data->direction_can_change = direction_may_change;
617 data->direction_can_change = false;
624 MKDEV(0, 0), data, gpio_groups,
637 kfree(data);
647 struct gpiod_data *data = dev_get_drvdata(dev);
649 return data->desc == desc;
693 struct gpiod_data *data;
710 data = dev_get_drvdata(dev);
719 if (data->irq_flags)
725 kfree(data);