drivers/spi/spi-sunplus-sp7021.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
- 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(-)
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;
}
--
2.7.4
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; > } >
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;
> > }
> >
>
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; >>> } >>>
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?
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?
© 2016 - 2026 Red Hat, Inc.