All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <874lm1f7m3.fsf@bootlin.com>

diff --git a/a/1.txt b/N1/1.txt
index c2e7b4a..da9abca 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,67 +1,112 @@
-SGkgVGhvbWFzLAogCiBPbiBtZXIuLCBmw6l2ci4gMjggMjAxOCwgVGhvbWFzIFBldGF6em9uaSA8
-dGhvbWFzLnBldGF6em9uaUBib290bGluLmNvbT4gd3JvdGU6Cgo+IEhlbGxvLAo+Cj4gT24gV2Vk
-LCAyOCBGZWIgMjAxOCAxNTo0NzowNCArMDEwMCwgR3JlZ29yeSBDTEVNRU5UIHdyb3RlOgo+PiBP
-biBBcm1hZGEgN0svOEsgd2UgbmVlZCB0byBleHBsaWNpdGx5IGVuYWJsZSB0aGUgcmVnaXN0ZXIg
-Y2xvY2suIFRoaXMKPj4gY2xvY2sgaXMgb3B0aW9uYWwgYmVjYXVzZSBub3QgYWxsIHRoZSBTb0Nz
-IHVzaW5nIHRoaXMgSVAgbmVlZCBpdCBidXQgYXQKPj4gbGVhc3QgZm9yIEFybWFkYSA3Sy84SyBp
-dCBpcyBhY3R1YWxseSBtYW5kYXRvcnkuCj4+IAo+PiBUaGUgYmluZGluZyBkb2N1bWVudGF0aW9u
-IGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBHcmVnb3J5IENM
-RU1FTlQgPGdyZWdvcnkuY2xlbWVudEBib290bGluLmNvbT4KPj4gLS0tCj4+ICBEb2N1bWVudGF0
-aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQgfCAgNiArKysrKy0K
-Pj4gIGRyaXZlcnMvcGNpL2R3Yy9wY2llLWFybWFkYThrLmMgICAgICAgICAgICAgICAgICAgICAg
-ICB8IDExICsrKysrKysrKysrCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyks
-IDEgZGVsZXRpb24oLSkKPj4gCj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRy
-ZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRy
-ZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQKPj4gaW5kZXggYzFlNGMzZDEwYTc0Li45
-OTQ4YjFlOWE4ZTUgMTAwNjQ0Cj4+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k
-aW5ncy9wY2kvcGNpLWFybWFkYThrLnR4dAo+PiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRy
-ZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQKPj4gQEAgLTEyLDcgKzEyLDExIEBAIFJl
-cXVpcmVkIHByb3BlcnRpZXM6Cj4+ICAgICAtICJjdHJsIiBmb3IgdGhlIGNvbnRyb2wgcmVnaXN0
-ZXIgcmVnaW9uCj4+ICAgICAtICJjb25maWciIGZvciB0aGUgY29uZmlnIHNwYWNlIHJlZ2lvbgo+
-PiAgLSBpbnRlcnJ1cHRzOiBJbnRlcnJ1cHQgc3BlY2lmaWVyIGZvciB0aGUgUENJZSBjb250cm9s
-ZXIKPj4gLS0gY2xvY2tzOiByZWZlcmVuY2UgdG8gdGhlIFBDSWUgY29udHJvbGxlciBjbG9jawo+
-PiArLSBjbG9ja3M6IHJlZmVyZW5jZSB0byB0aGUgUENJZSBjb250cm9sbGVyIGNsb2Nrcwo+PiAr
-LSBjbG9jay1uYW1lczogbWFuZGF0b3J5IGlmIHRoZXJlIGlzIGEgc2Vjb25kIGNsb2NrLCBpbiB0
-aGlzIGNhc2UgdGhlCj4+ICsgICBuYW1lIG11c3QgYmUgImNvcmUiIGZvciB0aGUgZmlyc3QgY2xv
-Y2sgYW5kICJyZWciIGZvciB0aGUgc2Vjb25kCj4+ICsgICBvbmUKPj4gKwo+Cj4gVW5uZWVkZWQg
-bmV3IGxpbmUgYWRkZWQgaGVyZS4Kd2lsbCByZW1vdmVkIGl0Cgo+Cj4+ICAKPj4gIEV4YW1wbGU6
-Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2R3Yy9wY2llLWFybWFkYThrLmMgYi9k
-cml2ZXJzL3BjaS9kd2MvcGNpZS1hcm1hZGE4ay5jCj4+IGluZGV4IGY5YjFhZWMyNWM1Yy4uYWE0
-ZTVjYzRhYjdiIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3BjaS9kd2MvcGNpZS1hcm1hZGE4ay5j
-Cj4+ICsrKyBiL2RyaXZlcnMvcGNpL2R3Yy9wY2llLWFybWFkYThrLmMKPj4gQEAgLTI4LDYgKzI4
-LDcgQEAKPj4gIHN0cnVjdCBhcm1hZGE4a19wY2llIHsKPj4gIAlzdHJ1Y3QgZHdfcGNpZSAqcGNp
-Owo+PiAgCXN0cnVjdCBjbGsgKmNsazsKPj4gKwlzdHJ1Y3QgY2xrICpjbGtfcmVnOwo+PiAgfTsK
-Pj4gIAo+PiAgI2RlZmluZSBQQ0lFX1ZFTkRPUl9SRUdTX09GRlNFVAkJMHg4MDAwCj4+IEBAIC0y
-MjksNiArMjMwLDE1IEBAIHN0YXRpYyBpbnQgYXJtYWRhOGtfcGNpZV9wcm9iZShzdHJ1Y3QgcGxh
-dGZvcm1fZGV2aWNlICpwZGV2KQo+PiAgCWlmIChyZXQpCj4+ICAJCXJldHVybiByZXQ7Cj4+ICAK
-Pj4gKwlpZiAoSVNfRVJSKHBjaWUtPmNsa19yZWcpICYmIFBUUl9FUlIocGNpZS0+Y2xrX3JlZykg
-PT0gLUVQUk9CRV9ERUZFUikgewo+PiArCQljbGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+Y2xr
-KTsKPj4gKwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4+ICsJfQo+PiArCWlmICghSVNfRVJSKHBj
-aWUtPmNsa19yZWcpKSB7Cj4+ICsJCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwY2llLT5jbGtf
-cmVnKTsKPj4gKwkJaWYgKHJldCkKPj4gKwkJCWdvdG8gZmFpbDsKPj4gKwl9Cj4+ICAJLyogR2V0
-IHRoZSBkdy1wY2llIHVuaXQgY29uZmlndXJhdGlvbi9jb250cm9sIHJlZ2lzdGVycyBiYXNlLiAq
-Lwo+Cj4gTWlzc2luZyBuZXcgbGluZSBiZXR3ZWVuIHRoZSBlbmQgb2YgdGhlIGJsb2NrIGFuZCB0
-aGUgbmV4dCBjb21tZW50Lgo+Ck9LCgo+IFJlZ2FyZGluZyB0aGUgZXJyb3IgaGFuZGxpbmcsIGRv
-ZXNuJ3QgaXQgbWFrZSBtb3JlIHNlbnNlIHRvIGFsc28gdXNlIGEKPiBnb3RvIGxhYmVsIHRvIGRp
-c2FibGUgcGNpZS0+Y2xrIHdoZW4gZ2V0dGluZyB0aGUgc2Vjb25kIGNsb2NrIGdldHMgYQo+IC1F
-UFJPQkVfREVGRVIgPwo+Cj4+ICAJYmFzZSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUo
-cGRldiwgSU9SRVNPVVJDRV9NRU0sICJjdHJsIik7Cj4+ICAJcGNpLT5kYmlfYmFzZSA9IGRldm1f
-cGNpX3JlbWFwX2NmZ19yZXNvdXJjZShkZXYsIGJhc2UpOwo+PiBAQCAtMjQ3LDYgKzI1Nyw3IEBA
-IHN0YXRpYyBpbnQgYXJtYWRhOGtfcGNpZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw
-ZGV2KQo+PiAgCXJldHVybiAwOwo+PiAgCj4+ICBmYWlsOgo+PiArCWNsa19kaXNhYmxlX3VucHJl
-cGFyZShwY2llLT5jbGtfcmVnKTsKPgo+IFNvIHlvdSBhcmUgZGlzYWJsaW5nL3VucHJlcGFyaW5n
-IHRoZSBjbG9jaywgd2hpY2ggZmFpbGVkIHRvCj4gcHJlcGFyZS9lbmFibGUgPwoKSSB3YXMgdGhp
-bmtpbmcgdG8gYSBzaW5nbGUgdXNlciwgaW4gdGhpcyBjYXNlIGlmIHRoZSBwcmVwYXJlL2VuYWJs
-ZQpmYWlsZWQgdGhlbiB0aGUgZGlzYWJsaW5nL3VucHJlcGFyaW5nIGRvIG5vdGhpbmcgYmVjYXVz
-ZSB0aGUgY291bnRlciBpcwphbHJlYWR5IHRvIDAuIEJ1dCBpbmRlZWQgaW4gY2FzZSBvZiBtdWx0
-aXBsZSB1c2VycyBvZiB0aGUgY2xvY2ssIHRoZW4gdGhlCmNvdW50ZXIgY291bGQgYmUgd3Jvbmds
-eSBkZWNyZWFzZS4gSSB3aWxsIG1vZGlmeSBpdCBieSBhZGRpbmcgYSBvdGhlcgpsYWJlbC4KClRo
-YW5rcywKCkdyZWdvcnkKCj4KPj4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+Y2xrKTsK
-Pj4gIAo+PiAgCXJldHVybiByZXQ7Cj4KPiBUaG9tYXMKPiAtLSAKPiBUaG9tYXMgUGV0YXp6b25p
-LCBDVE8sIEJvb3RsaW4gKGZvcm1lcmx5IEZyZWUgRWxlY3Ryb25zKQo+IEVtYmVkZGVkIExpbnV4
-IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKPiBodHRwOi8vYm9vdGxpbi5jb20KCi0tIApHcmVnb3J5
-IENsZW1lbnQsIEJvb3RsaW4gKGZvcm1lcmx5IEZyZWUgRWxlY3Ryb25zKQpFbWJlZGRlZCBMaW51
-eCBhbmQgS2VybmVsIGVuZ2luZWVyaW5nCmh0dHA6Ly9ib290bGluLmNvbQoKX19fX19fX19fX19f
-X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls
-aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0
-cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=
+Hi Thomas,
+ 
+ On mer., f?vr. 28 2018, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
+
+> Hello,
+>
+> On Wed, 28 Feb 2018 15:47:04 +0100, Gregory CLEMENT wrote:
+>> On Armada 7K/8K we need to explicitly enable the register clock. This
+>> clock is optional because not all the SoCs using this IP need it but at
+>> least for Armada 7K/8K it is actually mandatory.
+>> 
+>> The binding documentation is updated accordingly.
+>> 
+>> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
+>> ---
+>>  Documentation/devicetree/bindings/pci/pci-armada8k.txt |  6 +++++-
+>>  drivers/pci/dwc/pcie-armada8k.c                        | 11 +++++++++++
+>>  2 files changed, 16 insertions(+), 1 deletion(-)
+>> 
+>> diff --git a/Documentation/devicetree/bindings/pci/pci-armada8k.txt b/Documentation/devicetree/bindings/pci/pci-armada8k.txt
+>> index c1e4c3d10a74..9948b1e9a8e5 100644
+>> --- a/Documentation/devicetree/bindings/pci/pci-armada8k.txt
+>> +++ b/Documentation/devicetree/bindings/pci/pci-armada8k.txt
+>> @@ -12,7 +12,11 @@ Required properties:
+>>     - "ctrl" for the control register region
+>>     - "config" for the config space region
+>>  - interrupts: Interrupt specifier for the PCIe controler
+>> -- clocks: reference to the PCIe controller clock
+>> +- clocks: reference to the PCIe controller clocks
+>> +- clock-names: mandatory if there is a second clock, in this case the
+>> +   name must be "core" for the first clock and "reg" for the second
+>> +   one
+>> +
+>
+> Unneeded new line added here.
+will removed it
+
+>
+>>  
+>>  Example:
+>>  
+>> diff --git a/drivers/pci/dwc/pcie-armada8k.c b/drivers/pci/dwc/pcie-armada8k.c
+>> index f9b1aec25c5c..aa4e5cc4ab7b 100644
+>> --- a/drivers/pci/dwc/pcie-armada8k.c
+>> +++ b/drivers/pci/dwc/pcie-armada8k.c
+>> @@ -28,6 +28,7 @@
+>>  struct armada8k_pcie {
+>>  	struct dw_pcie *pci;
+>>  	struct clk *clk;
+>> +	struct clk *clk_reg;
+>>  };
+>>  
+>>  #define PCIE_VENDOR_REGS_OFFSET		0x8000
+>> @@ -229,6 +230,15 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
+>>  	if (ret)
+>>  		return ret;
+>>  
+>> +	if (IS_ERR(pcie->clk_reg) && PTR_ERR(pcie->clk_reg) == -EPROBE_DEFER) {
+>> +		clk_disable_unprepare(pcie->clk);
+>> +		return -EPROBE_DEFER;
+>> +	}
+>> +	if (!IS_ERR(pcie->clk_reg)) {
+>> +		ret = clk_prepare_enable(pcie->clk_reg);
+>> +		if (ret)
+>> +			goto fail;
+>> +	}
+>>  	/* Get the dw-pcie unit configuration/control registers base. */
+>
+> Missing new line between the end of the block and the next comment.
+>
+OK
+
+> Regarding the error handling, doesn't it make more sense to also use a
+> goto label to disable pcie->clk when getting the second clock gets a
+> -EPROBE_DEFER ?
+>
+>>  	base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ctrl");
+>>  	pci->dbi_base = devm_pci_remap_cfg_resource(dev, base);
+>> @@ -247,6 +257,7 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
+>>  	return 0;
+>>  
+>>  fail:
+>> +	clk_disable_unprepare(pcie->clk_reg);
+>
+> So you are disabling/unpreparing the clock, which failed to
+> prepare/enable ?
+
+I was thinking to a single user, in this case if the prepare/enable
+failed then the disabling/unpreparing do nothing because the counter is
+already to 0. But indeed in case of multiple users of the clock, then the
+counter could be wrongly decrease. I will modify it by adding a other
+label.
+
+Thanks,
+
+Gregory
+
+>
+>>  	clk_disable_unprepare(pcie->clk);
+>>  
+>>  	return ret;
+>
+> Thomas
+> -- 
+> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
+> Embedded Linux and Kernel engineering
+> http://bootlin.com
+
+-- 
+Gregory Clement, Bootlin (formerly Free Electrons)
+Embedded Linux and Kernel engineering
+http://bootlin.com
diff --git a/a/content_digest b/N1/content_digest
index 5727c1b..9c3f7fd 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,93 +1,123 @@
  "ref\020180228144704.12947-1-gregory.clement@bootlin.com\0"
  "ref\020180228144704.12947-3-gregory.clement@bootlin.com\0"
  "ref\020180228155350.0221a90f@windsurf.lan\0"
- "From\0Gregory CLEMENT <gregory.clement@bootlin.com>\0"
- "Subject\0Re: [PATCH 2/2] PCI: armada8k: Fix clock resource by adding a register clock\0"
+ "From\0gregory.clement@bootlin.com (Gregory CLEMENT)\0"
+ "Subject\0[PATCH 2/2] PCI: armada8k: Fix clock resource by adding a register clock\0"
  "Date\0Wed, 28 Feb 2018 16:37:24 +0100\0"
- "To\0Thomas Petazzoni <thomas.petazzoni@bootlin.com>\0"
- "Cc\0Andrew Lunn <andrew@lunn.ch>"
-  Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-  Jason Cooper <jason@lakedaemon.net>
-  Antoine Tenart <antoine.tenart@bootlin.com>
-  linux-pci@vger.kernel.org
-  Hanna Hawa <hannah@marvell.com>
-  Omri Itach <omrii@marvell.com>
-  Nadav Haklai <nadavh@marvell.com>
-  Shadi Ammouri <shadi@marvell.com>
-  Igal Liberman <igall@marvell.com>
- " Miqu\303\250l Raynal <miquel.raynal@bootlin.com>"
-  Bjorn Helgaas <bhelgaas@google.com>
-  Marcin Wojtas <mw@semihalf.com>
-  linux-arm-kernel@lists.infradead.org
- " Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
- "SGkgVGhvbWFzLAogCiBPbiBtZXIuLCBmw6l2ci4gMjggMjAxOCwgVGhvbWFzIFBldGF6em9uaSA8\n"
- "dGhvbWFzLnBldGF6em9uaUBib290bGluLmNvbT4gd3JvdGU6Cgo+IEhlbGxvLAo+Cj4gT24gV2Vk\n"
- "LCAyOCBGZWIgMjAxOCAxNTo0NzowNCArMDEwMCwgR3JlZ29yeSBDTEVNRU5UIHdyb3RlOgo+PiBP\n"
- "biBBcm1hZGEgN0svOEsgd2UgbmVlZCB0byBleHBsaWNpdGx5IGVuYWJsZSB0aGUgcmVnaXN0ZXIg\n"
- "Y2xvY2suIFRoaXMKPj4gY2xvY2sgaXMgb3B0aW9uYWwgYmVjYXVzZSBub3QgYWxsIHRoZSBTb0Nz\n"
- "IHVzaW5nIHRoaXMgSVAgbmVlZCBpdCBidXQgYXQKPj4gbGVhc3QgZm9yIEFybWFkYSA3Sy84SyBp\n"
- "dCBpcyBhY3R1YWxseSBtYW5kYXRvcnkuCj4+IAo+PiBUaGUgYmluZGluZyBkb2N1bWVudGF0aW9u\n"
- "IGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBHcmVnb3J5IENM\n"
- "RU1FTlQgPGdyZWdvcnkuY2xlbWVudEBib290bGluLmNvbT4KPj4gLS0tCj4+ICBEb2N1bWVudGF0\n"
- "aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQgfCAgNiArKysrKy0K\n"
- "Pj4gIGRyaXZlcnMvcGNpL2R3Yy9wY2llLWFybWFkYThrLmMgICAgICAgICAgICAgICAgICAgICAg\n"
- "ICB8IDExICsrKysrKysrKysrCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyks\n"
- "IDEgZGVsZXRpb24oLSkKPj4gCj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRy\n"
- "ZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRy\n"
- "ZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQKPj4gaW5kZXggYzFlNGMzZDEwYTc0Li45\n"
- "OTQ4YjFlOWE4ZTUgMTAwNjQ0Cj4+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k\n"
- "aW5ncy9wY2kvcGNpLWFybWFkYThrLnR4dAo+PiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRy\n"
- "ZWUvYmluZGluZ3MvcGNpL3BjaS1hcm1hZGE4ay50eHQKPj4gQEAgLTEyLDcgKzEyLDExIEBAIFJl\n"
- "cXVpcmVkIHByb3BlcnRpZXM6Cj4+ICAgICAtICJjdHJsIiBmb3IgdGhlIGNvbnRyb2wgcmVnaXN0\n"
- "ZXIgcmVnaW9uCj4+ICAgICAtICJjb25maWciIGZvciB0aGUgY29uZmlnIHNwYWNlIHJlZ2lvbgo+\n"
- "PiAgLSBpbnRlcnJ1cHRzOiBJbnRlcnJ1cHQgc3BlY2lmaWVyIGZvciB0aGUgUENJZSBjb250cm9s\n"
- "ZXIKPj4gLS0gY2xvY2tzOiByZWZlcmVuY2UgdG8gdGhlIFBDSWUgY29udHJvbGxlciBjbG9jawo+\n"
- "PiArLSBjbG9ja3M6IHJlZmVyZW5jZSB0byB0aGUgUENJZSBjb250cm9sbGVyIGNsb2Nrcwo+PiAr\n"
- "LSBjbG9jay1uYW1lczogbWFuZGF0b3J5IGlmIHRoZXJlIGlzIGEgc2Vjb25kIGNsb2NrLCBpbiB0\n"
- "aGlzIGNhc2UgdGhlCj4+ICsgICBuYW1lIG11c3QgYmUgImNvcmUiIGZvciB0aGUgZmlyc3QgY2xv\n"
- "Y2sgYW5kICJyZWciIGZvciB0aGUgc2Vjb25kCj4+ICsgICBvbmUKPj4gKwo+Cj4gVW5uZWVkZWQg\n"
- "bmV3IGxpbmUgYWRkZWQgaGVyZS4Kd2lsbCByZW1vdmVkIGl0Cgo+Cj4+ICAKPj4gIEV4YW1wbGU6\n"
- "Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2R3Yy9wY2llLWFybWFkYThrLmMgYi9k\n"
- "cml2ZXJzL3BjaS9kd2MvcGNpZS1hcm1hZGE4ay5jCj4+IGluZGV4IGY5YjFhZWMyNWM1Yy4uYWE0\n"
- "ZTVjYzRhYjdiIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3BjaS9kd2MvcGNpZS1hcm1hZGE4ay5j\n"
- "Cj4+ICsrKyBiL2RyaXZlcnMvcGNpL2R3Yy9wY2llLWFybWFkYThrLmMKPj4gQEAgLTI4LDYgKzI4\n"
- "LDcgQEAKPj4gIHN0cnVjdCBhcm1hZGE4a19wY2llIHsKPj4gIAlzdHJ1Y3QgZHdfcGNpZSAqcGNp\n"
- "Owo+PiAgCXN0cnVjdCBjbGsgKmNsazsKPj4gKwlzdHJ1Y3QgY2xrICpjbGtfcmVnOwo+PiAgfTsK\n"
- "Pj4gIAo+PiAgI2RlZmluZSBQQ0lFX1ZFTkRPUl9SRUdTX09GRlNFVAkJMHg4MDAwCj4+IEBAIC0y\n"
- "MjksNiArMjMwLDE1IEBAIHN0YXRpYyBpbnQgYXJtYWRhOGtfcGNpZV9wcm9iZShzdHJ1Y3QgcGxh\n"
- "dGZvcm1fZGV2aWNlICpwZGV2KQo+PiAgCWlmIChyZXQpCj4+ICAJCXJldHVybiByZXQ7Cj4+ICAK\n"
- "Pj4gKwlpZiAoSVNfRVJSKHBjaWUtPmNsa19yZWcpICYmIFBUUl9FUlIocGNpZS0+Y2xrX3JlZykg\n"
- "PT0gLUVQUk9CRV9ERUZFUikgewo+PiArCQljbGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+Y2xr\n"
- "KTsKPj4gKwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4+ICsJfQo+PiArCWlmICghSVNfRVJSKHBj\n"
- "aWUtPmNsa19yZWcpKSB7Cj4+ICsJCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwY2llLT5jbGtf\n"
- "cmVnKTsKPj4gKwkJaWYgKHJldCkKPj4gKwkJCWdvdG8gZmFpbDsKPj4gKwl9Cj4+ICAJLyogR2V0\n"
- "IHRoZSBkdy1wY2llIHVuaXQgY29uZmlndXJhdGlvbi9jb250cm9sIHJlZ2lzdGVycyBiYXNlLiAq\n"
- "Lwo+Cj4gTWlzc2luZyBuZXcgbGluZSBiZXR3ZWVuIHRoZSBlbmQgb2YgdGhlIGJsb2NrIGFuZCB0\n"
- "aGUgbmV4dCBjb21tZW50Lgo+Ck9LCgo+IFJlZ2FyZGluZyB0aGUgZXJyb3IgaGFuZGxpbmcsIGRv\n"
- "ZXNuJ3QgaXQgbWFrZSBtb3JlIHNlbnNlIHRvIGFsc28gdXNlIGEKPiBnb3RvIGxhYmVsIHRvIGRp\n"
- "c2FibGUgcGNpZS0+Y2xrIHdoZW4gZ2V0dGluZyB0aGUgc2Vjb25kIGNsb2NrIGdldHMgYQo+IC1F\n"
- "UFJPQkVfREVGRVIgPwo+Cj4+ICAJYmFzZSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUo\n"
- "cGRldiwgSU9SRVNPVVJDRV9NRU0sICJjdHJsIik7Cj4+ICAJcGNpLT5kYmlfYmFzZSA9IGRldm1f\n"
- "cGNpX3JlbWFwX2NmZ19yZXNvdXJjZShkZXYsIGJhc2UpOwo+PiBAQCAtMjQ3LDYgKzI1Nyw3IEBA\n"
- "IHN0YXRpYyBpbnQgYXJtYWRhOGtfcGNpZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw\n"
- "ZGV2KQo+PiAgCXJldHVybiAwOwo+PiAgCj4+ICBmYWlsOgo+PiArCWNsa19kaXNhYmxlX3VucHJl\n"
- "cGFyZShwY2llLT5jbGtfcmVnKTsKPgo+IFNvIHlvdSBhcmUgZGlzYWJsaW5nL3VucHJlcGFyaW5n\n"
- "IHRoZSBjbG9jaywgd2hpY2ggZmFpbGVkIHRvCj4gcHJlcGFyZS9lbmFibGUgPwoKSSB3YXMgdGhp\n"
- "bmtpbmcgdG8gYSBzaW5nbGUgdXNlciwgaW4gdGhpcyBjYXNlIGlmIHRoZSBwcmVwYXJlL2VuYWJs\n"
- "ZQpmYWlsZWQgdGhlbiB0aGUgZGlzYWJsaW5nL3VucHJlcGFyaW5nIGRvIG5vdGhpbmcgYmVjYXVz\n"
- "ZSB0aGUgY291bnRlciBpcwphbHJlYWR5IHRvIDAuIEJ1dCBpbmRlZWQgaW4gY2FzZSBvZiBtdWx0\n"
- "aXBsZSB1c2VycyBvZiB0aGUgY2xvY2ssIHRoZW4gdGhlCmNvdW50ZXIgY291bGQgYmUgd3Jvbmds\n"
- "eSBkZWNyZWFzZS4gSSB3aWxsIG1vZGlmeSBpdCBieSBhZGRpbmcgYSBvdGhlcgpsYWJlbC4KClRo\n"
- "YW5rcywKCkdyZWdvcnkKCj4KPj4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+Y2xrKTsK\n"
- "Pj4gIAo+PiAgCXJldHVybiByZXQ7Cj4KPiBUaG9tYXMKPiAtLSAKPiBUaG9tYXMgUGV0YXp6b25p\n"
- "LCBDVE8sIEJvb3RsaW4gKGZvcm1lcmx5IEZyZWUgRWxlY3Ryb25zKQo+IEVtYmVkZGVkIExpbnV4\n"
- "IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKPiBodHRwOi8vYm9vdGxpbi5jb20KCi0tIApHcmVnb3J5\n"
- "IENsZW1lbnQsIEJvb3RsaW4gKGZvcm1lcmx5IEZyZWUgRWxlY3Ryb25zKQpFbWJlZGRlZCBMaW51\n"
- "eCBhbmQgS2VybmVsIGVuZ2luZWVyaW5nCmh0dHA6Ly9ib290bGluLmNvbQoKX19fX19fX19fX19f\n"
- "X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls\n"
- "aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0\n"
- cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=
+ "Hi Thomas,\n"
+ " \n"
+ " On mer., f?vr. 28 2018, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:\n"
+ "\n"
+ "> Hello,\n"
+ ">\n"
+ "> On Wed, 28 Feb 2018 15:47:04 +0100, Gregory CLEMENT wrote:\n"
+ ">> On Armada 7K/8K we need to explicitly enable the register clock. This\n"
+ ">> clock is optional because not all the SoCs using this IP need it but at\n"
+ ">> least for Armada 7K/8K it is actually mandatory.\n"
+ ">> \n"
+ ">> The binding documentation is updated accordingly.\n"
+ ">> \n"
+ ">> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>\n"
+ ">> ---\n"
+ ">>  Documentation/devicetree/bindings/pci/pci-armada8k.txt |  6 +++++-\n"
+ ">>  drivers/pci/dwc/pcie-armada8k.c                        | 11 +++++++++++\n"
+ ">>  2 files changed, 16 insertions(+), 1 deletion(-)\n"
+ ">> \n"
+ ">> diff --git a/Documentation/devicetree/bindings/pci/pci-armada8k.txt b/Documentation/devicetree/bindings/pci/pci-armada8k.txt\n"
+ ">> index c1e4c3d10a74..9948b1e9a8e5 100644\n"
+ ">> --- a/Documentation/devicetree/bindings/pci/pci-armada8k.txt\n"
+ ">> +++ b/Documentation/devicetree/bindings/pci/pci-armada8k.txt\n"
+ ">> @@ -12,7 +12,11 @@ Required properties:\n"
+ ">>     - \"ctrl\" for the control register region\n"
+ ">>     - \"config\" for the config space region\n"
+ ">>  - interrupts: Interrupt specifier for the PCIe controler\n"
+ ">> -- clocks: reference to the PCIe controller clock\n"
+ ">> +- clocks: reference to the PCIe controller clocks\n"
+ ">> +- clock-names: mandatory if there is a second clock, in this case the\n"
+ ">> +   name must be \"core\" for the first clock and \"reg\" for the second\n"
+ ">> +   one\n"
+ ">> +\n"
+ ">\n"
+ "> Unneeded new line added here.\n"
+ "will removed it\n"
+ "\n"
+ ">\n"
+ ">>  \n"
+ ">>  Example:\n"
+ ">>  \n"
+ ">> diff --git a/drivers/pci/dwc/pcie-armada8k.c b/drivers/pci/dwc/pcie-armada8k.c\n"
+ ">> index f9b1aec25c5c..aa4e5cc4ab7b 100644\n"
+ ">> --- a/drivers/pci/dwc/pcie-armada8k.c\n"
+ ">> +++ b/drivers/pci/dwc/pcie-armada8k.c\n"
+ ">> @@ -28,6 +28,7 @@\n"
+ ">>  struct armada8k_pcie {\n"
+ ">>  \tstruct dw_pcie *pci;\n"
+ ">>  \tstruct clk *clk;\n"
+ ">> +\tstruct clk *clk_reg;\n"
+ ">>  };\n"
+ ">>  \n"
+ ">>  #define PCIE_VENDOR_REGS_OFFSET\t\t0x8000\n"
+ ">> @@ -229,6 +230,15 @@ static int armada8k_pcie_probe(struct platform_device *pdev)\n"
+ ">>  \tif (ret)\n"
+ ">>  \t\treturn ret;\n"
+ ">>  \n"
+ ">> +\tif (IS_ERR(pcie->clk_reg) && PTR_ERR(pcie->clk_reg) == -EPROBE_DEFER) {\n"
+ ">> +\t\tclk_disable_unprepare(pcie->clk);\n"
+ ">> +\t\treturn -EPROBE_DEFER;\n"
+ ">> +\t}\n"
+ ">> +\tif (!IS_ERR(pcie->clk_reg)) {\n"
+ ">> +\t\tret = clk_prepare_enable(pcie->clk_reg);\n"
+ ">> +\t\tif (ret)\n"
+ ">> +\t\t\tgoto fail;\n"
+ ">> +\t}\n"
+ ">>  \t/* Get the dw-pcie unit configuration/control registers base. */\n"
+ ">\n"
+ "> Missing new line between the end of the block and the next comment.\n"
+ ">\n"
+ "OK\n"
+ "\n"
+ "> Regarding the error handling, doesn't it make more sense to also use a\n"
+ "> goto label to disable pcie->clk when getting the second clock gets a\n"
+ "> -EPROBE_DEFER ?\n"
+ ">\n"
+ ">>  \tbase = platform_get_resource_byname(pdev, IORESOURCE_MEM, \"ctrl\");\n"
+ ">>  \tpci->dbi_base = devm_pci_remap_cfg_resource(dev, base);\n"
+ ">> @@ -247,6 +257,7 @@ static int armada8k_pcie_probe(struct platform_device *pdev)\n"
+ ">>  \treturn 0;\n"
+ ">>  \n"
+ ">>  fail:\n"
+ ">> +\tclk_disable_unprepare(pcie->clk_reg);\n"
+ ">\n"
+ "> So you are disabling/unpreparing the clock, which failed to\n"
+ "> prepare/enable ?\n"
+ "\n"
+ "I was thinking to a single user, in this case if the prepare/enable\n"
+ "failed then the disabling/unpreparing do nothing because the counter is\n"
+ "already to 0. But indeed in case of multiple users of the clock, then the\n"
+ "counter could be wrongly decrease. I will modify it by adding a other\n"
+ "label.\n"
+ "\n"
+ "Thanks,\n"
+ "\n"
+ "Gregory\n"
+ "\n"
+ ">\n"
+ ">>  \tclk_disable_unprepare(pcie->clk);\n"
+ ">>  \n"
+ ">>  \treturn ret;\n"
+ ">\n"
+ "> Thomas\n"
+ "> -- \n"
+ "> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)\n"
+ "> Embedded Linux and Kernel engineering\n"
+ "> http://bootlin.com\n"
+ "\n"
+ "-- \n"
+ "Gregory Clement, Bootlin (formerly Free Electrons)\n"
+ "Embedded Linux and Kernel engineering\n"
+ http://bootlin.com
 
-aef0aeb3fd55da1eacd082b2a2d3a8bbeebe38d63e20e8691b8cebeb5c682208
+8276572fbfe10af50b96d2e29b50d4ffd862317c180980c5abfcb127e1bdb2e8

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.