Message ID | 1373046993-1349-1-git-send-email-broonie@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Friday 05 of July 2013 18:56:33 Mark Brown wrote: > From: Mark Brown <broonie@linaro.org> > > Since the driver has been converted to use the core message pump code > the only use of the messsage queue in the driver is a check to see if > it is empty which will always succeed since nothing ever adds to the > queue. Just remove the queue. > > Signed-off-by: Mark Brown <broonie@linaro.org> > --- > drivers/spi/spi-s3c64xx.c | 21 --------------------- > 1 file changed, 21 deletions(-) > Looks good to me. Reviewed-by: Tomasz Figa <t.figa@samsung.com> Best regards, Tomasz -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Brown wrote: > > From: Mark Brown <broonie@linaro.org> > > Since the driver has been converted to use the core message pump code > the only use of the messsage queue in the driver is a check to see if > it is empty which will always succeed since nothing ever adds to the > queue. Just remove the queue. > > Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Kukjin Kim <kgene.kim@samsung.com> - Kukjin > --- > drivers/spi/spi-s3c64xx.c | 21 --------------------- > 1 file changed, 21 deletions(-) > > diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c > index eb53df2..def13e8 100644 > --- a/drivers/spi/spi-s3c64xx.c > +++ b/drivers/spi/spi-s3c64xx.c > @@ -172,7 +172,6 @@ struct s3c64xx_spi_port_config { > * @master: Pointer to the SPI Protocol master. > * @cntrlr_info: Platform specific data for the controller this driver > manages. > * @tgl_spi: Pointer to the last CS left untoggled by the cs_change hint. > - * @queue: To log SPI xfer requests. > * @lock: Controller specific lock. > * @state: Set of FLAGS to indicate status. > * @rx_dmach: Controller's DMA channel for Rx. > @@ -193,7 +192,6 @@ struct s3c64xx_spi_driver_data { > struct spi_master *master; > struct s3c64xx_spi_info *cntrlr_info; > struct spi_device *tgl_spi; > - struct list_head queue; > spinlock_t lock; > unsigned long sfr_start; > struct completion xfer_completion; > @@ -1053,8 +1051,6 @@ static int s3c64xx_spi_setup(struct spi_device *spi) > struct s3c64xx_spi_csinfo *cs = spi->controller_data; > struct s3c64xx_spi_driver_data *sdd; > struct s3c64xx_spi_info *sci; > - struct spi_message *msg; > - unsigned long flags; > int err; > > sdd = spi_master_get_devdata(spi->master); > @@ -1085,21 +1081,6 @@ static int s3c64xx_spi_setup(struct spi_device *spi) > > sci = sdd->cntrlr_info; > > - spin_lock_irqsave(&sdd->lock, flags); > - > - list_for_each_entry(msg, &sdd->queue, queue) { > - /* Is some mssg is already queued for this device */ > - if (msg->spi == spi) { > - dev_err(&spi->dev, > - "setup: attempt while mssg in queue!\n"); > - spin_unlock_irqrestore(&sdd->lock, flags); > - err = -EBUSY; > - goto err_msgq; > - } > - } > - > - spin_unlock_irqrestore(&sdd->lock, flags); > - > pm_runtime_get_sync(&sdd->pdev->dev); > > /* Check if we can provide the requested rate */ > @@ -1146,7 +1127,6 @@ setup_exit: > /* setup() returns with device de-selected */ > disable_cs(sdd, spi); > > -err_msgq: > gpio_free(cs->line); > spi_set_ctldata(spi, NULL); > > @@ -1439,7 +1419,6 @@ static int s3c64xx_spi_probe(struct platform_device > *pdev) > > spin_lock_init(&sdd->lock); > init_completion(&sdd->xfer_completion); > - INIT_LIST_HEAD(&sdd->queue); > > ret = devm_request_irq(&pdev->dev, irq, s3c64xx_spi_irq, 0, > "spi-s3c64xx", sdd); > -- > 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index eb53df2..def13e8 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -172,7 +172,6 @@ struct s3c64xx_spi_port_config { * @master: Pointer to the SPI Protocol master. * @cntrlr_info: Platform specific data for the controller this driver manages. * @tgl_spi: Pointer to the last CS left untoggled by the cs_change hint. - * @queue: To log SPI xfer requests. * @lock: Controller specific lock. * @state: Set of FLAGS to indicate status. * @rx_dmach: Controller's DMA channel for Rx. @@ -193,7 +192,6 @@ struct s3c64xx_spi_driver_data { struct spi_master *master; struct s3c64xx_spi_info *cntrlr_info; struct spi_device *tgl_spi; - struct list_head queue; spinlock_t lock; unsigned long sfr_start; struct completion xfer_completion; @@ -1053,8 +1051,6 @@ static int s3c64xx_spi_setup(struct spi_device *spi) struct s3c64xx_spi_csinfo *cs = spi->controller_data; struct s3c64xx_spi_driver_data *sdd; struct s3c64xx_spi_info *sci; - struct spi_message *msg; - unsigned long flags; int err; sdd = spi_master_get_devdata(spi->master); @@ -1085,21 +1081,6 @@ static int s3c64xx_spi_setup(struct spi_device *spi) sci = sdd->cntrlr_info; - spin_lock_irqsave(&sdd->lock, flags); - - list_for_each_entry(msg, &sdd->queue, queue) { - /* Is some mssg is already queued for this device */ - if (msg->spi == spi) { - dev_err(&spi->dev, - "setup: attempt while mssg in queue!\n"); - spin_unlock_irqrestore(&sdd->lock, flags); - err = -EBUSY; - goto err_msgq; - } - } - - spin_unlock_irqrestore(&sdd->lock, flags); - pm_runtime_get_sync(&sdd->pdev->dev); /* Check if we can provide the requested rate */ @@ -1146,7 +1127,6 @@ setup_exit: /* setup() returns with device de-selected */ disable_cs(sdd, spi); -err_msgq: gpio_free(cs->line); spi_set_ctldata(spi, NULL); @@ -1439,7 +1419,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) spin_lock_init(&sdd->lock); init_completion(&sdd->xfer_completion); - INIT_LIST_HEAD(&sdd->queue); ret = devm_request_irq(&pdev->dev, irq, s3c64xx_spi_irq, 0, "spi-s3c64xx", sdd);