From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Lezcano Subject: Re: [PATCH v3 01/23] thermal: armada: add a function that sanitizes the thermal zone name Date: Fri, 27 Jul 2018 13:34:19 +0200 Message-ID: <84f97022-a470-f314-ee75-e5afb733bea5@linaro.org> References: <20180716144206.30985-1-miquel.raynal@bootlin.com> <20180716144206.30985-2-miquel.raynal@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180716144206.30985-2-miquel.raynal@bootlin.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Miquel Raynal , Gregory Clement , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Zhang Rui , Eduardo Valentin Cc: Mark Rutland , devicetree@vger.kernel.org, linux-pm@vger.kernel.org, Antoine Tenart , Catalin Marinas , Will Deacon , Maxime Chevallier , Nadav Haklai , David Sniatkiwicz , Rob Herring , Thomas Petazzoni , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org T24gMTYvMDcvMjAxOCAxNjo0MSwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiBUaGVybWFsIHpvbmUg bmFtZXMgbXVzdCBmb2xsb3cgY2VydGFpbiBydWxlcyBpbXBvc2VkIGJ5IHRoZSBmcmFtZXdvcmsu Cj4gVGhleSBhcmUgbGltaXRlZCBpbiBsZW5ndGggYW5kIHNoYWxsIG5vdCBoYXZlIGFueSBoeXBo ZW4gJy0nLgo+IAo+IFRoaXMgaXMgZG9uZSBpbiBhIHNlcGFyYXRlIGZ1bmN0aW9uIGZvciBmdXR1 cmUgdXNlIGluIGFub3RoZXIgbG9jYXRpb24uCj4gCj4gU2lnbmVkLW9mZi1ieTogTWlxdWVsIFJh eW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4KCldoeSBkbyB5b3UgaGF2ZSB0byBwcm92 aWRlIGEgZnVuY3Rpb24gdG8gdGVzdCB0aGF0PwoKTG9naWNhbGx5LCB0aGUgb25lIHdobyBkaWQg dGhlIGNoYW5nZSB0byBhZGQgYSB0aGVybWFsIG5hbWUsIHNob3VsZApjaGVjayBpdHMgY29kZSB3 b3Jrcy4gV2l0aG91dCBhIHByb3BlciBuYW1lIHRoYXQgd29uJ3Qgd29yay4KClNvIHRoaXMgZnVu Y3Rpb24gaXMgdGVzdGluZyBzb21ldGhpbmcgd2hpY2ggc2hvdWxkIGJlIGFscmVhZHkgdGVzdGVk LCBubz8KCgoKPiAtLS0KPiAgZHJpdmVycy90aGVybWFsL2FybWFkYV90aGVybWFsLmMgfCAzNiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgMSBmaWxlIGNoYW5nZWQsIDM1 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy90 aGVybWFsL2FybWFkYV90aGVybWFsLmMgYi9kcml2ZXJzL3RoZXJtYWwvYXJtYWRhX3RoZXJtYWwu Ywo+IGluZGV4IDRjMjc1ZWMxMGFjNS4uMDc3ZThlNTYyMzA2IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvdGhlcm1hbC9hcm1hZGFfdGhlcm1hbC5jCj4gKysrIGIvZHJpdmVycy90aGVybWFsL2FybWFk YV90aGVybWFsLmMKPiBAQCAtNzAsNiArNzAsNyBAQCBzdHJ1Y3QgYXJtYWRhX3RoZXJtYWxfcHJp diB7Cj4gIAl2b2lkIF9faW9tZW0gKnN0YXR1czsKPiAgCXZvaWQgX19pb21lbSAqY29udHJvbDA7 Cj4gIAl2b2lkIF9faW9tZW0gKmNvbnRyb2wxOwo+ICsJY2hhciB6b25lX25hbWVbVEhFUk1BTF9O QU1FX0xFTkdUSF07Cj4gIAlzdHJ1Y3QgYXJtYWRhX3RoZXJtYWxfZGF0YSAqZGF0YTsKPiAgfTsK PiAgCj4gQEAgLTM1Myw2ICszNTQsMzYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgYXJtYWRhX3RoZXJtYWxfaWRfdGFibGVbXSA9IHsKPiAgfTsKPiAgTU9EVUxFX0RFVklDRV9U QUJMRShvZiwgYXJtYWRhX3RoZXJtYWxfaWRfdGFibGUpOwo+ICAKPiArc3RhdGljIHZvaWQgYXJt YWRhX3NldF9zYW5lX25hbWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiArCQkJCSBz dHJ1Y3QgYXJtYWRhX3RoZXJtYWxfcHJpdiAqcHJpdikKPiArewo+ICsJY29uc3QgY2hhciAqbmFt ZSA9IGRldl9uYW1lKCZwZGV2LT5kZXYpOwo+ICsJY2hhciAqaW5zYW5lX2NoYXI7Cj4gKwo+ICsJ aWYgKHN0cmxlbihuYW1lKSA+IFRIRVJNQUxfTkFNRV9MRU5HVEgpIHsKPiArCQkvKgo+ICsJCSAq IFdoZW4gaW5zaWRlIGEgc3lzdGVtIGNvbnRyb2xsZXIsIHRoZSBkZXZpY2UgbmFtZSBoYXMgdGhl Cj4gKwkJICogZm9ybTogZjA2ZjgwMDAuc3lzdGVtLWNvbnRyb2xsZXI6YXAtdGhlcm1hbCBzbyBz dHJpcHBpbmcKPiArCQkgKiBhZnRlciB0aGUgJzonIHNob3VsZCBnaXZlIHVzIGEgc2hvcnRlciBi dXQgbWVhbmluZ2Z1bCBuYW1lLgo+ICsJCSAqLwo+ICsJCW5hbWUgPSBzdHJyY2hyKG5hbWUsICc6 Jyk7Cj4gKwkJaWYgKCFuYW1lKQo+ICsJCQluYW1lID0gImFybWFkYV90aGVybWFsIjsKPiArCQll bHNlCj4gKwkJCW5hbWUrKzsKPiArCX0KPiArCj4gKwkvKiBTYXZlIHRoZSBuYW1lIGxvY2FsbHkg Ki8KPiArCXN0cm5jcHkocHJpdi0+em9uZV9uYW1lLCBuYW1lLCBUSEVSTUFMX05BTUVfTEVOR1RI KTsKPiArCj4gKwkvKiBUaGVuIGNoZWNrIHRoZXJlIGFyZSBubyAnLScgb3IgaHdtb24gY29yZSB3 aWxsIGNvbXBsYWluICovCj4gKwlkbyB7Cj4gKwkJaW5zYW5lX2NoYXIgPSBzdHJwYnJrKHByaXYt PnpvbmVfbmFtZSwgIi0iKTsKPiArCQlpZiAoaW5zYW5lX2NoYXIpCj4gKwkJCSppbnNhbmVfY2hh ciA9ICdfJzsKPiArCX0gd2hpbGUgKGluc2FuZV9jaGFyKTsKPiArfQo+ICsKPiAgc3RhdGljIGlu dCBhcm1hZGFfdGhlcm1hbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICB7 Cj4gIAl2b2lkIF9faW9tZW0gKmNvbnRyb2wgPSBOVUxMOwo+IEBAIC0zODEsNiArNDEyLDkgQEAg c3RhdGljIGludCBhcm1hZGFfdGhlcm1hbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICAKPiAgCXByaXYtPmRhdGEgPSAoc3RydWN0IGFybWFkYV90aGVybWFsX2RhdGEgKilt YXRjaC0+ZGF0YTsKPiAgCj4gKwkvKiBFbnN1cmUgZGV2aWNlIG5hbWUgaXMgY29ycmVjdCBmb3Ig dGhlIHRoZXJtYWwgY29yZSAqLwo+ICsJYXJtYWRhX3NldF9zYW5lX25hbWUocGRldiwgcHJpdik7 Cj4gKwo+ICAJLyoKPiAgCSAqIExlZ2FjeSBEVCBiaW5kaW5ncyBvbmx5IGRlc2NyaWJlZCAiY29u dHJvbDEiIHJlZ2lzdGVyIChhbHNvIHJlZmVycmVkCj4gIAkgKiBhcyAiY29udHJvbCBNU0IiIG9u IG9sZCBkb2N1bWVudGF0aW9uKS4gTmV3IGJpbmRpbmdzIGNvdmVyCj4gQEAgLTQwMiw3ICs0MzYs NyBAQCBzdGF0aWMgaW50IGFybWFkYV90aGVybWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCj4gIAo+ICAJcHJpdi0+ZGF0YS0+aW5pdF9zZW5zb3IocGRldiwgcHJpdik7Cj4g IAo+IC0JdGhlcm1hbCA9IHRoZXJtYWxfem9uZV9kZXZpY2VfcmVnaXN0ZXIoZGV2X25hbWUoJnBk ZXYtPmRldiksIDAsIDAsIHByaXYsCj4gKwl0aGVybWFsID0gdGhlcm1hbF96b25lX2RldmljZV9y ZWdpc3Rlcihwcml2LT56b25lX25hbWUsIDAsIDAsIHByaXYsCj4gIAkJCQkJICAgICAgICZvcHMs IE5VTEwsIDAsIDApOwo+ICAJaWYgKElTX0VSUih0aGVybWFsKSkgewo+ICAJCWRldl9lcnIoJnBk ZXYtPmRldiwKPiAKCgotLSAKIDxodHRwOi8vd3d3LmxpbmFyby5vcmcvPiBMaW5hcm8ub3JnIOKU giBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQVJNIFNvQ3MKCkZvbGxvdyBMaW5hcm86ICA8aHR0 cDovL3d3dy5mYWNlYm9vay5jb20vcGFnZXMvTGluYXJvPiBGYWNlYm9vayB8CjxodHRwOi8vdHdp dHRlci5jb20vIyEvbGluYXJvb3JnPiBUd2l0dGVyIHwKPGh0dHA6Ly93d3cubGluYXJvLm9yZy9s aW5hcm8tYmxvZy8+IEJsb2cKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: daniel.lezcano@linaro.org (Daniel Lezcano) Date: Fri, 27 Jul 2018 13:34:19 +0200 Subject: [PATCH v3 01/23] thermal: armada: add a function that sanitizes the thermal zone name In-Reply-To: <20180716144206.30985-2-miquel.raynal@bootlin.com> References: <20180716144206.30985-1-miquel.raynal@bootlin.com> <20180716144206.30985-2-miquel.raynal@bootlin.com> Message-ID: <84f97022-a470-f314-ee75-e5afb733bea5@linaro.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 16/07/2018 16:41, Miquel Raynal wrote: > Thermal zone names must follow certain rules imposed by the framework. > They are limited in length and shall not have any hyphen '-'. > > This is done in a separate function for future use in another location. > > Signed-off-by: Miquel Raynal Why do you have to provide a function to test that? Logically, the one who did the change to add a thermal name, should check its code works. Without a proper name that won't work. So this function is testing something which should be already tested, no? > --- > drivers/thermal/armada_thermal.c | 36 +++++++++++++++++++++++++++++++++++- > 1 file changed, 35 insertions(+), 1 deletion(-) > > diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c > index 4c275ec10ac5..077e8e562306 100644 > --- a/drivers/thermal/armada_thermal.c > +++ b/drivers/thermal/armada_thermal.c > @@ -70,6 +70,7 @@ struct armada_thermal_priv { > void __iomem *status; > void __iomem *control0; > void __iomem *control1; > + char zone_name[THERMAL_NAME_LENGTH]; > struct armada_thermal_data *data; > }; > > @@ -353,6 +354,36 @@ static const struct of_device_id armada_thermal_id_table[] = { > }; > MODULE_DEVICE_TABLE(of, armada_thermal_id_table); > > +static void armada_set_sane_name(struct platform_device *pdev, > + struct armada_thermal_priv *priv) > +{ > + const char *name = dev_name(&pdev->dev); > + char *insane_char; > + > + if (strlen(name) > THERMAL_NAME_LENGTH) { > + /* > + * When inside a system controller, the device name has the > + * form: f06f8000.system-controller:ap-thermal so stripping > + * after the ':' should give us a shorter but meaningful name. > + */ > + name = strrchr(name, ':'); > + if (!name) > + name = "armada_thermal"; > + else > + name++; > + } > + > + /* Save the name locally */ > + strncpy(priv->zone_name, name, THERMAL_NAME_LENGTH); > + > + /* Then check there are no '-' or hwmon core will complain */ > + do { > + insane_char = strpbrk(priv->zone_name, "-"); > + if (insane_char) > + *insane_char = '_'; > + } while (insane_char); > +} > + > static int armada_thermal_probe(struct platform_device *pdev) > { > void __iomem *control = NULL; > @@ -381,6 +412,9 @@ static int armada_thermal_probe(struct platform_device *pdev) > > priv->data = (struct armada_thermal_data *)match->data; > > + /* Ensure device name is correct for the thermal core */ > + armada_set_sane_name(pdev, priv); > + > /* > * Legacy DT bindings only described "control1" register (also referred > * as "control MSB" on old documentation). New bindings cover > @@ -402,7 +436,7 @@ static int armada_thermal_probe(struct platform_device *pdev) > > priv->data->init_sensor(pdev, priv); > > - thermal = thermal_zone_device_register(dev_name(&pdev->dev), 0, 0, priv, > + thermal = thermal_zone_device_register(priv->zone_name, 0, 0, priv, > &ops, NULL, 0, 0); > if (IS_ERR(thermal)) { > dev_err(&pdev->dev, > -- Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog