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

TOMOYO Linux Cross Reference
Linux/Documentation/i2c/i2c-stub.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/i2c/i2c-stub.rst (Version linux-6.12-rc7) and /Documentation/i2c/i2c-stub.rst (Version linux-4.20.17)


  1 ========                                          
  2 i2c-stub                                          
  3 ========                                          
  4                                                   
  5 Description                                       
  6 ===========                                       
  7                                                   
  8 This module is a very simple fake I2C/SMBus dr    
  9 types of SMBus commands: write quick, (r/w) by    
 10 word data, (r/w) I2C block data, and (r/w) SMB    
 11                                                   
 12 You need to provide chip addresses as a module    
 13 driver, which will then only react to SMBus co    
 14                                                   
 15 No hardware is needed nor associated with this    
 16 quick commands to the specified addresses; it     
 17 commands (also to the specified addresses) by     
 18 arrays in memory.  It will also spam the kerne    
 19 handles.                                          
 20                                                   
 21 A pointer register with auto-increment is impl    
 22 operations.  This allows for continuous byte r    
 23 EEPROMs, among others.                            
 24                                                   
 25 SMBus block command support is disabled by def    
 26 explicitly by setting the respective bits (0x0    
 27 module parameter.                                 
 28                                                   
 29 SMBus block commands must be written to config    
 30 SMBus block operations. Writes can be partial.    
 31 return the number of bytes selected with the l    
 32                                                   
 33 The typical use-case is like this:                
 34                                                   
 35         1. load this module                       
 36         2. use i2cset (from the i2c-tools proj    
 37         3. load the target chip driver module     
 38         4. observe its behavior in the kernel     
 39                                                   
 40 There's a script named i2c-stub-from-dump in t    
 41 can load register values automatically from a     
 42                                                   
 43 Parameters                                        
 44 ==========                                        
 45                                                   
 46 int chip_addr[10]:                                
 47         The SMBus addresses to emulate chips a    
 48                                                   
 49 unsigned long functionality:                      
 50         Functionality override, to disable som    
 51         constants in <linux/i2c.h> for the sui    
 52         value 0x1f0000 would only enable the q    
 53         commands.                                 
 54                                                   
 55 u8 bank_reg[10], u8 bank_mask[10], u8 bank_sta    
 56         Optional bank settings. They tell whic    
 57         select the active bank, as well as the    
 58                                                   
 59 Caveats                                           
 60 =======                                           
 61                                                   
 62 If your target driver polls some byte or word     
 63 stub could lock it up.  Use i2cset to unlock i    
 64                                                   
 65 If you spam it hard enough, printk can be loss    
 66 something like relayfs.                           
                                                      

~ [ 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