Hello Mr. Brown,
Use a route, that's the more modern way.
Would then this be correct?
static const struct snd_soc_dapm_widget pcm1863_dapm_widgets[] = { SND_SOC_DAPM_ADC("ADC1", NULL, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_INPUT("SE_IN_L"), SND_SOC_DAPM_INPUT("SE_IN_R"), };
static const struct snd_soc_dapm_route pcm1863_dapm_routes[] = { { "ADC1", NULL, "SE_IN_L" }, { "ADC1", NULL, "SE_IN_R" }, { "SE_IN_L", NULL, "Capture" }, { "SE_IN_R", NULL, "Capture" }, };
I'm not sure I understand the question here.
I mean by default the adc takes VIN1 as an input and I need him to take VIN4. If I put my switch under sound controls do I have to trigger it, and if yes how? The corrected line should look like this?
static const struct snd_kcontrol_new pcm1863_controls[] = { SOC_DOUBLE_R("ADC MUX VIN4", PCM1863_ADC1_INPUT_SEL_L, PCM1863_ADC1_INPUT_SEL_R, 4, 1, 0), //I need an 8 viewed from the 0 position so shifting an "1" 4 times };
Please follow the kernel coding style.
Updated codec driver is attached, with a vim plugin it seems that this should be better now. I updated the missing break statements but I get the same error even now. Please take a look again.
This looks like you've got most of a driver here, probably the easiest thing to do is submit it using the process outlined in SubmittingPatches. The code looks mostly fine so this shouldn't be too much of an issue.
I dont know this process. At first I would want to get it working with my hardware before I would begin with a more detailed development with a lot more functionalities.
Sanj3k