public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Luciano Coelho <coelho@ti.com>
To: <linux-wireless@vger.kernel.org>, <tony@atomide.com>, <nsekhar@ti.com>
Cc: <mturquette@linaro.org>, <mark.rutland@arm.com>, <balbi@ti.com>,
	<grant.likely@linaro.org>, <rob.herring@calxeda.com>,
	<devicetree-discuss@lists.ozlabs.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-omap@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>, <coelho@ti.com>,
	<nm@ti.com>
Subject: [PATCH v3 6/8] wlcore: sdio: add wilink clock providers
Date: Wed, 3 Jul 2013 17:03:27 +0300	[thread overview]
Message-ID: <1372860209-3504-7-git-send-email-coelho@ti.com> (raw)
In-Reply-To: <1372860209-3504-1-git-send-email-coelho@ti.com>

Add refclock and tcxoclock as clock providers in WiLink.  These clocks
are not accesible outside the WiLink module, but they are registered
in the clock framework anyway.  Only the WiLink chip consumes these
clocks.

In theory, the WiLink chip could be connected to external clocks
instead of using these internal clocks, so make the clock consumer
code generic enough.  If external clocks are used, then the internal
clock device tree nodes are not necessary, but the external ones must
be specified.

Signed-off-by: Luciano Coelho <coelho@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
---
 drivers/net/wireless/ti/wlcore/sdio.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index 9370d7e..980bf3d 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -34,6 +34,7 @@
 #include <linux/wl12xx.h>
 #include <linux/pm_runtime.h>
 #include <linux/printk.h>
+#include <linux/clk-provider.h>
 
 #include "wlcore.h"
 #include "wl12xx_80211.h"
@@ -214,10 +215,15 @@ static struct wl1271_if_operations sdio_ops = {
 	.set_block_size = wl1271_sdio_set_block_size,
 };
 
+static const struct of_device_id wlcore_sdio_of_clk_match_table[] = {
+	{ .compatible = "ti,wilink-clock" },
+};
+
 static struct wl12xx_platform_data *wlcore_get_pdata_from_of(struct device *dev)
 {
 	struct wl12xx_platform_data *pdata;
 	struct device_node *np = dev->of_node;
+	struct device_node *clock_node;
 
 	if (!np) {
 		np = of_find_matching_node(NULL, dev->driver->of_match_table);
@@ -241,6 +247,9 @@ static struct wl12xx_platform_data *wlcore_get_pdata_from_of(struct device *dev)
 		goto out_free;
 	}
 
+	for_each_matching_node(clock_node, wlcore_sdio_of_clk_match_table)
+		of_fixed_clk_setup(clock_node);
+
 	goto out;
 
 out_free:
-- 
1.7.10.4


  parent reply	other threads:[~2013-07-03 14:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-03 14:03 [PATCH v3 0/8] wilink: add device tree support Luciano Coelho
2013-07-03 14:03 ` [PATCH v3 1/8] wl1251: split wl251 platform data to a separate structure Luciano Coelho
2013-07-03 14:11   ` Felipe Balbi
2013-07-03 14:03 ` [PATCH v3 2/8] wlcore: set irq_flags in the board files instead of hiding behind a quirk Luciano Coelho
2013-07-03 14:13   ` Felipe Balbi
2013-07-03 14:18     ` Luciano Coelho
2013-07-03 14:23       ` Felipe Balbi
2013-07-03 14:15   ` Luciano Coelho
2013-07-03 15:12     ` Javier Martinez Canillas
2013-07-04 14:21       ` Luciano Coelho
2013-07-04  4:46   ` Sekhar Nori
2013-07-03 14:03 ` [PATCH v3 3/8] wlcore: remove pwr_in_suspend from platform data Luciano Coelho
2013-07-03 14:14   ` Felipe Balbi
2013-07-03 14:03 ` [PATCH v3 4/8] wl12xx: use frequency instead of enumerations for pdata clocks Luciano Coelho
2013-07-03 14:16   ` Felipe Balbi
2013-07-03 14:03 ` [PATCH v3 5/8] wlcore: add initial device tree support to the sdio module Luciano Coelho
2013-07-03 14:18   ` Felipe Balbi
2013-07-03 14:03 ` Luciano Coelho [this message]
2013-07-03 14:03 ` [PATCH v3 7/8] wlcore: sdio: get clocks from device tree Luciano Coelho
2013-07-03 14:03 ` [PATCH v3 8/8] wlcore/wl12xx: check if we got correct clock data from DT Luciano Coelho
2013-07-03 14:19   ` Felipe Balbi

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=1372860209-3504-7-git-send-email-coelho@ti.com \
    --to=coelho@ti.com \
    --cc=balbi@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@linaro.org \
    --cc=nm@ti.com \
    --cc=nsekhar@ti.com \
    --cc=rob.herring@calxeda.com \
    --cc=tony@atomide.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox