H A D | spi-topcliff-pch.c | 162 * @board_dat: Reference to the SPI device data structure 189 struct pch_spi_board_data *board_dat; member in struct:pch_spi_data 213 struct pch_spi_board_data *board_dat; member in struct:pch_pd_dev_save 351 struct pch_spi_board_data *board_dat = data->board_dat; pch_spi_handler() local 353 if (board_dat->suspend_sts) { pch_spi_handler() 354 dev_dbg(&board_dat->pdev->dev, pch_spi_handler() 365 dev_err(&board_dat->pdev->dev, "%s Over run error\n", __func__); pch_spi_handler() 385 dev_dbg(&board_dat->pdev->dev, "%s EXIT return value=%d\n", pch_spi_handler() 502 if (data->board_dat->suspend_sts) { pch_spi_transfer() 670 (!data->board_dat->suspend_sts) && pch_spi_nomore_transfer() 678 } else if (data->board_dat->suspend_sts || pch_spi_nomore_transfer() 873 dma_dev = pci_get_slot(data->board_dat->pdev->bus, pch_spi_request_dma() 874 PCI_DEVFN(PCI_SLOT(data->board_dat->pdev->devfn), 0)); pch_spi_request_dma() 1138 if (data->board_dat->suspend_sts || (data->status == STATUS_EXITING)) { pch_spi_process_messages() 1264 static void pch_spi_free_resources(struct pch_spi_board_data *board_dat, pch_spi_free_resources() argument 1267 dev_dbg(&board_dat->pdev->dev, "%s ENTRY\n", __func__); pch_spi_free_resources() 1273 dev_dbg(&board_dat->pdev->dev, pch_spi_free_resources() 1279 static int pch_spi_get_resources(struct pch_spi_board_data *board_dat, pch_spi_get_resources() argument 1284 dev_dbg(&board_dat->pdev->dev, "%s ENTRY\n", __func__); pch_spi_get_resources() 1289 dev_err(&board_dat->pdev->dev, pch_spi_get_resources() 1297 dev_dbg(&board_dat->pdev->dev, pch_spi_get_resources() 1300 dev_dbg(&board_dat->pdev->dev, "%s data->irq_reg_sts=true\n", __func__); pch_spi_get_resources() 1304 dev_err(&board_dat->pdev->dev, pch_spi_get_resources() 1306 pch_spi_free_resources(board_dat, data); pch_spi_get_resources() 1309 dev_dbg(&board_dat->pdev->dev, "%s Return=%d\n", __func__, retval); pch_spi_get_resources() 1314 static void pch_free_dma_buf(struct pch_spi_board_data *board_dat, pch_free_dma_buf() argument 1321 dma_free_coherent(&board_dat->pdev->dev, PCH_BUF_SIZE, pch_free_dma_buf() 1324 dma_free_coherent(&board_dat->pdev->dev, PCH_BUF_SIZE, pch_free_dma_buf() 1329 static void pch_alloc_dma_buf(struct pch_spi_board_data *board_dat, pch_alloc_dma_buf() argument 1336 dma->tx_buf_virt = dma_alloc_coherent(&board_dat->pdev->dev, pch_alloc_dma_buf() 1339 dma->rx_buf_virt = dma_alloc_coherent(&board_dat->pdev->dev, pch_alloc_dma_buf() 1347 struct pch_spi_board_data *board_dat = dev_get_platdata(&plat_dev->dev); pch_spi_pd_probe() local 1352 master = spi_alloc_master(&board_dat->pdev->dev, pch_spi_pd_probe() 1366 data->io_base_addr = pci_resource_start(board_dat->pdev, 1) + pch_spi_pd_probe() 1368 data->io_remap_addr = pci_iomap(board_dat->pdev, 1, 0); pch_spi_pd_probe() 1386 data->board_dat = board_dat; pch_spi_pd_probe() 1398 ret = pch_spi_get_resources(board_dat, data); pch_spi_pd_probe() 1404 ret = request_irq(board_dat->pdev->irq, pch_spi_handler, pch_spi_pd_probe() 1417 pch_alloc_dma_buf(board_dat, data); pch_spi_pd_probe() 1430 pch_free_dma_buf(board_dat, data); pch_spi_pd_probe() 1431 free_irq(board_dat->pdev->irq, data); pch_spi_pd_probe() 1433 pch_spi_free_resources(board_dat, data); pch_spi_pd_probe() 1435 pci_iounmap(board_dat->pdev, data->io_remap_addr); pch_spi_pd_probe() 1444 struct pch_spi_board_data *board_dat = dev_get_platdata(&plat_dev->dev); pch_spi_pd_remove() local 1450 __func__, plat_dev->id, board_dat->pdev->irq); pch_spi_pd_remove() 1453 pch_free_dma_buf(board_dat, data); pch_spi_pd_remove() 1461 dev_dbg(&board_dat->pdev->dev, "%s :queue not empty\n", pch_spi_pd_remove() 1469 pch_spi_free_resources(board_dat, data); pch_spi_pd_remove() 1475 free_irq(board_dat->pdev->irq, data); pch_spi_pd_remove() 1478 pci_iounmap(board_dat->pdev, data->io_remap_addr); pch_spi_pd_remove() 1488 struct pch_spi_board_data *board_dat = dev_get_platdata(&pd_dev->dev); pch_spi_pd_suspend() local 1493 if (!board_dat) { pch_spi_pd_suspend() 1513 free_irq(board_dat->pdev->irq, data); pch_spi_pd_suspend() 1525 struct pch_spi_board_data *board_dat = dev_get_platdata(&pd_dev->dev); pch_spi_pd_resume() local 1529 if (!board_dat) { pch_spi_pd_resume() 1537 retval = request_irq(board_dat->pdev->irq, pch_spi_handler, pch_spi_pd_resume() 1569 struct pch_spi_board_data *board_dat; pch_spi_probe() local 1579 board_dat = kzalloc(sizeof(struct pch_spi_board_data), GFP_KERNEL); pch_spi_probe() 1580 if (!board_dat) { pch_spi_probe() 1591 board_dat->pdev = pdev; pch_spi_probe() 1592 board_dat->num = id->driver_data; pch_spi_probe() 1594 pd_dev_save->board_dat = board_dat; pch_spi_probe() 1602 for (i = 0; i < board_dat->num; i++) { pch_spi_probe() 1612 retval = platform_device_add_data(pd_dev, board_dat, pch_spi_probe() 1613 sizeof(*board_dat)); pch_spi_probe() 1640 kfree(board_dat); pch_spi_probe() 1659 kfree(pd_dev_save->board_dat); pch_spi_remove() 1671 pd_dev_save->board_dat->suspend_sts = true; pch_spi_suspend() 1703 pd_dev_save->board_dat->suspend_sts = false; pch_spi_resume()
|