From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH 2/6] pwm: sun4i: Add a quirk for reset line
Date: Mon, 29 Jul 2019 12:18:58 +0200
Message-ID: <1564395538.7633.7.camel@pengutronix.de>
References: <20190726184045.14669-1-jernej.skrabec@siol.net>
<20190726184045.14669-3-jernej.skrabec@siol.net>
<20190729063630.rn325whatfnc3m7n@pengutronix.de>
<20190729071218.bukw7vxilqy523k3@pengutronix.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Return-path:
In-Reply-To: <20190729071218.bukw7vxilqy523k3@pengutronix.de>
Sender: linux-kernel-owner@vger.kernel.org
To: Uwe =?ISO-8859-1?Q?Kleine-K=F6nig?= , Chen-Yu Tsai
Cc: Jernej Skrabec , Thierry Reding , Maxime Ripard , Rob Herring , Mark Rutland , linux-pwm@vger.kernel.org, devicetree , linux-arm-kernel , linux-kernel , linux-sunxi
List-Id: linux-pwm@vger.kernel.org
Hi,
On Mon, 2019-07-29 at 09:12 +0200, Uwe Kleine-König wrote:
> Hello,
>
> On Mon, Jul 29, 2019 at 02:43:23PM +0800, Chen-Yu Tsai wrote:
> > On Mon, Jul 29, 2019 at 2:36 PM Uwe Kleine-König
> > wrote:
> > > On Fri, Jul 26, 2019 at 08:40:41PM +0200, Jernej Skrabec wrote:
> > > > @@ -371,6 +374,14 @@ static int sun4i_pwm_probe(struct platform_device *pdev)
> > > > if (IS_ERR(pwm->clk))
> > > > return PTR_ERR(pwm->clk);
> > > >
> > > > + if (pwm->data->has_reset) {
> > > > + pwm->rst = devm_reset_control_get(&pdev->dev, NULL);
> > > > + if (IS_ERR(pwm->rst))
> > > > + return PTR_ERR(pwm->rst);
> > > > +
> > > > + reset_control_deassert(pwm->rst);
> > > > + }
> > > > +
> > >
> > > I wonder why there is a need to track if a given chip needs a reset
> > > line. I'd just use devm_reset_control_get_optional() and drop the
> > > .has_reset member in struct sun4i_pwm_data.
> >
> > Because it's not optional for this platform, i.e. it won't work if
> > the reset control (or clk, in the next patch) is somehow missing from
> > the device tree.
>
> If the device tree is wrong it is considered ok that the driver doesn't
> behave correctly. So this is not a problem you need (or should) care
> about.
I agree with this. Catching missing DT properties and other device tree
validation is not the job of device drivers. The _optional request
variants were introduced to simplify drivers that require the reset line
on some platforms and not on others.
I would ask to explicitly state whether the driver needs full control
over the moment of (de)assertion of the reset signal, or whether the
only requirement is that the reset signal stays deasserted while the PWM
driver is active, by using devm_reset_control_get_optional_exclusive or
devm_reset_control_get_optional_shared to request the reset control.
regards
Philipp
From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
aws-us-west-2-korg-lkml-1.web.codeaurora.org
X-Spam-Level:
X-Spam-Status: No, score=-2.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,
SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=no autolearn_force=no
version=3.4.0
Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
by smtp.lore.kernel.org (Postfix) with ESMTP id CEB31C7618B
for ; Mon, 29 Jul 2019 10:19:11 +0000 (UTC)
Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by mail.kernel.org (Postfix) with ESMTPS id A47CE2070D
for ; Mon, 29 Jul 2019 10:19:11 +0000 (UTC)
Authentication-Results: mail.kernel.org;
dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="IIApTBwz"
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A47CE2070D
Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de
Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
List-Archive:List-Unsubscribe:List-Id:Mime-Version:References:In-Reply-To:
Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description:
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
List-Owner; bh=LETdnc5YkJYcLY+/d/0+CNrGA7V7lzpmpINg+yQMDTE=; b=IIApTBwzX8cLul
y+gwYCSIx84dG6N7YYv8GDh4SxRrTEAvoYrkYIbDJSoiouradW+zwquRq267VrYSkR1kSJZGWZ4At
v6YrEt4heOsmKbzfPzUMmuZ+6AGKeYCThlYbUicbAYvUcZHnPpCKkShRSM0hWcsB/YQ0denfefuPe
4akPzAd5uzxQS//u9VXwzatsnH2eQTttX1C8YtAGKR0GTydFzEwh/90Pv82ig8UJcauNBMwHR8Nx1
yILmf9cYcPW+2j+SwSM7OvDOv/ptL57/LByAV+IfssZIsrQWfUH0067zFUdBeOEeHVdWZaT2wXIPX
3ZuDh+XBIsi1zyJ11HwA==;
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux))
id 1hs2kH-0003e2-Ti; Mon, 29 Jul 2019 10:19:09 +0000
Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33])
by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux))
id 1hs2kF-0003dg-Pn
for linux-arm-kernel@lists.infradead.org; Mon, 29 Jul 2019 10:19:09 +0000
Received: from lupine.hi.pengutronix.de
([2001:67c:670:100:3ad5:47ff:feaf:1a17] helo=lupine)
by metis.ext.pengutronix.de with esmtp (Exim 4.92)
(envelope-from )
id 1hs2k8-0005Yb-DO; Mon, 29 Jul 2019 12:19:00 +0200
Message-ID: <1564395538.7633.7.camel@pengutronix.de>
Subject: Re: [PATCH 2/6] pwm: sun4i: Add a quirk for reset line
From: Philipp Zabel
To: Uwe =?ISO-8859-1?Q?Kleine-K=F6nig?= ,
Chen-Yu Tsai
Date: Mon, 29 Jul 2019 12:18:58 +0200
In-Reply-To: <20190729071218.bukw7vxilqy523k3@pengutronix.de>
References: <20190726184045.14669-1-jernej.skrabec@siol.net>
<20190726184045.14669-3-jernej.skrabec@siol.net>
<20190729063630.rn325whatfnc3m7n@pengutronix.de>
<20190729071218.bukw7vxilqy523k3@pengutronix.de>
X-Mailer: Evolution 3.22.6-1+deb9u2
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17
X-SA-Exim-Mail-From: p.zabel@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
SAEximRunCond expanded to false
X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
X-CRM114-CacheID: sfid-20190729_031907_842419_2BBC461F
X-CRM114-Status: GOOD ( 18.43 )
X-BeenThere: linux-arm-kernel@lists.infradead.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Cc: Mark Rutland , linux-pwm@vger.kernel.org,
Jernej Skrabec ,
devicetree ,
linux-kernel ,
Maxime Ripard , linux-sunxi ,
Rob Herring , Thierry Reding ,
linux-arm-kernel
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: "linux-arm-kernel"
Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org
SGksCgpPbiBNb24sIDIwMTktMDctMjkgYXQgMDk6MTIgKzAyMDAsIFV3ZSBLbGVpbmUtS8O2bmln
IHdyb3RlOgo+IEhlbGxvLAo+IAo+IE9uIE1vbiwgSnVsIDI5LCAyMDE5IGF0IDAyOjQzOjIzUE0g
KzA4MDAsIENoZW4tWXUgVHNhaSB3cm90ZToKPiA+IE9uIE1vbiwgSnVsIDI5LCAyMDE5IGF0IDI6
MzYgUE0gVXdlIEtsZWluZS1Lw7ZuaWcKPiA+IDx1LmtsZWluZS1rb2VuaWdAcGVuZ3V0cm9uaXgu
ZGU+IHdyb3RlOgo+ID4gPiBPbiBGcmksIEp1bCAyNiwgMjAxOSBhdCAwODo0MDo0MVBNICswMjAw
LCBKZXJuZWogU2tyYWJlYyB3cm90ZToKPiA+ID4gPiBAQCAtMzcxLDYgKzM3NCwxNCBAQCBzdGF0
aWMgaW50IHN1bjRpX3B3bV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4g
PiA+ICAgICAgIGlmIChJU19FUlIocHdtLT5jbGspKQo+ID4gPiA+ICAgICAgICAgICAgICAgcmV0
dXJuIFBUUl9FUlIocHdtLT5jbGspOwo+ID4gPiA+IAo+ID4gPiA+ICsgICAgIGlmIChwd20tPmRh
dGEtPmhhc19yZXNldCkgewo+ID4gPiA+ICsgICAgICAgICAgICAgcHdtLT5yc3QgPSBkZXZtX3Jl
c2V0X2NvbnRyb2xfZ2V0KCZwZGV2LT5kZXYsIE5VTEwpOwo+ID4gPiA+ICsgICAgICAgICAgICAg
aWYgKElTX0VSUihwd20tPnJzdCkpCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBQVFJfRVJSKHB3bS0+cnN0KTsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICAgICAgICByZXNl
dF9jb250cm9sX2RlYXNzZXJ0KHB3bS0+cnN0KTsKPiA+ID4gPiArICAgICB9Cj4gPiA+ID4gKwo+
ID4gPiAKPiA+ID4gSSB3b25kZXIgd2h5IHRoZXJlIGlzIGEgbmVlZCB0byB0cmFjayBpZiBhIGdp
dmVuIGNoaXAgbmVlZHMgYSByZXNldAo+ID4gPiBsaW5lLiBJJ2QganVzdCB1c2UgZGV2bV9yZXNl
dF9jb250cm9sX2dldF9vcHRpb25hbCgpIGFuZCBkcm9wIHRoZQo+ID4gPiAuaGFzX3Jlc2V0IG1l
bWJlciBpbiBzdHJ1Y3Qgc3VuNGlfcHdtX2RhdGEuCj4gPiAKPiA+IEJlY2F1c2UgaXQncyBub3Qg
b3B0aW9uYWwgZm9yIHRoaXMgcGxhdGZvcm0sIGkuZS4gaXQgd29uJ3Qgd29yayBpZgo+ID4gdGhl
IHJlc2V0IGNvbnRyb2wgKG9yIGNsaywgaW4gdGhlIG5leHQgcGF0Y2gpIGlzIHNvbWVob3cgbWlz
c2luZyBmcm9tCj4gPiB0aGUgZGV2aWNlIHRyZWUuCj4gCj4gSWYgdGhlIGRldmljZSB0cmVlIGlz
IHdyb25nIGl0IGlzIGNvbnNpZGVyZWQgb2sgdGhhdCB0aGUgZHJpdmVyIGRvZXNuJ3QKPiBiZWhh
dmUgY29ycmVjdGx5LiBTbyB0aGlzIGlzIG5vdCBhIHByb2JsZW0geW91IG5lZWQgKG9yIHNob3Vs
ZCkgY2FyZQo+IGFib3V0LgoKSSBhZ3JlZSB3aXRoIHRoaXMuwqBDYXRjaGluZyBtaXNzaW5nIERU
IHByb3BlcnRpZXMgYW5kIG90aGVyIGRldmljZSB0cmVlCnZhbGlkYXRpb24gaXMgbm90IHRoZSBq
b2Igb2YgZGV2aWNlIGRyaXZlcnMuIFRoZSBfb3B0aW9uYWwgcmVxdWVzdAp2YXJpYW50cyB3ZXJl
IGludHJvZHVjZWQgdG8gc2ltcGxpZnkgZHJpdmVycyB0aGF0IHJlcXVpcmUgdGhlIHJlc2V0IGxp
bmUKb24gc29tZSBwbGF0Zm9ybXMgYW5kIG5vdCBvbiBvdGhlcnMuCgpJIHdvdWxkIGFzayB0byBl
eHBsaWNpdGx5IHN0YXRlIHdoZXRoZXIgdGhlIGRyaXZlciBuZWVkcyBmdWxsIGNvbnRyb2wKb3Zl
ciB0aGUgbW9tZW50IG9mIChkZSlhc3NlcnRpb24gb2YgdGhlIHJlc2V0IHNpZ25hbCwgb3Igd2hl
dGhlciB0aGUKb25seSByZXF1aXJlbWVudCBpcyB0aGF0IHRoZSByZXNldCBzaWduYWwgc3RheXMg
ZGVhc3NlcnRlZCB3aGlsZSB0aGUgUFdNCmRyaXZlciBpcyBhY3RpdmUsIGJ5IHVzaW5nIGRldm1f
cmVzZXRfY29udHJvbF9nZXRfb3B0aW9uYWxfZXhjbHVzaXZlIG9yCmRldm1fcmVzZXRfY29udHJv
bF9nZXRfb3B0aW9uYWxfc2hhcmVkIHRvIHJlcXVlc3QgdGhlIHJlc2V0IGNvbnRyb2wuCgpyZWdh
cmRzClBoaWxpcHAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu
aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv
L2xpbnV4LWFybS1rZXJuZWwK