~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/gpio/gpio-lineevent-data-read.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/userspace-api/gpio/gpio-lineevent-data-read.rst (Version linux-6.12-rc7) and /Documentation/userspace-api/gpio/gpio-lineevent-data-read.rst (Version linux-5.9.16)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 .. _GPIO_LINEEVENT_DATA_READ:                     
  4                                                   
  5 ************************                          
  6 GPIO_LINEEVENT_DATA_READ                          
  7 ************************                          
  8                                                   
  9 .. warning::                                      
 10     This ioctl is part of chardev_v1.rst and i    
 11     gpio-v2-line-event-read.rst.                  
 12                                                   
 13 Name                                              
 14 ====                                              
 15                                                   
 16 GPIO_LINEEVENT_DATA_READ - Read edge detection    
 17                                                   
 18 Synopsis                                          
 19 ========                                          
 20                                                   
 21 ``int read(int event_fd, void *buf, size_t cou    
 22                                                   
 23 Arguments                                         
 24 =========                                         
 25                                                   
 26 ``event_fd``                                      
 27     The file descriptor of the GPIO character     
 28     :c:type:`request.fd<gpioevent_request>` by    
 29                                                   
 30 ``buf``                                           
 31     The buffer to contain the :c:type:`events<    
 32                                                   
 33 ``count``                                         
 34     The number of bytes available in ``buf``,     
 35     least the size of a :c:type:`gpioevent_dat    
 36                                                   
 37 Description                                       
 38 ===========                                       
 39                                                   
 40 Read edge detection events for a line from a l    
 41                                                   
 42 Edge detection must be enabled for the input l    
 43 ``GPIOEVENT_REQUEST_RISING_EDGE`` or ``GPIOEVE    
 44 both. Edge events are then generated whenever     
 45 the input line.                                   
 46                                                   
 47 Edges are defined in terms of changes to the l    
 48 to active transition is a rising edge.  If ``G    
 49 set then logical polarity is the opposite of p    
 50 ``GPIOEVENT_REQUEST_RISING_EDGE`` then corresp    
 51                                                   
 52 The kernel captures and timestamps edge events    
 53 occurrence and stores them in a buffer from wh    
 54 userspace at its convenience using `read()`.      
 55                                                   
 56 The source of the clock for :c:type:`event.tim    
 57 ``CLOCK_MONOTONIC``, except for kernels earlie    
 58 ``CLOCK_REALTIME``.  There is no indication in    
 59 as to which clock source is used, it must be d    
 60 version or sanity checks on the timestamp itse    
 61                                                   
 62 Events read from the buffer are always in the     
 63 detected by the kernel.                           
 64                                                   
 65 The size of the kernel event buffer is fixed a    
 66                                                   
 67 The buffer may overflow if bursts of events oc    
 68 by userspace. If an overflow occurs then the m    
 69 Overflow cannot be detected from userspace.       
 70                                                   
 71 To minimize the number of calls required to co    
 72 userspace, `read()` supports copying multiple     
 73 copied is the lower of the number available in    
 74 number that will fit in the userspace buffer (    
 75                                                   
 76 The `read()` will block if no event is availab    
 77 been set **O_NONBLOCK**.                          
 78                                                   
 79 The presence of an event can be tested for by     
 80 readable using `poll()` or an equivalent.         
 81                                                   
 82 Return Value                                      
 83 ============                                      
 84                                                   
 85 On success the number of bytes read, which wil    
 86 a :c:type:`gpio_lineevent_data` event.            
 87                                                   
 88 On error -1 and the ``errno`` variable is set     
 89 Common error codes are described in error-code    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php