/linux/kernel/ |
H A D | audit_watch.c | 33 * audit_krule holds a reference to its associated watch. 100 void audit_get_watch(struct audit_watch *watch) in audit_get_watch() argument 102 refcount_inc(&watch->count); in audit_get_watch() 105 void audit_put_watch(struct audit_watch *watch) in audit_put_watch() argument 107 if (refcount_dec_and_test(&watch->count)) { in audit_put_watch() 108 WARN_ON(watch->parent); in audit_put_watch() 109 WARN_ON(!list_empty(&watch->rules)); in audit_put_watch() 110 kfree(watch->path); in audit_put_watch() 111 kfree(watch); in audit_put_watch() 115 static void audit_remove_watch(struct audit_watch *watch) in audit_remove_watch() argument [all …]
|
/linux/Documentation/core-api/ |
H A D | watch_queue.rst | 33 watch through that pipe. Only sources that have been connected to a pipe will 63 the type of record from that source (see the Watch Sources section below). The 65 internally by the watch queue itself. There are two subtypes: 70 The first indicates that an object on which a watch was installed was removed 79 * The watch ID (mask with WATCH_INFO_ID and shift by WATCH_INFO_ID__SHIFT). 80 This indicates that caller's ID of the watch, which may be between 0 94 Watch List (Notification Source) API 97 A "watch list" is a list of watchers that are subscribed to a source of 100 non-global watch list is typically referred to by reference to the object it 102 watch that specific key). [all …]
|
/linux/drivers/xen/xenbus/ |
H A D | xenbus_dev_frontend.c | 97 * alone during a watch callback. 228 struct xenbus_watch watch; member 233 static void free_watch_adapter(struct watch_adapter *watch) in free_watch_adapter() argument 235 kfree(watch->watch.node); in free_watch_adapter() 236 kfree(watch->token); in free_watch_adapter() 237 kfree(watch); in free_watch_adapter() 243 struct watch_adapter *watch; in alloc_watch_adapter() local 245 watch = kzalloc(sizeof(*watch), GFP_KERNEL); in alloc_watch_adapter() 246 if (watch == NULL) in alloc_watch_adapter() 249 watch->watch.node = kstrdup(path, GFP_KERNEL); in alloc_watch_adapter() [all …]
|
H A D | xenbus_xs.c | 59 * New watch events happening in this time can be ignored by firing all watches 81 /* List of pending watch callback events, and a lock to protect it. */ 85 /* Protect watch (de)register against save/restore. */ 777 /* Register callback to watch this node. */ 778 int register_xenbus_watch(struct xenbus_watch *watch) in register_xenbus_watch() argument 781 char token[sizeof(watch) * 2 + 1]; in register_xenbus_watch() 784 sprintf(token, "%lX", (long)watch); in register_xenbus_watch() 786 watch->nr_pending = 0; in register_xenbus_watch() 792 list_add(&watch->list, &watches); in register_xenbus_watch() 795 err = xs_watch(watch->node, token); in register_xenbus_watch() [all …]
|
H A D | xenbus_client.c | 115 * xenbus_watch_path - register a watch 117 * @path: path to watch 118 * @watch: watch to register 122 * Register a @watch on the given path, using the given xenbus_watch structure 125 * On success, the given @path will be saved as @watch->node, and remains the 126 * caller's to free. On error, @watch->node will be NULL, the device will 132 struct xenbus_watch *watch, in xenbus_watch_path() argument 140 watch->node = path; in xenbus_watch_path() 141 watch->will_handle = will_handle; in xenbus_watch_path() 142 watch->callback = callback; in xenbus_watch_path() [all …]
|
H A D | xenbus_probe_backend.c | 183 static bool frontend_will_handle(struct xenbus_watch *watch, in frontend_will_handle() argument 186 return watch->nr_pending == 0; in frontend_will_handle() 189 static void frontend_changed(struct xenbus_watch *watch, in frontend_changed() argument 192 xenbus_otherend_changed(watch, path, token, 0); in frontend_changed() 212 static void backend_changed(struct xenbus_watch *watch, in backend_changed() argument 250 /* Enumerate devices in xenstore and watch for changes. */ in backend_probe_and_watch()
|
H A D | xenbus.h | 47 bool (*otherend_will_handle)(struct xenbus_watch *watch, 49 void (*otherend_changed)(struct xenbus_watch *watch, const char *path, 127 void xenbus_otherend_changed(struct xenbus_watch *watch,
|
/linux/drivers/counter/ |
H A D | counter-chrdev.c | 139 struct counter_watch *const watch, in counter_set_event_node() argument 148 if (event_node->event == watch->event && in counter_set_event_node() 149 event_node->channel == watch->channel) in counter_set_event_node() 160 event_node->event = watch->event; in counter_set_event_node() 161 event_node->channel = watch->channel; in counter_set_event_node() 166 /* Check if component watch has already been set before */ in counter_set_event_node() 268 struct counter_watch watch; in counter_add_watch() local 276 if (copy_from_user(&watch, uwatch, sizeof(watch))) in counter_add_watch() 279 if (watch.component.type == COUNTER_COMPONENT_NONE) in counter_add_watch() 282 parent = watch.component.parent; in counter_add_watch() [all …]
|
H A D | microchip-tcb-capture.c | 341 const struct counter_watch *watch) in mchp_tc_watch_validate() argument 343 if (watch->channel == COUNTER_MCHP_EVCHN_CV || watch->channel == COUNTER_MCHP_EVCHN_RA) in mchp_tc_watch_validate() 344 switch (watch->event) { in mchp_tc_watch_validate() 353 if (watch->channel == COUNTER_MCHP_EVCHN_RB && watch->event == COUNTER_EVENT_CAPTURE) in mchp_tc_watch_validate() 356 if (watch->channel == COUNTER_MCHP_EVCHN_RC && watch->event == COUNTER_EVENT_THRESHOLD) in mchp_tc_watch_validate()
|
/linux/include/linux/ |
H A D | watch_queue.h | 2 /* User-mappable watch queue 52 * Representation of a watch on an object. 54 struct watch { struct 63 const struct cred *cred; /* Creds of the owner of the watch */ argument 75 void (*release_watch)(struct watch *); argument 85 extern void init_watch(struct watch *, struct watch_queue *); 86 extern int add_watch_to_object(struct watch *, struct watch_list *); 95 void (*release_watch)(struct watch *)) in init_watch_list() argument 120 * watch_sizeof - Calculate the information part of the size of a watch record,
|
/linux/include/uapi/linux/ |
H A D | inotify.h | 22 __s32 wd; /* watch descriptor */ 23 __u32 mask; /* watch mask */ 29 /* the following are legal, implemented events that user-space can watch for */ 43 /* the following are legal events. they are sent as needed to any watch */ 53 #define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */ 57 #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ 80 * watch descriptor.
|
H A D | watch_queue.h | 67 * Extended watch removal notification. This is used optionally if the type 75 struct watch_notification watch; member 95 * - watch.type = WATCH_TYPE_KEY_NOTIFY 96 * - watch.subtype = enum key_notification_type 99 struct watch_notification watch; member
|
/linux/Documentation/translations/zh_CN/core-api/ |
H A D | watch_queue.rst | 105 void (*release_watch)(struct watch *wlist)); 138 struct watch { 159 * ``void init_watch(struct watch *watch, struct watch_queue *wqueue);`` 163 * ``int add_watch_to_object(struct watch *watch, struct watch_list *wlist);`` 251 (watch.info & info_mask) == info_filter
|
/linux/Documentation/userspace-api/gpio/ |
H A D | gpio-get-lineinfo-watch-ioctl.rst | 11 gpio-v2-get-lineinfo-watch-ioctl.rst. 34 the ``offset`` set to indicate the line to watch 55 Multiple lines may be watched simultaneously by adding a watch for each. 57 Once a watch is set, any changes to line info will generate events which can be 61 Adding a watch to a line that is already watched is an error (**EBUSY**).
|
H A D | gpio-v2-get-lineinfo-watch-ioctl.rst | 30 the ``offset`` set to indicate the line to watch 50 Multiple lines may be watched simultaneously by adding a watch for each. 52 Once a watch is set, any changes to line info will generate events which can be 56 Adding a watch to a line that is already watched is an error (**EBUSY**).
|
H A D | gpio-get-lineinfo-unwatch-ioctl.rst | 29 The offset of the line to no longer watch. 36 This is the reverse of gpio-v2-get-lineinfo-watch-ioctl.rst (v2) and 37 gpio-get-lineinfo-watch-ioctl.rst (v1).
|
/linux/arch/mips/kernel/ |
H A D | watch.c | 12 #include <asm/watch.h> 15 * Install the watch registers for the current thread. A maximum of 20 struct mips3264_watch_reg_state *watches = &t->thread.watch.mips3264; in mips_install_watch_registers() 53 ¤t->thread.watch.mips3264; in mips_read_watch_registers() 75 * since we got here, the watch condition was met and in mips_read_watch_registers() 83 * Disable all watch registers. Although only four registers are 85 * looping in the watch handler.
|
H A D | genex.S | 587 * For watch, interrupts will be enabled after the watch 590 BUILD_HANDLER watch watch cli silent /* #23 */ 592 BUILD_HANDLER watch watch sti verbose /* #23 */
|
/linux/Documentation/filesystems/ |
H A D | inotify.rst | 18 What is the design decision behind not tying the watch to the open fd of 30 an fd-per-watch? 33 An fd-per-watch quickly consumes more file descriptors than are allowed, 37 A watch consumes less memory than an open file, separating the number 47 fd returns all watch events and also any potential out-of-band data. If 48 every fd was a separate watch,
|
/linux/tools/gpio/ |
H A D | Makefile | 21 ALL_TARGETS := lsgpio gpio-hammer gpio-event-mon gpio-watch 70 # gpio-watch 72 GPIO_WATCH_IN := $(OUTPUT)gpio-watch-in.o 74 $(Q)$(MAKE) $(build)=gpio-watch 75 $(OUTPUT)gpio-watch: $(GPIO_WATCH_IN)
|
H A D | Build | 5 gpio-watch-y += gpio-watch.o
|
/linux/drivers/watchdog/ |
H A D | acquirewdt.c | 23 * The Watch-Dog Timer is provided to ensure that standalone 31 * The Watch-Dog Timer is controlled by two I/O Ports. 32 * 443 hex - Read - Enable or refresh the Watch-Dog Timer 33 * 043 hex - Read - Disable the Watch-Dog Timer 35 * To enable the Watch-Dog Timer, a read from I/O port 443h must 39 * reset condition does not occur, the Watch-Dog Timer must be 41 * The Watch-Dog Timer is disabled by reading I/O port 043h. 43 * The Watch-Dog Timer Time-Out Period is set via jumpers.
|
/linux/Documentation/gpu/ |
H A D | introduction.rst | 155 * `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg4… 156 …en on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ -… 157 * `Everything Great about Upstream Graphics <https://www.youtube.com/watch?v=kVzHOgt6WGE>`_ - Simon… 158 * `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Max… 159 * `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Simona Vetter… 160 * `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pincha… 161 * `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Simona Vetter (… 162 * `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinc…
|
/linux/include/xen/ |
H A D | xenbus.h | 55 /* Register callback to watch this node. */ 188 int register_xenbus_watch(struct xenbus_watch *watch); 189 void unregister_xenbus_watch(struct xenbus_watch *watch); 207 struct xenbus_watch *watch, 213 int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch,
|
/linux/arch/mips/kvm/ |
H A D | stats.c | 33 "Watch Lo", 34 "Watch Hi",
|