summaryrefslogtreecommitdiff
path: root/kernel-devel/module-basics/vain_pci/vain_pci_2.c
diff options
context:
space:
mode:
authorBenedikt Spranger <b.spranger@linutronix.de>2009-11-24 08:58:33 +0100
committerBenedikt Spranger <b.spranger@linutronix.de>2009-11-24 08:58:33 +0100
commit8467e6f35df9e7f39c727e51d50c00f96a1081c9 (patch)
tree7602c7e1376915b6ea1d7902af0efa858aff7e1f /kernel-devel/module-basics/vain_pci/vain_pci_2.c
parent7ec20455300298bb170ba50c1b22c1d9236cef00 (diff)
PCI example added
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;
+ }