mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	 de747bd023
			
		
	
	
		de747bd023
		
			
		
	
	
	
	
		
			
			It's possible for a poll_table to be null. This can happen if an end-user just wants to know if a resource has events right now without registering a waiter for when events become available. Furthermore, these null pointers should be handled transparently by the API, so we should not change `from_ptr` to return an `Option`. Thus, change `PollTable` to wrap a raw pointer rather than use a reference so that you can pass null. Comments mentioning `struct poll_table` are changed to just `poll_table` since `poll_table` is a typedef. (It's a typedef because it's supposed to be opaque.) Reviewed-by: Benno Lossin <lossin@kernel.org> Signed-off-by: Alice Ryhl <aliceryhl@google.com>
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| /*
 | |
|  * Non-trivial C macros cannot be used in Rust. Similarly, inlined C functions
 | |
|  * cannot be called either. This file explicitly creates functions ("helpers")
 | |
|  * that wrap those so that they can be called from Rust.
 | |
|  *
 | |
|  * Sorted alphabetically.
 | |
|  */
 | |
| 
 | |
| #include "auxiliary.c"
 | |
| #include "blk.c"
 | |
| #include "bug.c"
 | |
| #include "build_assert.c"
 | |
| #include "build_bug.c"
 | |
| #include "clk.c"
 | |
| #include "cpufreq.c"
 | |
| #include "cpumask.c"
 | |
| #include "cred.c"
 | |
| #include "device.c"
 | |
| #include "dma.c"
 | |
| #include "drm.c"
 | |
| #include "err.c"
 | |
| #include "fs.c"
 | |
| #include "io.c"
 | |
| #include "jump_label.c"
 | |
| #include "kunit.c"
 | |
| #include "mm.c"
 | |
| #include "mutex.c"
 | |
| #include "page.c"
 | |
| #include "platform.c"
 | |
| #include "pci.c"
 | |
| #include "pid_namespace.c"
 | |
| #include "poll.c"
 | |
| #include "rbtree.c"
 | |
| #include "rcu.c"
 | |
| #include "refcount.c"
 | |
| #include "security.c"
 | |
| #include "signal.c"
 | |
| #include "slab.c"
 | |
| #include "spinlock.c"
 | |
| #include "sync.c"
 | |
| #include "task.c"
 | |
| #include "uaccess.c"
 | |
| #include "vmalloc.c"
 | |
| #include "wait.c"
 | |
| #include "workqueue.c"
 | |
| #include "xarray.c"
 |