[alsa-devel] [PATCH] ASoC: MAX9877: add MAX9877 amp driver
Joonyoung Shim
jy0922.shim at samsung.com
Wed Jul 15 03:22:40 CEST 2009
On 7/14/2009 6:54 PM, Mark Brown wrote:
> On Tue, Jul 14, 2009 at 03:39:37PM +0900, Joonyoung Shim wrote:
>
> Overall this looks great, thanks. Clearly it's not an ideal approach
> but it gets the job done and it can be adapted to use core features as
> they're added.
>
Thank you for your review.
> A couple of relatively nitpicky issues below:
>
>> +++ b/sound/soc/codecs/Kconfig
>> @@ -188,3 +188,7 @@ config SND_SOC_WM9712
>>
>> config SND_SOC_WM9713
>> tristate
>> +
>> +# Amp
>> +config SND_SOC_MAX9877
>> + tristate
>
> I'd add it to SND_SOC_ALL_CODECS too - while it's not strictly a CODEC
> the point of the Kconfig option is to get build coverage and this driver
> will benefit from that as much as others.
>
OK, i will add it.
>> +static const char *max9877_osc_mode[] = {
>> + "1176KHz",
>> + "1100KHz",
>> + "700KHz",
>> +};
>
> Would this be better as platform data for the device?
>
I'm not sure about this, but if this would be platform data, does it
means the osc_mode should not be changed through a control?
>> +static const struct snd_kcontrol_new max9877_controls[] = {
>> + SOC_SINGLE_EXT_TLV("MAX9877 Amp HP Left Playback Volume",
>> + MAX9877_HPL_VOLUME, 0, 31, 0,
>> + max9877_get_reg, max9877_set_reg, max9877_output_tlv),
>> + SOC_SINGLE_EXT_TLV("MAX9877 Amp HP Right Playback Volume",
>> + MAX9877_HPR_VOLUME, 0, 31, 0,
>> + max9877_get_reg, max9877_set_reg, max9877_output_tlv),
>
> Ideally these would be a SOC_DOUBLE_EXT_TLV() but we don't have that yet
> - would you mind sending a patch for that?
>
I think these would be a SOC_DOUBLE_R_EXT_TLV() because HP Left register
and HP Right register are different. If this is right, i will send a
patch for this.
>> +/* This function is called from ASoC machine driver */
>> +int max9877_add_controls(struct snd_soc_codec *codec)
>> +{
>> + return snd_soc_add_controls(codec, max9877_controls,
>> + ARRAY_SIZE(max9877_controls));
>> +}
>> +
>
> This should have an EXPORT_SYMBOL_GPL() to allow it to be used from
> machine drivers which are built modular.
>
OK, i will add it.
More information about the Alsa-devel
mailing list