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

TOMOYO Linux Cross Reference
Linux/include/sound/ac97/controller.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/sound/ac97/controller.h (Version linux-6.11.5) and /include/sound/ac97/controller.h (Version linux-4.13.16)


  1 /* SPDX-License-Identifier: GPL-2.0                 1 
  2  *                                                
  3  * Copyright (C) 2016 Robert Jarzmik <robert.j    
  4  */                                               
  5                                                   
  6 #ifndef AC97_CONTROLLER_H                         
  7 #define AC97_CONTROLLER_H                         
  8                                                   
  9 #include <linux/device.h>                         
 10 #include <linux/list.h>                           
 11                                                   
 12 #define AC97_BUS_MAX_CODECS 4                     
 13 #define AC97_SLOTS_AVAILABLE_ALL 0xf              
 14                                                   
 15 struct ac97_controller_ops;                       
 16                                                   
 17 /**                                               
 18  * struct ac97_controller - The AC97 controlle    
 19  * @ops:                the AC97 operations.      
 20  * @controllers:        linked list of all exi    
 21  * @adap:               the shell device ac97-    
 22  * @nr:                 the number of the shel    
 23  * @slots_available:    the mask of accessible    
 24  * @parent:             the device providing t    
 25  * @codecs:             the 4 possible AC97 co    
 26  * @codecs_pdata:       platform_data for each    
 27  *                                                
 28  * This structure is internal to AC97 bus, and    
 29  * controllers themselves, excepting for using    
 30  */                                               
 31 struct ac97_controller {                          
 32         const struct ac97_controller_ops *ops;    
 33         struct list_head controllers;             
 34         struct device adap;                       
 35         int nr;                                   
 36         unsigned short slots_available;           
 37         struct device *parent;                    
 38         struct ac97_codec_device *codecs[AC97_    
 39         void *codecs_pdata[AC97_BUS_MAX_CODECS    
 40 };                                                
 41                                                   
 42 /**                                               
 43  * struct ac97_controller_ops - The AC97 opera    
 44  * @reset:      Cold reset of the AC97 AC-Link    
 45  * @warm_reset: Warm reset of the AC97 AC-Link    
 46  * @read:       Read of a single AC97 register    
 47  *              Returns the register value or     
 48  * @write:      Write of a single AC97 registe    
 49  *                                                
 50  * These are the basic operation an AC97 contr    
 51  * access functions. Amongst these, all but th    
 52  * The slot number is also known as the AC97 c    
 53  */                                               
 54 struct ac97_controller_ops {                      
 55         void (*reset)(struct ac97_controller *    
 56         void (*warm_reset)(struct ac97_control    
 57         int (*write)(struct ac97_controller *a    
 58                      unsigned short reg, unsig    
 59         int (*read)(struct ac97_controller *ad    
 60 };                                                
 61                                                   
 62 #if IS_ENABLED(CONFIG_AC97_BUS_NEW)               
 63 struct ac97_controller *snd_ac97_controller_re    
 64         const struct ac97_controller_ops *ops,    
 65         unsigned short slots_available, void *    
 66 void snd_ac97_controller_unregister(struct ac9    
 67 #else                                             
 68 static inline struct ac97_controller *            
 69 snd_ac97_controller_register(const struct ac97    
 70                              struct device *de    
 71                              unsigned short sl    
 72                              void **codecs_pda    
 73 {                                                 
 74         return ERR_PTR(-ENODEV);                  
 75 }                                                 
 76                                                   
 77 static inline void                                
 78 snd_ac97_controller_unregister(struct ac97_con    
 79 {                                                 
 80 }                                                 
 81 #endif                                            
 82                                                   
 83 #endif                                            
 84                                                   

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