Thread (3 messages) flat view 3 messages, 2 authors, 2012-11-28

[PATCH] ARM: davinci: da8xx_register_spi() should not register SPI board info

From: Vivien Didelot <hidden>
Date: 2012-11-28 17:10:17
Also in: lkml

Hi Sekhar,

On Wed, 2012-11-28 at 14:19 +0530, Sekhar Nori wrote:
Hi Vivien,

On 9/11/2012 5:59 AM, Vivien Didelot wrote:
quoted
Without this patch, da8xx_register_spi() registers the SPI board info,
the SPI controller, and sets its number of chipselect to the size of the
static spi_board_info array. This is bad because a SPI board info may
declare devices for different SPI buses, and because other code can also
call spi_register_board_info() (e.g. a daughter board might provide
additional SPI devices).

This patch removes the spi_register_board_info() call from
da8xx_register_spi(), renames this last one to da8xx_register_spi_bus()
to be more explicit, takes the number of chipselect as a function
parameter, and updates the impacted board-da8{3,5}0-evm.c, and
board-mityomapl138.c files accordingly. It also sets the SPI platform
data static, as it doesn't need to be exported.

Signed-off-by: Vivien Didelot <redacted>
Sorry about the late reply. It seems I missed seeing this completely
until you reminded Kevin about it.

The patch looks good to me except some minor issues. I made those
changes myself locally since I am the one guilty of getting back on this
so late. See below:
quoted
---
 arch/arm/mach-davinci/board-da830-evm.c    |  9 +++++++--
 arch/arm/mach-davinci/board-da850-evm.c    |  9 +++++++--
 arch/arm/mach-davinci/board-mityomapl138.c |  9 +++++++--
 arch/arm/mach-davinci/devices-da8xx.c      | 14 +++-----------
 arch/arm/mach-davinci/include/mach/da8xx.h |  3 +--
 5 files changed, 25 insertions(+), 19 deletions(-)
The patch doesn't apply to the latest kernel anymore. I resolved that.
quoted
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
index 11c3db9..adb8d87 100644
--- a/arch/arm/mach-davinci/board-da830-evm.c
+++ b/arch/arm/mach-davinci/board-da830-evm.c
@@ -652,8 +652,13 @@ static __init void da830_evm_init(void)
 	if (ret)
 		pr_warning("da830_evm_init: rtc setup failed: %d\n", ret);
 
-	ret = da8xx_register_spi(0, da830evm_spi_info,
-				 ARRAY_SIZE(da830evm_spi_info));
+	ret = spi_register_board_info(da830evm_spi_info,
+				      ARRAY_SIZE(da830evm_spi_info));
+	if (ret)
+		pr_warning("da830_evm_init: spi info registration failed: %d\n",
+			   ret);
Checkpatch asks us to use pr_warn() instead. Fixed that. Also, used
__func__ to print function name. Rob Tivy has patches fixing these all
through this file.

Thanks,
Sekhar
Thank you for considering the patch and for the upstream update!

Cheers,
Vivien
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help