Commit ab7f3341 authored by Anton Vorontsov's avatar Anton Vorontsov Committed by Grant Likely

powerpc/5200: convert mpc52xx_psc_spi to use cs_control callback

mpc52xx_psc_spi driver is the last user of the legacy activate_cs
and deactivate_cs callbacks, so convert the driver to the cs_control
hook and remove the legacy callbacks from fsl_spi_platform_data
struct.
Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent aa296a89
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/types.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
...@@ -30,8 +31,7 @@ ...@@ -30,8 +31,7 @@
struct mpc52xx_psc_spi { struct mpc52xx_psc_spi {
/* fsl_spi_platform data */ /* fsl_spi_platform data */
void (*activate_cs)(u8, u8); void (*cs_control)(struct spi_device *spi, bool on);
void (*deactivate_cs)(u8, u8);
u32 sysclk; u32 sysclk;
/* driver internal data */ /* driver internal data */
...@@ -111,18 +111,16 @@ static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi) ...@@ -111,18 +111,16 @@ static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi)
out_be16((u16 __iomem *)&psc->ccr, ccr); out_be16((u16 __iomem *)&psc->ccr, ccr);
mps->bits_per_word = cs->bits_per_word; mps->bits_per_word = cs->bits_per_word;
if (mps->activate_cs) if (mps->cs_control)
mps->activate_cs(spi->chip_select, mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 1 : 0);
(spi->mode & SPI_CS_HIGH) ? 1 : 0);
} }
static void mpc52xx_psc_spi_deactivate_cs(struct spi_device *spi) static void mpc52xx_psc_spi_deactivate_cs(struct spi_device *spi)
{ {
struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master); struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
if (mps->deactivate_cs) if (mps->cs_control)
mps->deactivate_cs(spi->chip_select, mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 0 : 1);
(spi->mode & SPI_CS_HIGH) ? 1 : 0);
} }
#define MPC52xx_PSC_BUFSIZE (MPC52xx_PSC_RFNUM_MASK + 1) #define MPC52xx_PSC_BUFSIZE (MPC52xx_PSC_RFNUM_MASK + 1)
...@@ -388,15 +386,13 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr, ...@@ -388,15 +386,13 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr,
mps->irq = irq; mps->irq = irq;
if (pdata == NULL) { if (pdata == NULL) {
dev_warn(dev, "probe called without platform data, no " dev_warn(dev, "probe called without platform data, no "
"(de)activate_cs function will be called\n"); "cs_control function will be called\n");
mps->activate_cs = NULL; mps->cs_control = NULL;
mps->deactivate_cs = NULL;
mps->sysclk = 0; mps->sysclk = 0;
master->bus_num = bus_num; master->bus_num = bus_num;
master->num_chipselect = 255; master->num_chipselect = 255;
} else { } else {
mps->activate_cs = pdata->activate_cs; mps->cs_control = pdata->cs_control;
mps->deactivate_cs = pdata->deactivate_cs;
mps->sysclk = pdata->sysclk; mps->sysclk = pdata->sysclk;
master->bus_num = pdata->bus_num; master->bus_num = pdata->bus_num;
master->num_chipselect = pdata->max_chipselect; master->num_chipselect = pdata->max_chipselect;
......
...@@ -79,10 +79,6 @@ struct fsl_spi_platform_data { ...@@ -79,10 +79,6 @@ struct fsl_spi_platform_data {
u16 max_chipselect; u16 max_chipselect;
void (*cs_control)(struct spi_device *spi, bool on); void (*cs_control)(struct spi_device *spi, bool on);
u32 sysclk; u32 sysclk;
/* Legacy hooks, used by mpc52xx_psc_spi driver. */
void (*activate_cs)(u8 cs, u8 polarity);
void (*deactivate_cs)(u8 cs, u8 polarity);
}; };
struct mpc8xx_pcmcia_ops { struct mpc8xx_pcmcia_ops {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment