summaryrefslogtreecommitdiff
path: root/kernel-devel/module-basics/vain_pci/vain_pci_2.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-devel/module-basics/vain_pci/vain_pci_2.c')
-rw-r--r--kernel-devel/module-basics/vain_pci/vain_pci_2.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/kernel-devel/module-basics/vain_pci/vain_pci_2.c b/kernel-devel/module-basics/vain_pci/vain_pci_2.c
new file mode 100644
index 0000000..cc4118d
--- /dev/null
+++ b/kernel-devel/module-basics/vain_pci/vain_pci_2.c
@@ -0,0 +1,22 @@
+static int __devinit vain_pci_probe(struct pci_dev *pdev,
+ const struct pci_device_id *ent)
+{
+ struct vain_pci_info *info;
+ int ret;
+
+ dev_dbg(&pdev->dev, "Init, new card found\n");
+
+ info = kzalloc(sizeof(struct vain_pci_info), GFP_KERNEL);
+ if (unlikely(!info)) {
+ dev_err(&pdev->dev, "Could not allocate memory\n");
+ ret = -ENOMEM;
+ goto err_free;
+ }
+
+ info->pdev = pdev;
+
+ ret = pci_enable_device(pdev);
+ if (ret) {
+ dev_err(&pdev->dev, "Failed to enable PCI Device\n");
+ goto err_free;
+ }