1616
1717struct cs35l41_config {
1818 const char * ssid ;
19- enum {
20- SPI ,
21- I2C
22- } bus ;
2319 int num_amps ;
2420 enum {
2521 INTERNAL ,
@@ -35,46 +31,46 @@ struct cs35l41_config {
3531};
3632
3733static const struct cs35l41_config cs35l41_config_table [] = {
38- { "10280B27" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
39- { "10280B28" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
40- { "10280BEB" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 0 , 0 , 0 },
41- { "10280C4D" , I2C , 4 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , CS35L41_LEFT , CS35L41_RIGHT }, 0 , 1 , -1 , 1000 , 4500 , 24 },
34+ { "10280B27" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
35+ { "10280B28" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
36+ { "10280BEB" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 0 , 0 , 0 },
37+ { "10280C4D" , 4 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , CS35L41_LEFT , CS35L41_RIGHT }, 0 , 1 , -1 , 1000 , 4500 , 24 },
4238/*
4339 * Device 103C89C6 does have _DSD, however it is setup to use the wrong boost type.
4440 * We can override the _DSD to correct the boost type here.
4541 * Since this laptop has valid ACPI, we do not need to handle cs-gpios, since that already exists
4642 * in the ACPI. The Reset GPIO is also valid, so we can use the Reset defined in _DSD.
4743 */
48- { "103C89C6" , SPI , 2 , INTERNAL , { CS35L41_RIGHT , CS35L41_LEFT , 0 , 0 }, -1 , -1 , -1 , 1000 , 4500 , 24 },
49- { "104312AF" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
50- { "10431433" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
51- { "10431463" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
52- { "10431473" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 1000 , 4500 , 24 },
53- { "10431483" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 1000 , 4500 , 24 },
54- { "10431493" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
55- { "104314D3" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
56- { "104314E3" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
57- { "10431503" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
58- { "10431533" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
59- { "10431573" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
60- { "10431663" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 1000 , 4500 , 24 },
61- { "104316D3" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
62- { "104316F3" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
63- { "104317F3" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
64- { "10431863" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
65- { "104318D3" , I2C , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 0 , 0 , 0 },
66- { "10431C9F" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
67- { "10431CAF" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
68- { "10431CCF" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
69- { "10431CDF" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
70- { "10431CEF" , SPI , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
71- { "10431D1F" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
72- { "10431DA2" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
73- { "10431E02" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
74- { "10431EE2" , I2C , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , -1 , -1 , 0 , 0 , 0 },
75- { "10431F12" , I2C , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
76- { "10431F1F" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 0 , 0 , 0 },
77- { "10431F62" , SPI , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
44+ { "103C89C6" , 2 , INTERNAL , { CS35L41_RIGHT , CS35L41_LEFT , 0 , 0 }, -1 , -1 , -1 , 1000 , 4500 , 24 },
45+ { "104312AF" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
46+ { "10431433" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
47+ { "10431463" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
48+ { "10431473" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 1000 , 4500 , 24 },
49+ { "10431483" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 1000 , 4500 , 24 },
50+ { "10431493" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
51+ { "104314D3" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
52+ { "104314E3" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
53+ { "10431503" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
54+ { "10431533" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
55+ { "10431573" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
56+ { "10431663" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 1000 , 4500 , 24 },
57+ { "104316D3" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
58+ { "104316F3" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
59+ { "104317F3" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
60+ { "10431863" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
61+ { "104318D3" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 0 , 0 , 0 },
62+ { "10431C9F" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
63+ { "10431CAF" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
64+ { "10431CCF" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
65+ { "10431CDF" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
66+ { "10431CEF" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 1000 , 4500 , 24 },
67+ { "10431D1F" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
68+ { "10431DA2" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
69+ { "10431E02" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
70+ { "10431EE2" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , -1 , -1 , 0 , 0 , 0 },
71+ { "10431F12" , 2 , INTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 0 , 1 , -1 , 1000 , 4500 , 24 },
72+ { "10431F1F" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , -1 , 0 , 0 , 0 , 0 },
73+ { "10431F62" , 2 , EXTERNAL , { CS35L41_LEFT , CS35L41_RIGHT , 0 , 0 }, 1 , 2 , 0 , 0 , 0 , 0 },
7874 {}
7975};
8076
@@ -212,7 +208,7 @@ static int generic_dsd_config(struct cs35l41_hda *cs35l41, struct device *physde
212208 "_DSD already exists.\n" );
213209 }
214210
215- if (cfg -> bus == SPI ) {
211+ if (cs35l41 -> control_bus == SPI ) {
216212 cs35l41 -> index = id ;
217213
218214#if IS_ENABLED (CONFIG_SPI )
0 commit comments