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 Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 94DD1C433EF for ; Sat, 18 Dec 2021 10:03:48 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EB34283028; Sat, 18 Dec 2021 11:03:45 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="TxDuaA9e"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 325CC8304A; Sat, 18 Dec 2021 11:03:43 +0100 (CET) Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9D63382F5A for ; Sat, 18 Dec 2021 11:03:39 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639821808; bh=JuLu4c4+JvoEWR/76iA9My4ZAFHifJ/XKIe1cb3W40U=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References:In-Reply-To; b=TxDuaA9eVTJOQDnVrjW6NWLlmwIdlLCQawka2QMp1pL+2qsyYjmsp8JWRSbVrPq55 8TdwWPjXKCRjF6OELww5oJ4ecCNwE3HbE6GxcgFc10y1YlVo7NgPDbMEBzJ+22fEdD cBXRuN44iPeGoRc9DvpBG3GsqfOQ6O79aoWrZuB0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.123.35] ([88.152.144.157]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MGQjH-1mhi6X3Bk5-00GnUS; Sat, 18 Dec 2021 11:03:28 +0100 Message-ID: <4625657d-255e-3f9b-25ca-c98bbb77d41a@gmx.de> Date: Sat, 18 Dec 2021 11:03:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: [RFC v2 05/20] mmc: call device_probe() after scanning Content-Language: en-US From: Heinrich Schuchardt To: AKASHI Takahiro Cc: masami.hiramatsu@linaro.org, u-boot@lists.denx.de, ilias.apalodimas@linaro.org, sjg@chromium.org, agraf@csgraf.de, Jaehoon Chung , Peng Fan References: <20211210064947.73361-1-takahiro.akashi@linaro.org> <20211210064947.73361-6-takahiro.akashi@linaro.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:W6mxetUypYnPg1COsAKfdWXOd0sqiE7CkTWCfMxwFxPKcTa+ARQ jwbA5muAbmT/wby0L3PwT1m9Nd529V4dW3RkHGX90ckUgKE7TFLnh+O445tOOOewUxdeWGu KcGGasHwcaZ0JrO1Xpg/6rdzo5BYYHWnxKoUAVF4iI5UFcInEb7tJCvlo2HeFj/VjZ+T9lB OB94G67ffu/eyIsSxesZw== X-UI-Out-Filterresults: notjunk:1;V03:K0:mvDKBfqjvXQ=:FIH7PgIPllXaP+cb4JjP+8 pFJ/lNYvb9gVVE7hAGIXYKV0Ui1764WUJej/wUsXibttld7nnaQzNhdoT6jyiCDJEX1M76xGH rKU1bA6E1jMehK63kT4rZVrtlhdXz4wXtQzzesf8KVkEolFHtCI5RPYE2DbxE6THXohw3U43o qOhx3I6XJkGyC/n43iuBtnOA+j5RPzmeOg26cgMHwjTq/kZYgtVJKCOtLhIIuxOG/6sPxur2b hO3luehvvs1ZohTQupXyXrgRw62/7T8udGlcdeE6omV737+UVdTNw7cDE9fpI5sU/J4p1ziBf lueLCRAO6kSYMeHO7E2Y2U19mNd5kfx6ZiqjgnCuYBw3eVy8zCZOMOAp0mRnAEkHuhCjozN9D vPp+6Mc8v12YkG9atyrzEPZSMqzsF5bsGfGMxVSy6rTURPOuYCC2Rg3vWKmLbhXL94KuQi4Rk 05htDkbiKs14W9XurlGHYioNcpYoxpCb3yb1JTtwQAvV75OuUk9vAI8MgmjS9tI6VZxg6hNsy EUXNeB5L2eGNJ2DMur9bBfeYByi7GvX12kN/EdTkUlHcdsH2fV4KpoqHdGRP3mNMdVEzPG3Oq 4eea0+sJ2nUP+B65vt40dQVV9jlcF9xgGeb4hGKh571hMgP8uWsy0vWvAK0GyGayciiRZN/QY KaHa3A6HWnTSs4m2BciofrH9EzKezchIEw7d0Nj4WGAEm13Es+JC06uEBUjLZ7ytBBO2Zk/PU G7ZxD1du2EBqajwHRH4B8EvEU1jI9LV++BUpGfcPlyoSnRw/x2TJWjjKf3rKwCZ2/hFdWGOeE v75UjpbLrgnifz50KhHiX+L2CIgdO4FE7UbrOOv58VHfB+Z22/Czpots8ZR/uKAA3y40/OsbZ ruSdTqx64/mERYLRiSScvBAmUa7UjxljfXQUVsMT2tE4oudSfBLiZtdAhoYGzMh3gOT8gobhD 8qEUoZ7cjUXKMmn6woRiDgDTjaIxYX1uzdjxlB2VortWTa0L8ljvNnmJpttwIOoKeKjAWIzT2 1XILzoSAYEi0kb21+RjbsApiVa5ierHjwkZ0BFemuynRiSf0B0LoD3iZRUyRzrPvzPSjKvkLy WlP+lvPoZXbkzo= X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean On 12/18/21 10:48, Heinrich Schuchardt wrote: > On 12/10/21 07:49, AKASHI Takahiro wrote: >> Every time a mmc bus/port is scanned and a new device is detected, >> we want to call device_probe() as it will give us a chance to run >> additional post-processings for some purposes. >> >> In particular, support for creating partitions on a device will be adde= d. >> >> Signed-off-by: AKASHI Takahiro Cc: Jaehoon Chung , Peng Fan Please, use scripts/get_maintainers.pl to identify whom to send patches. >> --- >> =C2=A0 drivers/mmc/mmc-uclass.c | 13 +++++++++++++ >> =C2=A0 1 file changed, 13 insertions(+) >> >> diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c >> index 3ee92d03ca23..6c907b65fde7 100644 >> --- a/drivers/mmc/mmc-uclass.c >> +++ b/drivers/mmc/mmc-uclass.c >> @@ -418,6 +418,7 @@ int mmc_bind(struct udevice *dev, struct mmc *mmc, >> const struct mmc_config *cfg) >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bdesc->part_type =3D cfg->part_type; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc->dev =3D dev; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc->user_speed_mode =3D MMC_MODES_END; >> + Please avoid unrelated changes. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0; >> =C2=A0 } >> >> @@ -467,6 +468,18 @@ static int mmc_blk_probe(struct udevice *dev) >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ret; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >> >> +=C2=A0=C2=A0=C2=A0 ret =3D device_probe(dev); >> +=C2=A0=C2=A0=C2=A0 if (ret) { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 debug("Can't probe\n"); >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (IS_ENABLED(CONFIG_MMC_U= HS_SUPPORT) || >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 IS_= ENABLED(CONFIG_MMC_HS200_SUPPORT) || >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 IS_= ENABLED(CONFIG_MMC_HS400_SUPPORT)) > > Not even sandbox_defconfig builds with your patch: > > drivers/mmc/mmc-uclass.c: In function =E2=80=98mmc_blk_probe=E2=80=99: > drivers/mmc/mmc-uclass.c:478:25: warning: implicit declaration of > function =E2=80=98mmc_deinit=E2=80=99; did you mean =E2=80=98mmc_reinit= =E2=80=99? > [-Wimplicit-function-declaration] > =C2=A0 478 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 mmc_deinit(mmc); > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~ > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc_reinit > > Please, have a look at include/mmc.h: > > 790 #if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \ > 791=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \ > 792=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) > 793 int mmc_deinit(struct mmc *mmc); > 794 #endif > > mmc_deinit() may not be defined. > > We should fix include/mmc.h first. See [PATCH 1/1] mmc: unconditionally define mmc_deinit() https://lists.denx.de/pipermail/u-boot/2021-December/469919.html Best regards Heinrich >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mmc= _deinit(mmc); >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ret; >> +=C2=A0=C2=A0=C2=A0 } >> + >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0; >> =C2=A0 } >> >