All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Felipe Balbi <balbi@ti.com>
Cc: Kevin Hilman <khilman@ti.com>, Paul Walmsley <paul@pwsan.com>,
	"G. Manjunath Kondaiah" <manjugk@ti.com>,
	devicetree-discuss@lists.ozlabs.org,
	Grant Likely <grant.likely@secretlab.ca>,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC/PATCH 2/7] OMAP3: beagle: don't touch omap_device internals
Date: Thu, 28 Jul 2011 00:53:47 -0500	[thread overview]
Message-ID: <20110728055346.GA11921@foobar> (raw)
In-Reply-To: <20110722085716.GI32058@legolas.emea.dhcp.ti.com>

On 11:57-20110722, Felipe Balbi wrote:
[...]
> >  	/* Custom OPP enabled for all xM versions */
> >  	if (cpu_is_omap3630()) {
> > -		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
> > -		struct omap_hwmod *dh = omap_hwmod_lookup("iva");
> > -		struct device *dev;
> > +		struct device *mpu_dev, *iva_dev;
> >  
> > -		if (!mh || !dh) {
> > +		mpu_dev = omap2_get_mpuss_device();
> > +		iva_dev = omap2_get_iva_device();
> 
> out of curiosity again, nothing to do with this patch.
> 
> Maybe it would be nicer to have an api such as:
> 
> omap2_get_device(name);
> 
> there are already four devices to be gotten, if that number grows any
> bigger, so will the number of helper functions.
I agree, in fact, on a different topic, I hit the same requirement
here is the patch I had done:
>From 9f226def811bd50e4bac02f427604034cef77706 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Wed, 27 Jul 2011 15:02:32 -0500
Subject: [PATCH] OMAP: hwmod: add omap_hwmod_to_device

omap_hwmod_to_device is useful for drivers when they need to
look up the device associated with a hwmod name to map back
into the device structure pointers. These ideally should
be used by drivers in mach directory. This could in effect
replace apis such as omap2_get_mpuss_device,
omap2_get_iva_device, omap2_get_l3_device, omap4_get_dsp_device
etc..

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap2/omap_hwmod.c             |   33 ++++++++++++++++++++++++++
 arch/arm/plat-omap/include/plat/omap_hwmod.h |    2 +
 2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 293fa6c..77d01a2 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -142,6 +142,7 @@
 #include "powerdomain.h"
 #include <plat/clock.h>
 #include <plat/omap_hwmod.h>
+#include <plat/omap_device.h>
 #include <plat/prcm.h>
 
 #include "cm2xxx_3xxx.h"
@@ -2369,3 +2370,35 @@ int omap_hwmod_no_setup_reset(struct omap_hwmod *oh)
 
 	return 0;
 }
+
+/**
+ * omap_hwmod_to_device() - convert a hwmod name to device pointer
+ * @oh_name: name of the hwmod device
+ *
+ * returns back a struct device * pointer associated with a hwmod
+ * device represented by a hwmod_name
+ */
+struct device *omap_hwmod_to_device(const char *oh_name)
+{
+	struct omap_hwmod *oh;
+
+	if (!oh_name) {
+		WARN(1, "%s: no hwmod name!\n", __func__);
+		return ERR_PTR(-EINVAL);
+	}
+
+	oh = _lookup(oh_name);
+	if (IS_ERR_OR_NULL(oh)) {
+		WARN(1, "%s: no hwmod for %s\n", __func__,
+			oh_name);
+		return ERR_PTR(-ENODEV);
+	}
+	if (IS_ERR_OR_NULL(oh->od)) {
+		WARN(1, "%s: no omap_device for %s\n", __func__,
+			oh_name);
+		return ERR_PTR(-ENODEV);
+	}
+
+	return &oh->od->pdev.dev;
+}
+EXPORT_SYMBOL(omap_hwmod_to_device);
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
index 1adea9c..b9eec08 100644
--- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
@@ -611,4 +611,6 @@ extern int omap2430_hwmod_init(void);
 extern int omap3xxx_hwmod_init(void);
 extern int omap44xx_hwmod_init(void);
 
+extern struct device *omap_hwmod_to_device(const char *oh_name);
+
 #endif
-- 
1.7.4.1


WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC/PATCH 2/7] OMAP3: beagle: don't touch omap_device internals
Date: Thu, 28 Jul 2011 00:53:47 -0500	[thread overview]
Message-ID: <20110728055346.GA11921@foobar> (raw)
In-Reply-To: <20110722085716.GI32058@legolas.emea.dhcp.ti.com>

On 11:57-20110722, Felipe Balbi wrote:
[...]
> >  	/* Custom OPP enabled for all xM versions */
> >  	if (cpu_is_omap3630()) {
> > -		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
> > -		struct omap_hwmod *dh = omap_hwmod_lookup("iva");
> > -		struct device *dev;
> > +		struct device *mpu_dev, *iva_dev;
> >  
> > -		if (!mh || !dh) {
> > +		mpu_dev = omap2_get_mpuss_device();
> > +		iva_dev = omap2_get_iva_device();
> 
> out of curiosity again, nothing to do with this patch.
> 
> Maybe it would be nicer to have an api such as:
> 
> omap2_get_device(name);
> 
> there are already four devices to be gotten, if that number grows any
> bigger, so will the number of helper functions.
I agree, in fact, on a different topic, I hit the same requirement
here is the patch I had done:

  reply	other threads:[~2011-07-28  5:53 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-21 23:52 [RFC/PATCH 0/7] decouple platform_device from omap_device Kevin Hilman
2011-07-21 23:52 ` Kevin Hilman
2011-07-21 23:52 ` [PATCH] OMAP: omap_device: replace _find_by_pdev() with to_omap_device() Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-22  8:53   ` Felipe Balbi
2011-07-22  8:53     ` Felipe Balbi
2011-07-21 23:52 ` [RFC/PATCH 1/7] OMAP: omap_device: replace debug/warning/error prints with dev_* macros Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-21 23:52 ` [RFC/PATCH 2/7] OMAP3: beagle: don't touch omap_device internals Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-22  8:57   ` Felipe Balbi
2011-07-22  8:57     ` Felipe Balbi
2011-07-28  5:53     ` Nishanth Menon [this message]
2011-07-28  5:53       ` Nishanth Menon
2011-07-28 10:10       ` Russell King - ARM Linux
2011-07-28 10:10         ` Russell King - ARM Linux
2011-07-28 12:57       ` Cousson, Benoit
2011-07-28 12:57         ` Cousson, Benoit
2011-07-28 12:59         ` Felipe Balbi
2011-07-28 12:59           ` Felipe Balbi
2011-07-28 13:31         ` Menon, Nishanth
2011-07-28 13:31           ` Menon, Nishanth
2011-07-29 13:49           ` Nishanth Menon
2011-07-29 13:49             ` Nishanth Menon
2011-07-29 14:05             ` Felipe Balbi
2011-07-29 14:05               ` Felipe Balbi
2011-07-29 23:07               ` Menon, Nishanth
2011-07-29 23:07                 ` Menon, Nishanth
2011-08-01  8:52                 ` Felipe Balbi
2011-08-01  8:52                   ` Felipe Balbi
2011-07-28  8:36     ` Jean Pihet
2011-07-28  8:36       ` Jean Pihet
2011-07-28  8:40     ` Jean Pihet
2011-07-28  8:40       ` Jean Pihet
2011-07-21 23:52 ` [RFC/PATCH 3/7] OMAP: McBSP: use existing macros for converting between devices Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-22  8:58   ` Felipe Balbi
2011-07-22  8:58     ` Felipe Balbi
2011-07-22 12:32   ` Sergei Shtylyov
2011-07-22 12:32     ` Sergei Shtylyov
2011-07-22 20:19     ` Kevin Hilman
2011-07-22 20:19       ` Kevin Hilman
2011-07-21 23:52 ` [RFC/PATCH 4/7] OMAP: omap_device: remove internal functions from omap_device.h Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-21 23:52 ` [RFC/PATCH 5/7] OMAP: omap_device: when building return platform_device instead of omap_device Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-21 23:52 ` [RFC/PATCH 6/7] OMAP: omap_device: device register functions now take platform_device pointer Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-22  6:16   ` Grant Likely
2011-07-22  6:16     ` Grant Likely
2011-07-21 23:52 ` [RFC/PATCH 7/7] WIP: HACK/RFC: omap_device: begin to decouple platform_device from omap_device Kevin Hilman
2011-07-21 23:52   ` Kevin Hilman
2011-07-22  2:20   ` Grant Likely
2011-07-22  2:20     ` Grant Likely
2011-07-30 12:03   ` Russell King - ARM Linux
2011-07-30 12:03     ` Russell King - ARM Linux
2011-07-31  2:58     ` Grant Likely
2011-07-31  2:58       ` Grant Likely
2011-07-31 15:05       ` Russell King - ARM Linux
2011-07-31 15:05         ` Russell King - ARM Linux
2011-08-01 15:42         ` Kevin Hilman
2011-08-01 15:42           ` Kevin Hilman
2011-08-01 15:44           ` Grant Likely
2011-08-01 15:44             ` Grant Likely
2011-08-01 18:50             ` Felipe Balbi
2011-08-01 18:50               ` Felipe Balbi
2011-08-01 20:07               ` Russell King - ARM Linux
2011-08-01 20:07                 ` Russell King - ARM Linux
2011-08-01 22:11                 ` Kevin Hilman
2011-08-01 22:11                   ` Kevin Hilman
2011-08-01 22:55                   ` Felipe Balbi
2011-08-01 22:55                     ` Felipe Balbi
2011-08-01 23:09                     ` Russell King - ARM Linux
2011-08-01 23:09                       ` Russell King - ARM Linux
2011-08-02  0:00                       ` Grant Likely
2011-08-02  0:00                         ` Grant Likely
2011-07-27 14:04 ` [RFC/PATCH 0/7] " G, Manjunath Kondaiah
2011-07-27 14:04   ` G, Manjunath Kondaiah
2011-07-27 21:45   ` Hilman, Kevin
2011-07-27 21:45     ` Hilman, Kevin
2011-07-28  4:50     ` G, Manjunath Kondaiah
2011-07-28  4:50       ` G, Manjunath Kondaiah
2011-07-29 23:59       ` Kevin Hilman
2011-07-29 23:59         ` Kevin Hilman

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=20110728055346.GA11921@foobar \
    --to=nm@ti.com \
    --cc=balbi@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=manjugk@ti.com \
    --cc=paul@pwsan.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 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.