]> err.no Git - linux-2.6/commitdiff
pciehp: use get_service_data
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Thu, 26 Jun 2008 11:06:24 +0000 (20:06 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 27 Jun 2008 20:01:14 +0000 (13:01 -0700)
Current pciehp driver saves its private data pointer into pci_dev
structure using pci_set_drvdata()/pci_get_drvdata(). But because
pciehp is not a pci device driver but a PCI Express service driver, it
should save its private data pointer into pcie_device structure using
set_service_data()/get_service_data().

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/pciehp_core.c

index d0fb569369118c957ce66cbef94b36e0242c18dc..3677495c4f91e2bf827c7d863d431be4272c3c5a 100644 (file)
@@ -405,7 +405,7 @@ static int pciehp_probe(struct pcie_device *dev, const struct pcie_port_service_
                dbg("%s: controller initialization failed\n", PCIE_MODULE_NAME);
                goto err_out_none;
        }
-       pci_set_drvdata(pdev, ctrl);
+       set_service_data(dev, ctrl);
 
        /* Setup the slot information structures */
        rc = init_slots(ctrl);
@@ -445,8 +445,7 @@ err_out_none:
 
 static void pciehp_remove (struct pcie_device *dev)
 {
-       struct pci_dev *pdev = dev->port;
-       struct controller *ctrl = pci_get_drvdata(pdev);
+       struct controller *ctrl = get_service_data(dev);
 
        cleanup_slots(ctrl);
        ctrl->hpc_ops->release_ctlr(ctrl);
@@ -463,8 +462,7 @@ static int pciehp_resume (struct pcie_device *dev)
 {
        printk("%s ENTRY\n", __func__);
        if (pciehp_force) {
-               struct pci_dev *pdev = dev->port;
-               struct controller *ctrl = pci_get_drvdata(pdev);
+               struct controller *ctrl = get_service_data(dev);
                struct slot *t_slot;
                u8 status;