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 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html