Re: [RFC PATCH 01/10] OMAP2+: l3-noc: Add support for device-tree

2011-09-08 Thread Cousson, Benoit

On 9/8/2011 8:01 PM, Grant Likely wrote:

On Wed, Aug 24, 2011 at 03:09:07PM +0200, Benoit Cousson wrote:

Add device-tree support for the l3-noc driver.

Use platform_driver_register to defer the probing at device init
time.

Signed-off-by: Benoit Coussonb-cous...@ti.com
Cc: Tony Lindgrent...@atomide.com
Cc: Santosh Shilimkarsantosh.shilim...@ti.com
---
  arch/arm/mach-omap2/omap_l3_noc.c |   16 ++--
  1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_l3_noc.c 
b/arch/arm/mach-omap2/omap_l3_noc.c
index 7b9f190..4630703 100644
--- a/arch/arm/mach-omap2/omap_l3_noc.c
+++ b/arch/arm/mach-omap2/omap_l3_noc.c
@@ -228,16 +228,28 @@ static int __exit omap4_l3_remove(struct platform_device 
*pdev)
return 0;
  }

+#if defined(CONFIG_OF)
+static const struct of_device_id l3_noc_match[] = {
+   {.compatible = arteris,noc, },


Missing documentation for this compatible property.


As you already figured out... it will come later.


Also, it appears
to be rather on the generic side.


It is indeed a generic IP that will be there on OMAP5 too.


+   {},
+}
+MODULE_DEVICE_TABLE(of, l3_noc_match);
+#else
+#define l3_noc_match NULL
+#endif
+
  static struct platform_driver omap4_l3_driver = {
+   .probe  = omap4_l3_probe,


.probe needs to be put into the __devinit section.


.remove = __exit_p(omap4_l3_remove),


Similarly, at the same time the remove hook should be changed to
__devexit and __devexit_p() at the same time.


.driver = {
-   .name   = omap_l3_noc,
+   .name   = omap_l3_noc,
+   .of_match_table = l3_noc_match,


Looks like .owner = THIS_MODULE, is missing too.


Well, yeah, that driver was supposed to be started really early to catch 
any potential bus violation. So it was clearly not targeted to be a 
loadable module.

Anyway, it will not hurt, so I'll fix that.

Thanks for the review,
Benoit

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


Re: [RFC PATCH 01/10] OMAP2+: l3-noc: Add support for device-tree

2011-09-08 Thread Grant Likely
On Thu, Sep 08, 2011 at 11:59:18PM +0200, Cousson, Benoit wrote:
 On 9/8/2011 8:01 PM, Grant Likely wrote:
 On Wed, Aug 24, 2011 at 03:09:07PM +0200, Benoit Cousson wrote:
 Add device-tree support for the l3-noc driver.
 
 Use platform_driver_register to defer the probing at device init
 time.
 
 Signed-off-by: Benoit Coussonb-cous...@ti.com
 Cc: Tony Lindgrent...@atomide.com
 Cc: Santosh Shilimkarsantosh.shilim...@ti.com
 ---
   arch/arm/mach-omap2/omap_l3_noc.c |   16 ++--
   1 files changed, 14 insertions(+), 2 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/omap_l3_noc.c 
 b/arch/arm/mach-omap2/omap_l3_noc.c
 index 7b9f190..4630703 100644
 --- a/arch/arm/mach-omap2/omap_l3_noc.c
 +++ b/arch/arm/mach-omap2/omap_l3_noc.c
 @@ -228,16 +228,28 @@ static int __exit omap4_l3_remove(struct 
 platform_device *pdev)
 return 0;
   }
 
 +#if defined(CONFIG_OF)
 +static const struct of_device_id l3_noc_match[] = {
 +   {.compatible = arteris,noc, },
 
 Missing documentation for this compatible property.
 
 As you already figured out... it will come later.
 
 Also, it appears
 to be rather on the generic side.
 
 It is indeed a generic IP that will be there on OMAP5 too.

Even for common ip blocks, it is good practice to be specific about
the implementation.  IP block details tend to change from one silicon
design to the next.  Overly generic (optimistic) compatible value names
generally should be avoided.  Instead, backwards compatibility is
achieved by newer devices claiming compatibility with older
implementations in the compatible list.

g.

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


[RFC PATCH 01/10] OMAP2+: l3-noc: Add support for device-tree

2011-08-24 Thread Benoit Cousson
Add device-tree support for the l3-noc driver.

Use platform_driver_register to defer the probing at device init
time.

Signed-off-by: Benoit Cousson b-cous...@ti.com
Cc: Tony Lindgren t...@atomide.com
Cc: Santosh Shilimkar santosh.shilim...@ti.com
---
 arch/arm/mach-omap2/omap_l3_noc.c |   16 ++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_l3_noc.c 
b/arch/arm/mach-omap2/omap_l3_noc.c
index 7b9f190..4630703 100644
--- a/arch/arm/mach-omap2/omap_l3_noc.c
+++ b/arch/arm/mach-omap2/omap_l3_noc.c
@@ -228,16 +228,28 @@ static int __exit omap4_l3_remove(struct platform_device 
*pdev)
return 0;
 }
 
+#if defined(CONFIG_OF)
+static const struct of_device_id l3_noc_match[] = {
+   {.compatible = arteris,noc, },
+   {},
+}
+MODULE_DEVICE_TABLE(of, l3_noc_match);
+#else
+#define l3_noc_match NULL
+#endif
+
 static struct platform_driver omap4_l3_driver = {
+   .probe  = omap4_l3_probe,
.remove = __exit_p(omap4_l3_remove),
.driver = {
-   .name   = omap_l3_noc,
+   .name   = omap_l3_noc,
+   .of_match_table = l3_noc_match,
},
 };
 
 static int __init omap4_l3_init(void)
 {
-   return platform_driver_probe(omap4_l3_driver, omap4_l3_probe);
+   return platform_driver_register(omap4_l3_driver);
 }
 postcore_initcall_sync(omap4_l3_init);
 
-- 
1.7.0.4

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