struct hipz_query_hca *rblock;                                     \
        int data;                                                          \
                                                                           \
-       shca = dev->driver_data;                                           \
+       shca = dev_get_drvdata(dev);                                       \
                                                                           \
        rblock = ehca_alloc_fw_ctrlblock(GFP_KERNEL);                      \
        if (!rblock) {                                                     \
                                        struct device_attribute *attr,
                                        char *buf)
 {
-       struct ehca_shca *shca = dev->driver_data;
+       struct ehca_shca *shca = dev_get_drvdata(dev);
 
        return sprintf(buf, "%llx\n", shca->ipz_hca_handle.handle);
 
 
        shca->ofdev = dev;
        shca->ipz_hca_handle.handle = *handle;
-       dev->dev.driver_data = shca;
+       dev_set_drvdata(&dev->dev, shca);
 
        ret = ehca_sense_attributes(shca);
        if (ret < 0) {
 
 static int __devexit ehca_remove(struct of_device *dev)
 {
-       struct ehca_shca *shca = dev->dev.driver_data;
+       struct ehca_shca *shca = dev_get_drvdata(&dev->dev);
        unsigned long flags;
        int ret;