• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/spi/

Lines Matching refs:mps

80 	struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
81 struct mpc52xx_psc __iomem *psc = mps->psc;
114 mps->bits_per_word = cs->bits_per_word;
116 if (mps->cs_control)
117 mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 1 : 0);
122 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
124 if (mps->cs_control)
125 mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 0 : 1);
135 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
136 struct mpc52xx_psc __iomem *psc = mps->psc;
137 struct mpc52xx_psc_fifo __iomem *fifo = mps->fifo;
187 wait_for_completion(&mps->done);
208 struct mpc52xx_psc_spi *mps =
211 spin_lock_irq(&mps->lock);
212 mps->busy = 1;
213 while (!list_empty(&mps->queue)) {
220 m = container_of(mps->queue.next, struct spi_message, queue);
222 spin_unlock_irq(&mps->lock);
258 spin_lock_irq(&mps->lock);
260 mps->busy = 0;
261 spin_unlock_irq(&mps->lock);
266 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
283 spin_lock_irqsave(&mps->lock, flags);
284 if (!mps->busy)
286 spin_unlock_irqrestore(&mps->lock, flags);
294 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
300 spin_lock_irqsave(&mps->lock, flags);
301 list_add_tail(&m->queue, &mps->queue);
302 queue_work(mps->workqueue, &mps->work);
303 spin_unlock_irqrestore(&mps->lock, flags);
313 static int mpc52xx_psc_spi_port_config(int psc_id, struct mpc52xx_psc_spi *mps)
315 struct mpc52xx_psc __iomem *psc = mps->psc;
316 struct mpc52xx_psc_fifo __iomem *fifo = mps->fifo;
321 mclken_div = (mps->sysclk ? mps->sysclk : 512000000) / MCLK;
346 mps->bits_per_word = 8;
353 struct mpc52xx_psc_spi *mps = (struct mpc52xx_psc_spi *)dev_id;
354 struct mpc52xx_psc __iomem *psc = mps->psc;
359 complete(&mps->done);
370 struct mpc52xx_psc_spi *mps;
374 master = spi_alloc_master(dev, sizeof *mps);
379 mps = spi_master_get_devdata(master);
384 mps->irq = irq;
388 mps->cs_control = NULL;
389 mps->sysclk = 0;
393 mps->cs_control = pdata->cs_control;
394 mps->sysclk = pdata->sysclk;
403 mps->psc = ioremap(regaddr, size);
404 if (!mps->psc) {
410 mps->fifo = ((void __iomem *)mps->psc) + sizeof(struct mpc52xx_psc);
412 ret = request_irq(mps->irq, mpc52xx_psc_spi_isr, 0, "mpc52xx-psc-spi",
413 mps);
417 ret = mpc52xx_psc_spi_port_config(master->bus_num, mps);
423 spin_lock_init(&mps->lock);
424 init_completion(&mps->done);
425 INIT_WORK(&mps->work, mpc52xx_psc_spi_work);
426 INIT_LIST_HEAD(&mps->queue);
428 mps->workqueue = create_singlethread_workqueue(
430 if (mps->workqueue == NULL) {
442 destroy_workqueue(mps->workqueue);
444 free_irq(mps->irq, mps);
446 if (mps->psc)
447 iounmap(mps->psc);
456 struct mpc52xx_psc_spi *mps = spi_master_get_devdata(master);
458 flush_workqueue(mps->workqueue);
459 destroy_workqueue(mps->workqueue);
461 free_irq(mps->irq, mps);
462 if (mps->psc)
463 iounmap(mps->psc);