From: Yassine Oudjana <yassine.oudjana@gmail.com>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: Miles Chen <miles.chen@mediatek.com>,
bgolaszewski@baylibre.com, chun-jie.chen@mediatek.com,
devicetree@vger.kernel.org, ikjn@chromium.org,
krzysztof.kozlowski+dt@linaro.org,
linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
matthias.bgg@gmail.com, mturquette@baylibre.com,
p.zabel@pengutronix.de, robh+dt@kernel.org,
sam.shih@mediatek.com, sboyd@kernel.org,
tinghan.shen@mediatek.com, weiyi.lu@mediatek.com,
wenst@chromium.org, y.oudjana@protonmail.com,
~postmarketos/upstreaming@lists.sr.ht
Subject: Re: [PATCH v2 4/4] clk: mediatek: Add drivers for MediaTek MT6735 main clock drivers
Date: Fri, 20 May 2022 15:08:26 +0400 [thread overview]
Message-ID: <2MH6CR.16DFWCVHBCV@gmail.com> (raw)
In-Reply-To: <c7b98ee4-cd4f-d7b7-726d-1acd4fafd50a@collabora.com>
On Fri, May 20 2022 at 12:26:25 +0200, AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> wrote:
> Il 20/05/22 11:35, Miles Chen ha scritto:
>>
>>>>
>>>> Thanks for submitting this patch.
>>>>
>>>> I compare this with drivers/clk/mediatek/clk-mt7986-apmixed.c,
>>>> and other clk files are using macros to make the mtk_pll_data array
>>>> more readable.
>>>
>>> I'd actually argue that macros make it less readable. While reading
>>> other drivers I had a lot of trouble figuring out which argument
>>> is which field of the struct, and had to constantly go back to the
>>> macro definitions and count arguments to find it. Having it this
>>> way, each value is labeled clearly with the field it's in. I think
>>> the tradeoff between line count and readability here is worth it.
>>
>> It is easier for multiple developers to work together if we have a
>> common style.
>>
>> How do you think?
>>
>
> In my opinion, Yassine is definitely right about this one: unrolling
> these macros
> will make the code more readable, even though this has the side
> effect of making
> it bigger in the source code form (obviously, when compiled, it's
> going to be the
> exact same size).
>
> I wouldn't mind getting this clock driver in without the usage of
> macros, as much
> as I wouldn't mind converting all of the existing drivers to
> open-code everything
> instead of using macros that you have to find in various headers...
> this practice
> was done in multiple drivers (clock or elsewhere), so I don't think
> that it would
> actually be a bad idea to do it here on MediaTek too, even though I'm
> not aware of
> any *rule* that may want us to do that: if you check across
> drivers/clk/*, there's
> a big split in how drivers are made, where some are using macros
> (davinci, renesas,
> samsung, sprd, etc), and some are not (bcm, sunxi-ng, qcom, tegra,
> versatile, etc),
> so it's really "do it as you wish"...
>
> ... *but:*
>
> Apart from that, I also don't think that it is a good idea to convert
> the other
> MTK clock drivers right now, as this would make the upstreaming of
> MediaTek clock
> drivers harder for some of the community in this moment... especially
> when we look
> at how many MTK SoCs are out there in the wild, and how many we have
> upstream:
> something like 10% of them, or less.
>
> I see the huge benefit of having a bigger community around MediaTek
> platforms as
> that's beneficial to get a way better support and solidity for all
> SoCs as they
> are sharing the same drivers and same framework, and expanding the
> support to more
> of them will only make it better with highly valuable community
> contributions.
>
>
> That said, Yassine, you should've understood that you have my full
> support on
> unrolling these macros - but it's not time to do that yet: you
> definitely know
> that MediaTek clock drivers are going through a big cleanup phase
> which is, at
> this point, unavoidable... if we are able to get the aid of scripts
> (cocci and
> others), that will make our life easier in this cleanup, and will
> also make us
> able to perform the entire cleanup with less effort and in less
> overall time.
>
> With that, I'm sad but I have to support Miles' decision on this one,
> and I also
> have to ask you to use macros in this driver.
>
>
> I am sure - and it is my wish - to see MediaTek clock drivers
> open-coding stuff
> instead of using macros, but that's something for the future - which
> will happen
> after the more important cleanups.
>
> After all, it will be just about running "gcc -E xxxx.c" and
> copy-pasting the
> unrolled macros to the clock drivers, which will be pretty fast and
> straightforward.
>
> Sorry for the wall of text, by the way.
>
> Cheers,
> Angelo
Fair enough. I'll switch to macros in the next version.
Thanks,
Yassine
next prev parent reply other threads:[~2022-05-20 11:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-19 14:22 [PATCH v2 0/4] Mediatek MT6735 main clock and reset drivers Yassine Oudjana
2022-05-19 14:22 ` [PATCH v2 1/4] dt-bindings: clock: Add Mediatek MT6735 clock bindings Yassine Oudjana
2022-05-19 14:22 ` [PATCH v2 2/4] dt-bindings: reset: Add MT6735 reset bindings Yassine Oudjana
2022-05-20 8:55 ` AngeloGioacchino Del Regno
2022-05-20 9:13 ` Yassine Oudjana
2022-05-23 12:15 ` AngeloGioacchino Del Regno
2022-05-19 14:22 ` [PATCH v2 3/4] dt-bindings: arm: mediatek: Add MT6735 clock controller compatibles Yassine Oudjana
2022-05-19 14:22 ` [PATCH v2 4/4] clk: mediatek: Add drivers for MediaTek MT6735 main clock drivers Yassine Oudjana
2022-05-20 8:35 ` Miles Chen
2022-05-20 9:18 ` Yassine Oudjana
2022-05-20 9:35 ` Miles Chen
2022-05-20 10:26 ` AngeloGioacchino Del Regno
2022-05-20 11:08 ` Yassine Oudjana [this message]
2022-05-22 17:02 ` Miles Chen
2022-08-13 10:44 ` Yassine Oudjana
2022-08-29 9:31 ` AngeloGioacchino Del Regno
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=2MH6CR.16DFWCVHBCV@gmail.com \
--to=yassine.oudjana@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bgolaszewski@baylibre.com \
--cc=chun-jie.chen@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=ikjn@chromium.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=miles.chen@mediatek.com \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=robh+dt@kernel.org \
--cc=sam.shih@mediatek.com \
--cc=sboyd@kernel.org \
--cc=tinghan.shen@mediatek.com \
--cc=weiyi.lu@mediatek.com \
--cc=wenst@chromium.org \
--cc=y.oudjana@protonmail.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).