Lines Matching refs:pht

341 	struct phantom_device *pht;  in phantom_probe()  local
367 pht = kzalloc(sizeof(*pht), GFP_KERNEL); in phantom_probe()
368 if (pht == NULL) { in phantom_probe()
373 pht->caddr = pci_iomap(pdev, 0, 0); in phantom_probe()
374 if (pht->caddr == NULL) { in phantom_probe()
378 pht->iaddr = pci_iomap(pdev, 2, 0); in phantom_probe()
379 if (pht->iaddr == NULL) { in phantom_probe()
383 pht->oaddr = pci_iomap(pdev, 3, 0); in phantom_probe()
384 if (pht->oaddr == NULL) { in phantom_probe()
389 mutex_init(&pht->open_lock); in phantom_probe()
390 spin_lock_init(&pht->regs_lock); in phantom_probe()
391 init_waitqueue_head(&pht->wait); in phantom_probe()
392 cdev_init(&pht->cdev, &phantom_file_ops); in phantom_probe()
393 pht->cdev.owner = THIS_MODULE; in phantom_probe()
395 iowrite32(0, pht->caddr + PHN_IRQCTL); in phantom_probe()
396 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */ in phantom_probe()
398 IRQF_SHARED, "phantom", pht); in phantom_probe()
404 retval = cdev_add(&pht->cdev, MKDEV(phantom_major, minor), 1); in phantom_probe()
415 pci_set_drvdata(pdev, pht); in phantom_probe()
419 free_irq(pdev->irq, pht); in phantom_probe()
421 pci_iounmap(pdev, pht->oaddr); in phantom_probe()
423 pci_iounmap(pdev, pht->iaddr); in phantom_probe()
425 pci_iounmap(pdev, pht->caddr); in phantom_probe()
427 kfree(pht); in phantom_probe()
440 struct phantom_device *pht = pci_get_drvdata(pdev); in phantom_remove() local
441 unsigned int minor = MINOR(pht->cdev.dev); in phantom_remove()
445 cdev_del(&pht->cdev); in phantom_remove()
447 iowrite32(0, pht->caddr + PHN_IRQCTL); in phantom_remove()
448 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */ in phantom_remove()
449 free_irq(pdev->irq, pht); in phantom_remove()
451 pci_iounmap(pdev, pht->oaddr); in phantom_remove()
452 pci_iounmap(pdev, pht->iaddr); in phantom_remove()
453 pci_iounmap(pdev, pht->caddr); in phantom_remove()
455 kfree(pht); in phantom_remove()