Linux on ARM based TI OMAP SoCs
 help / color / mirror / Atom feed
* Compilation: omap-for-linus omap2plus error
@ 2010-09-30  3:54 Abraham Arce
  2010-09-30  4:16 ` Abraham Arce
  2010-09-30 14:10 ` Ming Lei
  0 siblings, 2 replies; 6+ messages in thread
From: Abraham Arce @ 2010-09-30  3:54 UTC (permalink / raw)
  To: linux-omap

Hi,

Is there any patch missing in omap-for-linus branch?

   CC      arch/arm/mach-omap2/pm_bus.o
arch/arm/mach-omap2/pm_bus.c: In function 'omap_pm_runtime_init':
arch/arm/mach-omap2/pm_bus.c:64: error: implicit declaration of function 
'platform_bus_get_pm_ops'
arch/arm/mach-omap2/pm_bus.c:64: warning: assignment makes pointer from 
integer without a cast
arch/arm/mach-omap2/pm_bus.c:81: error: implicit declaration of function 
'platform_bus_set_pm_ops'
make[1]: *** [arch/arm/mach-omap2/pm_bus.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Best Regards
Abraham

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Compilation: omap-for-linus omap2plus error
  2010-09-30  3:54 Compilation: omap-for-linus omap2plus error Abraham Arce
@ 2010-09-30  4:16 ` Abraham Arce
  2010-09-30  7:55   ` Shilimkar, Santosh
  2010-09-30 14:10 ` Ming Lei
  1 sibling, 1 reply; 6+ messages in thread
From: Abraham Arce @ 2010-09-30  4:16 UTC (permalink / raw)
  To: Abraham Arce; +Cc: linux-omap

Adding more info to previous email, email account changed

On Wed, Sep 29, 2010 at 10:54 PM, Abraham Arce <x0066660@ti.com> wrote:
> Hi,
>
> Is there any patch missing in omap-for-linus branch?
>
>  CC      arch/arm/mach-omap2/pm_bus.o
> arch/arm/mach-omap2/pm_bus.c: In function 'omap_pm_runtime_init':
> arch/arm/mach-omap2/pm_bus.c:64: error: implicit declaration of function
> 'platform_bus_get_pm_ops'
> arch/arm/mach-omap2/pm_bus.c:64: warning: assignment makes pointer from
> integer without a cast
> arch/arm/mach-omap2/pm_bus.c:81: error: implicit declaration of function
> 'platform_bus_set_pm_ops'
> make[1]: *** [arch/arm/mach-omap2/pm_bus.o] Error 1
> make: *** [arch/arm/mach-omap2] Error 2
>

I am trying using following commit as latest

Kevin Hilman
7ad0e386d46e9edff64705ab25337ad9130baf63
OMAP2+: defconfig: disable CPUfreq

Best Regards
Abraham
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: Compilation: omap-for-linus omap2plus error
  2010-09-30  4:16 ` Abraham Arce
@ 2010-09-30  7:55   ` Shilimkar, Santosh
  2010-09-30  8:55     ` Abraham Arce
  2010-09-30 14:18     ` Kevin Hilman
  0 siblings, 2 replies; 6+ messages in thread
From: Shilimkar, Santosh @ 2010-09-30  7:55 UTC (permalink / raw)
  To: Abraham Arce, Arce, Abraham; +Cc: linux-omap@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 1319 bytes --]

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Abraham Arce
> Sent: Thursday, September 30, 2010 9:47 AM
> To: Arce, Abraham
> Cc: linux-omap@vger.kernel.org
> Subject: Re: Compilation: omap-for-linus omap2plus error
> 
> Adding more info to previous email, email account changed
> 
> On Wed, Sep 29, 2010 at 10:54 PM, Abraham Arce <x0066660@ti.com> wrote:
> > Hi,
> >
> > Is there any patch missing in omap-for-linus branch?
> >
> >  CC      arch/arm/mach-omap2/pm_bus.o
> > arch/arm/mach-omap2/pm_bus.c: In function 'omap_pm_runtime_init':
> > arch/arm/mach-omap2/pm_bus.c:64: error: implicit declaration of function
> > 'platform_bus_get_pm_ops'
> > arch/arm/mach-omap2/pm_bus.c:64: warning: assignment makes pointer from
> > integer without a cast
> > arch/arm/mach-omap2/pm_bus.c:81: error: implicit declaration of function
> > 'platform_bus_set_pm_ops'
> > make[1]: *** [arch/arm/mach-omap2/pm_bus.o] Error 1
> > make: *** [arch/arm/mach-omap2] Error 2
> >
> 
> I am trying using following commit as latest
> 
> Kevin Hilman
> 7ad0e386d46e9edff64705ab25337ad9130baf63
> OMAP2+: defconfig: disable CPUfreq
> 
Looks like Kevin's platform.c patch is missing
in omap-for-linus branch. Patch attached.

[-- Attachment #2: 0001-driver-core-platform_bus-allow-runtime-override-of.patch --]
[-- Type: application/octet-stream, Size: 3577 bytes --]

From f8093c5b5f5cc63efd86dd34157e271526f049d6 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Wed, 29 Sep 2010 11:05:56 -0700
Subject: [PATCH] driver core: platform_bus: allow runtime override of dev_pm_ops

Currently, the platform_bus allows customization of several of the
busses dev_pm_ops methods by using weak symbols so that platform code
can override them.  The weak-symbol approach is not scalable when
wanting to support multiple platforms in a single kernel binary.

Instead, provide __init methods for platform code to customize the
dev_pm_ops methods at runtime.

NOTE: after these dynamic methods are merged, the weak symbols should
      be removed from drivers/base/platform.c.  AFAIK, this will only
      affect SH and sh-mobile which should be converted to use this
      runtime approach instead of the weak symbols.  After SH &
      sh-mobile are converted, the weak symobols could be removed.

Tested on OMAP3.

Cc: Magnus Damm <magnus.damm@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/base/platform.c         |   35 +++++++++++++++++++++++++++++++++++
 include/linux/platform_device.h |    3 +++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index c6c933f..468bbfd 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -976,6 +976,41 @@ struct bus_type platform_bus_type = {
 };
 EXPORT_SYMBOL_GPL(platform_bus_type);
 
+/**
+ * platform_bus_get_pm_ops() - return pointer to busses dev_pm_ops
+ *
+ * This function can be used by platform code to get the current
+ * set of dev_pm_ops functions used by the platform_bus_type.
+ */
+const struct dev_pm_ops * __init platform_bus_get_pm_ops(void)
+{
+	return platform_bus_type.pm;
+}
+
+/**
+ * platform_bus_set_pm_ops() - update dev_pm_ops for the platform_bus_type
+ *
+ * @pm: pointer to new dev_pm_ops struct to be used for platform_bus_type
+ *
+ * Platform code can override the dev_pm_ops methods of
+ * platform_bus_type by using this function.  It is expected that
+ * platform code will first do a platform_bus_get_pm_ops(), then
+ * kmemdup it, then customize selected methods and pass a pointer to
+ * the new struct dev_pm_ops to this function.
+ *
+ * Since platform-specific code is customizing methods for *all*
+ * devices (not just platform-specific devices) it is expected that
+ * any custom overrides of these functions will keep existing behavior
+ * and simply extend it.  For example, any customization of the
+ * runtime PM methods should continue to call the pm_generic_*
+ * functions as the default ones do in addition to the
+ * platform-specific behavior.
+ */
+void __init platform_bus_set_pm_ops(const struct dev_pm_ops *pm)
+{
+	platform_bus_type.pm = pm;
+}
+
 int __init platform_bus_init(void)
 {
 	int error;
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index d7ecad0..2e700ec 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -138,6 +138,9 @@ extern struct platform_device *platform_create_bundle(struct platform_driver *dr
 					struct resource *res, unsigned int n_res,
 					const void *data, size_t size);
 
+extern const struct dev_pm_ops * platform_bus_get_pm_ops(void);
+extern void platform_bus_set_pm_ops(const struct dev_pm_ops *pm);
+
 /* early platform driver interface */
 struct early_platform_driver {
 	const char *class_str;
-- 
1.6.0.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: Compilation: omap-for-linus omap2plus error
  2010-09-30  7:55   ` Shilimkar, Santosh
@ 2010-09-30  8:55     ` Abraham Arce
  2010-09-30 14:18     ` Kevin Hilman
  1 sibling, 0 replies; 6+ messages in thread
From: Abraham Arce @ 2010-09-30  8:55 UTC (permalink / raw)
  To: Shilimkar, Santosh; +Cc: Arce, Abraham, linux-omap@vger.kernel.org

Thanks Santosh,

On Thu, Sep 30, 2010 at 2:55 AM, Shilimkar, Santosh
<santosh.shilimkar@ti.com> wrote:
>> >  CC      arch/arm/mach-omap2/pm_bus.o
>> > arch/arm/mach-omap2/pm_bus.c: In function 'omap_pm_runtime_init':
>> > arch/arm/mach-omap2/pm_bus.c:64: error: implicit declaration of function
>> > 'platform_bus_get_pm_ops'
>> > arch/arm/mach-omap2/pm_bus.c:64: warning: assignment makes pointer from
>> > integer without a cast
>> > arch/arm/mach-omap2/pm_bus.c:81: error: implicit declaration of function
>> > 'platform_bus_set_pm_ops'
>>
>> I am trying using following commit as latest
>>
>> Kevin Hilman
>> 7ad0e386d46e9edff64705ab25337ad9130baf63
>> OMAP2+: defconfig: disable CPUfreq
>>
> Looks like Kevin's platform.c patch is missing
> in omap-for-linus branch. Patch attached.
>

Compilation error fixed... no more issues

Best Regards
Abraham
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Compilation: omap-for-linus omap2plus error
  2010-09-30  3:54 Compilation: omap-for-linus omap2plus error Abraham Arce
  2010-09-30  4:16 ` Abraham Arce
@ 2010-09-30 14:10 ` Ming Lei
  1 sibling, 0 replies; 6+ messages in thread
From: Ming Lei @ 2010-09-30 14:10 UTC (permalink / raw)
  To: Abraham Arce; +Cc: linux-omap

2010/9/30 Abraham Arce <x0066660@ti.com>:
> Hi,
>
> Is there any patch missing in omap-for-linus branch?
>
>  CC      arch/arm/mach-omap2/pm_bus.o
> arch/arm/mach-omap2/pm_bus.c: In function 'omap_pm_runtime_init':
> arch/arm/mach-omap2/pm_bus.c:64: error: implicit declaration of function
> 'platform_bus_get_pm_ops'
> arch/arm/mach-omap2/pm_bus.c:64: warning: assignment makes pointer from
> integer without a cast
> arch/arm/mach-omap2/pm_bus.c:81: error: implicit declaration of function
> 'platform_bus_set_pm_ops'
> make[1]: *** [arch/arm/mach-omap2/pm_bus.o] Error 1
> make: *** [arch/arm/mach-omap2] Error 2

This issue also exists in pm-hwmods branch.


-- 
Lei Ming
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Compilation: omap-for-linus omap2plus error
  2010-09-30  7:55   ` Shilimkar, Santosh
  2010-09-30  8:55     ` Abraham Arce
@ 2010-09-30 14:18     ` Kevin Hilman
  1 sibling, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2010-09-30 14:18 UTC (permalink / raw)
  To: Shilimkar, Santosh
  Cc: Abraham Arce, Arce, Abraham, linux-omap@vger.kernel.org

"Shilimkar, Santosh" <santosh.shilimkar@ti.com> writes:

>> > Is there any patch missing in omap-for-linus branch?

Short version:

Yes, there are several and the dependencies are taken care of in the
master branch.

Long version: 

There are several changes that are going upstream for 2.6.37 that are
going through other trees (driver core, runtime PM core, i2c core, etc.)
In my tree, I keep these in my pm-backports branch, and for Tony's tree,
he has cherry-picked them into the omap-testing branch so they are
included in l-o master until the merge window opens.

So, even if you cherry pick the one patch, you may not have compile time
problems but you will have other runtime problems due to other
dependencies.  So I strongly recommend just using l-o master.

Kevin

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-09-30 14:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-30  3:54 Compilation: omap-for-linus omap2plus error Abraham Arce
2010-09-30  4:16 ` Abraham Arce
2010-09-30  7:55   ` Shilimkar, Santosh
2010-09-30  8:55     ` Abraham Arce
2010-09-30 14:18     ` Kevin Hilman
2010-09-30 14:10 ` Ming Lei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox