Skip to contentSkip to conversation

SPI omap2_mcspi.c: Use num chipselects from platform data

PATCH In review Scott Ellis 1 participant 2 messages Mar 12, 2010 – May 24, 2010 SPI

lore
Share & tools
lore
#0 lore raw

PATCH 5/6 SPI omap2_mcspi.c: Use num chipselects from platform data

The platform data already has the number of chip select lines for each McSPI module. No need to figure it out again in probe().

 drivers/spi/omap2_mcspi.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)
drivers/spi/omap2_mcspi.c +2 -7
index cce23c5..cd9fdc2 100644
@@ -1058,33 +1058,28 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev)
 	struct resource		*r;
 	int			status = 0, i;
 	const u8		*rxdma_id, *txdma_id;
-	unsigned		num_chipselect;
 	struct omap2_mcspi_platform_config *pdata;
 
 	switch (pdev->id) {
 	case 1:
 		rxdma_id = spi1_rxdma_id;
 		txdma_id = spi1_txdma_id;
-		num_chipselect = 4;
 		break;
 	case 2:
 		rxdma_id = spi2_rxdma_id;
 		txdma_id = spi2_txdma_id;
-		num_chipselect = 2;
 		break;
 #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) \
 	|| defined(CONFIG_ARCH_OMAP4)
 	case 3:
 		rxdma_id = spi3_rxdma_id;
 		txdma_id = spi3_txdma_id;
-		num_chipselect = 2;
 		break;
 #endif
 #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
 	case 4:
 		rxdma_id = spi4_rxdma_id;
 		txdma_id = spi4_txdma_id;
-		num_chipselect = 1;
 		break;
 #endif
 	default:
@@ -1106,7 +1101,6 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev)
 	master->setup = omap2_mcspi_setup;
 	master->transfer = omap2_mcspi_transfer;
 	master->cleanup = omap2_mcspi_cleanup;
-	master->num_chipselect = num_chipselect;
 
 	dev_set_drvdata(&pdev->dev, master);
 
@@ -1114,6 +1108,7 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev)
 	mcspi->master = master;
 	pdata = (struct omap2_mcspi_platform_config *)pdev->dev.platform_data;
 	mcspi->max_clk_div = pdata->max_clk_div;
+	master->num_chipselect = pdata->num_cs;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (r == NULL) {
@@ -1160,7 +1155,7 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev)
 	if (mcspi->dma_channels == NULL)
 		goto err3;
 
-	for (i = 0; i < num_chipselect; i++) {
+	for (i = 0; i < master->num_chipselect; i++) {
 		mcspi->dma_channels[i].dma_rx_channel = -1;
 		mcspi->dma_channels[i].dma_rx_sync_dev = rxdma_id[i];
 		mcspi->dma_channels[i].dma_tx_channel = -1;
#1 lore raw

This was convenient in conjunction with some of the previous patches since platform_device data was already getting read for max_clk_div and num_cs was there too. Since max_clk_div is no more, maybe this patch isn't worthwhile.

It's not a bug fix, so no harm ignoring.

I'll regenerate it if asked.