[module] add logging for kvmfr_pci_probe

This commit is contained in:
MakiseKurisu 2023-04-16 13:04:55 +08:00 committed by Geoffrey McRae
parent 4f4cf2be7d
commit 063a859de1

View File

@ -346,13 +346,22 @@ static int kvmfr_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
kdev = kzalloc(sizeof(struct kvmfr_dev), GFP_KERNEL); kdev = kzalloc(sizeof(struct kvmfr_dev), GFP_KERNEL);
if (!kdev) if (!kdev)
{
printk(KERN_INFO "kvmfr: kvmfr_pci_probe: failed to allocate memory!\n");
return -ENOMEM; return -ENOMEM;
}
if (pci_enable_device(dev)) if (pci_enable_device(dev))
{
printk(KERN_INFO "kvmfr: kvmfr_pci_probe: failed to enable device!\n");
goto out_free; goto out_free;
}
if (pci_request_regions(dev, KVMFR_DEV_NAME)) if (pci_request_regions(dev, KVMFR_DEV_NAME))
{
printk(KERN_INFO "kvmfr: kvmfr_pci_probe: failed to request regions!\n");
goto out_disable; goto out_disable;
}
kdev->size = pci_resource_len(dev, 2); kdev->size = pci_resource_len(dev, 2);
kdev->type = KVMFR_TYPE_PCI; kdev->type = KVMFR_TYPE_PCI;
@ -361,6 +370,7 @@ static int kvmfr_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
kdev->minor = idr_alloc(&kvmfr_idr, kdev, 0, KVMFR_MAX_DEVICES, GFP_KERNEL); kdev->minor = idr_alloc(&kvmfr_idr, kdev, 0, KVMFR_MAX_DEVICES, GFP_KERNEL);
if (kdev->minor < 0) if (kdev->minor < 0)
{ {
printk(KERN_INFO "kvmfr: kvmfr_pci_probe: failed to allocate ID!\n");
mutex_unlock(&minor_lock); mutex_unlock(&minor_lock);
goto out_release; goto out_release;
} }
@ -370,7 +380,13 @@ static int kvmfr_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
kdev->pDev = device_create(kvmfr->pClass, NULL, kdev->devNo, NULL, kdev->pDev = device_create(kvmfr->pClass, NULL, kdev->devNo, NULL,
KVMFR_DEV_NAME "%d", kdev->minor); KVMFR_DEV_NAME "%d", kdev->minor);
if (IS_ERR(kdev->pDev)) if (IS_ERR(kdev->pDev))
{
printk(
KERN_INFO "kvmfr: kvmfr_pci_probe: failed to create /dev/%s%d device!\n",
KVMFR_DEV_NAME,
kdev->minor);
goto out_unminor; goto out_unminor;
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
kdev->pgmap.res.start = pci_resource_start(dev, 2); kdev->pgmap.res.start = pci_resource_start(dev, 2);
@ -390,9 +406,18 @@ static int kvmfr_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
kdev->addr = devm_memremap_pages(&dev->dev, &kdev->pgmap); kdev->addr = devm_memremap_pages(&dev->dev, &kdev->pgmap);
if (IS_ERR(kdev->addr)) if (IS_ERR(kdev->addr))
{
printk(
KERN_INFO "kvmfr: kvmfr_pci_probe: failed to remap pages! ret = %ld\n",
PTR_ERR(kdev->addr));
goto out_destroy; goto out_destroy;
}
pci_set_drvdata(dev, kdev); pci_set_drvdata(dev, kdev);
printk(
KERN_INFO "kvmfr: kvmfr_pci_probe: /dev/%s%d created\n",
KVMFR_DEV_NAME,
kdev->minor);
return 0; return 0;
out_destroy: out_destroy: