From: Detlev Casanova <detlev.casanova@collabora.com>
To: Dragan Simic <dsimic@manjaro.org>
Cc: linux-kernel@vger.kernel.org,
Ulf Hansson <ulf.hansson@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Jaehoon Chung <jh80.chung@samsung.com>,
linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, kernel@collabora.com
Subject: Re: [PATCH v4 4/4] mmc: dw_mmc-rockchip: Add support for rk3576 SoCs
Date: Mon, 26 Aug 2024 11:45:49 -0400 [thread overview]
Message-ID: <2196769.irdbgypaU6@bootstrap> (raw)
In-Reply-To: <dc77f6dbdfc68369d02005763143cdea@manjaro.org>
Hi Dragan,
On Monday, 26 August 2024 10:07:49 EDT Dragan Simic wrote:
> Hello Detlev,
>
> On 2024-08-23 15:20, Detlev Casanova wrote:
> > On Friday, 23 August 2024 03:00:57 EDT Dragan Simic wrote:
> >> Hello Detlev,
> >>
> >> Please see a comment below.
> >>
> >> On 2024-08-22 23:15, Detlev Casanova wrote:
> >> > On rk3576 the tunable clocks are inside the controller itself, removing
> >> > the need for the "ciu-drive" and "ciu-sample" clocks.
> >> >
> >> > That makes it a new type of controller that has its own dt_parse
> >> > function.
> >> >
> >> > Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
> >> > ---
> >> >
> >> > drivers/mmc/host/dw_mmc-rockchip.c | 48 ++++++++++++++++++++++++++----
> >> > 1 file changed, 43 insertions(+), 5 deletions(-)
> >> >
> >> > diff --git a/drivers/mmc/host/dw_mmc-rockchip.c
> >> > b/drivers/mmc/host/dw_mmc-rockchip.c
> >> > index 1458cb5fd5c7..7c8ccf5e71bc 100644
> >> > --- a/drivers/mmc/host/dw_mmc-rockchip.c
> >> > +++ b/drivers/mmc/host/dw_mmc-rockchip.c
> >
> > [...]
> >
> >> > @@ -435,13 +451,25 @@ static int dw_mci_rk3288_parse_dt(struct dw_mci
> >> > *host)
> >> >
> >> > if (IS_ERR(priv->sample_clk))
> >> >
> >> > dev_dbg(host->dev, "ciu-sample not available\n");
> >> >
> >> > - host->priv = priv;
> >> > -
> >> >
> >> > priv->internal_phase = false;
> >> >
> >> > return 0;
> >> >
> >> > }
> >> >
> >> > +static int dw_mci_rk3576_parse_dt(struct dw_mci *host)
> >> > +{
> >> > + struct dw_mci_rockchip_priv_data *priv;
> >> > + int err = dw_mci_common_parse_dt(host);
> >> > + if (err)
> >> > + return err;
> >> > +
> >> > + priv = host->priv;
> >> > +
> >> > + priv->internal_phase = true;
> >>
> >> Defining priv, assigning it and using it seems rather redundant,
> >> when all that's needed is simple "host->priv->internal_phase = true"
> >> assignment instead.
> >
> > Yes, that's what I did at first, but host->priv is declared as void*,
> > which
> > means it needs to be cast to struct dw_mci_rockchip_priv_data * and I
> > felt
> > that
> >
> > ((struct dw_mci_rockchip_priv_data *)host->priv)->internal_phase =
> > true;
> >
> > is not very pretty and harder to read.
>
> Ah, you're right, and I somehow managed to ignore that.
>
> I agree with your conclusions, although I'd suggest something like
> this, for slightly improved readability:
>
> +static int dw_mci_rk3576_parse_dt(struct dw_mci *host)
> +{
> + struct dw_mci_rockchip_priv_data *priv = host->priv;
> + int err;
> +
> + err = dw_mci_common_parse_dt(host);
> + if (err)
> + return err;
> +
> + priv->internal_phase = true;
> +
> + return 0;
> +}
That won't work either, because host->priv is initialized in
dw_mci_common_parse_dt.
WARNING: multiple messages have this Message-ID (diff)
From: Detlev Casanova <detlev.casanova@collabora.com>
To: Dragan Simic <dsimic@manjaro.org>
Cc: linux-kernel@vger.kernel.org,
Ulf Hansson <ulf.hansson@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Jaehoon Chung <jh80.chung@samsung.com>,
linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, kernel@collabora.com
Subject: Re: [PATCH v4 4/4] mmc: dw_mmc-rockchip: Add support for rk3576 SoCs
Date: Mon, 26 Aug 2024 11:45:49 -0400 [thread overview]
Message-ID: <2196769.irdbgypaU6@bootstrap> (raw)
In-Reply-To: <dc77f6dbdfc68369d02005763143cdea@manjaro.org>
Hi Dragan,
On Monday, 26 August 2024 10:07:49 EDT Dragan Simic wrote:
> Hello Detlev,
>
> On 2024-08-23 15:20, Detlev Casanova wrote:
> > On Friday, 23 August 2024 03:00:57 EDT Dragan Simic wrote:
> >> Hello Detlev,
> >>
> >> Please see a comment below.
> >>
> >> On 2024-08-22 23:15, Detlev Casanova wrote:
> >> > On rk3576 the tunable clocks are inside the controller itself, removing
> >> > the need for the "ciu-drive" and "ciu-sample" clocks.
> >> >
> >> > That makes it a new type of controller that has its own dt_parse
> >> > function.
> >> >
> >> > Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
> >> > ---
> >> >
> >> > drivers/mmc/host/dw_mmc-rockchip.c | 48 ++++++++++++++++++++++++++----
> >> > 1 file changed, 43 insertions(+), 5 deletions(-)
> >> >
> >> > diff --git a/drivers/mmc/host/dw_mmc-rockchip.c
> >> > b/drivers/mmc/host/dw_mmc-rockchip.c
> >> > index 1458cb5fd5c7..7c8ccf5e71bc 100644
> >> > --- a/drivers/mmc/host/dw_mmc-rockchip.c
> >> > +++ b/drivers/mmc/host/dw_mmc-rockchip.c
> >
> > [...]
> >
> >> > @@ -435,13 +451,25 @@ static int dw_mci_rk3288_parse_dt(struct dw_mci
> >> > *host)
> >> >
> >> > if (IS_ERR(priv->sample_clk))
> >> >
> >> > dev_dbg(host->dev, "ciu-sample not available\n");
> >> >
> >> > - host->priv = priv;
> >> > -
> >> >
> >> > priv->internal_phase = false;
> >> >
> >> > return 0;
> >> >
> >> > }
> >> >
> >> > +static int dw_mci_rk3576_parse_dt(struct dw_mci *host)
> >> > +{
> >> > + struct dw_mci_rockchip_priv_data *priv;
> >> > + int err = dw_mci_common_parse_dt(host);
> >> > + if (err)
> >> > + return err;
> >> > +
> >> > + priv = host->priv;
> >> > +
> >> > + priv->internal_phase = true;
> >>
> >> Defining priv, assigning it and using it seems rather redundant,
> >> when all that's needed is simple "host->priv->internal_phase = true"
> >> assignment instead.
> >
> > Yes, that's what I did at first, but host->priv is declared as void*,
> > which
> > means it needs to be cast to struct dw_mci_rockchip_priv_data * and I
> > felt
> > that
> >
> > ((struct dw_mci_rockchip_priv_data *)host->priv)->internal_phase =
> > true;
> >
> > is not very pretty and harder to read.
>
> Ah, you're right, and I somehow managed to ignore that.
>
> I agree with your conclusions, although I'd suggest something like
> this, for slightly improved readability:
>
> +static int dw_mci_rk3576_parse_dt(struct dw_mci *host)
> +{
> + struct dw_mci_rockchip_priv_data *priv = host->priv;
> + int err;
> +
> + err = dw_mci_common_parse_dt(host);
> + if (err)
> + return err;
> +
> + priv->internal_phase = true;
> +
> + return 0;
> +}
That won't work either, because host->priv is initialized in
dw_mci_common_parse_dt.
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2024-08-26 15:46 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-22 21:15 [PATCH v4 0/4] Add dw_mmc support for rk3576 Detlev Casanova
2024-08-22 21:15 ` Detlev Casanova
2024-08-22 21:15 ` [PATCH v4 1/4] dt-bindings: mmc: Add support for rk3576 dw-mshc Detlev Casanova
2024-08-22 21:15 ` Detlev Casanova
2024-08-23 7:36 ` Krzysztof Kozlowski
2024-08-23 7:36 ` Krzysztof Kozlowski
2024-08-22 21:15 ` [PATCH v4 2/4] mmc: dw_mmc-rockchip: Add internal phase support Detlev Casanova
2024-08-22 21:15 ` Detlev Casanova
2024-08-23 5:41 ` Dragan Simic
2024-08-23 5:41 ` Dragan Simic
2024-08-23 13:34 ` Detlev Casanova
2024-08-23 13:34 ` Detlev Casanova
2024-08-26 14:39 ` Dragan Simic
2024-08-26 14:39 ` Dragan Simic
2024-08-26 18:44 ` Detlev Casanova
2024-08-26 18:44 ` Detlev Casanova
2024-08-22 21:15 ` [PATCH v4 3/4] mmc: dw_mmc-rockchip: Skip all phases bigger than 270 degrees Detlev Casanova
2024-08-22 21:15 ` Detlev Casanova
2024-08-23 5:45 ` Dragan Simic
2024-08-23 5:45 ` Dragan Simic
2024-08-23 13:59 ` Detlev Casanova
2024-08-23 13:59 ` Detlev Casanova
2024-08-26 14:52 ` Dragan Simic
2024-08-26 14:52 ` Dragan Simic
2024-08-22 21:15 ` [PATCH v4 4/4] mmc: dw_mmc-rockchip: Add support for rk3576 SoCs Detlev Casanova
2024-08-22 21:15 ` Detlev Casanova
2024-08-23 7:00 ` Dragan Simic
2024-08-23 7:00 ` Dragan Simic
2024-08-23 13:20 ` Detlev Casanova
2024-08-23 13:20 ` Detlev Casanova
2024-08-26 14:07 ` Dragan Simic
2024-08-26 14:07 ` Dragan Simic
2024-08-26 15:45 ` Detlev Casanova [this message]
2024-08-26 15:45 ` Detlev Casanova
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=2196769.irdbgypaU6@bootstrap \
--to=detlev.casanova@collabora.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dsimic@manjaro.org \
--cc=heiko@sntech.de \
--cc=jh80.chung@samsung.com \
--cc=kernel@collabora.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh@kernel.org \
--cc=ulf.hansson@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.