[U-Boot] [RESEND][PATCH 5/9] clk: Add Actions Semi OWL clock support
Manivannan Sadhasivam
manivannan.sadhasivam at linaro.org
Wed Jun 13 03:33:16 UTC 2018
Hi Simon,
On Tue, Jun 12, 2018 at 07:29:15PM -0600, Simon Glass wrote:
> Hi Mani,
>
> On 12 June 2018 at 00:14, Manivannan Sadhasivam
> <manivannan.sadhasivam at linaro.org> wrote:
> > Hi Simon,
> >
> > On Mon, Jun 11, 2018 at 01:38:42PM -0600, Simon Glass wrote:
> >> Hi,
> >>
> >> On 11 June 2018 at 09:48, Manivannan Sadhasivam
> >> <manivannan.sadhasivam at linaro.org> wrote:
> >> > This commit adds Actions Semi OWL family base clock and S900 SoC specific
> >> > clock support. For S900 peripheral clock support, only UART clock has been
> >> > added for now.
> >> >
> >> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
> >> > ---
> >> > arch/arm/include/asm/arch-owl/clk_owl.h | 61 +++++++++++++
> >> > arch/arm/include/asm/arch-owl/regs_s900.h | 64 +++++++++++++
> >> > arch/arm/mach-owl/Kconfig | 2 +-
> >> > drivers/clk/Kconfig | 1 +
> >> > drivers/clk/Makefile | 1 +
> >> > drivers/clk/owl/Kconfig | 12 +++
> >> > drivers/clk/owl/Makefile | 4 +
> >> > drivers/clk/owl/clk_owl.c | 60 +++++++++++++
> >> > drivers/clk/owl/clk_s900.c | 104 ++++++++++++++++++++++
> >> > 9 files changed, 308 insertions(+), 1 deletion(-)
> >> > create mode 100644 arch/arm/include/asm/arch-owl/clk_owl.h
> >> > create mode 100644 arch/arm/include/asm/arch-owl/regs_s900.h
> >> > create mode 100644 drivers/clk/owl/Kconfig
> >> > create mode 100644 drivers/clk/owl/Makefile
> >> > create mode 100644 drivers/clk/owl/clk_owl.c
> >> > create mode 100644 drivers/clk/owl/clk_s900.c
> >>
> >> This doesn't look quite right to me. It looks like you should put all
> >> the code in clk_s900.c and delete clk_owl.c.
> >>
> >
> > The intention is to separate generic OWL family and SoC specific part. I
> > know that there isn't much in the OWL part now but since this is just a
> > basic clk support and I will extend this in upcoming days with further
> > peripherals, this makes sense to me.
> >
> > Also, there are plans to support other OWL family SoCs like S500 and
> > S700. So, in those cases this partition will avoid much code duplication.
> > Moreover, the pattern followed here matches the Linux kernel common
> > clock framework by some means.
>
> I still don't understand this. From the look of it, clk_owl.c has
> almost nothing in it and all the logic is in the driver.
>
Agree!
> It looks like you definitely don't want to have common driver that
> will support multiple compatible strings? Is that right?
>
> But then you have this line in the 'generic' code:
>
> + { .compatible = "actions,s900-cmu" },
>
> Of course it is hard to see where you are going with a start like
> this, but I imagine that the next driver you do would have a similar
> structure to the current one.
>
> So my question is, why not just have the U_BOOT_DRIVER() and other
> 'common' stuff in each driver? I cannot see what you are gaining. You
> are losing discoverability since it will be hard for people to find
> the driver for their actual chip (the compatible string is in one
> file but all the code is in another).
>
Makes sense...
Since I don't have common code to share with other family SoC's for now,
I agree with you on removing clk_owl.c and moving everything to
clk_s900.c. In future we may decide on partitioning the code if there is
enough code duplication.
Will send a v2 incorporating your suggestion.
Thanks for the review!
Regards,
Mani
> Regards,
> Simon
More information about the U-Boot
mailing list