Re: [PATCH V5 4/5] iio: adc: Add support for QCOM PMIC5 Gen3 ADC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 3 Mar 2025 19:26:37 +0530
Jishnu Prakash <jishnu.prakash@xxxxxxxxxxxxxxxx> wrote:

> Hi Jonathan,
> 
> On 3/1/2025 8:55 AM, Jonathan Cameron wrote:
> > On Wed, 26 Feb 2025 14:22:05 +0530
> > Jishnu Prakash <jishnu.prakash@xxxxxxxxxxxxxxxx> wrote:
> >   
> ...
> >>>> +void adc5_take_mutex_lock(struct device *dev, bool lock)
> >>>> +{
> >>>> +	struct iio_dev *indio_dev = dev_get_drvdata(dev->parent);
> >>>> +	struct adc5_chip *adc = iio_priv(indio_dev);
> >>>> +
> >>>> +	if (lock)
> >>>> +		mutex_lock(&adc->lock);
> >>>> +	else
> >>>> +		mutex_unlock(&adc->lock);
> >>>> +}
> >>>> +EXPORT_SYMBOL_NS_GPL(adc5_take_mutex_lock, "QCOM_SPMI_ADC5_GEN3");    
> >>>
> >>> This is potentially going to make a mess for sparse.  Might be better to split
> >>> it in two so you can had __acquires and __releases markings.
> >>>
> >>> If you don't get any warnings with sparse then I guess we are fine.
> >>>     
> >>
> >> I had tried building with sparse in my local workspace and I did not get any errors in this file. Do you think I can keep this unchanged?
> >> Also, would any kernel bots run sparse later on this patch, if it's not already done?  
> > 
> > Problems around this tend to turn up a bit late in build tests as requires
> > particular combinations of features.  Here you may not see problems because
> > sparse can't see far enough to understand the locking.
> > 
> > I would still split this into lock / unlock as that matches better
> > with common syntax for locks.  We can then add markings
> > as necessary later.
> >   
> 
> OK, I can split this into separate lock and unlock functions.
> And for markings, you mean I should add these:
> 
>     __acquires(&adc->lock)
>     __releases(&adc->lock)
> 
> under the lock and unlock functions respectively?
yes

> 
> Thanks,
> Jishnu
> 
> >>>> +/*    
> >>>
> >>> Looks like valid kernel doc, so /** and check it builds fine
> >>> with the kernel-doc script.
> >>>     
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux