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

TOMOYO Linux Cross Reference
Linux/sound/soc/au1x/db1200.c

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 /sound/soc/au1x/db1200.c (Version linux-6.12-rc7) and /sound/soc/au1x/db1200.c (Version linux-2.6.0)


  1 // SPDX-License-Identifier: GPL-2.0-only            1 
  2 /*                                                
  3  * DB1200/DB1300/DB1550 ASoC audio fabric supp    
  4  *                                                
  5  * (c) 2008-2011 Manuel Lauss <manuel.lauss@go    
  6  *                                                
  7  */                                               
  8                                                   
  9 #include <linux/module.h>                         
 10 #include <linux/moduleparam.h>                    
 11 #include <linux/timer.h>                          
 12 #include <linux/interrupt.h>                      
 13 #include <linux/platform_device.h>                
 14 #include <sound/core.h>                           
 15 #include <sound/pcm.h>                            
 16 #include <sound/soc.h>                            
 17 #include <asm/mach-au1x00/au1000.h>               
 18 #include <asm/mach-au1x00/au1xxx_psc.h>           
 19 #include <asm/mach-au1x00/au1xxx_dbdma.h>         
 20 #include <asm/mach-db1x00/bcsr.h>                 
 21                                                   
 22 #include "../codecs/wm8731.h"                     
 23 #include "psc.h"                                  
 24                                                   
 25 static const struct platform_device_id db1200_    
 26         {                                         
 27                 .name           = "db1200-ac97    
 28                 .driver_data    = 0,              
 29         }, {                                      
 30                 .name           = "db1200-i2s"    
 31                 .driver_data    = 1,              
 32         }, {                                      
 33                 .name           = "db1300-ac97    
 34                 .driver_data    = 2,              
 35         }, {                                      
 36                 .name           = "db1300-i2s"    
 37                 .driver_data    = 3,              
 38         }, {                                      
 39                 .name           = "db1550-ac97    
 40                 .driver_data    = 4,              
 41         }, {                                      
 42                 .name           = "db1550-i2s"    
 43                 .driver_data    = 5,              
 44         },                                        
 45         {},                                       
 46 };                                                
 47 MODULE_DEVICE_TABLE(platform, db1200_pids);       
 48                                                   
 49 /*-------------------------  AC97 PART  ------    
 50                                                   
 51 SND_SOC_DAILINK_DEFS(db1200_ac97,                 
 52         DAILINK_COMP_ARRAY(COMP_CPU("au1xpsc_a    
 53         DAILINK_COMP_ARRAY(COMP_CODEC("ac97-co    
 54         DAILINK_COMP_ARRAY(COMP_PLATFORM("au1x    
 55                                                   
 56 static struct snd_soc_dai_link db1200_ac97_dai    
 57         .name           = "AC97",                 
 58         .stream_name    = "AC97 HiFi",            
 59         SND_SOC_DAILINK_REG(db1200_ac97),         
 60 };                                                
 61                                                   
 62 static struct snd_soc_card db1200_ac97_machine    
 63         .name           = "DB1200_AC97",          
 64         .owner          = THIS_MODULE,            
 65         .dai_link       = &db1200_ac97_dai,       
 66         .num_links      = 1,                      
 67 };                                                
 68                                                   
 69 SND_SOC_DAILINK_DEFS(db1300_ac97,                 
 70         DAILINK_COMP_ARRAY(COMP_CPU("au1xpsc_a    
 71         DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-    
 72         DAILINK_COMP_ARRAY(COMP_PLATFORM("au1x    
 73                                                   
 74 static struct snd_soc_dai_link db1300_ac97_dai    
 75         .name           = "AC97",                 
 76         .stream_name    = "AC97 HiFi",            
 77         SND_SOC_DAILINK_REG(db1300_ac97),         
 78 };                                                
 79                                                   
 80 static struct snd_soc_card db1300_ac97_machine    
 81         .name           = "DB1300_AC97",          
 82         .owner          = THIS_MODULE,            
 83         .dai_link       = &db1300_ac97_dai,       
 84         .num_links      = 1,                      
 85 };                                                
 86                                                   
 87 static struct snd_soc_card db1550_ac97_machine    
 88         .name           = "DB1550_AC97",          
 89         .owner          = THIS_MODULE,            
 90         .dai_link       = &db1200_ac97_dai,       
 91         .num_links      = 1,                      
 92 };                                                
 93                                                   
 94 /*-------------------------  I2S PART  -------    
 95                                                   
 96 static int db1200_i2s_startup(struct snd_pcm_s    
 97 {                                                 
 98         struct snd_soc_pcm_runtime *rtd = snd_    
 99         struct snd_soc_dai *codec_dai = snd_so    
100                                                   
101         /* WM8731 has its own 12MHz crystal */    
102         snd_soc_dai_set_sysclk(codec_dai, WM87    
103                                 12000000, SND_    
104                                                   
105         return 0;                                 
106 }                                                 
107                                                   
108 static const struct snd_soc_ops db1200_i2s_wm8    
109         .startup        = db1200_i2s_startup,     
110 };                                                
111                                                   
112 SND_SOC_DAILINK_DEFS(db1200_i2s,                  
113         DAILINK_COMP_ARRAY(COMP_CPU("au1xpsc_i    
114         DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.    
115         DAILINK_COMP_ARRAY(COMP_PLATFORM("au1x    
116                                                   
117 static struct snd_soc_dai_link db1200_i2s_dai     
118         .name           = "WM8731",               
119         .stream_name    = "WM8731 PCM",           
120         .dai_fmt        = SND_SOC_DAIFMT_LEFT_    
121                           SND_SOC_DAIFMT_CBP_C    
122         .ops            = &db1200_i2s_wm8731_o    
123         SND_SOC_DAILINK_REG(db1200_i2s),          
124 };                                                
125                                                   
126 static struct snd_soc_card db1200_i2s_machine     
127         .name           = "DB1200_I2S",           
128         .owner          = THIS_MODULE,            
129         .dai_link       = &db1200_i2s_dai,        
130         .num_links      = 1,                      
131 };                                                
132                                                   
133 SND_SOC_DAILINK_DEFS(db1300_i2s,                  
134         DAILINK_COMP_ARRAY(COMP_CPU("au1xpsc_i    
135         DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.    
136         DAILINK_COMP_ARRAY(COMP_PLATFORM("au1x    
137                                                   
138 static struct snd_soc_dai_link db1300_i2s_dai     
139         .name           = "WM8731",               
140         .stream_name    = "WM8731 PCM",           
141         .dai_fmt        = SND_SOC_DAIFMT_LEFT_    
142                           SND_SOC_DAIFMT_CBP_C    
143         .ops            = &db1200_i2s_wm8731_o    
144         SND_SOC_DAILINK_REG(db1300_i2s),          
145 };                                                
146                                                   
147 static struct snd_soc_card db1300_i2s_machine     
148         .name           = "DB1300_I2S",           
149         .owner          = THIS_MODULE,            
150         .dai_link       = &db1300_i2s_dai,        
151         .num_links      = 1,                      
152 };                                                
153                                                   
154 SND_SOC_DAILINK_DEFS(db1550_i2s,                  
155         DAILINK_COMP_ARRAY(COMP_CPU("au1xpsc_i    
156         DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.    
157         DAILINK_COMP_ARRAY(COMP_PLATFORM("au1x    
158                                                   
159 static struct snd_soc_dai_link db1550_i2s_dai     
160         .name           = "WM8731",               
161         .stream_name    = "WM8731 PCM",           
162         .dai_fmt        = SND_SOC_DAIFMT_LEFT_    
163                           SND_SOC_DAIFMT_CBP_C    
164         .ops            = &db1200_i2s_wm8731_o    
165         SND_SOC_DAILINK_REG(db1550_i2s),          
166 };                                                
167                                                   
168 static struct snd_soc_card db1550_i2s_machine     
169         .name           = "DB1550_I2S",           
170         .owner          = THIS_MODULE,            
171         .dai_link       = &db1550_i2s_dai,        
172         .num_links      = 1,                      
173 };                                                
174                                                   
175 /*-------------------------  COMMON PART  ----    
176                                                   
177 static struct snd_soc_card *db1200_cards[] = {    
178         &db1200_ac97_machine,                     
179         &db1200_i2s_machine,                      
180         &db1300_ac97_machine,                     
181         &db1300_i2s_machine,                      
182         &db1550_ac97_machine,                     
183         &db1550_i2s_machine,                      
184 };                                                
185                                                   
186 static int db1200_audio_probe(struct platform_    
187 {                                                 
188         const struct platform_device_id *pid =    
189         struct snd_soc_card *card;                
190                                                   
191         card = db1200_cards[pid->driver_data];    
192         card->dev = &pdev->dev;                   
193         return devm_snd_soc_register_card(&pde    
194 }                                                 
195                                                   
196 static struct platform_driver db1200_audio_dri    
197         .driver = {                               
198                 .name   = "db1200-ac97",          
199                 .pm     = &snd_soc_pm_ops,        
200         },                                        
201         .id_table       = db1200_pids,            
202         .probe          = db1200_audio_probe,     
203 };                                                
204                                                   
205 module_platform_driver(db1200_audio_driver);      
206                                                   
207 MODULE_LICENSE("GPL");                            
208 MODULE_DESCRIPTION("DB1200/DB1300/DB1550 ASoC     
209 MODULE_AUTHOR("Manuel Lauss");                    
210                                                   

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