Lines Matching defs:pht
339 struct phantom_device *pht;
361 pht = kzalloc(sizeof(*pht), GFP_KERNEL);
362 if (pht == NULL) {
367 pht->caddr = pci_iomap(pdev, 0, 0);
368 if (pht->caddr == NULL) {
372 pht->iaddr = pci_iomap(pdev, 2, 0);
373 if (pht->iaddr == NULL) {
377 pht->oaddr = pci_iomap(pdev, 3, 0);
378 if (pht->oaddr == NULL) {
383 mutex_init(&pht->open_lock);
384 spin_lock_init(&pht->regs_lock);
385 init_waitqueue_head(&pht->wait);
386 cdev_init(&pht->cdev, &phantom_file_ops);
387 pht->cdev.owner = THIS_MODULE;
389 iowrite32(0, pht->caddr + PHN_IRQCTL);
390 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */
392 IRQF_SHARED | IRQF_DISABLED, "phantom", pht);
398 retval = cdev_add(&pht->cdev, MKDEV(phantom_major, minor), 1);
409 pci_set_drvdata(pdev, pht);
413 free_irq(pdev->irq, pht);
415 pci_iounmap(pdev, pht->oaddr);
417 pci_iounmap(pdev, pht->iaddr);
419 pci_iounmap(pdev, pht->caddr);
421 kfree(pht);
434 struct phantom_device *pht = pci_get_drvdata(pdev);
435 unsigned int minor = MINOR(pht->cdev.dev);
439 cdev_del(&pht->cdev);
441 iowrite32(0, pht->caddr + PHN_IRQCTL);
442 ioread32(pht->caddr + PHN_IRQCTL); /* PCI posting */
443 free_irq(pdev->irq, pht);
445 pci_iounmap(pdev, pht->oaddr);
446 pci_iounmap(pdev, pht->iaddr);
447 pci_iounmap(pdev, pht->caddr);
449 kfree(pht);