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

TOMOYO Linux Cross Reference
Linux/Documentation/sound/soc/machine.rst

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 /Documentation/sound/soc/machine.rst (Version linux-6.11.5) and /Documentation/sound/soc/machine.rst (Version linux-2.6.0)


  1 ===================                               
  2 ASoC Machine Driver                               
  3 ===================                               
  4                                                   
  5 The ASoC machine (or board) driver is the code    
  6 component drivers (e.g. codecs, platforms and     
  7 relationships between each component which inc    
  8 interrupts, clocking, jacks and voltage regula    
  9                                                   
 10 The machine driver can contain codec and platf    
 11 the audio subsystem with the kernel as a platf    
 12 the following struct:-                            
 13 ::                                                
 14                                                   
 15   /* SoC machine */                               
 16   struct snd_soc_card {                           
 17         char *name;                               
 18                                                   
 19         ...                                       
 20                                                   
 21         int (*probe)(struct platform_device *p    
 22         int (*remove)(struct platform_device *    
 23                                                   
 24         /* the pre and post PM functions are u    
 25          * after the codec and DAIs do any PM     
 26         int (*suspend_pre)(struct platform_dev    
 27         int (*suspend_post)(struct platform_de    
 28         int (*resume_pre)(struct platform_devi    
 29         int (*resume_post)(struct platform_dev    
 30                                                   
 31         ...                                       
 32                                                   
 33         /* CPU <--> Codec DAI links  */           
 34         struct snd_soc_dai_link *dai_link;        
 35         int num_links;                            
 36                                                   
 37         ...                                       
 38   };                                              
 39                                                   
 40 probe()/remove()                                  
 41 ----------------                                  
 42 probe/remove are optional. Do any machine spec    
 43                                                   
 44                                                   
 45 suspend()/resume()                                
 46 ------------------                                
 47 The machine driver has pre and post versions o    
 48 of any machine audio tasks that have to be don    
 49 and DMA is suspended and resumed. Optional.       
 50                                                   
 51                                                   
 52 Machine DAI Configuration                         
 53 -------------------------                         
 54 The machine DAI configuration glues all the co    
 55 also be used to set up the DAI system clock an    
 56 initialisation e.g. the machine audio map can     
 57 map, unconnected codec pins can be set as such    
 58                                                   
 59 struct snd_soc_dai_link is used to set up each    
 60 ::                                                
 61                                                   
 62   /* corgi digital audio interface glue - conn    
 63   static struct snd_soc_dai_link corgi_dai = {    
 64         .name = "WM8731",                         
 65         .stream_name = "WM8731",                  
 66         .cpu_dai_name = "pxa-is2-dai",            
 67         .codec_dai_name = "wm8731-hifi",          
 68         .platform_name = "pxa-pcm-audio",         
 69         .codec_name = "wm8713-codec.0-001a",      
 70         .init = corgi_wm8731_init,                
 71         .ops = &corgi_ops,                        
 72   };                                              
 73                                                   
 74 struct snd_soc_card then sets up the machine w    
 75 ::                                                
 76                                                   
 77   /* corgi audio machine driver */                
 78   static struct snd_soc_card snd_soc_corgi = {    
 79         .name = "Corgi",                          
 80         .dai_link = &corgi_dai,                   
 81         .num_links = 1,                           
 82   };                                              
 83                                                   
 84                                                   
 85 Machine Power Map                                 
 86 -----------------                                 
 87                                                   
 88 The machine driver can optionally extend the c    
 89 audio power map of the audio subsystem. This a    
 90 of speaker/HP amplifiers, etc. Codec pins can     
 91 sockets in the machine init function.             
 92                                                   
 93                                                   
 94 Machine Controls                                  
 95 ----------------                                  
 96                                                   
 97 Machine specific audio mixer controls can be a    
                                                      

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