From: Alex Williamson <alex.williamson@redhat.com>
To: Auger Eric <eric.auger@redhat.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Philipp Zabel <p.zabel@pengutronix.de>,
KVM list <kvm@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH/RFC v4 2/2] vfio: platform: Add generic reset controller support
Date: Wed, 19 Sep 2018 12:19:37 -0600 [thread overview]
Message-ID: <20180919121937.4c7fac9c@t450s.home> (raw)
In-Reply-To: <9dc74e23-2f57-7db3-6fb6-4f75ed61575f@redhat.com>
On Wed, 19 Sep 2018 17:31:43 +0200
Auger Eric <eric.auger@redhat.com> wrote:
> Hi Geert,
>
> On 9/19/18 2:54 PM, Geert Uytterhoeven wrote:
> > Hi Eric,
> >
> > On Wed, Sep 19, 2018 at 2:36 PM Auger Eric <eric.auger@redhat.com> wrote:
> >> On 9/17/18 6:39 PM, Geert Uytterhoeven wrote:
> >>> Vfio-platform requires dedicated reset support, provided either by ACPI,
> >>> or, on DT platforms, by a device-specific reset driver matching against
> >>> the device's compatible value.
> >>>
> >>> On many SoCs, devices are connected to an SoC-internal reset controller.
> >>> If the reset hierarchy is described in DT using "resets" properties, or
> >>> in lookup tables in platform code, such devices can be reset in a
> >>> generic way through the reset controller subsystem. Hence add support
> >>> for this, avoiding the need to write device-specific reset drivers for
> >>> each single device on affected SoCs.
> >>>
> >>> Devices that do require a more complex reset procedure can still provide
> >>> a device-specific reset driver, as that takes precedence.
> >>>
> >>> Note that this functionality depends on CONFIG_RESET_CONTROLLER=y, and
> >>> becomes a no-op (as in: "No reset function found for device") if reset
> >>> controller support is disabled.
> >>>
> >>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >>> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
> >>> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
> >
> >>> --- a/drivers/vfio/platform/vfio_platform_common.c
> >>> +++ b/drivers/vfio/platform/vfio_platform_common.c
> >
> >>> @@ -128,8 +131,16 @@ static int vfio_platform_get_reset(struct vfio_platform_device *vdev)
> >>> vdev->of_reset = vfio_platform_lookup_reset(vdev->compat,
> >>> &vdev->reset_module);
> >>> }
> >>> + if (vdev->of_reset)
> >>> + return 0;
> >>> +
> >>> + rstc = reset_control_get_dedicated(vdev->device, NULL);
> >>> + if (!IS_ERR(rstc)) {
> >>> + vdev->reset_control = rstc;
> >>> + return 0;
> >>> + }
> >>>
> >>> - return vdev->of_reset ? 0 : -ENOENT;
> >>> + return PTR_ERR(rstc);
> >> This changes the returned value as seen by the user (probe returned
> >> valud). Can we keep -ENOENT in case of no reset controller found?
> >
> > On success, it still returns 0.
> > On failure, it forwards the error from reset_control_get_dedicated(), which
> > is IMHO better than replacing it by -ENOENT: we try to propagate error
> > codes as much as possible. It could e.g. return -EPROBE_DEFER.
> >
> > Is there anything that relies on the function returning -ENOENT?
> None I am aware of actually. I was afraid about compatibility break but
> here we would change an errno by another one so maybe that's not a big
> deal at that stage of vfio_platform usage?
Yeah, I don't see that one errno vs another really matters in the grand
scheme of things. I also don't see that propagating this particular
errno adds much value, but it is good general practice, so seems ok to
me unless there are other concerns. Thanks,
Alex
prev parent reply other threads:[~2018-09-19 18:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-17 16:39 [PATCH/RFC v4 0/2] vfio: platform: Add generic reset controller support Geert Uytterhoeven
2018-09-17 16:39 ` [PATCH/RFC v4 1/2] reset: Add support for dedicated reset controls Geert Uytterhoeven
2018-09-18 6:42 ` Geert Uytterhoeven
2018-09-19 12:09 ` Auger Eric
2018-09-19 13:16 ` Geert Uytterhoeven
2018-09-19 15:28 ` Auger Eric
2018-09-19 14:58 ` Philipp Zabel
2018-09-19 15:24 ` Geert Uytterhoeven
2018-09-20 9:27 ` Philipp Zabel
2018-09-20 9:37 ` Geert Uytterhoeven
2018-09-17 16:39 ` [PATCH/RFC v4 2/2] vfio: platform: Add generic reset controller support Geert Uytterhoeven
2018-09-19 12:36 ` Auger Eric
2018-09-19 12:54 ` Geert Uytterhoeven
2018-09-19 15:31 ` Auger Eric
2018-09-19 18:19 ` Alex Williamson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180919121937.4c7fac9c@t450s.home \
--to=alex.williamson@redhat.com \
--cc=devicetree@vger.kernel.org \
--cc=eric.auger@redhat.com \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox