Date: Tue, 15 Oct 2019 19:34:51 +0200 From: Emmanuel Vadot <manu@bidouilliste.com> To: Ruslan Bukin <br@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r353575 - head/sys/dev/mmc/host Message-ID: <20191015193451.f7c9388f971432e6d1be369b@bidouilliste.com> In-Reply-To: <201910151724.x9FHOM55015499@repo.freebsd.org> References: <201910151724.x9FHOM55015499@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 15 Oct 2019 17:24:22 +0000 (UTC) Ruslan Bukin <br@FreeBSD.org> wrote: > Author: br > Date: Tue Oct 15 17:24:21 2019 > New Revision: 353575 > URL: https://svnweb.freebsd.org/changeset/base/353575 > > Log: > Fix dwmmc(4) driver attachment when ext_resources are not present. > > Ignore only ENOENT (no DTS properties found) and ENODEV (driver not > present) non-zero return values from ext_resources. > > Reviewed by: manu > Sponsored by: DARPA, AFRL > Differential Revision: https://reviews.freebsd.org/D22043 > > Modified: > head/sys/dev/mmc/host/dwmmc.c I've just realized that you are probably using the SOCFPGA kernel configuration and it doesn't have option EXT_RESOURCES so how did you got those errors ? > Modified: head/sys/dev/mmc/host/dwmmc.c > ============================================================================== > --- head/sys/dev/mmc/host/dwmmc.c Tue Oct 15 17:17:16 2019 (r353574) > +++ head/sys/dev/mmc/host/dwmmc.c Tue Oct 15 17:24:21 2019 (r353575) > @@ -457,20 +457,32 @@ parse_fdt(struct dwmmc_softc *sc) > > /* IP block reset is optional */ > error = hwreset_get_by_ofw_name(sc->dev, 0, "reset", &sc->hwreset); > - if (error != 0 && error != ENOENT) > + if (error != 0 && > + error != ENOENT && > + error != ENODEV) { > device_printf(sc->dev, "Cannot get reset\n"); > + goto fail; > + } > > /* vmmc regulator is optional */ > error = regulator_get_by_ofw_property(sc->dev, 0, "vmmc-supply", > &sc->vmmc); > - if (error != 0 && error != ENOENT) > + if (error != 0 && > + error != ENOENT && > + error != ENODEV) { > device_printf(sc->dev, "Cannot get regulator 'vmmc-supply'\n"); > + goto fail; > + } > > /* vqmmc regulator is optional */ > error = regulator_get_by_ofw_property(sc->dev, 0, "vqmmc-supply", > &sc->vqmmc); > - if (error != 0 && error != ENOENT) > + if (error != 0 && > + error != ENOENT && > + error != ENODEV) { > device_printf(sc->dev, "Cannot get regulator 'vqmmc-supply'\n"); > + goto fail; > + } > > /* Assert reset first */ > if (sc->hwreset != NULL) { > @@ -483,8 +495,12 @@ parse_fdt(struct dwmmc_softc *sc) > > /* BIU (Bus Interface Unit clock) is optional */ > error = clk_get_by_ofw_name(sc->dev, 0, "biu", &sc->biu); > - if (error != 0 && error != ENOENT) > + if (error != 0 && > + error != ENOENT && > + error != ENODEV) { > device_printf(sc->dev, "Cannot get 'biu' clock\n"); > + goto fail; > + } > > if (sc->biu) { > error = clk_enable(sc->biu); > @@ -499,8 +515,12 @@ parse_fdt(struct dwmmc_softc *sc) > * if no clock-frequency property is given > */ > error = clk_get_by_ofw_name(sc->dev, 0, "ciu", &sc->ciu); > - if (error != 0 && error != ENOENT) > + if (error != 0 && > + error != ENOENT && > + error != ENODEV) { > device_printf(sc->dev, "Cannot get 'ciu' clock\n"); > + goto fail; > + } > > if (sc->ciu) { > if (bus_hz != 0) { -- Emmanuel Vadot <manu@bidouilliste.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20191015193451.f7c9388f971432e6d1be369b>