Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: dw: Make debugfs use bus num and make irq name unique

Instead of using device name it was suggested that bus number was more
appropriate to differentiate debugfs names. Also reduce buffer size to
more realistic 32 bytes instead of 128.

When request_irq is called the bus number may not be assigned. Therefore
the irq name was not unique when dynamic bus number was being used.
As per most of the spi drivers use the device name instead. No other
use of dws->name could be found so it was removed.

Signed-off-by: Phil Reid <preid@electromag.com.au>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Phil Reid and committed by
Mark Brown
e70002c8 cf1716e9

+4 -5
+4 -4
drivers/spi/spi-dw.c
··· 107 107 108 108 static int dw_spi_debugfs_init(struct dw_spi *dws) 109 109 { 110 - char name[128]; 110 + char name[32]; 111 111 112 - snprintf(name, 128, "dw_spi-%s", dev_name(&dws->master->dev)); 112 + snprintf(name, 32, "dw_spi%d", dws->master->bus_num); 113 113 dws->debugfs = debugfs_create_dir(name, NULL); 114 114 if (!dws->debugfs) 115 115 return -ENOMEM; ··· 486 486 dws->type = SSI_MOTO_SPI; 487 487 dws->dma_inited = 0; 488 488 dws->dma_addr = (dma_addr_t)(dws->paddr + DW_SPI_DR); 489 - snprintf(dws->name, sizeof(dws->name), "dw_spi%d", dws->bus_num); 490 489 491 - ret = request_irq(dws->irq, dw_spi_irq, IRQF_SHARED, dws->name, master); 490 + ret = request_irq(dws->irq, dw_spi_irq, IRQF_SHARED, dev_name(dev), 491 + master); 492 492 if (ret < 0) { 493 493 dev_err(dev, "can not get IRQ\n"); 494 494 goto err_free_master;
-1
drivers/spi/spi-dw.h
··· 101 101 struct dw_spi { 102 102 struct spi_master *master; 103 103 enum dw_ssi_type type; 104 - char name[16]; 105 104 106 105 void __iomem *regs; 107 106 unsigned long paddr;