Lines Matching refs:mps
74 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
75 struct mpc52xx_psc __iomem *psc = mps->psc;
108 mps->bits_per_word = cs->bits_per_word;
110 if (mps->cs_control)
111 mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 1 : 0);
116 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
118 if (mps->cs_control)
119 mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 0 : 1);
129 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
130 struct mpc52xx_psc __iomem *psc = mps->psc;
131 struct mpc52xx_psc_fifo __iomem *fifo = mps->fifo;
181 wait_for_completion(&mps->done);
202 struct mpc52xx_psc_spi *mps =
205 spin_lock_irq(&mps->lock);
206 mps->busy = 1;
207 while (!list_empty(&mps->queue)) {
214 m = container_of(mps->queue.next, struct spi_message, queue);
216 spin_unlock_irq(&mps->lock);
252 spin_lock_irq(&mps->lock);
254 mps->busy = 0;
255 spin_unlock_irq(&mps->lock);
260 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
277 spin_lock_irqsave(&mps->lock, flags);
278 if (!mps->busy)
280 spin_unlock_irqrestore(&mps->lock, flags);
288 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
294 spin_lock_irqsave(&mps->lock, flags);
295 list_add_tail(&m->queue, &mps->queue);
296 schedule_work(&mps->work);
297 spin_unlock_irqrestore(&mps->lock, flags);
307 static int mpc52xx_psc_spi_port_config(int psc_id, struct mpc52xx_psc_spi *mps)
309 struct mpc52xx_psc __iomem *psc = mps->psc;
310 struct mpc52xx_psc_fifo __iomem *fifo = mps->fifo;
315 mclken_div = (mps->sysclk ? mps->sysclk : 512000000) / MCLK;
340 mps->bits_per_word = 8;
347 struct mpc52xx_psc_spi *mps = (struct mpc52xx_psc_spi *)dev_id;
348 struct mpc52xx_psc __iomem *psc = mps->psc;
353 complete(&mps->done);
364 struct mpc52xx_psc_spi *mps;
368 master = spi_alloc_master(dev, sizeof *mps);
373 mps = spi_master_get_devdata(master);
378 mps->irq = irq;
382 mps->cs_control = NULL;
383 mps->sysclk = 0;
387 mps->cs_control = pdata->cs_control;
388 mps->sysclk = pdata->sysclk;
397 mps->psc = ioremap(regaddr, size);
398 if (!mps->psc) {
404 mps->fifo = ((void __iomem *)mps->psc) + sizeof(struct mpc52xx_psc);
406 ret = request_irq(mps->irq, mpc52xx_psc_spi_isr, 0, "mpc52xx-psc-spi",
407 mps);
411 ret = mpc52xx_psc_spi_port_config(master->bus_num, mps);
417 spin_lock_init(&mps->lock);
418 init_completion(&mps->done);
419 INIT_WORK(&mps->work, mpc52xx_psc_spi_work);
420 INIT_LIST_HEAD(&mps->queue);
429 free_irq(mps->irq, mps);
431 if (mps->psc)
432 iounmap(mps->psc);
470 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(master);
472 flush_work(&mps->work);
474 free_irq(mps->irq, mps);
475 if (mps->psc)
476 iounmap(mps->psc);