19 #include <linux/kernel.h>
30 #define MPC8XXX_SPI_RX_BUF(type) \
31 void mpc8xxx_spi_rx_buf_##type(u32 data, struct mpc8xxx_spi *mpc8xxx_spi) \
33 type *rx = mpc8xxx_spi->rx; \
34 *rx++ = (type)(data >> mpc8xxx_spi->rx_shift); \
35 mpc8xxx_spi->rx = rx; \
38 #define MPC8XXX_SPI_TX_BUF(type) \
39 u32 mpc8xxx_spi_tx_buf_##type(struct mpc8xxx_spi *mpc8xxx_spi) \
42 const type *tx = mpc8xxx_spi->tx; \
45 data = *tx++ << mpc8xxx_spi->tx_shift; \
46 mpc8xxx_spi->tx = tx; \
67 spin_lock_irq(&mpc8xxx_spi->
lock);
68 while (!list_empty(&mpc8xxx_spi->
queue)) {
72 list_del_init(&m->
queue);
73 spin_unlock_irq(&mpc8xxx_spi->
lock);
78 spin_lock_irq(&mpc8xxx_spi->
lock);
80 spin_unlock_irq(&mpc8xxx_spi->
lock);
95 spin_unlock_irqrestore(&mpc8xxx_spi->
lock, flags);
138 mpc8xxx_spi = spi_master_get_devdata(master);
149 init_completion(&mpc8xxx_spi->
done);
155 init_completion(&mpc8xxx_spi->
done);
157 INIT_LIST_HEAD(&mpc8xxx_spi->
queue);
160 dev_name(master->
dev.parent));
178 mpc8xxx_spi = spi_master_get_devdata(master);
205 pdata = &pinfo->
pdata;
212 pdata->
sysclk = get_brgfreq();
213 if (pdata->
sysclk == -1) {
215 if (pdata->
sysclk == -1) {
222 if (prop && !
strcmp(prop,
"cpu-qe"))
224 else if (prop && !
strcmp(prop,
"qe"))