mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-09-14 00:29:50 +10:00
gpiolib: rename the gpio_device notifier
Change the generic "notifier" name to "line_state_notifier" in order to reflect its purpose in preparation for adding a second notifier which will be used to notify wait queues about device unregistering. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Kent Gibson <warthog618@gmail.com>
This commit is contained in:
parent
38a700efc5
commit
17a7ca3589
@ -230,7 +230,7 @@ static long linehandle_set_config(struct linehandle_state *lh,
|
||||
return ret;
|
||||
}
|
||||
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIO_V2_LINE_CHANGED_CONFIG,
|
||||
desc);
|
||||
}
|
||||
@ -414,7 +414,7 @@ static int linehandle_create(struct gpio_device *gdev, void __user *ip)
|
||||
goto out_free_lh;
|
||||
}
|
||||
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIO_V2_LINE_CHANGED_REQUESTED, desc);
|
||||
|
||||
dev_dbg(&gdev->dev, "registered chardev handle for line %d\n",
|
||||
@ -1407,7 +1407,7 @@ static long linereq_set_config_unlocked(struct linereq *lr,
|
||||
|
||||
WRITE_ONCE(line->edflags, edflags);
|
||||
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIO_V2_LINE_CHANGED_CONFIG,
|
||||
desc);
|
||||
}
|
||||
@ -1720,7 +1720,7 @@ static int linereq_create(struct gpio_device *gdev, void __user *ip)
|
||||
|
||||
lr->lines[i].edflags = edflags;
|
||||
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIO_V2_LINE_CHANGED_REQUESTED, desc);
|
||||
|
||||
dev_dbg(&gdev->dev, "registered chardev handle for line %d\n",
|
||||
@ -2117,7 +2117,7 @@ static int lineevent_create(struct gpio_device *gdev, void __user *ip)
|
||||
if (ret)
|
||||
goto out_free_le;
|
||||
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIO_V2_LINE_CHANGED_REQUESTED, desc);
|
||||
|
||||
irq = gpiod_to_irq(desc);
|
||||
@ -2671,7 +2671,7 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
|
||||
cdev->gdev = gpio_device_get(gdev);
|
||||
|
||||
cdev->lineinfo_changed_nb.notifier_call = lineinfo_changed_notify;
|
||||
ret = blocking_notifier_chain_register(&gdev->notifier,
|
||||
ret = blocking_notifier_chain_register(&gdev->line_state_notifier,
|
||||
&cdev->lineinfo_changed_nb);
|
||||
if (ret)
|
||||
goto out_free_bitmap;
|
||||
@ -2687,7 +2687,7 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
|
||||
return ret;
|
||||
|
||||
out_unregister_notifier:
|
||||
blocking_notifier_chain_unregister(&gdev->notifier,
|
||||
blocking_notifier_chain_unregister(&gdev->line_state_notifier,
|
||||
&cdev->lineinfo_changed_nb);
|
||||
out_free_bitmap:
|
||||
gpio_device_put(gdev);
|
||||
@ -2711,7 +2711,7 @@ static int gpio_chrdev_release(struct inode *inode, struct file *file)
|
||||
struct gpio_device *gdev = cdev->gdev;
|
||||
|
||||
bitmap_free(cdev->watched_lines);
|
||||
blocking_notifier_chain_unregister(&gdev->notifier,
|
||||
blocking_notifier_chain_unregister(&gdev->line_state_notifier,
|
||||
&cdev->lineinfo_changed_nb);
|
||||
gpio_device_put(gdev);
|
||||
kfree(cdev);
|
||||
|
@ -847,7 +847,7 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
|
||||
|
||||
spin_unlock_irqrestore(&gpio_lock, flags);
|
||||
|
||||
BLOCKING_INIT_NOTIFIER_HEAD(&gdev->notifier);
|
||||
BLOCKING_INIT_NOTIFIER_HEAD(&gdev->line_state_notifier);
|
||||
init_rwsem(&gdev->sem);
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
@ -2177,7 +2177,7 @@ static bool gpiod_free_commit(struct gpio_desc *desc)
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&gpio_lock, flags);
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIOLINE_CHANGED_RELEASED, desc);
|
||||
|
||||
return ret;
|
||||
@ -4007,7 +4007,7 @@ static struct gpio_desc *gpiod_find_and_request(struct device *consumer,
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
blocking_notifier_call_chain(&desc->gdev->notifier,
|
||||
blocking_notifier_call_chain(&desc->gdev->line_state_notifier,
|
||||
GPIOLINE_CHANGED_REQUESTED, desc);
|
||||
|
||||
return desc;
|
||||
|
@ -39,8 +39,8 @@
|
||||
* or name of the IP component in a System on Chip.
|
||||
* @data: per-instance data assigned by the driver
|
||||
* @list: links gpio_device:s together for traversal
|
||||
* @notifier: used to notify subscribers about lines being requested, released
|
||||
* or reconfigured
|
||||
* @line_state_notifier: used to notify subscribers about lines being
|
||||
* requested, released or reconfigured
|
||||
* @sem: protects the structure from a NULL-pointer dereference of @chip by
|
||||
* user-space operations when the device gets unregistered during
|
||||
* a hot-unplug event
|
||||
@ -64,7 +64,7 @@ struct gpio_device {
|
||||
const char *label;
|
||||
void *data;
|
||||
struct list_head list;
|
||||
struct blocking_notifier_head notifier;
|
||||
struct blocking_notifier_head line_state_notifier;
|
||||
struct rw_semaphore sem;
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
|
Loading…
Reference in New Issue
Block a user