All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Saravana Kannan <skannan@codeaurora.org>
Cc: Shawn Guo <shawn.guo@linaro.org>,
	Mike Turquette <mturquette@linaro.org>,
	Arnd Bergman <arnd.bergmann@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	Andrew Lunn <andrew@lunn.ch>,
	Rob Herring <rob.herring@calxeda.com>,
	Russell King <linux@arm.linux.org.uk>,
	Jeremy Kerr <jeremy.kerr@canonical.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Paul Walmsley <paul@pwsan.com>,
	Shawn Guo <shawn.guo@freescale.com>,
	Jamie Iles <jamie@jamieiles.com>,
	Richard Zhao <richard.zhao@linaro.org>,
	Magnus Damm <magnus.damm@gmail.com>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Linus Walleij <linus.walleij@stericsson.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Amit Kucheria <amit.kucheria@linaro.org>,
	Deepak Saxena <dsaxena@linaro.org>,
	Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH 2/2] clk: Move init fields from clk to clk_hw
Date: Tue, 20 Mar 2012 10:40:31 +0100	[thread overview]
Message-ID: <20120320094031.GI3852@pengutronix.de> (raw)
In-Reply-To: <cbd6490459b9fd68875fec4a7c7de073.squirrel@www.codeaurora.org>

On Tue, Mar 20, 2012 at 12:54:55AM -0700, Saravana Kannan wrote:
> 
> On Tue, March 20, 2012 12:20 am, Shawn Guo wrote:
> > On Mon, Mar 19, 2012 at 08:38:26PM -0700, Saravana Kannan wrote:
> >> This has a couple of advantages:
> >> * Completely hides struct clk from many clock platform drivers and
> >> static
> >>   clock initialization code.
> >> * Simplifies the generic clk_register() function and allows adding
> >> optional
> >>   fields in the future without modifying the function signature.
> >> * Allows for simpler static initialization of clocks on all platforms by
> >>   removing the need for forward delcarations.
> >> * Halves the number of symbols added for each static clock
> >> initialization.
> >>
> >> Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
> >
> > I agree this is a reasonable move.  But while you simplify the interface
> > of clk_register(), why not making a further step to simplify the
> > following interfaces simple too?
> >
> > struct clk *clk_register_fixed_rate(struct device *dev, const char *name,
> >                 const char *parent_name, unsigned long flags,
> >                 unsigned long fixed_rate);
> > struct clk *clk_register_gate(struct device *dev, const char *name,
> >                 const char *parent_name, unsigned long flags,
> >                 void __iomem *reg, u8 bit_idx,
> >                 u8 clk_gate_flags, spinlock_t *lock);
> > struct clk *clk_register_divider(struct device *dev, const char *name,
> >                 const char *parent_name, unsigned long flags,
> >                 void __iomem *reg, u8 shift, u8 width,
> >                 u8 clk_divider_flags, spinlock_t *lock);
> > struct clk *clk_register_mux(struct device *dev, const char *name,
> >                 char **parent_names, u8 num_parents, unsigned long flags,
> >                 void __iomem *reg, u8 shift, u8 width,
> >                 u8 clk_mux_flags, spinlock_t *lock);
> 
> If you simplify those functions further. They would just become
> clk_register(). I'm not sure I see a value in them in at that point or
> even in their current form. But if others see (I'm guessing since they
> acked or didn't nack it), I'm not going to ask to remove them. If everyone
> agrees that we should just remove them, I would be glad to.
> 
> It's arguable that these functions for the common hardware types saves the
> need to deal with the kalloc in every platform driver. But it's not clear
> to me where they would get these parameters in the first place. Most
> likely form some sort of static array. At which point, it might as well be
> a static array of pointers to clk_gated.hw, clk_fixed_rate.hw, etc instead
> of a platform specific  struct to hold these initializers.

I am using these functions and don't need a static array, I just call
the functions with the desired parameters.

Overall the clock framework was written in a way that we have to expose
as little information about the internally used structs as necessary. It
seems your patches are pulling in the opposite direction now.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

WARNING: multiple messages have this Message-ID (diff)
From: s.hauer@pengutronix.de (Sascha Hauer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] clk: Move init fields from clk to clk_hw
Date: Tue, 20 Mar 2012 10:40:31 +0100	[thread overview]
Message-ID: <20120320094031.GI3852@pengutronix.de> (raw)
In-Reply-To: <cbd6490459b9fd68875fec4a7c7de073.squirrel@www.codeaurora.org>

On Tue, Mar 20, 2012 at 12:54:55AM -0700, Saravana Kannan wrote:
> 
> On Tue, March 20, 2012 12:20 am, Shawn Guo wrote:
> > On Mon, Mar 19, 2012 at 08:38:26PM -0700, Saravana Kannan wrote:
> >> This has a couple of advantages:
> >> * Completely hides struct clk from many clock platform drivers and
> >> static
> >>   clock initialization code.
> >> * Simplifies the generic clk_register() function and allows adding
> >> optional
> >>   fields in the future without modifying the function signature.
> >> * Allows for simpler static initialization of clocks on all platforms by
> >>   removing the need for forward delcarations.
> >> * Halves the number of symbols added for each static clock
> >> initialization.
> >>
> >> Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
> >
> > I agree this is a reasonable move.  But while you simplify the interface
> > of clk_register(), why not making a further step to simplify the
> > following interfaces simple too?
> >
> > struct clk *clk_register_fixed_rate(struct device *dev, const char *name,
> >                 const char *parent_name, unsigned long flags,
> >                 unsigned long fixed_rate);
> > struct clk *clk_register_gate(struct device *dev, const char *name,
> >                 const char *parent_name, unsigned long flags,
> >                 void __iomem *reg, u8 bit_idx,
> >                 u8 clk_gate_flags, spinlock_t *lock);
> > struct clk *clk_register_divider(struct device *dev, const char *name,
> >                 const char *parent_name, unsigned long flags,
> >                 void __iomem *reg, u8 shift, u8 width,
> >                 u8 clk_divider_flags, spinlock_t *lock);
> > struct clk *clk_register_mux(struct device *dev, const char *name,
> >                 char **parent_names, u8 num_parents, unsigned long flags,
> >                 void __iomem *reg, u8 shift, u8 width,
> >                 u8 clk_mux_flags, spinlock_t *lock);
> 
> If you simplify those functions further. They would just become
> clk_register(). I'm not sure I see a value in them in at that point or
> even in their current form. But if others see (I'm guessing since they
> acked or didn't nack it), I'm not going to ask to remove them. If everyone
> agrees that we should just remove them, I would be glad to.
> 
> It's arguable that these functions for the common hardware types saves the
> need to deal with the kalloc in every platform driver. But it's not clear
> to me where they would get these parameters in the first place. Most
> likely form some sort of static array. At which point, it might as well be
> a static array of pointers to clk_gated.hw, clk_fixed_rate.hw, etc instead
> of a platform specific  struct to hold these initializers.

I am using these functions and don't need a static array, I just call
the functions with the desired parameters.

Overall the clock framework was written in a way that we have to expose
as little information about the internally used structs as necessary. It
seems your patches are pulling in the opposite direction now.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

  parent reply	other threads:[~2012-03-20  9:40 UTC|newest]

Thread overview: 242+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-16  6:11 [PATCH v7 0/3] common clk framework Mike Turquette
2012-03-16  6:11 ` Mike Turquette
2012-03-16  6:11 ` [PATCH v7 1/3] Documentation: common clk API Mike Turquette
2012-03-16  6:11   ` Mike Turquette
2012-03-16  8:25   ` Linus Walleij
2012-03-16  8:25     ` Linus Walleij
2012-03-16 10:29     ` Thomas Gleixner
2012-03-16 10:29       ` Thomas Gleixner
2012-03-16 11:14       ` Amit Kucheria
2012-03-16 11:14         ` Amit Kucheria
2012-03-16 12:18         ` Arnd Bergmann
2012-03-16 12:18           ` Arnd Bergmann
2012-03-16 20:57           ` Arnd Bergmann
2012-03-16 20:57             ` Arnd Bergmann
2012-03-16 21:40             ` Turquette, Mike
2012-03-16 21:40               ` Turquette, Mike
2012-03-16 21:50             ` Nicolas Pitre
2012-03-16 21:50               ` Nicolas Pitre
2012-03-16 22:21             ` Paul Walmsley
2012-03-16 22:21               ` Paul Walmsley
2012-03-16 22:21               ` Paul Walmsley
2012-03-16 22:33               ` Turquette, Mike
2012-03-16 22:33                 ` Turquette, Mike
2012-03-17  9:05                 ` Arnd Bergmann
2012-03-17  9:05                   ` Arnd Bergmann
2012-03-17  9:05                   ` Arnd Bergmann
2012-03-17 18:02                   ` Turquette, Mike
2012-03-17 18:02                     ` Turquette, Mike
2012-03-17 18:02                     ` Turquette, Mike
2012-03-17 18:33                     ` Arnd Bergmann
2012-03-17 18:33                       ` Arnd Bergmann
2012-03-17 18:33                       ` Arnd Bergmann
2012-03-17 20:29                     ` Sascha Hauer
2012-03-17 20:29                       ` Sascha Hauer
2012-03-17 20:29                       ` Sascha Hauer
2012-03-17 21:13                       ` Arnd Bergmann
2012-03-17 21:13                         ` Arnd Bergmann
2012-03-17 21:13                         ` Arnd Bergmann
2012-03-20 23:40                   ` Paul Walmsley
2012-03-20 23:40                     ` Paul Walmsley
2012-03-21  8:59                     ` Arnd Bergmann
2012-03-21  8:59                       ` Arnd Bergmann
2012-03-16 23:47               ` Sascha Hauer
2012-03-16 23:47                 ` Sascha Hauer
2012-03-16 23:47                 ` Sascha Hauer
2012-03-17  0:54                 ` Rob Herring
2012-03-17  0:54                   ` Rob Herring
2012-03-17  0:54                   ` Rob Herring
2012-03-17  3:38                   ` Saravana Kannan
2012-03-17  3:38                     ` Saravana Kannan
2012-03-17  3:38                     ` Saravana Kannan
2012-03-20 23:31                 ` Paul Walmsley
2012-03-20 23:31                   ` Paul Walmsley
2012-03-20 23:31                   ` Paul Walmsley
2012-03-21  3:15                   ` Nicolas Pitre
2012-03-21  3:15                     ` Nicolas Pitre
2012-03-21  3:15                     ` Nicolas Pitre
2012-03-21  3:26                     ` Saravana Kannan
2012-03-21  3:26                       ` Saravana Kannan
2012-03-21  3:26                       ` Saravana Kannan
2012-03-21  7:44                       ` Paul Walmsley
2012-03-21  7:44                         ` Paul Walmsley
2012-03-21  7:44                         ` Paul Walmsley
2012-03-21  9:10                         ` Sascha Hauer
2012-03-21  9:10                           ` Sascha Hauer
2012-03-21  9:10                           ` Sascha Hauer
2012-03-21 18:38                         ` Saravana Kannan
2012-03-21 18:38                           ` Saravana Kannan
2012-03-21 18:38                           ` Saravana Kannan
2012-03-21 19:07                           ` Mark Brown
2012-03-21 19:07                             ` Mark Brown
2012-03-21 19:07                             ` Mark Brown
2012-03-21 19:33                             ` Tony Lindgren
2012-03-21 19:33                               ` Tony Lindgren
2012-03-21 19:33                               ` Tony Lindgren
2012-03-21 19:41                               ` Saravana Kannan
2012-03-21 19:41                                 ` Saravana Kannan
2012-03-21 19:41                                 ` Saravana Kannan
2012-03-21 19:56                                 ` Mark Brown
2012-03-21 19:56                                   ` Mark Brown
2012-03-21 19:56                                   ` Mark Brown
2012-03-21 20:04                                   ` Saravana Kannan
2012-03-21 20:04                                     ` Saravana Kannan
2012-03-21 20:04                                     ` Saravana Kannan
2012-03-21 20:10                                     ` Mark Brown
2012-03-21 20:10                                       ` Mark Brown
2012-03-21 20:10                                       ` Mark Brown
2012-03-22  0:42                                 ` Russell King - ARM Linux
2012-03-22  0:42                                   ` Russell King - ARM Linux
2012-03-22  0:42                                   ` Russell King - ARM Linux
2012-03-21  7:30                     ` Paul Walmsley
2012-03-21  7:30                       ` Paul Walmsley
2012-03-21  7:30                       ` Paul Walmsley
2012-03-21 13:23                       ` Nicolas Pitre
2012-03-21 13:23                         ` Nicolas Pitre
2012-03-21 13:23                         ` Nicolas Pitre
2012-03-16  6:11 ` [PATCH v7 2/3] clk: introduce the common clock framework Mike Turquette
2012-03-16  6:11   ` Mike Turquette
2012-03-17  3:28   ` Saravana Kannan
2012-03-17  3:28     ` Saravana Kannan
2012-03-19 18:56     ` Turquette, Mike
2012-03-19 18:56       ` Turquette, Mike
2012-03-19 19:13       ` Saravana Kannan
2012-03-19 19:13         ` Saravana Kannan
2012-03-19 19:33         ` Turquette, Mike
2012-03-19 19:33           ` Turquette, Mike
2012-03-19 19:49           ` Saravana Kannan
2012-03-19 19:49             ` Saravana Kannan
2012-03-20  3:38           ` [PATCH 1/2] clk: Fix error handling in fixed clock hardware type register fn Saravana Kannan
2012-03-20  3:38             ` Saravana Kannan
2012-03-20  3:38             ` [PATCH 2/2] clk: Move init fields from clk to clk_hw Saravana Kannan
2012-03-20  3:38               ` Saravana Kannan
2012-03-20  7:20               ` Shawn Guo
2012-03-20  7:20                 ` Shawn Guo
2012-03-20  7:54                 ` Saravana Kannan
2012-03-20  7:54                   ` Saravana Kannan
2012-03-20  7:54                   ` Saravana Kannan
2012-03-20  8:13                   ` Shawn Guo
2012-03-20  8:13                     ` Shawn Guo
2012-03-20  9:40                   ` Sascha Hauer [this message]
2012-03-20  9:40                     ` Sascha Hauer
2012-03-20 10:17                     ` Saravana Kannan
2012-03-20 10:17                       ` Saravana Kannan
2012-03-20 10:17                       ` Saravana Kannan
2012-03-20 18:14                       ` Sascha Hauer
2012-03-20 18:14                         ` Sascha Hauer
2012-03-20 20:14                         ` Saravana Kannan
2012-03-20 20:14                           ` Saravana Kannan
2012-03-20 22:40                           ` Sascha Hauer
2012-03-20 22:40                             ` Sascha Hauer
2012-03-22  3:23                             ` Shawn Guo
2012-03-22  3:23                               ` Shawn Guo
2012-03-20 14:18                     ` Shawn Guo
2012-03-20 14:18                       ` Shawn Guo
2012-03-20 18:10                       ` Sascha Hauer
2012-03-20 18:10                         ` Sascha Hauer
2012-03-20 20:06                         ` Saravana Kannan
2012-03-20 20:06                           ` Saravana Kannan
2012-03-20 23:12                           ` Sascha Hauer
2012-03-20 23:12                             ` Sascha Hauer
2012-03-21  1:47                             ` Turquette, Mike
2012-03-21  1:47                               ` Turquette, Mike
2012-03-21  3:01                               ` Saravana Kannan
2012-03-21  3:01                                 ` Saravana Kannan
2012-03-27  4:35                                 ` Saravana Kannan
2012-03-27  4:35                                   ` Saravana Kannan
2012-03-27 18:49                                   ` Turquette, Mike
2012-03-27 18:49                                     ` Turquette, Mike
2012-03-27 22:27                                     ` Saravana Kannan
2012-03-27 22:27                                       ` Saravana Kannan
2012-04-06  1:30                                     ` Saravana Kannan
2012-04-06  1:30                                       ` Saravana Kannan
2012-04-11 17:59                                       ` Turquette, Mike
2012-04-11 17:59                                         ` Turquette, Mike
2012-04-11 19:57                                         ` Saravana Kannan
2012-04-11 19:57                                           ` Saravana Kannan
2012-04-11 19:57                                           ` Saravana Kannan
2012-04-11 20:17                                           ` Turquette, Mike
2012-04-11 20:17                                             ` Turquette, Mike
2012-04-11 20:21                                             ` Saravana Kannan
2012-04-11 20:21                                               ` Saravana Kannan
2012-04-11 20:21                                               ` Saravana Kannan
2012-03-20 23:47                         ` Paul Walmsley
2012-03-20 23:47                           ` Paul Walmsley
2012-03-21  9:16                           ` Sascha Hauer
2012-03-21  9:16                             ` Sascha Hauer
2012-03-20  7:19             ` [PATCH 1/2] clk: Fix error handling in fixed clock hardware type register fn Sascha Hauer
2012-03-20  7:19               ` Sascha Hauer
2012-03-20  7:46               ` Saravana Kannan
2012-03-20  7:46                 ` Saravana Kannan
2012-03-20  7:46                 ` Saravana Kannan
2012-03-21  0:13                 ` Turquette, Mike
2012-03-21  0:13                   ` Turquette, Mike
2012-03-21  2:32                   ` Saravana Kannan
2012-03-21  2:32                     ` Saravana Kannan
2012-03-21  5:45                     ` Turquette, Mike
2012-03-21  5:45                       ` Turquette, Mike
2012-03-21  6:33                       ` Saravana Kannan
2012-03-21  6:33                         ` Saravana Kannan
2012-03-21  6:33                         ` Saravana Kannan
2012-03-21  9:07                       ` Russell King - ARM Linux
2012-03-21  9:07                         ` Russell King - ARM Linux
2012-03-21 19:56                         ` Turquette, Mike
2012-03-21 19:56                           ` Turquette, Mike
2012-03-18 13:46   ` [PATCH v7 2/3] clk: introduce the common clock framework Shawn Guo
2012-03-18 13:46     ` Shawn Guo
2012-03-19 18:58     ` Turquette, Mike
2012-03-19 18:58       ` Turquette, Mike
2012-03-18 14:07   ` Shawn Guo
2012-03-18 14:07     ` Shawn Guo
2012-03-19 19:00     ` Turquette, Mike
2012-03-19 19:00       ` Turquette, Mike
2012-03-19 11:22   ` Rajendra Nayak
2012-03-19 11:22     ` Rajendra Nayak
2012-03-19 11:28     ` Sascha Hauer
2012-03-19 11:28       ` Sascha Hauer
2012-03-19 19:09       ` Turquette, Mike
2012-03-19 19:09         ` Turquette, Mike
2012-03-19 19:53     ` Turquette, Mike
2012-03-19 19:53       ` Turquette, Mike
2012-03-20 14:02   ` Shawn Guo
2012-03-20 14:02     ` Shawn Guo
2012-03-20 17:46     ` Saravana Kannan
2012-03-20 17:46       ` Saravana Kannan
2012-03-20 23:53       ` Turquette, Mike
2012-03-20 23:53         ` Turquette, Mike
2012-03-21  3:10         ` Saravana Kannan
2012-03-21  3:10           ` Saravana Kannan
2012-03-23 21:33           ` Saravana Kannan
2012-03-23 21:33             ` Saravana Kannan
2012-03-23 21:39             ` Turquette, Mike
2012-03-23 21:39               ` Turquette, Mike
2012-03-23 21:51               ` Saravana Kannan
2012-03-23 21:51                 ` Saravana Kannan
2012-03-23 22:12               ` Saravana Kannan
2012-03-23 22:12                 ` Saravana Kannan
2012-03-23 22:32                 ` Turquette, Mike
2012-03-23 22:32                   ` Turquette, Mike
2012-03-23 23:04                   ` Saravana Kannan
2012-03-23 23:04                     ` Saravana Kannan
2012-03-23 23:28                     ` Turquette, Mike
2012-03-23 23:28                       ` Turquette, Mike
2012-03-28  3:06                       ` Saravana Kannan
2012-03-28  3:06                         ` Saravana Kannan
2012-03-28 17:08                         ` Turquette, Mike
2012-03-28 17:08                           ` Turquette, Mike
2012-03-28 22:25                           ` Saravana Kannan
2012-03-28 22:25                             ` Saravana Kannan
2012-03-28 23:49                             ` Turquette, Mike
2012-03-28 23:49                               ` Turquette, Mike
2012-03-20 23:46     ` Turquette, Mike
2012-03-20 23:46       ` Turquette, Mike
2012-03-21  5:46       ` Shawn Guo
2012-03-21  5:46         ` Shawn Guo
2012-03-16  6:11 ` [PATCH v7 3/3] clk: basic clock hardware types Mike Turquette
2012-03-16  6:11   ` Mike Turquette
2012-03-16 12:25   ` Richard Zhao
2012-03-16 12:25     ` Richard Zhao
2012-03-16 16:51     ` Turquette, Mike
2012-03-16 16:51       ` Turquette, Mike
2012-03-16 10:57 ` [PATCH v7 0/3] common clk framework Sascha Hauer
2012-03-16 10:57   ` Sascha Hauer

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=20120320094031.GI3852@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=amit.kucheria@linaro.org \
    --cc=andrew@lunn.ch \
    --cc=arnd.bergmann@linaro.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=dsaxena@linaro.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jamie@jamieiles.com \
    --cc=jeremy.kerr@canonical.com \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=magnus.damm@gmail.com \
    --cc=mturquette@linaro.org \
    --cc=paul@pwsan.com \
    --cc=richard.zhao@linaro.org \
    --cc=rob.herring@calxeda.com \
    --cc=sboyd@codeaurora.org \
    --cc=shawn.guo@freescale.com \
    --cc=shawn.guo@linaro.org \
    --cc=skannan@codeaurora.org \
    --cc=tglx@linutronix.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.