LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Matthias Brugger <mbrugger@suse.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
matthias.bgg@kernel.org, ulrich.hecht+renesas@gmail.com,
laurent.pinchart@ideasonboard.com, ck.hu@mediatek.com,
p.zabel@pengutronix.de, airlied@linux.ie, robh+dt@kernel.org,
mark.rutland@arm.com, mturquette@baylibre.com,
sboyd@codeaurora.org, davem@davemloft.net,
gregkh@linuxfoundation.org, mchehab@kernel.org,
rdunlap@infradead.org, sean.wang@mediatek.com,
linux-clk@vger.kernel.org, linux@armlinux.org.uk,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [v3 03/10] mfd: mtk-mmsys: Add mmsys driver
Date: Fri, 6 Jul 2018 15:18:44 +0200 [thread overview]
Message-ID: <9c368450-b89b-825b-4763-90825e93b656@suse.com> (raw)
In-Reply-To: <20180705122223.GO496@dell>
On 05/07/18 14:22, Lee Jones wrote:
> On Thu, 05 Jul 2018, Matthias Brugger wrote:
>> On 04/07/18 18:45, Lee Jones wrote:
>>> On Wed, 04 Jul 2018, Matthias Brugger wrote:
>>>> On 03/07/18 09:11, Lee Jones wrote:
>>>>> On Mon, 25 Jun 2018, Matthias Brugger wrote:
>>>>>> On 30/04/18 12:18, Lee Jones wrote:
>>>>>>> On Fri, 27 Apr 2018, matthias.bgg@kernel.org wrote:
[...]
>>>>>>>> +static int mmsys_probe(struct platform_device *pdev)
>>>>>>>> +{
>>>>>>>> + const struct mfd_cell *mmsys_cells;
>>>>>>>> + int nr_cells;
>>>>>>>> + long id;
>>>>>>>> + int ret;
>>>>>>>> +
>>>>>>>> + id = (long) of_device_get_match_data(&pdev->dev);
>>>>>>>> + if (!id) {
>>>>>>>> + dev_err(&pdev->dev, "of_device_get match_data() failed\n");
>>>>>>>> + return -EINVAL;
>>>>>>>> + }
>>>>>>>> +
>>>>>>>> + switch (id) {
>>>>>>>> + case MMSYS_MT2701:
>>>>>>>> + mmsys_cells = mmsys_mt2701_devs;
>>>>>>>> + nr_cells = ARRAY_SIZE(mmsys_mt2701_devs);
>>>>>>>> + break;
>>>>>>>> + default:
>>>>>>>> + return -ENODEV;
>>>>>>>> + }
>>>>>>>> +
>>>>>>>> + ret = devm_mfd_add_devices(&pdev->dev, 0, mmsys_cells, nr_cells,
>>>>>>>> + NULL, 0, NULL);
>>>>>>>> + if (ret) {
>>>>>>>> + dev_err(&pdev->dev, "failed to add MFD devices %d\n", ret);
>>>>>>>> + return ret;
>>>>>>>> + }
>>>>>>>> +
>>>>>>>> + return 0;
>>>>>>>> +};
>>>>>>>
>>>>>>> This driver is pretty pointless. It doesn't actually do anything.
>>>>>>>
>>>>>>> I think you just want to use "simple-mfd" instead.
>>>>>>>
>>>>>>
>>>>>> I think the problem is, that right now we have two drivers which use the same
>>>>>> devicetree binding, which are clk and drm driver. With a simple-mfd we would
>>>>>> need two compatibles, and this would break backwards compatibility.
>>>>>
>>>>> So what functionality does this driver provide you with that you do
>>>>> not have currently?
>>>>>
>>>>
>>>> I'm not sure if I get your question. Point is, that the MMSYS implementation for
>>>> mt8173 is broken, as it assumes that we can probe two drivers with the
>>>> mediatek,mt8173-mmsys compatible. Somehow it used to work, but from what I
>>>> understand it was a bug. So older devicetrees use just on mt8173-mmsys
>>>> compatible in ther DTB.
>>>
>>> Okay, that is what I was getting at. Thanks for the explanation.
>>>
>>> Do you have a datasheet I can look at?
>>>
>>
>> Unfortunately there is no datasheet you can get without a NDA. The only public
>> available information I'm aware of is for the (not upstream supported) 96board
>> [1]. And it's only the register description. You can find some more explanation
>> about the MMSYS in older threads which tried to solve the very same problem [2]
>>
>> [1]
>> https://www.96boards.org/documentation/consumer/mediatekx20/additional-docs/docs/MT6797_Register_Table_Part_2.pdf
>> [2] http://lists.infradead.org/pipermail/linux-mediatek/2017-October/010979.html
>
> And now we have some history. Thanks for providing those.
>
> So my initial reaction is the one I have just confirmed for myself.
> MFD is being used as a work-around in this odd use-case and really
> isn't the right place for it.
>
> If you're adamant that you do not wish to change the Device Tree, my
> suggestion is to either move the clk functionality into the DRM
> driver, or register the clk driver from DRM using standard
> platform_device_register() API.
>
Ok, I'll try to come up with a solution with a platform device for the clocks.
Stay tuened. Thanks for your feedback!
Matthias
next prev parent reply other threads:[~2018-07-06 13:18 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-27 9:23 [v3 00/10] arm/arm64: mediatek: Fix mmsys device probing matthias.bgg
2018-04-27 9:23 ` [v3 01/10] dt-bindings: mediatek: mmsys: Add support for mfd matthias.bgg
2018-04-30 10:30 ` Lee Jones
2018-06-25 15:39 ` Matthias Brugger
2018-06-26 18:32 ` Rob Herring
2018-07-03 7:04 ` Lee Jones
2018-04-27 9:23 ` [v3 02/10] drm/mediatek: Use regmap for register access matthias.bgg
2018-04-27 9:23 ` [v3 03/10] mfd: mtk-mmsys: Add mmsys driver matthias.bgg
2018-04-30 10:18 ` Lee Jones
2018-05-24 2:52 ` Sean Wang
2018-06-25 15:33 ` Matthias Brugger
2018-07-03 7:11 ` Lee Jones
2018-07-04 16:17 ` Matthias Brugger
2018-07-04 16:45 ` Lee Jones
2018-07-05 11:25 ` Matthias Brugger
2018-07-05 12:22 ` Lee Jones
2018-07-06 13:18 ` Matthias Brugger [this message]
2018-07-04 16:52 ` Chen-Yu Tsai
2018-04-27 9:23 ` [v3 04/10] drm/mediatek: mt2701: switch to mfd probing matthias.bgg
2018-04-30 10:42 ` CK Hu
2018-04-27 9:23 ` [v3 05/10] clk: mediatek: mt2701-mm: switch to mfd device matthias.bgg
2018-04-27 9:23 ` [v3 06/10] mfd: mtk-mmsys: Add mt8173 nodes matthias.bgg
2018-04-27 9:23 ` [v3 07/10] drm/mediatek: Add mfd support for mt8173 matthias.bgg
2018-04-27 9:24 ` [v3 08/10] clk: mediatek: mt8173-mm: switch to mfd device matthias.bgg
2018-04-27 9:24 ` [v3 09/10] drm: mediatek: Omit warning on probe defers matthias.bgg
2018-04-30 10:58 ` CK Hu
2018-04-27 9:24 ` [v3 10/10] MAINTAINERS: update Mediatek Soc entry matthias.bgg
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=9c368450-b89b-825b-4763-90825e93b656@suse.com \
--to=mbrugger@suse.com \
--cc=airlied@linux.ie \
--cc=ck.hu@mediatek.com \
--cc=davem@davemloft.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lee.jones@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=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=matthias.bgg@gmail.com \
--cc=matthias.bgg@kernel.org \
--cc=mchehab@kernel.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=rdunlap@infradead.org \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=sean.wang@mediatek.com \
--cc=ulrich.hecht+renesas@gmail.com \
--subject='Re: [v3 03/10] mfd: mtk-mmsys: Add mmsys driver' \
/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
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).