[PATCH 2/2] pci: host: new driver for Marvell Armada 7K/8K PCIe controller
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Mon Apr 11 08:56:51 PDT 2016
Hello,
On Sun, 27 Mar 2016 16:03:48 +0200, Andrew Lunn wrote:
> > +static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
> > +{
> > + struct pcie_port *pp = arg;
> > + struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
> > + void __iomem *base = pcie->base;
> > + u32 val;
> > +
> > + val = readl(base + PCIE_GLOBAL_INT_CAUSE1_REG);
> > + writel(val, base + PCIE_GLOBAL_INT_CAUSE1_REG);
> > +
> > + return IRQ_HANDLED;
>
> Maybe a comment as to why you are just throwing them away.
I'll have a look into this.
> > +static int armada8k_pcie_probe(struct platform_device *pdev)
> > +{
> > + struct armada8k_pcie *pcie;
> > + struct pcie_port *pp;
> > + struct device *dev = &pdev->dev;
> > + struct resource *base;
> > + int ret;
> > +
> > + pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
> > + if (!pcie)
> > + return -ENOMEM;
> > +
> > + pcie->main_clk = devm_clk_get(dev, "main");
> > + if (!IS_ERR(pcie->main_clk))
> > + clk_prepare_enable(pcie->main_clk);
> > +
> > + pcie->lane_clk = devm_clk_get(dev, "port");
> > + if (!IS_ERR(pcie->lane_clk))
> > + clk_prepare_enable(pcie->lane_clk);
>
> Any need to handle -EPRODE_DEFERED here?
Is this needed? The clocks are registered in of_clk_init(), i.e at
time_init() time. This is way before the device drivers get probed, no?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the linux-arm-kernel
mailing list