return err;
 }
 
-static struct ib_pd *mthca_alloc_pd(struct ib_device *ibdev)
+static struct ib_pd *mthca_alloc_pd(struct ib_device *ibdev,
+                                   struct ib_ucontext *context,
+                                   struct ib_udata *udata)
 {
        struct mthca_pd *pd;
        int err;
 }
 
 static struct ib_qp *mthca_create_qp(struct ib_pd *pd,
-                                    struct ib_qp_init_attr *init_attr)
+                                    struct ib_qp_init_attr *init_attr,
+                                    struct ib_udata *udata)
 {
        struct mthca_qp *qp;
        int err;
        return 0;
 }
 
-static struct ib_cq *mthca_create_cq(struct ib_device *ibdev, int entries)
+static struct ib_cq *mthca_create_cq(struct ib_device *ibdev, int entries,
+                                    struct ib_ucontext *context,
+                                    struct ib_udata *udata)
 {
        struct mthca_cq *cq;
        int nent;
        int i;
 
        strlcpy(dev->ib_dev.name, "mthca%d", IB_DEVICE_NAME_MAX);
+       dev->ib_dev.owner                = THIS_MODULE;
+
        dev->ib_dev.node_type            = IB_NODE_CA;
        dev->ib_dev.phys_port_cnt        = dev->limits.num_ports;
        dev->ib_dev.dma_device           = &dev->pdev->dev;