Lines Matching defs:spi

20 #include <linux/spi/spi.h>
47 static int mpc52xx_psc_spi_transfer_setup(struct spi_device *spi,
50 struct mpc52xx_psc_spi_cs *cs = spi->controller_state;
53 ? t->speed_hz : spi->max_speed_hz;
55 ? t->bits_per_word : spi->bits_per_word;
60 static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi)
62 struct mpc52xx_psc_spi_cs *cs = spi->controller_state;
63 struct mpc52xx_psc_spi *mps = spi_controller_get_devdata(spi->controller);
71 if (spi->mode & SPI_CPHA)
75 if (spi->mode & SPI_CPOL)
80 if (spi->mode & SPI_LSB_FIRST)
104 static int mpc52xx_psc_spi_transfer_rxtx(struct spi_device *spi,
107 struct mpc52xx_psc_spi *mps = spi_controller_get_devdata(spi->controller);
134 dev_dbg(&spi->dev, "send %d bytes...\n", send_at_once);
161 dev_dbg(&spi->dev, "%d bytes received\n", recv_at_once);
181 struct spi_device *spi;
186 spi = m->spi;
191 status = mpc52xx_psc_spi_transfer_setup(spi, t);
197 mpc52xx_psc_spi_activate_cs(spi);
200 status = mpc52xx_psc_spi_transfer_rxtx(spi, t);
210 mpc52xx_psc_spi_transfer_setup(spi, NULL);
217 static int mpc52xx_psc_spi_setup(struct spi_device *spi)
219 struct mpc52xx_psc_spi_cs *cs = spi->controller_state;
221 if (spi->bits_per_word%8)
228 spi->controller_state = cs;
231 cs->bits_per_word = spi->bits_per_word;
232 cs->speed_hz = spi->max_speed_hz;
237 static void mpc52xx_psc_spi_cleanup(struct spi_device *spi)
239 kfree(spi->controller_state);
309 /* the spi->mode bits understood by this driver: */
336 "mpc52xx-psc-spi", mps);
350 { .compatible = "fsl,mpc5200-psc-spi", },
351 { .compatible = "mpc5200-psc-spi", }, /* old */
360 .name = "mpc52xx-psc-spi",