[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230201084821.1719839-1-michael@walle.cc>
Date: Wed, 1 Feb 2023 09:48:21 +0100
From: Michael Walle <michael@...le.cc>
To: zajec5@...il.com
Cc: devicetree@...r.kernel.org, hayashi.kunihiko@...ionext.com,
krzysztof.kozlowski+dt@...aro.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-mediatek@...ts.infradead.org, matthias.bgg@...il.com,
mhiramat@...nel.org, rafal@...ecki.pl, robh+dt@...nel.org,
srinivas.kandagatla@...aro.org, Michael Walle <michael@...le.cc>
Subject: Re: [PATCH 3/4] nvmem: mtk-efuse: replace driver with a generic MMIO one
> From: Rafał Miłecki <rafal@...ecki.pl>
>
> Mediatek EFUSE uses a simple MMIO that can be handled with a generic
> driver. Replace this driver to avoid code duplication.
I don't think this is the correct approach. You'll restrict that driver
to being read-only. I admit that right now, it's read only, but it can
be extended to also support efuse writing. With this changes, it's not
possible.
> static const struct of_device_id mmio_nvmem_of_match_table[] = {
> { .compatible = "mmio-nvmem", },
>+ /* Custom bindings that were introduced before the mmio one */
>+ { .compatible = "mediatek,mt8173-efuse", },
>+ { .compatible = "mediatek,efuse", },
Why do you assume that all mediatek efuses will be the same? This should
rather be something like (in the dts/binding):
compatible = "mediatek,mt8173-efuse", "mmio-nvmem";
So if there is no driver for the particular efuse, it will fall back to the
generic one.
-michael
Powered by blists - more mailing lists