/linux-6.14.4/kernel/ |
D | watch_queue.c | 2 /* Watch queue and general notification mechanism, built on pipes 30 MODULE_DESCRIPTION("Watch queue"); 91 * Post a notification to a watch queue. 183 * @wlist: The watch list to post the event to. 186 * @id: The ID to match on the watch. 188 * Post a notification of an event into a set of watch queues and let the users 201 struct watch *watch; in __post_watch_notification() local 210 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification() 211 if (watch->id != id) in __post_watch_notification() 214 n->info |= watch->info_id; in __post_watch_notification() [all …]
|
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 …]
|
D | auditfilter.c | 89 if (erule->watch) in audit_free_rule() 90 audit_put_watch(erule->watch); in audit_free_rule() 158 krule->inode_f || krule->watch || krule->tree || in audit_to_inode() 672 audit_watch_path(krule->watch)); in audit_krule_to_data() 737 if (strcmp(audit_watch_path(a->watch), in audit_compare_rule() 738 audit_watch_path(b->watch))) in audit_compare_rule() 816 * of the watch - that pointer is carried over. The LSM specific fields 891 if (old->watch) { in audit_dupe_rule() 892 audit_get_watch(old->watch); in audit_dupe_rule() 893 new->watch = old->watch; in audit_dupe_rule() [all …]
|
/linux-6.14.4/Documentation/core-api/ |
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-6.14.4/tools/counter/ |
D | counter_watch_events.c | 3 * Counter Watch Events - Test various counter watch events in a userspace application 58 static void print_watch(struct counter_watch *watch, int nwatch) in print_watch() argument 62 /* prints the watch array in C-like structure */ in print_watch() 63 printf("watch[%d] = {\n", nwatch); in print_watch() 74 counter_component_type_name[watch[i].component.type], in print_watch() 75 counter_scope_name[watch[i].component.scope], in print_watch() 76 watch[i].component.parent, in print_watch() 77 watch[i].component.id, in print_watch() 78 counter_event_type_name[watch[i].event], in print_watch() 79 watch[i].channel); in print_watch() [all …]
|
/linux-6.14.4/drivers/xen/xenbus/ |
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 …]
|
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. */ 763 /* Register callback to watch this node. */ 764 int register_xenbus_watch(struct xenbus_watch *watch) in register_xenbus_watch() argument 767 char token[sizeof(watch) * 2 + 1]; in register_xenbus_watch() 770 sprintf(token, "%lX", (long)watch); in register_xenbus_watch() 772 watch->nr_pending = 0; in register_xenbus_watch() 778 list_add(&watch->list, &watches); in register_xenbus_watch() 781 err = xs_watch(watch->node, token); in register_xenbus_watch() [all …]
|
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 …]
|
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()
|
/linux-6.14.4/drivers/gpu/drm/v3d/ |
D | v3d_perfmon.c | 49 {"AXI", "AXI-writes-seen-watch-0", "[AXI] Writes seen by watch 0"}, 50 {"AXI", "AXI-reads-seen-watch-0", "[AXI] Reads seen by watch 0"}, 51 {"AXI", "AXI-writes-stalled-seen-watch-0", "[AXI] Write stalls seen by watch 0"}, 52 {"AXI", "AXI-reads-stalled-seen-watch-0", "[AXI] Read stalls seen by watch 0"}, 53 {"AXI", "AXI-write-bytes-seen-watch-0", "[AXI] Total bytes written seen by watch 0"}, 54 {"AXI", "AXI-read-bytes-seen-watch-0", "[AXI] Total bytes read seen by watch 0"}, 55 {"AXI", "AXI-writes-seen-watch-1", "[AXI] Writes seen by watch 1"}, 56 {"AXI", "AXI-reads-seen-watch-1", "[AXI] Reads seen by watch 1"}, 57 {"AXI", "AXI-writes-stalled-seen-watch-1", "[AXI] Write stalls seen by watch 1"}, 58 {"AXI", "AXI-reads-stalled-seen-watch-1", "[AXI] Read stalls seen by watch 1"}, [all …]
|
/linux-6.14.4/drivers/counter/ |
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 …]
|
/linux-6.14.4/include/linux/ |
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-6.14.4/include/uapi/linux/ |
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.
|
D | counter.h | 71 * struct counter_watch - Counter component watch configuration 72 * @component: component to watch when event triggers 84 * Queues a Counter watch for the specified event. 108 * @watch: component watch configuration 114 struct counter_watch watch; member
|
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-6.14.4/Documentation/userspace-api/gpio/ |
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**).
|
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**).
|
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-6.14.4/Documentation/translations/zh_CN/core-api/ |
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-6.14.4/arch/mips/kernel/ |
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.
|
/linux-6.14.4/Documentation/filesystems/ |
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-6.14.4/tools/gpio/ |
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)
|
D | Build | 5 gpio-watch-y += gpio-watch.o
|
/linux-6.14.4/drivers/watchdog/ |
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-6.14.4/Documentation/gpu/ |
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…
|