Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

infiniband: ehca: remove driver_data direct access of struct device

In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device. Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used. These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.

Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Roland Dreier <rolandd@cisco.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: general@lists.openfabrics.org
Cc: Christoph Raisch <raisch@de.ibm.com>
Acked-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

+4 -4
+4 -4
drivers/infiniband/hw/ehca/ehca_main.c
··· 636 636 struct hipz_query_hca *rblock; \ 637 637 int data; \ 638 638 \ 639 - shca = dev->driver_data; \ 639 + shca = dev_get_drvdata(dev); \ 640 640 \ 641 641 rblock = ehca_alloc_fw_ctrlblock(GFP_KERNEL); \ 642 642 if (!rblock) { \ ··· 680 680 struct device_attribute *attr, 681 681 char *buf) 682 682 { 683 - struct ehca_shca *shca = dev->driver_data; 683 + struct ehca_shca *shca = dev_get_drvdata(dev); 684 684 685 685 return sprintf(buf, "%llx\n", shca->ipz_hca_handle.handle); 686 686 ··· 749 749 750 750 shca->ofdev = dev; 751 751 shca->ipz_hca_handle.handle = *handle; 752 - dev->dev.driver_data = shca; 752 + dev_set_drvdata(&dev->dev, shca); 753 753 754 754 ret = ehca_sense_attributes(shca); 755 755 if (ret < 0) { ··· 878 878 879 879 static int __devexit ehca_remove(struct of_device *dev) 880 880 { 881 - struct ehca_shca *shca = dev->dev.driver_data; 881 + struct ehca_shca *shca = dev_get_drvdata(&dev->dev); 882 882 unsigned long flags; 883 883 int ret; 884 884