diff mbox series

spi: remove spin_lock_irq in the irq procress

Message ID 9e12d806c5554b4ed18c644f71f6662fcf0d0516.1649813822.git.lhjeff911@gmail.com
State New
Headers show
Series spi: remove spin_lock_irq in the irq procress | expand

Commit Message

Li-hao Kuo April 13, 2022, 1:38 a.m. UTC
- remove spin_lock_irq and spin_unlock_irq in the irq funciton

Signed-off-by: Li-hao Kuo <lhjeff911@gmail.com>
---
 drivers/spi/spi-sunplus-sp7021.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Tom Rix April 13, 2022, 11:45 a.m. UTC | #1
On 4/12/22 6:38 PM, Li-hao Kuo wrote:
> - remove spin_lock_irq and spin_unlock_irq in the irq funciton

function

I was expecting a statement on why is the lock is not needed.

Could you add one ?

Tom

>
> Signed-off-by: Li-hao Kuo <lhjeff911@gmail.com>
> ---
>   drivers/spi/spi-sunplus-sp7021.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7021.c
> index f989f7b..120623c 100644
> --- a/drivers/spi/spi-sunplus-sp7021.c
> +++ b/drivers/spi/spi-sunplus-sp7021.c
> @@ -199,8 +199,6 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
>   	if (tx_len == 0 && total_len == 0)
>   		return IRQ_NONE;
>   
> -	spin_lock_irq(&pspim->lock);
> -
>   	rx_cnt = FIELD_GET(SP7021_RX_CNT_MASK, fd_status);
>   	if (fd_status & SP7021_RX_FULL_FLAG)
>   		rx_cnt = pspim->data_unit;
> @@ -239,7 +237,7 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
>   
>   	if (isrdone)
>   		complete(&pspim->isr_done);
> -	spin_unlock_irq(&pspim->lock);
> +
>   	return IRQ_HANDLED;
>   }
>
Li-hao Kuo April 14, 2022, 1:16 p.m. UTC | #2
Hi Tom :

    This SPI driver only handles one transfer at a time.
That's why locks are not needed.


Li-hao Kuo

Tom Rix <trix@redhat.com> 於 2022年4月13日 週三 下午7:45寫道:
>
>
> On 4/12/22 6:38 PM, Li-hao Kuo wrote:
> > - remove spin_lock_irq and spin_unlock_irq in the irq funciton
>
> function
>
> I was expecting a statement on why is the lock is not needed.
>
> Could you add one ?
>
> Tom
>
> >
> > Signed-off-by: Li-hao Kuo <lhjeff911@gmail.com>
> > ---
> >   drivers/spi/spi-sunplus-sp7021.c | 4 +---
> >   1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7021.c
> > index f989f7b..120623c 100644
> > --- a/drivers/spi/spi-sunplus-sp7021.c
> > +++ b/drivers/spi/spi-sunplus-sp7021.c
> > @@ -199,8 +199,6 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
> >       if (tx_len == 0 && total_len == 0)
> >               return IRQ_NONE;
> >
> > -     spin_lock_irq(&pspim->lock);
> > -
> >       rx_cnt = FIELD_GET(SP7021_RX_CNT_MASK, fd_status);
> >       if (fd_status & SP7021_RX_FULL_FLAG)
> >               rx_cnt = pspim->data_unit;
> > @@ -239,7 +237,7 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
> >
> >       if (isrdone)
> >               complete(&pspim->isr_done);
> > -     spin_unlock_irq(&pspim->lock);
> > +
> >       return IRQ_HANDLED;
> >   }
> >
>
Li-hao Kuo April 14, 2022, 1:18 p.m. UTC | #3
Hi Mr.Mark :

I will remove the variable "psim->lock" in the next patch

Li-hao Kuo

Mark Brown <broonie@kernel.org> 於 2022年4月13日 週三 下午7:32寫道:
>
> On Wed, Apr 13, 2022 at 09:38:00AM +0800, Li-hao Kuo wrote:
> > - remove spin_lock_irq and spin_unlock_irq in the irq funciton
>
> It looks like this is the only use of the lock so the variable can be
> removed as well?
Tom Rix April 16, 2022, 3:49 p.m. UTC | #4
On 4/14/22 6:16 AM, 郭力豪 wrote:
> Hi Tom :
>
>      This SPI driver only handles one transfer at a time.
> That's why locks are not needed.

Please add this statement to the commit log.

In a commit log, not only do I look for what was changed but also why 
the change was made.

Tom

>
>
> Li-hao Kuo
>
> Tom Rix <trix@redhat.com> 於 2022年4月13日 週三 下午7:45寫道:
>>
>> On 4/12/22 6:38 PM, Li-hao Kuo wrote:
>>> - remove spin_lock_irq and spin_unlock_irq in the irq funciton
>> function
>>
>> I was expecting a statement on why is the lock is not needed.
>>
>> Could you add one ?
>>
>> Tom
>>
>>> Signed-off-by: Li-hao Kuo <lhjeff911@gmail.com>
>>> ---
>>>    drivers/spi/spi-sunplus-sp7021.c | 4 +---
>>>    1 file changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7021.c
>>> index f989f7b..120623c 100644
>>> --- a/drivers/spi/spi-sunplus-sp7021.c
>>> +++ b/drivers/spi/spi-sunplus-sp7021.c
>>> @@ -199,8 +199,6 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
>>>        if (tx_len == 0 && total_len == 0)
>>>                return IRQ_NONE;
>>>
>>> -     spin_lock_irq(&pspim->lock);
>>> -
>>>        rx_cnt = FIELD_GET(SP7021_RX_CNT_MASK, fd_status);
>>>        if (fd_status & SP7021_RX_FULL_FLAG)
>>>                rx_cnt = pspim->data_unit;
>>> @@ -239,7 +237,7 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
>>>
>>>        if (isrdone)
>>>                complete(&pspim->isr_done);
>>> -     spin_unlock_irq(&pspim->lock);
>>> +
>>>        return IRQ_HANDLED;
>>>    }
>>>
diff mbox series

Patch

diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7021.c
index f989f7b..120623c 100644
--- a/drivers/spi/spi-sunplus-sp7021.c
+++ b/drivers/spi/spi-sunplus-sp7021.c
@@ -199,8 +199,6 @@  static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
 	if (tx_len == 0 && total_len == 0)
 		return IRQ_NONE;
 
-	spin_lock_irq(&pspim->lock);
-
 	rx_cnt = FIELD_GET(SP7021_RX_CNT_MASK, fd_status);
 	if (fd_status & SP7021_RX_FULL_FLAG)
 		rx_cnt = pspim->data_unit;
@@ -239,7 +237,7 @@  static irqreturn_t sp7021_spi_master_irq(int irq, void *dev)
 
 	if (isrdone)
 		complete(&pspim->isr_done);
-	spin_unlock_irq(&pspim->lock);
+
 	return IRQ_HANDLED;
 }