All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 00/13] clk: Port Linux common clock framework [CCF] to U-boot (tag: 5.0-rc3)
Date: Sun, 19 May 2019 16:34:44 +0200	[thread overview]
Message-ID: <20190519163444.19fc4685@jawa> (raw)
In-Reply-To: <CAPnjgZ0MtTL35DgEi+hdot0oEkvugOOMuNPCiMg-+-p7QEkraQ@mail.gmail.com>

Hi Simon,

> Hi Lukasz,
> 
> On Sat, 18 May 2019 at 14:49, Lukasz Majewski <lukma@denx.de> wrote:
> >
> > Hi Simon,
> >  
> > > kHi Lukasz,
> > >
> > > On Thu, 16 May 2019 at 16:11, Lukasz Majewski <lukma@denx.de>
> > > wrote:  
> > > >
> > > > This patch series brings the files from Linux kernel to provide
> > > > clocks support as it is used on the Linux kernel with common
> > > > clock framework [CCF] setup.
> > > >
> > > > This series also fixes several problems with current clocks and
> > > > provides sandbox tests for functions addded to clk-uclass.c
> > > > file.
> > > >
> > > > Repository:
> > > > https://github.com/lmajewski/u-boot-dfu/commits/CCF-v4
> > > >
> > > >
> > > > Changes in v4:
> > > > - New patch
> > > > - None
> > > > - None
> > > > - None
> > > > - New patch
> > > > - None
> > > > - Port some more Linux code to facilitate imx8 code porting
> > > > (most notably flags)
> > > > - Explicitly use container_of() based macro to provide struct
> > > > clk in various places (e.g. gate2, mux, etc)
> > > >   Following patches has been squashed:
> > > >   http://patchwork.ozlabs.org/patch/1093141/
> > > >   http://patchwork.ozlabs.org/patch/1093142/
> > > >   http://patchwork.ozlabs.org/patch/1093146/
> > > > - New patch
> > > >
> > > > Changes in v3:
> > > > - New patch
> > > > - The rate information is now cached into struct clk field
> > > > - The clk_get_parent() is used to get pointer to the parent
> > > > struct clk
> > > > - Replace -ENODEV with -ENOENT
> > > > - Use **clkp instead of **c
> > > > - New patch
> > > > - New patch
> > > >
> > > > Lukasz Majewski (13):
> > > >   clk: doc: Add documentation entry for Common Clock Framework
> > > > [CCF] (i.MX)
> > > >   dm: Fix documentation entry as there is no UCLASS_CLOCK uclass
> > > >   clk: Remove clock ID check in .get_rate() of clk_fixed_*
> > > >   clk: Extend struct clk to provide information regarding clock
> > > > rate clk: Extend struct clk to provide clock type agnostic flags
> > > >   clk: Provide struct clk for fixed rate clock
> > > > (clk_fixed_rate.c) dm: clk: Define clk_get_parent() for clk
> > > > operations dm: clk: Define clk_get_parent_rate() for clk
> > > > operations dm: clk: Define clk_get_by_id() for clk operations
> > > >   clk: test: Provide unit test for clk_get_by_id() method
> > > >   clk: test: Provide unit test for clk_get_parent_rate() method
> > > >   clk: Port Linux common clock framework [CCF] for imx6q to
> > > > U-boot (tag: 5.0-rc3)
> > > >   dm: clk: Extend clk_get_parent_rate() to support
> > > > CLK_GET_RATE_NOCACHE flag
> > > >
> > > >  arch/sandbox/include/asm/clk.h |  16 ++++
> > > >  doc/imx/clk/ccf.txt            |  83 +++++++++++++++++++
> > > >  drivers/clk/Kconfig            |  14 ++++
> > > >  drivers/clk/Makefile           |   2 +
> > > >  drivers/clk/clk-divider.c      | 148
> > > > ++++++++++++++++++++++++++++++++++
> > > > drivers/clk/clk-fixed-factor.c |  87 ++++++++++++++++++++
> > > > drivers/clk/clk-mux.c          | 164
> > > > +++++++++++++++++++++++++++++++++++++
> > > > drivers/clk/clk-uclass.c       |  60 ++++++++++++++
> > > > drivers/clk/clk.c              |  56 +++++++++++++
> > > > drivers/clk/clk_fixed_factor.c |   3 -
> > > > drivers/clk/clk_fixed_rate.c   |   8 +-
> > > > drivers/clk/clk_sandbox_test.c |  49 +++++++++++
> > > > drivers/clk/imx/Kconfig        |   9 +++
> > > > drivers/clk/imx/Makefile       |   2 +
> > > > drivers/clk/imx/clk-gate2.c    | 113 ++++++++++++++++++++++++++
> > > > drivers/clk/imx/clk-imx6q.c    | 179
> > > > +++++++++++++++++++++++++++++++++++++++++
> > > > drivers/clk/imx/clk-pfd.c      |  91 +++++++++++++++++++++
> > > > drivers/clk/imx/clk-pllv3.c    |  83 +++++++++++++++++++
> > > > drivers/clk/imx/clk.h          |  75 +++++++++++++++++
> > > > include/clk.h                  |  37 ++++++++-
> > > > include/linux/clk-provider.h   | 115 ++++++++++++++++++++++++++
> > > > test/dm/clk.c                  |   4 +- 22 files changed, 1390
> > > > insertions(+), 8 deletions(-) create mode 100644
> > > > doc/imx/clk/ccf.txt create mode 100644
> > > > drivers/clk/clk-divider.c create mode 100644
> > > > drivers/clk/clk-fixed-factor.c create mode 100644
> > > > drivers/clk/clk-mux.c create mode 100644 drivers/clk/clk.c
> > > > create mode 100644 drivers/clk/imx/clk-gate2.c create mode
> > > > 100644 drivers/clk/imx/clk-imx6q.c create mode 100644
> > > > drivers/clk/imx/clk-pfd.c create mode 100644
> > > > drivers/clk/imx/clk-pllv3.c create mode 100644
> > > > drivers/clk/imx/clk.h create mode 100644
> > > > include/linux/clk-provider.h  
> > >
> > > I don't see any new tests here other a trivial change in
> > > test/dm/clk.c
> > >
> > > When adding new functionality to the generic clock code, tests
> > > should be added to cover this code. The sandbox clock driver
> > > should be enhanced as needed.  
> >
> > Please correct me if I'm wrong (or provide not enough code for those
> > use cases), but I've added some tests here:
> >
> > http://patchwork.ozlabs.org/patch/1100767/
> > http://patchwork.ozlabs.org/patch/1100769/
> >
> > Are those not exhaustive enough? Have I overlooked something?  
> 
> Sorry...I even looked at those patches but missed that they were
> tests. I think it would be better if the test code were in test/dm
> instead of drivers/clk/clk_sandbox_test.c.

I've added those tests in the same place as original clk_get_rate().
However, there is no issue from my side to add them to test/dm if this
is a better place.

> 
> I made a comment about the driver_data thing though.
> 
> I wonder if we should try to put tests (code in test/dm/... at least)
> in with the change that introduces new functionality? Or would that be
> too painful?

As I said above - if the test/dm/ directory is a better place (than
drivers/clk/clk_sandbox_test.c) to place CCF (clk) related tests - then
I'm fine with it.

> 
> Regards,
> Simon




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190519/0ad9db2e/attachment.sig>

  reply	other threads:[~2019-05-19 14:34 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-16 22:10 [U-Boot] [PATCH v4 00/13] clk: Port Linux common clock framework [CCF] to U-boot (tag: 5.0-rc3) Lukasz Majewski
2019-05-16 22:10 ` [U-Boot] [PATCH v4 01/13] clk: doc: Add documentation entry for Common Clock Framework [CCF] (i.MX) Lukasz Majewski
2019-05-16 23:22   ` Marek Vasut
2019-05-17  6:15   ` Peng Fan
2019-06-10  9:40   ` [U-Boot] [PATCH v4 01/13] clk: doc: Add documentation entry for sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 02/13] dm: Fix documentation entry as there is no UCLASS_CLOCK uclass Lukasz Majewski
2019-05-17  5:52   ` Peng Fan
2019-06-10  9:59   ` [U-Boot] [PATCH v4 02/13] dm: Fix documentation entry as there is sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 03/13] clk: Remove clock ID check in .get_rate() of clk_fixed_* Lukasz Majewski
2019-05-17  5:53   ` Peng Fan
2019-06-08 15:22   ` Stefano Babic
2019-06-10  9:39   ` [U-Boot] [PATCH v4 03/13] clk: Remove clock ID check in .get_rate() sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 04/13] clk: Extend struct clk to provide information regarding clock rate Lukasz Majewski
2019-05-16 23:23   ` Marek Vasut
2019-05-17  6:42     ` Lukasz Majewski
2019-06-08 15:22   ` Stefano Babic
2019-06-10  9:59   ` [U-Boot] [PATCH v4 04/13] clk: Extend struct clk to provide sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 05/13] clk: Extend struct clk to provide clock type agnostic flags Lukasz Majewski
2019-05-17  5:54   ` Peng Fan
2019-06-08 15:22   ` Stefano Babic
2019-06-10  9:40   ` [U-Boot] [PATCH v4 05/13] clk: Extend struct clk to provide clock sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 06/13] clk: Provide struct clk for fixed rate clock (clk_fixed_rate.c) Lukasz Majewski
2019-05-17  5:55   ` Peng Fan
2019-06-08 15:23   ` Stefano Babic
2019-06-10  9:40   ` [U-Boot] [PATCH v4 06/13] clk: Provide struct clk for fixed rate sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 07/13] dm: clk: Define clk_get_parent() for clk operations Lukasz Majewski
2019-05-17  5:46   ` Peng Fan
2019-05-17  5:56     ` Peng Fan
2019-05-17  5:57   ` Peng Fan
2019-05-18 16:08   ` Simon Glass
2019-05-18 20:52     ` Lukasz Majewski
2019-05-18 22:04       ` Simon Glass
2019-06-08 15:24   ` Stefano Babic
2019-06-10  9:40   ` [U-Boot] [PATCH v4 07/13] dm: clk: Define clk_get_parent() for clk sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 08/13] dm: clk: Define clk_get_parent_rate() for clk operations Lukasz Majewski
2019-05-17  5:58   ` Peng Fan
2019-05-18 16:08   ` Simon Glass
2019-05-18 20:45     ` Lukasz Majewski
2019-06-10  9:39   ` [U-Boot] [PATCH v4 08/13] dm: clk: Define clk_get_parent_rate() for sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 09/13] dm: clk: Define clk_get_by_id() for clk operations Lukasz Majewski
2019-05-17  5:58   ` Peng Fan
2019-05-18 16:08   ` Simon Glass
2019-05-18 20:44     ` Lukasz Majewski
2019-06-08 15:24   ` Stefano Babic
2019-06-10  9:39   ` [U-Boot] [PATCH v4 09/13] dm: clk: Define clk_get_by_id() for clk sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 10/13] clk: test: Provide unit test for clk_get_by_id() method Lukasz Majewski
2019-05-17  6:00   ` Peng Fan
2019-06-10  9:41   ` [U-Boot] [PATCH v4 10/13] clk: test: Provide unit test for sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 11/13] clk: test: Provide unit test for clk_get_parent_rate() method Lukasz Majewski
2019-05-18 16:33   ` Simon Glass
2019-06-10  9:49   ` [U-Boot] [PATCH v4 11/13] clk: test: Provide unit test for sbabic at denx.de
2019-05-16 22:10 ` [U-Boot] [PATCH v4 12/13] clk: Port Linux common clock framework [CCF] for imx6q to U-boot (tag: 5.0-rc3) Lukasz Majewski
2019-05-17  2:48   ` Bin Meng
2019-05-17 12:31     ` Adam Ford
2019-05-17 13:19       ` Lukasz Majewski
2019-06-10  9:40   ` [U-Boot] [PATCH v4 12/13] clk: Port Linux common clock framework sbabic at denx.de
2019-06-10 21:36   ` Lukasz Majewski
2019-06-11  8:29     ` Stefano Babic
2019-05-16 22:10 ` [U-Boot] [PATCH v4 13/13] dm: clk: Extend clk_get_parent_rate() to support CLK_GET_RATE_NOCACHE flag Lukasz Majewski
2019-05-17  6:03   ` Peng Fan
2019-06-10  9:39   ` [U-Boot] [PATCH v4 13/13] dm: clk: Extend clk_get_parent_rate() to sbabic at denx.de
2019-05-18 16:08 ` [U-Boot] [PATCH v4 00/13] clk: Port Linux common clock framework [CCF] to U-boot (tag: 5.0-rc3) Simon Glass
2019-05-18 20:49   ` Lukasz Majewski
2019-05-18 22:02     ` Simon Glass
2019-05-19 14:34       ` Lukasz Majewski [this message]
2019-05-20 15:35         ` Simon Glass

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=20190519163444.19fc4685@jawa \
    --to=lukma@denx.de \
    --cc=u-boot@lists.denx.de \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.