Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'remotes/lorenzo/pci/xilinx-nwl'

- Document optional clock DT property (Michal Simek)

- Enable PCIe ref clock (Hyun Kwon)

* remotes/lorenzo/pci/xilinx-nwl:
PCI: xilinx-nwl: Enable the clock through CCF
dt-bindings: pci: xilinx-nwl: Document optional clock property

+13
+1
Documentation/devicetree/bindings/pci/xilinx-nwl-pcie.txt
··· 35 35 36 36 Optional properties: 37 37 - dma-coherent: present if DMA operations are coherent 38 + - clocks: Input clock specifier. Refer to common clock bindings 38 39 39 40 Example: 40 41 ++++++++
+12
drivers/pci/controller/pcie-xilinx-nwl.c
··· 6 6 * (C) Copyright 2014 - 2015, Xilinx, Inc. 7 7 */ 8 8 9 + #include <linux/clk.h> 9 10 #include <linux/delay.h> 10 11 #include <linux/interrupt.h> 11 12 #include <linux/irq.h> ··· 170 169 u8 last_busno; 171 170 struct nwl_msi msi; 172 171 struct irq_domain *legacy_irq_domain; 172 + struct clk *clk; 173 173 raw_spinlock_t leg_mask_lock; 174 174 }; 175 175 ··· 815 813 err = nwl_pcie_parse_dt(pcie, pdev); 816 814 if (err) { 817 815 dev_err(dev, "Parsing DT failed\n"); 816 + return err; 817 + } 818 + 819 + pcie->clk = devm_clk_get(dev, NULL); 820 + if (IS_ERR(pcie->clk)) 821 + return PTR_ERR(pcie->clk); 822 + 823 + err = clk_prepare_enable(pcie->clk); 824 + if (err) { 825 + dev_err(dev, "can't enable PCIe ref clock\n"); 818 826 return err; 819 827 } 820 828