Skip to content

Commit

Permalink
Merge remote-tracking branches 'spi/fix/bcm2835', 'spi/fix/bcm63xx', …
Browse files Browse the repository at this point in the history
…'spi/fix/mpc512x-psc', 'spi/fix/mxs', 'spi/fix/pxa2xx', 'spi/fix/qspi', 'spi/fix/rspi' and 'spi/fix/txx9' into spi-linus
  • Loading branch information
Mark Brown committed Nov 28, 2013
9 parents b8aba76 + e0b35b8 + ec32526 + a4469a4 + e322ce9 + c50325f + cbcabb7 + 53063ec + b38f87e commit c18158f
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 11 deletions.
2 changes: 1 addition & 1 deletion drivers/spi/spi-bcm2835.c
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ static int bcm2835_spi_probe(struct platform_device *pdev)

static int bcm2835_spi_remove(struct platform_device *pdev)
{
struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
struct spi_master *master = platform_get_drvdata(pdev);
struct bcm2835_spi *bs = spi_master_get_devdata(master);

free_irq(bs->irq, master);
Expand Down
2 changes: 1 addition & 1 deletion drivers/spi/spi-bcm63xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)

static int bcm63xx_spi_remove(struct platform_device *pdev)
{
struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
struct spi_master *master = platform_get_drvdata(pdev);
struct bcm63xx_spi *bs = spi_master_get_devdata(master);

/* reset spi block */
Expand Down
2 changes: 1 addition & 1 deletion drivers/spi/spi-mpc512x-psc.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ static int mpc512x_psc_spi_do_probe(struct device *dev, u32 regaddr,

static int mpc512x_psc_spi_do_remove(struct device *dev)
{
struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
struct spi_master *master = dev_get_drvdata(dev);
struct mpc512x_psc_spi *mps = spi_master_get_devdata(master);

clk_disable_unprepare(mps->clk_mclk);
Expand Down
2 changes: 1 addition & 1 deletion drivers/spi/spi-mxs.c
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ static int mxs_spi_remove(struct platform_device *pdev)
struct mxs_spi *spi;
struct mxs_ssp *ssp;

master = spi_master_get(platform_get_drvdata(pdev));
master = platform_get_drvdata(pdev);
spi = spi_master_get_devdata(master);
ssp = &spi->ssp;

Expand Down
5 changes: 5 additions & 0 deletions drivers/spi/spi-pxa2xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1073,6 +1073,8 @@ pxa2xx_spi_acpi_get_pdata(struct platform_device *pdev)
static struct acpi_device_id pxa2xx_spi_acpi_match[] = {
{ "INT33C0", 0 },
{ "INT33C1", 0 },
{ "INT3430", 0 },
{ "INT3431", 0 },
{ "80860F0E", 0 },
{ },
};
Expand Down Expand Up @@ -1291,6 +1293,9 @@ static int pxa2xx_spi_resume(struct device *dev)
/* Enable the SSP clock */
clk_prepare_enable(ssp->clk);

/* Restore LPSS private register bits */
lpss_ssp_setup(drv_data);

/* Start the queue running */
status = spi_master_resume(drv_data->master);
if (status != 0) {
Expand Down
3 changes: 1 addition & 2 deletions drivers/spi/spi-rspi.c
Original file line number Diff line number Diff line change
Expand Up @@ -885,14 +885,13 @@ static void rspi_release_dma(struct rspi_data *rspi)

static int rspi_remove(struct platform_device *pdev)
{
struct rspi_data *rspi = spi_master_get(platform_get_drvdata(pdev));
struct rspi_data *rspi = platform_get_drvdata(pdev);

spi_unregister_master(rspi->master);
rspi_release_dma(rspi);
free_irq(platform_get_irq(pdev, 0), rspi);
clk_put(rspi->clk);
iounmap(rspi->addr);
spi_master_put(rspi->master);

return 0;
}
Expand Down
23 changes: 19 additions & 4 deletions drivers/spi/spi-ti-qspi.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ static int ti_qspi_setup(struct spi_device *spi)
qspi->spi_max_frequency, clk_div);

ret = pm_runtime_get_sync(qspi->dev);
if (ret) {
if (ret < 0) {
dev_err(qspi->dev, "pm_runtime_get_sync() failed\n");
return ret;
}
Expand Down Expand Up @@ -459,11 +459,10 @@ static int ti_qspi_probe(struct platform_device *pdev)
if (!of_property_read_u32(np, "num-cs", &num_cs))
master->num_chipselect = num_cs;

platform_set_drvdata(pdev, master);

qspi = spi_master_get_devdata(master);
qspi->master = master;
qspi->dev = &pdev->dev;
platform_set_drvdata(pdev, qspi);

r = platform_get_resource(pdev, IORESOURCE_MEM, 0);

Expand Down Expand Up @@ -517,10 +516,26 @@ static int ti_qspi_probe(struct platform_device *pdev)

static int ti_qspi_remove(struct platform_device *pdev)
{
struct ti_qspi *qspi = platform_get_drvdata(pdev);
struct spi_master *master;
struct ti_qspi *qspi;
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");
return ret;
}

ti_qspi_write(qspi, QSPI_WC_INT_DISABLE, QSPI_INTR_ENABLE_CLEAR_REG);

pm_runtime_put(qspi->dev);
pm_runtime_disable(&pdev->dev);

spi_unregister_master(master);

return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/spi/spi-txx9.c
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ static int txx9spi_probe(struct platform_device *dev)

static int txx9spi_remove(struct platform_device *dev)
{
struct spi_master *master = spi_master_get(platform_get_drvdata(dev));
struct spi_master *master = platform_get_drvdata(dev);
struct txx9spi *c = spi_master_get_devdata(master);

destroy_workqueue(c->workqueue);
Expand Down

0 comments on commit c18158f

Please sign in to comment.