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

  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).