Skip to content

Commit

Permalink
pciehp: use get_service_data
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kenji Kaneshige authored and Jesse Barnes committed Jun 27, 2008
1 parent 3aa50c4 commit b970894
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/pci/hotplug/pciehp_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -445,8 +445,7 @@ static int pciehp_probe(struct pcie_device *dev, const struct pcie_port_service_

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);
Expand All @@ -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;

Expand Down

0 comments on commit b970894

Please sign in to comment.