From mboxrd@z Thu Jan 1 00:00:00 1970
Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33])
by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))
id 1dY7vH-0008Ol-Rz
for linux-mtd@lists.infradead.org; Thu, 20 Jul 2017 09:39:10 +0000
Message-ID: <1500543415.2354.37.camel@pengutronix.de>
Subject: Re: [PATCH 000/102] Convert drivers to explicit reset API
From: Philipp Zabel
To: Thomas Petazzoni
Cc: linux-kernel@vger.kernel.org, Andrew Lunn , Prashant
Gaikwad , Heiko Stuebner , Peter Chen
, Linus Walleij ,
dri-devel@lists.freedesktop.org, Marc Dietrich , Rakesh
Iyer , Peter Meerwald-Stadler ,
linux-clk@vger.kernel.org, Wim Van Sebroeck , Wolfram Sang
, Xinliang Liu , Chanwoo
Choi , Alan Stern , Jiri
Slaby , Michael Turquette ,
Guenter Roeck , Ohad Ben-Cohen ,
linux-pm@vger.kernel.org, Thomas Gleixner , Vincent
Abriou , Bin Liu , Greg Kroah-Hartman
, linux-usb@vger.kernel.org,
linux-wireless@vger.kernel.org, Ralf Baechle ,
linux-spi@vger.kernel.org, linux-crypto@vger.kernel.org, Tejun Heo
, alsa-devel@alsa-project.org, linux-doc@vger.kernel.org,
David Airlie , nouveau@lists.freedesktop.org, Philippe
Cornu , Kalle Valo , Laxman
Dewangan , Corentin Labbe
, linux-i2c@vger.kernel.org,
linux-watchdog@vger.kernel.org, Boris Brezillon
, Lars-Peter Clausen ,
Emilio =?ISO-8859-1?Q?L=F3pez?= , Daniel Lezcano
, Jon Hunter ,
linux-rockchip@lists.infradead.org, MyungJoo Ham
, Ben Skeggs , Yisen Zhuang
, linux-media@vger.kernel.org, Richard Zhu
, Alexandre Torgue , Mathias
Nyman , linux-arm-msm@vger.kernel.org, Joachim
Eastwood , linux-gpio@vger.kernel.org,
linux-mips@linux-mips.org, Bjorn Helgaas , Giuseppe
Cavallaro , linux-arm-kernel@lists.infradead.org,
Patrice Chotard , Stanimir Varbanov
, Kyungmin Park , Maxime
Coquelin , Hartmut Knaack ,
Jonathan Cameron , Ulf Hansson ,
linux-iio@vger.kernel.org, linux-pci@vger.kernel.org, Shawn Lin
, linux-tegra@vger.kernel.org,
linux-mtd@lists.infradead.org, Benjamin Gaignard
, Florian Fainelli ,
Jonathan Corbet , Xinwei Kong
, ath10k@lists.infradead.org, Kishon Vijay
Abraham I , Chen-Yu Tsai ,
linux-input@vger.kernel.org, linux-pwm@vger.kernel.org, Chen Feng
, Mark Brown , Dan Williams
, Felipe Balbi , Salil Mehta
, Dmitry Torokhov ,
linux-mmc@vger.kernel.org, Liam Girdwood , Thierry
Reding , Cyrille Pitchen
, Srinivas Kandagatla
, Maxime Ripard
, Brian Norris
, "David S. Miller" ,
linux-remoteproc@vger.kernel.org, Bjorn Andersson
, linux-ide@vger.kernel.org, Lee Jones
, devel@driverdev.osuosl.org, Yannick Fertre
, Ryder Lee , Herbert Xu
, Richard Weinberger , Jaehoon
Chung , Marek Vasut ,
linux-serial@vger.kernel.org, Zhang Rui , Alan Tull
, John Youn , Eduardo Valentin
, dmaengine@vger.kernel.org,
linux-mediatek@lists.infradead.org, Matthias Brugger
, Mark Yao , Moritz
Fischer , Vivien Didelot
, netdev@vger.kernel.org, Peter De
Schrijver , Stephen Boyd ,
Adrian Hunter , Vinod Koul ,
Rongrong Zou , linux-fpga@vger.kernel.org, David
Woodhouse , Lucas Stach
Date: Thu, 20 Jul 2017 11:36:55 +0200
In-Reply-To: <20170719211515.46a1196c@windsurf>
References: <20170719152646.25903-1-p.zabel@pengutronix.de>
<20170719211515.46a1196c@windsurf>
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
List-Id: Linux MTD discussion mailing list
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Hi Thomas,
On Wed, 2017-07-19 at 21:15 +0200, Thomas Petazzoni wrote:
> Hello,
>
> On Wed, 19 Jul 2017 17:25:04 +0200, Philipp Zabel wrote:
> > The reset control API has two modes: exclusive access, where the driver
> > expects to have full and immediate control over the state of the reset
> > line, and shared (clock-like) access, where drivers only request reset
> > deassertion while active, but don't care about the state of the reset line
> > while inactive.
> >
> > Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
> > reset lines") started to transition the reset control request API calls
> > to explicitly state whether the driver needs exclusive or shared reset
> > control behavior.
> >
> > This series converts all drivers that currently implicitly request
> > exclusive reset controls to the corresponding explicit API call. It is,
> > for the most part, generated from the following semantic patch:
> >
> > @@
> > expression rstc, dev, id;
> > @@
> > -rstc = reset_control_get(dev, id);
> > +rstc = reset_control_get_exclusive(dev, id);
>
> I don't know if it has been discussed in the past, so forgive me if it
> has been. Have you considered adding a "int flags" argument to the
> existing reset_control_get_*() functions, rather than introducing
> separate exclusive variants ?
>
> Indeed, with a "int flags" argument you could in the future add more
> variants/behaviors without actually multiplying the number of
> functions. Something like the "flags" argument for request_irq() for
> example.
I can't find the discussion right now, but I remember we had talked
about this in the past.
Behind the scenes, all the inline API functions already call common
entry points with flags (well, currently separate bool parameters for
shared and optional).
One reason against exposing those as an int flags in the user facing API
is the possibility to accidentally provide a wrong value.
regards
Philipp