All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Turquette <mturquette@baylibre.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>,
	"Stephen Boyd" <sboyd@codeaurora.org>,
	"Emilio Lopez" <emilio@elopez.com.ar>
Cc: linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Hans de Goede" <hdegoede@redhat.com>,
	linux-sunxi@googlegroups.com,
	"Maxime Ripard" <maxime.ripard@free-electrons.com>
Subject: Re: [PATCH v6 1/5] clk: Add a basic multiplier clock
Date: Tue, 20 Oct 2015 06:43:43 -0700	[thread overview]
Message-ID: <20151020134343.20687.16333@quantum> (raw)
In-Reply-To: <1445326609-6314-2-git-send-email-maxime.ripard@free-electrons.com>

Hi Maxime,

Quoting Maxime Ripard (2015-10-20 00:36:45)
> +struct clk *clk_register_multiplier(struct device *dev, const char *name,
> +                                   const char *parent_name,
> +                                   unsigned long flags,
> +                                   void __iomem *reg, u8 shift, u8 width,
> +                                   u8 clk_mult_flags, spinlock_t *lock)
> +{

Patch looks good in general. However this is a good opportunity to stop
the madness around the registration functions in these basic clock
types.

clk_register is really all that we need since we've had struct
clk_init_data for a while. Initializing a multiplier should be as simple
as:

	struct clk_multiplier clk_foo =3D {
		.hw.init =3D &(struct clk_init_data){
			.name =3D "foo",
			.parent_names =3D (const char *[]){
				"bar",
			},
			.num_parents =3D 1;
			.ops =3D &clk_multiplier_ops,
		},
		.reg =3D 0xd34db33f,
		.shift =3D 1,
		.width =3D 2,
	};

	clk_register(dev, &clk_foo.hw);

This is nice since it turns these basic clocks into even more of a
library and less of a poor mans driver.

(I really hope the above works. I did not test it)

Is it possible you can convert to using this method, and if it is
correct for you then just remove clk_multiplier_register altogether? (In
fact you might not use the registration function at all since you use
the composite clock...)

Regards,
Mike

WARNING: multiple messages have this Message-ID (diff)
From: mturquette@baylibre.com (Michael Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 1/5] clk: Add a basic multiplier clock
Date: Tue, 20 Oct 2015 06:43:43 -0700	[thread overview]
Message-ID: <20151020134343.20687.16333@quantum> (raw)
In-Reply-To: <1445326609-6314-2-git-send-email-maxime.ripard@free-electrons.com>

Hi Maxime,

Quoting Maxime Ripard (2015-10-20 00:36:45)
> +struct clk *clk_register_multiplier(struct device *dev, const char *name,
> +                                   const char *parent_name,
> +                                   unsigned long flags,
> +                                   void __iomem *reg, u8 shift, u8 width,
> +                                   u8 clk_mult_flags, spinlock_t *lock)
> +{

Patch looks good in general. However this is a good opportunity to stop
the madness around the registration functions in these basic clock
types.

clk_register is really all that we need since we've had struct
clk_init_data for a while. Initializing a multiplier should be as simple
as:

	struct clk_multiplier clk_foo = {
		.hw.init = &(struct clk_init_data){
			.name = "foo",
			.parent_names = (const char *[]){
				"bar",
			},
			.num_parents = 1;
			.ops = &clk_multiplier_ops,
		},
		.reg = 0xd34db33f,
		.shift = 1,
		.width = 2,
	};

	clk_register(dev, &clk_foo.hw);

This is nice since it turns these basic clocks into even more of a
library and less of a poor mans driver.

(I really hope the above works. I did not test it)

Is it possible you can convert to using this method, and if it is
correct for you then just remove clk_multiplier_register altogether? (In
fact you might not use the registration function at all since you use
the composite clock...)

Regards,
Mike

  reply	other threads:[~2015-10-20 13:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-20  7:36 [PATCH v6 0/5] clk: sunxi: Add support for the Audio PLL Maxime Ripard
2015-10-20  7:36 ` Maxime Ripard
2015-10-20  7:36 ` [PATCH v6 1/5] clk: Add a basic multiplier clock Maxime Ripard
2015-10-20  7:36   ` Maxime Ripard
2015-10-20 13:43   ` Michael Turquette [this message]
2015-10-20 13:43     ` Michael Turquette
2015-10-20 14:40     ` Maxime Ripard
2015-10-20 14:40       ` Maxime Ripard
2015-10-20 16:29       ` Michael Turquette
2015-10-20 16:29         ` Michael Turquette
2015-10-21 14:53         ` Maxime Ripard
2015-10-21 14:53           ` Maxime Ripard
2015-10-21 15:53           ` Michael Turquette
2015-10-21 15:53             ` Michael Turquette
2015-10-20  7:36 ` [PATCH v6 2/5] clk: sunxi: Add a driver for the PLL2 Maxime Ripard
2015-10-20  7:36   ` Maxime Ripard
2015-10-20  7:36 ` [PATCH v6 3/5] clk: sunxi: pll2: Add A13 support Maxime Ripard
2015-10-20  7:36   ` Maxime Ripard
2015-10-20  7:36 ` [PATCH v6 4/5] clk: sunxi: codec clock support Maxime Ripard
2015-10-20  7:36   ` Maxime Ripard
2015-10-20  7:36 ` [PATCH v6 5/5] clk: sunxi: mod1 " Maxime Ripard
2015-10-20  7:36   ` Maxime Ripard

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=20151020134343.20687.16333@quantum \
    --to=mturquette@baylibre.com \
    --cc=emilio@elopez.com.ar \
    --cc=hdegoede@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=sboyd@codeaurora.org \
    --cc=wens@csie.org \
    /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.