lkml.org 
[lkml]   [2019]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [alsa-devel] [PATCH v2 3/3] ASoC: TDA7802: Add turn-on diagnostic routine
From
Date
On 30/07/2019 15:19, Mark Brown wrote:
> On Tue, Jul 30, 2019 at 01:09:37PM +0100, Thomas Preston wrote:
>
>> + struct dentry *debugfs;
>> + struct mutex diagnostic_mutex;
>> +};
>
> It is unclear what this mutex usefully protects, it only gets taken when
> writing to the debugfs file to trigger this diagnostic mode but doesn't
> do anything to control interactions with any other code path in the
> driver.
>

If another process reads the debugfs node "diagnostic" while the turn-on
diagnostic mode is running, this mutex prevents the second process
restarting the diagnostics.

This is redundant if debugfs reads are atomic, but I don't think they are.


>> +static int run_turn_on_diagnostic(struct tda7802_priv *tda7802, u8 *status)
>> +{
>> + struct device *dev = &tda7802->i2c->dev;
>> + int err_status, err;
>> + unsigned int val;
>> + u8 state[NUM_IB];
>
>> + /* We must wait 20ms for device to settle, otherwise diagnostics will
>> + * not start and regmap poll will timeout.
>> + */
>> + msleep(DIAGNOSTIC_SETTLE_MS);
>
> The comment and define might go out of sync...
>

Thanks, I will remove the 20ms but keep the comment here.

>> + err = regmap_bulk_read(tda7802->regmap, TDA7802_DB1, status, 4);
>> + if (err < 0) {
>> + dev_err(dev, "Could not read channel status, %d\n", err);
>> + goto diagnostic_restore;
>> + }
>
> ...but here we use a magic number for the array size :(
>

Thanks, will update.

>> +static int tda7802_diagnostic_show(struct seq_file *f, void *p)
>> +{
>> + char *buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
>
> We neither use nor free buf?
>
>> +static int tda7802_probe(struct snd_soc_component *component)
>> +{
>> + struct tda7802_priv *tda7802 = snd_soc_component_get_drvdata(component);
>> + struct device *dev = &tda7802->i2c->dev;
>> + int err;
>
> Why is this done at the component level?
>

Argh my bad, a previous iteration required the buf and component. I missed
this, sorry for the noise.

Thanks for feedback, I'll go back and tend to all of this.

\
 
 \ /
  Last update: 2019-07-30 17:26    [W:0.110 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site