[alsa-devel] [PATCH v4 1/2] ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier
Schulman, James
James.Schulman at cirrus.com
Fri Dec 21 20:51:31 CET 2018
On Fri, 21 Dec 2018, Charles Keepax wrote:
> On Thu, Dec 20, 2018 at 01:41:15PM -0600, James Schulman wrote:
>> Add driver support for Cirrus Logic CS35L36 boosted
>> speaker amplifier
>>
>> Signed-off-by: James Schulman <james.schulman at cirrus.com>
>> ---
>> +struct cs35l36_platform_data {
>> + bool sclk_frc;
>> + bool lrclk_frc;
>
> These two are now unused.
>
>> + bool multi_amp_mode;
>> + bool dcm_mode;
>> + int ldm_mode_sel;
>> + bool amp_gain_zc;
>
> As is this guy.
>
>> + bool amp_pcm_inv;
>> + bool pdm_ldm_exit;
>> + bool pdm_ldm_enter;
>
> And these two.
>
>> + bool imon_pol_inv;
>> + bool vmon_pol_inv;
>> + int boost_ind;
>> + int bst_vctl;
>> + int bst_vctl_sel;
>> + int bst_ipk;
>> + bool extern_boost;
>> + int temp_warn_thld;
>> + struct cs35l36_vpbr_cfg vpbr_config;
>> + struct cs35l36_irq_cfg irq_config;
>> +};
>
>> +
>> + /* INT/GPIO Pin Config */
>> + irq_gpio = of_get_child_by_name(np, "cirrus,irq-config");
>> + irq_gpio_config->is_present = irq_gpio ? true : false;
>
> Should this be based off the interrupts property itself? The
> defaults for both of the properties in this block seem quite sane
> so it seems like people might use the IRQ but not specify this
> block.
>
Thanks a ton Charles. I'm just going to get rid of the irq_cfg struct
altogether. It's not necessary now that we've implemented the majority
from the 'interrupts' property. I'll keep two properties for the
irq-drive-select and the irq-gpio-select, but the rest of it we'll just
optimize out.
>> + if (irq_gpio_config->is_present) {
>> + if (of_property_read_u32(irq_gpio, "cirrus,irq-drive-select",
>> + &val) >= 0)
>> + irq_gpio_config->irq_drv_sel = val;
>> + if (of_property_read_u32(irq_gpio, "cirrus,irq-gpio-select",
>> + &val) >= 0)
>> + irq_gpio_config->irq_gpio_sel = val;
>> +
>> + irq_d = irq_get_irq_data(i2c_client->irq);
>> + if (!irq_d) {
>> + dev_err(&i2c_client->dev, "Invalid IRQ: %d\n",
>> + i2c_client->irq);
>> + return -EINVAL;
>> + }
>> +
>> + irq_gpio_config->irq_pol = irqd_get_trigger_type(irq_d);
>> + }
>
>> +
>> + dev_info(&i2c_client->dev, "Cirrus Logic CS35L%d, Revision: %02X\n",
>> + cs35l36->chip_version, reg_revid >> 8);
>> +
>> + ret = snd_soc_register_component(dev, &soc_component_dev_cs35l36,
>> + cs35l36_dai, ARRAY_SIZE(cs35l36_dai));
>
> Could use devm_ here.
>
> Fix up those and you can add my:
>
> Reviewed-by: Charles Keepax <ckeepax at opensource.cirrus.com>
>
> Thanks,
> Charles
>
Awesome, thank you! I think enough will change that I'll wait before
adding the 'Reviewed-by'.
Thanks,
James
More information about the Alsa-devel
mailing list