diff options
-rw-r--r-- | drivers/spi/spi-pxa2xx-dma.c | 4 | ||||
-rw-r--r-- | drivers/spi/spi-pxa2xx.c | 40 | ||||
-rw-r--r-- | drivers/spi/spi-pxa2xx.h | 2 |
3 files changed, 25 insertions, 21 deletions
diff --git a/drivers/spi/spi-pxa2xx-dma.c b/drivers/spi/spi-pxa2xx-dma.c index 04f3eecf5cf3..3d7f66080c57 100644 --- a/drivers/spi/spi-pxa2xx-dma.c +++ b/drivers/spi/spi-pxa2xx-dma.c | |||
@@ -191,7 +191,7 @@ int pxa2xx_spi_dma_setup(struct driver_data *drv_data) | |||
191 | { | 191 | { |
192 | struct pxa2xx_spi_master *pdata = drv_data->master_info; | 192 | struct pxa2xx_spi_master *pdata = drv_data->master_info; |
193 | struct device *dev = &drv_data->pdev->dev; | 193 | struct device *dev = &drv_data->pdev->dev; |
194 | struct spi_master *master = drv_data->master; | 194 | struct spi_controller *master = drv_data->master; |
195 | dma_cap_mask_t mask; | 195 | dma_cap_mask_t mask; |
196 | 196 | ||
197 | dma_cap_zero(mask); | 197 | dma_cap_zero(mask); |
@@ -215,7 +215,7 @@ int pxa2xx_spi_dma_setup(struct driver_data *drv_data) | |||
215 | 215 | ||
216 | void pxa2xx_spi_dma_release(struct driver_data *drv_data) | 216 | void pxa2xx_spi_dma_release(struct driver_data *drv_data) |
217 | { | 217 | { |
218 | struct spi_master *master = drv_data->master; | 218 | struct spi_controller *master = drv_data->master; |
219 | 219 | ||
220 | if (master->dma_rx) { | 220 | if (master->dma_rx) { |
221 | dmaengine_terminate_sync(master->dma_rx); | 221 | dmaengine_terminate_sync(master->dma_rx); |
diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index 31117f9985ea..713506eff07d 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c | |||
@@ -962,7 +962,7 @@ static unsigned int pxa2xx_ssp_get_clk_div(struct driver_data *drv_data, | |||
962 | return clk_div << 8; | 962 | return clk_div << 8; |
963 | } | 963 | } |
964 | 964 | ||
965 | static bool pxa2xx_spi_can_dma(struct spi_master *master, | 965 | static bool pxa2xx_spi_can_dma(struct spi_controller *master, |
966 | struct spi_device *spi, | 966 | struct spi_device *spi, |
967 | struct spi_transfer *xfer) | 967 | struct spi_transfer *xfer) |
968 | { | 968 | { |
@@ -976,7 +976,7 @@ static bool pxa2xx_spi_can_dma(struct spi_master *master, | |||
976 | static void pump_transfers(unsigned long data) | 976 | static void pump_transfers(unsigned long data) |
977 | { | 977 | { |
978 | struct driver_data *drv_data = (struct driver_data *)data; | 978 | struct driver_data *drv_data = (struct driver_data *)data; |
979 | struct spi_master *master = drv_data->master; | 979 | struct spi_controller *master = drv_data->master; |
980 | struct spi_message *message = master->cur_msg; | 980 | struct spi_message *message = master->cur_msg; |
981 | struct chip_data *chip = spi_get_ctldata(message->spi); | 981 | struct chip_data *chip = spi_get_ctldata(message->spi); |
982 | u32 dma_thresh = chip->dma_threshold; | 982 | u32 dma_thresh = chip->dma_threshold; |
@@ -1182,10 +1182,10 @@ static void pump_transfers(unsigned long data) | |||
1182 | pxa2xx_spi_write(drv_data, SSCR1, cr1); | 1182 | pxa2xx_spi_write(drv_data, SSCR1, cr1); |
1183 | } | 1183 | } |
1184 | 1184 | ||
1185 | static int pxa2xx_spi_transfer_one_message(struct spi_master *master, | 1185 | static int pxa2xx_spi_transfer_one_message(struct spi_controller *master, |
1186 | struct spi_message *msg) | 1186 | struct spi_message *msg) |
1187 | { | 1187 | { |
1188 | struct driver_data *drv_data = spi_master_get_devdata(master); | 1188 | struct driver_data *drv_data = spi_controller_get_devdata(master); |
1189 | 1189 | ||
1190 | /* Initial message state*/ | 1190 | /* Initial message state*/ |
1191 | msg->state = START_STATE; | 1191 | msg->state = START_STATE; |
@@ -1198,9 +1198,9 @@ static int pxa2xx_spi_transfer_one_message(struct spi_master *master, | |||
1198 | return 0; | 1198 | return 0; |
1199 | } | 1199 | } |
1200 | 1200 | ||
1201 | static int pxa2xx_spi_unprepare_transfer(struct spi_master *master) | 1201 | static int pxa2xx_spi_unprepare_transfer(struct spi_controller *master) |
1202 | { | 1202 | { |
1203 | struct driver_data *drv_data = spi_master_get_devdata(master); | 1203 | struct driver_data *drv_data = spi_controller_get_devdata(master); |
1204 | 1204 | ||
1205 | /* Disable the SSP now */ | 1205 | /* Disable the SSP now */ |
1206 | pxa2xx_spi_write(drv_data, SSCR0, | 1206 | pxa2xx_spi_write(drv_data, SSCR0, |
@@ -1212,7 +1212,8 @@ static int pxa2xx_spi_unprepare_transfer(struct spi_master *master) | |||
1212 | static int setup_cs(struct spi_device *spi, struct chip_data *chip, | 1212 | static int setup_cs(struct spi_device *spi, struct chip_data *chip, |
1213 | struct pxa2xx_spi_chip *chip_info) | 1213 | struct pxa2xx_spi_chip *chip_info) |
1214 | { | 1214 | { |
1215 | struct driver_data *drv_data = spi_master_get_devdata(spi->master); | 1215 | struct driver_data *drv_data = |
1216 | spi_controller_get_devdata(spi->controller); | ||
1216 | struct gpio_desc *gpiod; | 1217 | struct gpio_desc *gpiod; |
1217 | int err = 0; | 1218 | int err = 0; |
1218 | 1219 | ||
@@ -1270,7 +1271,8 @@ static int setup(struct spi_device *spi) | |||
1270 | struct pxa2xx_spi_chip *chip_info; | 1271 | struct pxa2xx_spi_chip *chip_info; |
1271 | struct chip_data *chip; | 1272 | struct chip_data *chip; |
1272 | const struct lpss_config *config; | 1273 | const struct lpss_config *config; |
1273 | struct driver_data *drv_data = spi_master_get_devdata(spi->master); | 1274 | struct driver_data *drv_data = |
1275 | spi_controller_get_devdata(spi->controller); | ||
1274 | uint tx_thres, tx_hi_thres, rx_thres; | 1276 | uint tx_thres, tx_hi_thres, rx_thres; |
1275 | 1277 | ||
1276 | switch (drv_data->ssp_type) { | 1278 | switch (drv_data->ssp_type) { |
@@ -1410,7 +1412,8 @@ static int setup(struct spi_device *spi) | |||
1410 | static void cleanup(struct spi_device *spi) | 1412 | static void cleanup(struct spi_device *spi) |
1411 | { | 1413 | { |
1412 | struct chip_data *chip = spi_get_ctldata(spi); | 1414 | struct chip_data *chip = spi_get_ctldata(spi); |
1413 | struct driver_data *drv_data = spi_master_get_devdata(spi->master); | 1415 | struct driver_data *drv_data = |
1416 | spi_controller_get_devdata(spi->controller); | ||
1414 | 1417 | ||
1415 | if (!chip) | 1418 | if (!chip) |
1416 | return; | 1419 | return; |
@@ -1575,9 +1578,10 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) | |||
1575 | } | 1578 | } |
1576 | #endif | 1579 | #endif |
1577 | 1580 | ||
1578 | static int pxa2xx_spi_fw_translate_cs(struct spi_master *master, unsigned cs) | 1581 | static int pxa2xx_spi_fw_translate_cs(struct spi_controller *master, |
1582 | unsigned int cs) | ||
1579 | { | 1583 | { |
1580 | struct driver_data *drv_data = spi_master_get_devdata(master); | 1584 | struct driver_data *drv_data = spi_controller_get_devdata(master); |
1581 | 1585 | ||
1582 | if (has_acpi_companion(&drv_data->pdev->dev)) { | 1586 | if (has_acpi_companion(&drv_data->pdev->dev)) { |
1583 | switch (drv_data->ssp_type) { | 1587 | switch (drv_data->ssp_type) { |
@@ -1602,7 +1606,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) | |||
1602 | { | 1606 | { |
1603 | struct device *dev = &pdev->dev; | 1607 | struct device *dev = &pdev->dev; |
1604 | struct pxa2xx_spi_master *platform_info; | 1608 | struct pxa2xx_spi_master *platform_info; |
1605 | struct spi_master *master; | 1609 | struct spi_controller *master; |
1606 | struct driver_data *drv_data; | 1610 | struct driver_data *drv_data; |
1607 | struct ssp_device *ssp; | 1611 | struct ssp_device *ssp; |
1608 | const struct lpss_config *config; | 1612 | const struct lpss_config *config; |
@@ -1633,7 +1637,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) | |||
1633 | pxa_ssp_free(ssp); | 1637 | pxa_ssp_free(ssp); |
1634 | return -ENOMEM; | 1638 | return -ENOMEM; |
1635 | } | 1639 | } |
1636 | drv_data = spi_master_get_devdata(master); | 1640 | drv_data = spi_controller_get_devdata(master); |
1637 | drv_data->master = master; | 1641 | drv_data->master = master; |
1638 | drv_data->master_info = platform_info; | 1642 | drv_data->master_info = platform_info; |
1639 | drv_data->pdev = pdev; | 1643 | drv_data->pdev = pdev; |
@@ -1651,7 +1655,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) | |||
1651 | master->unprepare_transfer_hardware = pxa2xx_spi_unprepare_transfer; | 1655 | master->unprepare_transfer_hardware = pxa2xx_spi_unprepare_transfer; |
1652 | master->fw_translate_cs = pxa2xx_spi_fw_translate_cs; | 1656 | master->fw_translate_cs = pxa2xx_spi_fw_translate_cs; |
1653 | master->auto_runtime_pm = true; | 1657 | master->auto_runtime_pm = true; |
1654 | master->flags = SPI_MASTER_MUST_RX | SPI_MASTER_MUST_TX; | 1658 | master->flags = SPI_CONTROLLER_MUST_RX | SPI_CONTROLLER_MUST_TX; |
1655 | 1659 | ||
1656 | drv_data->ssp_type = ssp->type; | 1660 | drv_data->ssp_type = ssp->type; |
1657 | 1661 | ||
@@ -1793,7 +1797,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) | |||
1793 | 1797 | ||
1794 | /* Register with the SPI framework */ | 1798 | /* Register with the SPI framework */ |
1795 | platform_set_drvdata(pdev, drv_data); | 1799 | platform_set_drvdata(pdev, drv_data); |
1796 | status = devm_spi_register_master(&pdev->dev, master); | 1800 | status = devm_spi_register_controller(&pdev->dev, master); |
1797 | if (status != 0) { | 1801 | if (status != 0) { |
1798 | dev_err(&pdev->dev, "problem registering spi master\n"); | 1802 | dev_err(&pdev->dev, "problem registering spi master\n"); |
1799 | goto out_error_clock_enabled; | 1803 | goto out_error_clock_enabled; |
@@ -1807,7 +1811,7 @@ out_error_clock_enabled: | |||
1807 | free_irq(ssp->irq, drv_data); | 1811 | free_irq(ssp->irq, drv_data); |
1808 | 1812 | ||
1809 | out_error_master_alloc: | 1813 | out_error_master_alloc: |
1810 | spi_master_put(master); | 1814 | spi_controller_put(master); |
1811 | pxa_ssp_free(ssp); | 1815 | pxa_ssp_free(ssp); |
1812 | return status; | 1816 | return status; |
1813 | } | 1817 | } |
@@ -1858,7 +1862,7 @@ static int pxa2xx_spi_suspend(struct device *dev) | |||
1858 | struct ssp_device *ssp = drv_data->ssp; | 1862 | struct ssp_device *ssp = drv_data->ssp; |
1859 | int status; | 1863 | int status; |
1860 | 1864 | ||
1861 | status = spi_master_suspend(drv_data->master); | 1865 | status = spi_controller_suspend(drv_data->master); |
1862 | if (status != 0) | 1866 | if (status != 0) |
1863 | return status; | 1867 | return status; |
1864 | pxa2xx_spi_write(drv_data, SSCR0, 0); | 1868 | pxa2xx_spi_write(drv_data, SSCR0, 0); |
@@ -1884,7 +1888,7 @@ static int pxa2xx_spi_resume(struct device *dev) | |||
1884 | lpss_ssp_setup(drv_data); | 1888 | lpss_ssp_setup(drv_data); |
1885 | 1889 | ||
1886 | /* Start the queue running */ | 1890 | /* Start the queue running */ |
1887 | status = spi_master_resume(drv_data->master); | 1891 | status = spi_controller_resume(drv_data->master); |
1888 | if (status != 0) { | 1892 | if (status != 0) { |
1889 | dev_err(dev, "problem starting queue (%d)\n", status); | 1893 | dev_err(dev, "problem starting queue (%d)\n", status); |
1890 | return status; | 1894 | return status; |
diff --git a/drivers/spi/spi-pxa2xx.h b/drivers/spi/spi-pxa2xx.h index 94f7b0713281..513ec6c6e25b 100644 --- a/drivers/spi/spi-pxa2xx.h +++ b/drivers/spi/spi-pxa2xx.h | |||
@@ -31,7 +31,7 @@ struct driver_data { | |||
31 | 31 | ||
32 | /* SPI framework hookup */ | 32 | /* SPI framework hookup */ |
33 | enum pxa_ssp_type ssp_type; | 33 | enum pxa_ssp_type ssp_type; |
34 | struct spi_master *master; | 34 | struct spi_controller *master; |
35 | 35 | ||
36 | /* PXA hookup */ | 36 | /* PXA hookup */ |
37 | struct pxa2xx_spi_master *master_info; | 37 | struct pxa2xx_spi_master *master_info; |