Lines Matching refs:pht
339 struct phantom_device *pht; in phantom_probe() local
365 pht = kzalloc(sizeof(*pht), GFP_KERNEL); in phantom_probe()
366 if (pht == NULL) { in phantom_probe()
371 pht->caddr = pci_iomap(pdev, 0, 0); in phantom_probe()
372 if (pht->caddr == NULL) { in phantom_probe()
376 pht->iaddr = pci_iomap(pdev, 2, 0); in phantom_probe()
377 if (pht->iaddr == NULL) { in phantom_probe()
381 pht->oaddr = pci_iomap(pdev, 3, 0); in phantom_probe()
382 if (pht->oaddr == NULL) { in phantom_probe()
387 mutex_init(&pht->open_lock); in phantom_probe()
388 spin_lock_init(&pht->regs_lock); in phantom_probe()
389 init_waitqueue_head(&pht->wait); in phantom_probe()
390 cdev_init(&pht->cdev, &phantom_file_ops); in phantom_probe()
391 pht->cdev.owner = THIS_MODULE; in phantom_probe()
393 iowrite32(0, pht->caddr + PHN_IRQCTL); in phantom_probe()
394 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */ in phantom_probe()
396 IRQF_SHARED, "phantom", pht); in phantom_probe()
402 retval = cdev_add(&pht->cdev, MKDEV(phantom_major, minor), 1); in phantom_probe()
413 pci_set_drvdata(pdev, pht); in phantom_probe()
417 free_irq(pdev->irq, pht); in phantom_probe()
419 pci_iounmap(pdev, pht->oaddr); in phantom_probe()
421 pci_iounmap(pdev, pht->iaddr); in phantom_probe()
423 pci_iounmap(pdev, pht->caddr); in phantom_probe()
425 kfree(pht); in phantom_probe()
438 struct phantom_device *pht = pci_get_drvdata(pdev); in phantom_remove() local
439 unsigned int minor = MINOR(pht->cdev.dev); in phantom_remove()
443 cdev_del(&pht->cdev); in phantom_remove()
445 iowrite32(0, pht->caddr + PHN_IRQCTL); in phantom_remove()
446 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */ in phantom_remove()
447 free_irq(pdev->irq, pht); in phantom_remove()
449 pci_iounmap(pdev, pht->oaddr); in phantom_remove()
450 pci_iounmap(pdev, pht->iaddr); in phantom_remove()
451 pci_iounmap(pdev, pht->caddr); in phantom_remove()
453 kfree(pht); in phantom_remove()