Lines Matching defs:pht
337 struct phantom_device *pht;
363 pht = kzalloc(sizeof(*pht), GFP_KERNEL);
364 if (pht == NULL) {
369 pht->caddr = pci_iomap(pdev, 0, 0);
370 if (pht->caddr == NULL) {
374 pht->iaddr = pci_iomap(pdev, 2, 0);
375 if (pht->iaddr == NULL) {
379 pht->oaddr = pci_iomap(pdev, 3, 0);
380 if (pht->oaddr == NULL) {
385 mutex_init(&pht->open_lock);
386 spin_lock_init(&pht->regs_lock);
387 init_waitqueue_head(&pht->wait);
388 cdev_init(&pht->cdev, &phantom_file_ops);
389 pht->cdev.owner = THIS_MODULE;
391 iowrite32(0, pht->caddr + PHN_IRQCTL);
392 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */
394 IRQF_SHARED, "phantom", pht);
400 retval = cdev_add(&pht->cdev, MKDEV(phantom_major, minor), 1);
411 pci_set_drvdata(pdev, pht);
415 free_irq(pdev->irq, pht);
417 pci_iounmap(pdev, pht->oaddr);
419 pci_iounmap(pdev, pht->iaddr);
421 pci_iounmap(pdev, pht->caddr);
423 kfree(pht);
436 struct phantom_device *pht = pci_get_drvdata(pdev);
437 unsigned int minor = MINOR(pht->cdev.dev);
441 cdev_del(&pht->cdev);
443 iowrite32(0, pht->caddr + PHN_IRQCTL);
444 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */
445 free_irq(pdev->irq, pht);
447 pci_iounmap(pdev, pht->oaddr);
448 pci_iounmap(pdev, pht->iaddr);
449 pci_iounmap(pdev, pht->caddr);
451 kfree(pht);