Hi all, On 10/3/20 10:40, Matthias Brugger wrote: > > > On 09/03/2020 23:50, Stephen Boyd wrote: >> Quoting Enric Balletbo Serra (2020-03-06 14:09:50) >>> Missatge de Stephen Boyd <sboyd@xxxxxxxxxx> del dia dv., 6 de mar >>> 2020 a les 22:37: >>>> >>>> Quoting Enric Balletbo i Serra (2020-03-06 08:30:16) >>>>> On 5/3/20 22:01, Stephen Boyd wrote: >>>>>> Quoting Enric Balletbo i Serra (2020-03-02 03:01:26) >>>>>>> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c >>>>>>> new file mode 100644 >>>>>>> index 000000000000..473cdf732fb5 >>>>>>> --- /dev/null >>>>>>> +++ b/drivers/soc/mediatek/mtk-mmsys.c >>>>>>> @@ -0,0 +1,154 @@ >>>>>>> +// SPDX-License-Identifier: GPL-2.0-only >>>>>>> +/* >>>>>>> + * Copyright (c) 2014 MediaTek Inc. >>>>>>> + * Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> >>>>>>> + */ >>>>>>> + >>>>>>> +#include <linux/clk-provider.h> >>>>>>> +#include <linux/of_device.h> >>>>>>> +#include <linux/platform_device.h> >>>>>>> + >>>>>>> +#include "../../clk/mediatek/clk-gate.h" >>>>>>> +#include "../../clk/mediatek/clk-mtk.h" >>>>>> >>>>>> Why not use include/linux/clk/? >>>>>> >>>>> >>>>> I can move these files to include, this will impact a lot more of drivers but, >>>>> yes, I think is the right way. >>>>> >>>>>> But I also don't understand why the clk driver is moved outside of >>>>>> drivers/clk/ into drivers/soc/. Commit text saying that it has shared >>>>>> registers doesn't mean it can't still keep the clk driver part in the >>>>>> drivers/clk/ area. >>>>>> >>>>> >>>>> Actually moving this to the soc directory has been requested by CK (mediatek) as >>>>> a change in v8. You can see the discussion in [1] >>>>> >>>> >>>> I can reply there in that thread if necessary, but we shouldn't need to >>>> force simple-mfd into DT bindings to support this. Match the compatible >>>> string in drivers/soc/ and register devices in software for the >>>> different pieces of this overall hardware block. If necessary, pass down >>>> the ioremapped addresss down through device data to each logical driver >>>> in the respective subsystem. >>>> >>>> So yes, it looks like an MFD, but that doesn't mean we have to change >>>> the DT binding or put it in drivers/mfd to support that. And we don't >>>> have to fix any problems with allowing two drivers to probe the same >>>> compatible string. >>>> >>> >>> That thread maybe has too much information and things evolved since >>> then. Note that the final solution is not an MFD neither we change the >>> bindings. I pointed to that thread just because CK (CK please correct >>> me if I'm wrong) thought that the driver is not a pure clock driver >>> and he preferred to move to drivers/soc/mediatek (in that thread, he >>> exposes his opinion on that). Sorry to introduce more confusion. >>> >>> You seem to be fine with the approach (just minor changes), so it >>> looks to me that the only problem is if this should be in drivers/clk >>> or drivers/soc. Honestly, this is not something I can't decide and >>> I'll let you (the soc and clk maintainers) decide. I don't really have >>> a strong opinion here. I don't mind move again to drivers/clk if that >>> is what we want but let's come to an agreement. >>> >> >> It's already in drivers/clk, so leave the clk part there and register >> the clk device and any other devices by matching the compatible in >> drivers/soc. That is my preferred solution. Can that be done? >> > > I think we can once again create a platform device in drivers/soc which matches > the drivers/clk and then do the routing in drivers/soc. Enric any thoughts? > Yes, working already on a new version. Thanks, Enric