RE: [PATCH/RFC] mmc: host: renesas_sdhi: Refactor of_device_id.data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert-san,

> From: Geert Uytterhoeven, Sent: Friday, June 25, 2021 8:21 PM
> 
> On Fri, Jun 25, 2021 at 9:56 AM Yoshihiro Shimoda wrote:
> > Refactor of_device_id.data to avoid increasing numbers of
> > sdhi_quirks_match[] entry when we add other stable SoCs like
> > r8a779m*.
> >
> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> 
> Thanks for your patch!
> 
> > --- a/drivers/mmc/host/renesas_sdhi_core.c
> > +++ b/drivers/mmc/host/renesas_sdhi_core.c
> > @@ -941,13 +910,8 @@ static const struct soc_device_attribute sdhi_quirks_match[]  = {
> >         { .soc_id = "r8a774a1", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
> >         { .soc_id = "r8a7795", .revision = "ES1.*", .data = &sdhi_quirks_4tap_nohs400 },
> >         { .soc_id = "r8a7795", .revision = "ES2.0", .data = &sdhi_quirks_4tap },
> > -       { .soc_id = "r8a7795", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps2367 },
> >         { .soc_id = "r8a7796", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
> >         { .soc_id = "r8a7796", .revision = "ES1.*", .data = &sdhi_quirks_r8a7796_es13 },
> > -       { .soc_id = "r8a77961", .data = &sdhi_quirks_bad_taps1357 },
> > -       { .soc_id = "r8a77965", .data = &sdhi_quirks_r8a77965 },
> > -       { .soc_id = "r8a77980", .data = &sdhi_quirks_nohs400 },
> > -       { .soc_id = "r8a77990", .data = &sdhi_quirks_r8a77990 },
> >         { /* Sentinel. */ },
> >  };
> >
> > @@ -957,6 +921,7 @@ int renesas_sdhi_probe(struct platform_device *pdev,
> >         struct tmio_mmc_data *mmd = pdev->dev.platform_data;
> >         const struct renesas_sdhi_quirks *quirks = NULL;
> >         const struct renesas_sdhi_of_data *of_data;
> > +       const struct renesas_sdhi_of_data_with_quirks *of_data_quirks;
> >         const struct soc_device_attribute *attr;
> >         struct tmio_mmc_data *mmc_data;
> >         struct tmio_mmc_dma *dma_priv;
> > @@ -966,11 +931,14 @@ int renesas_sdhi_probe(struct platform_device *pdev,
> >         struct resource *res;
> >         u16 ver;
> >
> > -       of_data = of_device_get_match_data(&pdev->dev);
> > +       of_data_quirks = of_device_get_match_data(&pdev->dev);
> > +       of_data = of_data_quirks->of_data;
> >
> >         attr = soc_device_match(sdhi_quirks_match);
> >         if (attr)
> >                 quirks = attr->data;
> > +       else
> > +               quirks = of_data_quirks->quirks;
> 
> Please do not use "else" statements in soc_device_match()-based
> quirk handling, as that makes it less trivial to remove the quirk
> handling later.
> 
> I.e. move "quirks = of_data_quirks->quirks;" up, before the call
> to soc_device_match().

Thank you for your review and suggestion! I'll fix this.

Best regards,
Yoshihiro Shimoda





[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux