All of lore.kernel.org
 help / color / mirror / Atom feed
From: sassmann@kpanic.de (Stefan Assmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC 2/2] regulator: twl: Re-add clk32kg to get wifi working
Date: Thu, 17 Jul 2014 10:36:48 +0200	[thread overview]
Message-ID: <53C78B20.6010602@kpanic.de> (raw)
In-Reply-To: <20140716212340.GZ17528@sirena.org.uk>

On 16.07.2014 23:23, Mark Brown wrote:
> On Tue, Jul 15, 2014 at 02:59:14PM +0200, Stefan Assmann wrote:
>
>> Looking at this more closely it seems to me that it's a regulator thing
>> after all. In the end it all boils down to a single register write.
>> twl_i2c_write_u8(TWL_MODULE_PM_RECEIVER, 0x41, 0x8e);
>> This is a write to the CLK32KG_CFG_STATE [1] register to power on the
>> device.
>
> The register description happening to mention power doesn't mean it's
> not functionally an enable for a clock.
>
>> I tried moving that to omap4xxx_dt_clk_init() but that won't work
>> because the twl core structures aren't initialized yet.
>
>> Any suggestions?
>
> Why not just add this to (or create a new) clock driver for the chip?
>

Problem is that twl_i2c_write_u8() calls twl_get_regmap() to get the
regmap. This requires struct twl_priv to be populated which does not
happen until twl_probe has run. That hasn't happened at the point when
omap4xxx_dt_clk_init() gets called.
Is there a way to defer a clock driver until twl_probe() has run?

   Stefan

WARNING: multiple messages have this Message-ID (diff)
From: Stefan Assmann <sassmann-llIHtaV5axyzQB+pC5nmwQ@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	pawel.moll-5wv7dgnIgG8@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
	galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org
Subject: Re: [PATCH RFC 2/2] regulator: twl: Re-add clk32kg to get wifi working
Date: Thu, 17 Jul 2014 10:36:48 +0200	[thread overview]
Message-ID: <53C78B20.6010602@kpanic.de> (raw)
In-Reply-To: <20140716212340.GZ17528-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>

On 16.07.2014 23:23, Mark Brown wrote:
> On Tue, Jul 15, 2014 at 02:59:14PM +0200, Stefan Assmann wrote:
>
>> Looking at this more closely it seems to me that it's a regulator thing
>> after all. In the end it all boils down to a single register write.
>> twl_i2c_write_u8(TWL_MODULE_PM_RECEIVER, 0x41, 0x8e);
>> This is a write to the CLK32KG_CFG_STATE [1] register to power on the
>> device.
>
> The register description happening to mention power doesn't mean it's
> not functionally an enable for a clock.
>
>> I tried moving that to omap4xxx_dt_clk_init() but that won't work
>> because the twl core structures aren't initialized yet.
>
>> Any suggestions?
>
> Why not just add this to (or create a new) clock driver for the chip?
>

Problem is that twl_i2c_write_u8() calls twl_get_regmap() to get the
regmap. This requires struct twl_priv to be populated which does not
happen until twl_probe has run. That hasn't happened at the point when
omap4xxx_dt_clk_init() gets called.
Is there a way to defer a clock driver until twl_probe() has run?

   Stefan
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2014-07-17  8:36 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-14 11:50 [PATCH RFC 0/2] Enable wifi on pandaboard Stefan Assmann
2014-07-14 11:50 ` Stefan Assmann
2014-07-14 11:50 ` [PATCH RFC 1/2] dts: regulator-clk32kg should always be enabled Stefan Assmann
2014-07-14 11:50   ` Stefan Assmann
2014-07-14 11:50 ` [PATCH RFC 2/2] regulator: twl: Re-add clk32kg to get wifi working Stefan Assmann
2014-07-14 11:50   ` Stefan Assmann
2014-07-14 12:00   ` Mark Brown
2014-07-14 12:00     ` Mark Brown
2014-07-14 12:05     ` Stefan Assmann
2014-07-14 12:05       ` Stefan Assmann
2014-07-14 18:13       ` Mark Brown
2014-07-14 18:13         ` Mark Brown
2014-07-15 12:59         ` Stefan Assmann
2014-07-15 12:59           ` Stefan Assmann
2014-07-16 21:23           ` Mark Brown
2014-07-16 21:23             ` Mark Brown
2014-07-17  8:36             ` Stefan Assmann [this message]
2014-07-17  8:36               ` Stefan Assmann
2014-07-17  9:58               ` Mark Brown
2014-07-17  9:58                 ` Mark Brown
2014-07-24 15:03             ` Stefan Assmann
2014-07-24 15:03               ` Stefan Assmann
2014-07-24 17:39               ` Mark Brown
2014-07-24 17:39                 ` Mark Brown
2014-07-29  1:27               ` Mike Turquette
2014-07-29  1:27                 ` Mike Turquette

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=53C78B20.6010602@kpanic.de \
    --to=sassmann@kpanic.de \
    --cc=linux-arm-kernel@lists.infradead.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.