Message ID | 1389092643.3991.1.camel@phoenix (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Tuesday 07 January 2014 04:34 PM, Axel Lin wrote: > Now platform_get_drvdata() returns the address of qspi rather than master. > Also drop unneeded spi_unregister_master() call in ti_qspi_remove() because > we use devm_spi_register_master() in probe. > > commit cbcabb7a300b "spi/qspi: Fix qspi remove path" assumes > platform_get_drvdata() returns address of master. However, > commit 160a061301c7 "spi/qspi: set correct platform drvdata in ti_qspi_probe()" > pass qspi to platform_set_drvdata(). > > Signed-off-by: Axel Lin<axel.lin@ingics.com> > --- > v2: Update commit log, and drop fixes tag ( the fixes commit id is wrong). > > drivers/spi/spi-ti-qspi.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c > index 9190e03..4b413e9 100644 > --- a/drivers/spi/spi-ti-qspi.c > +++ b/drivers/spi/spi-ti-qspi.c > @@ -563,13 +563,9 @@ free_master: > > static int ti_qspi_remove(struct platform_device *pdev) > { > - struct spi_master *master; > - struct ti_qspi *qspi; > + struct ti_qspi *qspi = platform_get_drvdata(pdev); > int ret; > > - master = platform_get_drvdata(pdev); > - qspi = spi_master_get_devdata(master); > - > ret = pm_runtime_get_sync(qspi->dev); > if (ret< 0) { > dev_err(qspi->dev, "pm_runtime_get_sync() failed\n"); > @@ -581,8 +577,6 @@ static int ti_qspi_remove(struct platform_device *pdev) > pm_runtime_put(qspi->dev); > pm_runtime_disable(&pdev->dev); > > - spi_unregister_master(master); > - why this is removed? > return 0; > } > -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2014/1/7 Sourav Poddar <sourav.poddar@ti.com>: > On Tuesday 07 January 2014 04:34 PM, Axel Lin wrote: >> >> Now platform_get_drvdata() returns the address of qspi rather than master. >> Also drop unneeded spi_unregister_master() call in ti_qspi_remove() >> because >> we use devm_spi_register_master() in probe. >> >> commit cbcabb7a300b "spi/qspi: Fix qspi remove path" assumes >> platform_get_drvdata() returns address of master. However, >> commit 160a061301c7 "spi/qspi: set correct platform drvdata in >> ti_qspi_probe()" >> pass qspi to platform_set_drvdata(). >> >> Signed-off-by: Axel Lin<axel.lin@ingics.com> >> --- >> v2: Update commit log, and drop fixes tag ( the fixes commit id is wrong). >> >> drivers/spi/spi-ti-qspi.c | 8 +------- >> 1 file changed, 1 insertion(+), 7 deletions(-) >> >> diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c >> index 9190e03..4b413e9 100644 >> --- a/drivers/spi/spi-ti-qspi.c >> +++ b/drivers/spi/spi-ti-qspi.c >> @@ -563,13 +563,9 @@ free_master: >> >> static int ti_qspi_remove(struct platform_device *pdev) >> { >> - struct spi_master *master; >> - struct ti_qspi *qspi; >> + struct ti_qspi *qspi = platform_get_drvdata(pdev); >> int ret; >> >> - master = platform_get_drvdata(pdev); >> - qspi = spi_master_get_devdata(master); >> - >> ret = pm_runtime_get_sync(qspi->dev); >> if (ret< 0) { >> dev_err(qspi->dev, "pm_runtime_get_sync() failed\n"); >> @@ -581,8 +577,6 @@ static int ti_qspi_remove(struct platform_device >> *pdev) >> pm_runtime_put(qspi->dev); >> pm_runtime_disable(&pdev->dev); >> >> - spi_unregister_master(master); >> - > > why this is removed? If you use spi_register_master(), then you need to call spi_unregister_master() in ti_qspi_remove(). However, current code uses devm_spi_register_master(). So you don't need to expilictly call spi_unregister_master(). It's done by devm_* APIs. Regards, Axel -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tuesday 07 January 2014 04:48 PM, Axel Lin wrote: > 2014/1/7 Sourav Poddar<sourav.poddar@ti.com>: >> On Tuesday 07 January 2014 04:34 PM, Axel Lin wrote: >>> Now platform_get_drvdata() returns the address of qspi rather than master. >>> Also drop unneeded spi_unregister_master() call in ti_qspi_remove() >>> because >>> we use devm_spi_register_master() in probe. >>> >>> commit cbcabb7a300b "spi/qspi: Fix qspi remove path" assumes >>> platform_get_drvdata() returns address of master. However, >>> commit 160a061301c7 "spi/qspi: set correct platform drvdata in >>> ti_qspi_probe()" >>> pass qspi to platform_set_drvdata(). >>> >>> Signed-off-by: Axel Lin<axel.lin@ingics.com> >>> --- >>> v2: Update commit log, and drop fixes tag ( the fixes commit id is wrong). >>> >>> drivers/spi/spi-ti-qspi.c | 8 +------- >>> 1 file changed, 1 insertion(+), 7 deletions(-) >>> >>> diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c >>> index 9190e03..4b413e9 100644 >>> --- a/drivers/spi/spi-ti-qspi.c >>> +++ b/drivers/spi/spi-ti-qspi.c >>> @@ -563,13 +563,9 @@ free_master: >>> >>> static int ti_qspi_remove(struct platform_device *pdev) >>> { >>> - struct spi_master *master; >>> - struct ti_qspi *qspi; >>> + struct ti_qspi *qspi = platform_get_drvdata(pdev); >>> int ret; >>> >>> - master = platform_get_drvdata(pdev); >>> - qspi = spi_master_get_devdata(master); >>> - >>> ret = pm_runtime_get_sync(qspi->dev); >>> if (ret< 0) { >>> dev_err(qspi->dev, "pm_runtime_get_sync() failed\n"); >>> @@ -581,8 +577,6 @@ static int ti_qspi_remove(struct platform_device >>> *pdev) >>> pm_runtime_put(qspi->dev); >>> pm_runtime_disable(&pdev->dev); >>> >>> - spi_unregister_master(master); >>> - >> why this is removed? > If you use spi_register_master(), then you need to call spi_unregister_master() > in ti_qspi_remove(). > However, current code uses devm_spi_register_master(). So you don't need to > expilictly call spi_unregister_master(). It's done by devm_* APIs. > > Regards, > Axel hmm..missed that point. Reviewed-by: Sourav Poddar <sourav.poddar@ti.com> -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jan 07, 2014 at 07:04:03PM +0800, Axel Lin wrote: > Now platform_get_drvdata() returns the address of qspi rather than master. > Also drop unneeded spi_unregister_master() call in ti_qspi_remove() because > we use devm_spi_register_master() in probe. Applied, thanks.
diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c index 9190e03..4b413e9 100644 --- a/drivers/spi/spi-ti-qspi.c +++ b/drivers/spi/spi-ti-qspi.c @@ -563,13 +563,9 @@ free_master: static int ti_qspi_remove(struct platform_device *pdev) { - struct spi_master *master; - struct ti_qspi *qspi; + struct ti_qspi *qspi = platform_get_drvdata(pdev); int ret; - master = platform_get_drvdata(pdev); - qspi = spi_master_get_devdata(master); - ret = pm_runtime_get_sync(qspi->dev); if (ret < 0) { dev_err(qspi->dev, "pm_runtime_get_sync() failed\n"); @@ -581,8 +577,6 @@ static int ti_qspi_remove(struct platform_device *pdev) pm_runtime_put(qspi->dev); pm_runtime_disable(&pdev->dev); - spi_unregister_master(master); - return 0; }
Now platform_get_drvdata() returns the address of qspi rather than master. Also drop unneeded spi_unregister_master() call in ti_qspi_remove() because we use devm_spi_register_master() in probe. commit cbcabb7a300b "spi/qspi: Fix qspi remove path" assumes platform_get_drvdata() returns address of master. However, commit 160a061301c7 "spi/qspi: set correct platform drvdata in ti_qspi_probe()" pass qspi to platform_set_drvdata(). Signed-off-by: Axel Lin <axel.lin@ingics.com> --- v2: Update commit log, and drop fixes tag ( the fixes commit id is wrong). drivers/spi/spi-ti-qspi.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)