Skip to content

Commit

Permalink
PCI: armada: Pass device-specific struct to internal functions
Browse files Browse the repository at this point in the history
Only interfaces used from outside the driver, e.g., those called by the
DesignWare core, need to accept pointers to the generic struct pcie_port.
Internal interfaces can accept pointers to the device-specific struct,
which makes them more straightforward.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  • Loading branch information
Bjorn Helgaas committed Oct 12, 2016
1 parent 7687695 commit b2d6fd7
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions drivers/pci/host/pcie-armada8k.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,9 @@ static int armada8k_pcie_link_up(struct pcie_port *pp)
return 0;
}

static void armada8k_pcie_establish_link(struct pcie_port *pp)
static void armada8k_pcie_establish_link(struct armada8k_pcie *pcie)
{
struct pcie_port *pp = &pcie->pp;
u32 reg;

if (!dw_pcie_link_up(pp)) {
Expand Down Expand Up @@ -135,13 +136,16 @@ static void armada8k_pcie_establish_link(struct pcie_port *pp)

static void armada8k_pcie_host_init(struct pcie_port *pp)
{
struct armada8k_pcie *pcie = to_armada8k_pcie(pp);

dw_pcie_setup_rc(pp);
armada8k_pcie_establish_link(pp);
armada8k_pcie_establish_link(pcie);
}

static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
{
struct pcie_port *pp = arg;
struct armada8k_pcie *pcie = arg;
struct pcie_port *pp = &pcie->pp;
u32 val;

/*
Expand All @@ -160,9 +164,10 @@ static struct pcie_host_ops armada8k_pcie_host_ops = {
.host_init = armada8k_pcie_host_init,
};

static int armada8k_add_pcie_port(struct pcie_port *pp,
static int armada8k_add_pcie_port(struct armada8k_pcie *pcie,
struct platform_device *pdev)
{
struct pcie_port *pp = &pcie->pp;
struct device *dev = &pdev->dev;
int ret;

Expand All @@ -176,7 +181,7 @@ static int armada8k_add_pcie_port(struct pcie_port *pp,
}

ret = devm_request_irq(dev, pp->irq, armada8k_pcie_irq_handler,
IRQF_SHARED, "armada8k-pcie", pp);
IRQF_SHARED, "armada8k-pcie", pcie);
if (ret) {
dev_err(dev, "failed to request irq %d\n", pp->irq);
return ret;
Expand Down Expand Up @@ -221,7 +226,7 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
goto fail;
}

ret = armada8k_add_pcie_port(pp, pdev);
ret = armada8k_add_pcie_port(pcie, pdev);
if (ret)
goto fail;

Expand Down

0 comments on commit b2d6fd7

Please sign in to comment.