Re: 回复: 回复: 回复: 回复: 回复: backport a patch for Linux kernel-5.15 kernel-6.1 kenrel-6.6 stable tree

Greg KH
2024-06-12T12:20:52Z

On Wed, Jun 12, 2024 at 02:08:20PM +0200, Greg KH wrote:
> On Sun, May 26, 2024 at 02:51:42AM +0000, Lin Gui (桂林) wrote:
> > Dear gregkh@linuxfoundation.org,
> >
> > I'm very sorry for the trouble, here's the update:
> >
> > From f033ef0bfb29cd413d10aba860ce8d178cc314e2 Mon Sep 17 00:00:00 2001
> > From: Mengqi Zhang <mailto:mengqi.zhang@mediatek.com>
> > Date: Mon, 25 Dec 2023 17:38:40 +0800
> > Subject: [PATCH] mmc: core: Add HS400 tuning in HS400es initialization
> >
> > commit 77e01b49e35f24ebd1659096d5fc5c3b75975545 upstream
> >
> > During the initialization to HS400es stage, add a HS400 tuning flow as an optional process. For Mediatek IP, the HS400es mode requires a specific tuning to ensure the correct HS400 timing setting.
> >
> > Signed-off-by: Mengqi Zhang <mailto:mengqi.zhang@mediatek.com>
> > Link: https://lore.kernel.org/r/20231225093839.22931-2-mengqi.zhang@mediatek.com
> > Signed-off-by: Ulf Hansson <mailto:ulf.hansson@linaro.org>
> > ---
> >  drivers/mmc/core/mmc.c | 9 +++++++--
> >  1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index a56906633ddf..c1eb22fd033b 100644
> > --- a/drivers/mmc/core/mmc.c
> > +++ b/drivers/mmc/core/mmc.c
> > @@ -1799,8 +1799,13 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> >
> >   if (err)
> >   goto free_card;
> > -
> > - } else if (!mmc_card_hs400es(card)) {
> > + } else if (mmc_card_hs400es(card)) {
> > + if (host->ops->execute_hs400_tuning) {
> > + err = host->ops->execute_hs400_tuning(host, card);
> > + if (err)
> > + goto free_card;
> > + }
> > + } else {
> >   /* Select the desired bus width optionally */
> >   err = mmc_select_bus_width(card);
> >   if (err > 0 && mmc_card_hs(card)) {
> > --
>
> Better, thanks, but your email client still did odd things to the email
> addresses.
>
> I've fixed this up by hand, but please, be more careful next time...

Wait, again, NO! This patch does NOT even build at all!

How was this tested?

Here's a hint, this is the build error I get when applying it to the
5.15.y tree. I tried to say this in a nice way before, but now I will
be specific:

CC [M] drivers/mmc/core/mmc.o
drivers/mmc/core/mmc.c: In function ‘mmc_init_card’:
drivers/mmc/core/mmc.c:1803:32: error: ‘const struct mmc_host_ops’ has no member named ‘execute_hs400_tuning’; did you mean ‘prepare_hs400_tuning’?
1803 | if (host->ops->execute_hs400_tuning) {
| ^~~~~~~~~~~~~~~~~~~~
| prepare_hs400_tuning
drivers/mmc/core/mmc.c:1804:42: error: ‘const struct mmc_host_ops’ has no member named ‘execute_hs400_tuning’; did you mean ‘prepare_hs400_tuning’?
1804 | err = host->ops->execute_hs400_tuning(host, card);
| ^~~~~~~~~~~~~~~~~~~~
| prepare_hs400_tuning

Please properly test your submissions before sending them and asking
someone else to apply them, otherwise it just wastes our time and we get
very grumpy, as would you.

greg k-h