Skip to contentSkip to conversation

dm: core: Kconfig: set OF_TRANSLATE default value to n

PATCH New Mugunthan V N 4 participants 5 messages Nov 4, 2015 – Nov 12, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n

Based on the OF_TRANSLATE Kconfig description, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms using SIMPLE_BUS should be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enable OF_TRANSLATE only on required platform.

---

Tested this patch on TI DRA72 platform.

---
 drivers/core/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/core/Kconfig +1 -1
index 15681df..74e0caf 100644
@@ -123,7 +123,7 @@ config SPL_SIMPLE_BUS
 config OF_TRANSLATE
 	bool "Translate addresses using fdt_translate_address"
 	depends on DM && OF_CONTROL
-	default y
+	default n
 	help
 	  If this option is enabled, the reg property will be translated
 	  using the fdt_translate_address() function. This is necessary
Signature · 1 line
2.6.2.280.g74301d6
#1 lore raw

PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n

+Stefan

Hi Mugunthan,

Quoted 6 lines · Mugunthan V N

Based on the OF_TRANSLATE Kconfig description, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms using SIMPLE_BUS should be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enable OF_TRANSLATE only on required platform.

How do you know it is not used? This is surprising because Stefan presumably added it to fix something.

Quoted 24 lines

---

Tested this patch on TI DRA72 platform.

---
 drivers/core/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/core/Kconfig +1 -2
index 15681df..74e0caf 100644
@@ -123,7 +123,7 @@ config SPL_SIMPLE_BUS
 config OF_TRANSLATE
        bool "Translate addresses using fdt_translate_address"
        depends on DM && OF_CONTROL
-       default y
+       default n
        help
          If this option is enabled, the reg property will be translated
          using the fdt_translate_address() function. This is necessary
--
Quoted 2 lines

2.6.2.280.g74301d6

Regards,
Simon

#2 lore raw

PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n

+Stephan Warren & Thomas Chou

Quoted 12 lines · Simon Glass

+Stefan

Hi Mugunthan,

Quoted 6 lines · Mugunthan V N

Based on the OF_TRANSLATE Kconfig description, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms using SIMPLE_BUS should be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enable OF_TRANSLATE only on required platform.

Quoted 2 lines

How do you know it is not used? This is surprising because Stefan presumably added it to fix something.

I assume Mugunthan meant, that simple bus is never used. This is not quite correct, as its at least used per default in the SPL (because of size reasons).

And yes, this translation via fdt_translate_address() is needed. At least for some platforms, like mvebu & nios2 (IIRC). Stephen also made some quite striking comments about this a few weeks ago. And I really think that we should make use of this function per default. Platforms that know for sure that they don't need this functionality can always disable it selectively.

Mugunthan, why do you want to disable this functionality? Does it cause problems on your platform? If yes, which ones?

Thanks,
Stefan

#3 lore raw

PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n

Quoted 29 lines · Stefan Roese

+Stephan Warren & Thomas Chou

Quoted 12 lines · Simon Glass

+Stefan

Hi Mugunthan,

Quoted 6 lines · Mugunthan V N

Based on the OF_TRANSLATE Kconfig description, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms using SIMPLE_BUS should be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enable OF_TRANSLATE only on required platform.

Quoted 2 lines

How do you know it is not used? This is surprising because Stefan presumably added it to fix something.

I assume Mugunthan meant, that simple bus is never used. This is not quite correct, as its at least used per default in the SPL (because of size reasons).

And yes, this translation via fdt_translate_address() is needed. At least for some platforms, like mvebu & nios2 (IIRC). Stephen also made some quite striking comments about this a few weeks ago. And I really think that we should make use of this function per default. Platforms that know for sure that they don't need this functionality can always disable it selectively.

Quoted 2 lines

Mugunthan, why do you want to disable this functionality? Does it cause problems on your platform? If yes, which ones?

Processing of ranges is a fundamental part of handling DT in general. It should be enabled by default. If there are well-researched cases where
(a) including the code is problematic (e.g. due to code size restrictions) and (b) someone is watching the DTs processed on those platforms like a hawk to ensure no ranges properties are introduced into the DT, *then* we could make a special-case exception to disable the feature in those specific cases. As such, I think enable-by-default, disable-when-chosen is the appropriate default.

#4 lore raw

PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n

Quoted 33 lines · Stephen Warren
Quoted 29 lines · Stefan Roese

+Stephan Warren & Thomas Chou

Quoted 12 lines · Simon Glass

+Stefan

Hi Mugunthan,

Quoted 6 lines · Mugunthan V N

Based on the OF_TRANSLATE Kconfig description, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms using SIMPLE_BUS should be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enable OF_TRANSLATE only on required platform.

Quoted 2 lines

How do you know it is not used? This is surprising because Stefan presumably added it to fix something.

I assume Mugunthan meant, that simple bus is never used. This is not quite correct, as its at least used per default in the SPL (because of size reasons).

And yes, this translation via fdt_translate_address() is needed. At least for some platforms, like mvebu & nios2 (IIRC). Stephen also made some quite striking comments about this a few weeks ago. And I really think that we should make use of this function per default. Platforms that know for sure that they don't need this functionality can always disable it selectively.

Quoted 2 lines

Mugunthan, why do you want to disable this functionality? Does it cause problems on your platform? If yes, which ones?

Quoted 8 lines

Processing of ranges is a fundamental part of handling DT in general. It should be enabled by default. If there are well-researched cases where
(a) including the code is problematic (e.g. due to code size restrictions) and (b) someone is watching the DTs processed on those platforms like a hawk to ensure no ranges properties are introduced into the DT, *then* we could make a special-case exception to disable the feature in those specific cases. As such, I think enable-by-default, disable-when-chosen is the appropriate default.

In the Kconfig help it is mentioned that this is needed only on some platforms which uses complex ranges, so when I tried disabling OF_TRANSLATE on omap platform it still works.

Since OF_TRANSLATE is defined as 'y' as default, SIMPLE_BUS is never used until OF_TRANSLATE is set to 'n' in defconfig. So I thought of making the default kconfig option as 'n' and select this which ever platform needs it like mvebu and nios2.

But if community wants OF_TRANSLATE to be used by default, I am okay to drop this patch.

Regards
Mugunthan V N