summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/spi_qsd.c23
-rw-r--r--drivers/spi/spi_qsd.h73
2 files changed, 48 insertions, 48 deletions
diff --git a/drivers/spi/spi_qsd.c b/drivers/spi/spi_qsd.c
index a5d59e7f2d90..7aa04a4fa156 100644
--- a/drivers/spi/spi_qsd.c
+++ b/drivers/spi/spi_qsd.c
@@ -1830,15 +1830,15 @@ err_setup_exit:
static int debugfs_iomem_x32_set(void *data, u64 val)
{
- struct msm_spi_regs *debugfs_spi_regs = (struct msm_spi_regs *)data;
- struct msm_spi *dd = debugfs_spi_regs->dd;
+ struct msm_spi_debugfs_data *reg = (struct msm_spi_debugfs_data *)data;
+ struct msm_spi *dd = reg->dd;
int ret;
ret = pm_runtime_get_sync(dd->dev);
if (ret < 0)
return ret;
- writel_relaxed(val, (dd->base + debugfs_spi_regs->offset));
+ writel_relaxed(val, (dd->base + reg->offset));
/* Ensure the previous write completed. */
mb();
@@ -1849,14 +1849,14 @@ static int debugfs_iomem_x32_set(void *data, u64 val)
static int debugfs_iomem_x32_get(void *data, u64 *val)
{
- struct msm_spi_regs *debugfs_spi_regs = (struct msm_spi_regs *)data;
- struct msm_spi *dd = debugfs_spi_regs->dd;
+ struct msm_spi_debugfs_data *reg = (struct msm_spi_debugfs_data *)data;
+ struct msm_spi *dd = reg->dd;
int ret;
ret = pm_runtime_get_sync(dd->dev);
if (ret < 0)
return ret;
- *val = readl_relaxed(dd->base + debugfs_spi_regs->offset);
+ *val = readl_relaxed(dd->base + reg->offset);
/* Ensure the previous read completed. */
mb();
@@ -1870,18 +1870,21 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_iomem_x32, debugfs_iomem_x32_get,
static void spi_debugfs_init(struct msm_spi *dd)
{
- dd->dent_spi = debugfs_create_dir(dev_name(dd->dev), NULL);
+ char dir_name[20];
+
+ scnprintf(dir_name, sizeof(dir_name), "%s_dbg", dev_name(dd->dev));
+ dd->dent_spi = debugfs_create_dir(dir_name, NULL);
if (dd->dent_spi) {
int i;
for (i = 0; i < ARRAY_SIZE(debugfs_spi_regs); i++) {
- debugfs_spi_regs[i].dd = dd;
+ dd->reg_data[i].offset = debugfs_spi_regs[i].offset;
+ dd->reg_data[i].dd = dd;
dd->debugfs_spi_regs[i] =
debugfs_create_file(
debugfs_spi_regs[i].name,
debugfs_spi_regs[i].mode,
- dd->dent_spi,
- debugfs_spi_regs+i,
+ dd->dent_spi, &dd->reg_data[i],
&fops_iomem_x32);
}
}
diff --git a/drivers/spi/spi_qsd.h b/drivers/spi/spi_qsd.h
index fb906939c03a..444c7773f807 100644
--- a/drivers/spi/spi_qsd.h
+++ b/drivers/spi/spi_qsd.h
@@ -214,52 +214,48 @@ struct spi_cs_gpio {
};
#ifdef CONFIG_DEBUG_FS
+struct msm_spi_debugfs_data {
+ int offset;
+ struct msm_spi *dd;
+};
/* Used to create debugfs entries */
static struct msm_spi_regs{
const char *name;
mode_t mode;
int offset;
- struct msm_spi *dd;
} debugfs_spi_regs[] = {
- {"config", S_IRUGO | S_IWUSR, SPI_CONFIG, NULL},
- {"io_control", S_IRUGO | S_IWUSR, SPI_IO_CONTROL, NULL},
- {"io_modes", S_IRUGO | S_IWUSR, SPI_IO_MODES, NULL},
- {"sw_reset", S_IWUSR, SPI_SW_RESET, NULL},
- {"time_out_current", S_IRUGO, SPI_TIME_OUT_CURRENT,
- NULL},
- {"mx_output_count", S_IRUGO | S_IWUSR, SPI_MX_OUTPUT_COUNT,
- NULL},
- {"mx_output_cnt_current", S_IRUGO, SPI_MX_OUTPUT_CNT_CURRENT,
- NULL},
- {"mx_input_count", S_IRUGO | S_IWUSR, SPI_MX_INPUT_COUNT, NULL},
- {"mx_input_cnt_current", S_IRUGO, SPI_MX_INPUT_CNT_CURRENT,
- NULL},
- {"mx_read_count", S_IRUGO | S_IWUSR, SPI_MX_READ_COUNT, NULL},
- {"mx_read_cnt_current", S_IRUGO, SPI_MX_READ_CNT_CURRENT,
- NULL},
- {"operational", S_IRUGO | S_IWUSR, SPI_OPERATIONAL, NULL},
- {"error_flags", S_IRUGO | S_IWUSR, SPI_ERROR_FLAGS, NULL},
- {"error_flags_en", S_IRUGO | S_IWUSR, SPI_ERROR_FLAGS_EN, NULL},
- {"deassert_wait", S_IRUGO | S_IWUSR, SPI_DEASSERT_WAIT, NULL},
- {"output_debug", S_IRUGO, SPI_OUTPUT_DEBUG, NULL},
- {"input_debug", S_IRUGO, SPI_INPUT_DEBUG, NULL},
- {"test_ctrl", S_IRUGO | S_IWUSR, SPI_TEST_CTRL, NULL},
- {"output_fifo", S_IWUSR, SPI_OUTPUT_FIFO, NULL},
- {"input_fifo" , S_IRUSR, SPI_INPUT_FIFO, NULL},
- {"spi_state", S_IRUGO | S_IWUSR, SPI_STATE, NULL},
+ {"config", S_IRUGO | S_IWUSR, SPI_CONFIG },
+ {"io_control", S_IRUGO | S_IWUSR, SPI_IO_CONTROL },
+ {"io_modes", S_IRUGO | S_IWUSR, SPI_IO_MODES },
+ {"sw_reset", S_IWUSR, SPI_SW_RESET },
+ {"time_out_current", S_IRUGO, SPI_TIME_OUT_CURRENT },
+ {"mx_output_count", S_IRUGO | S_IWUSR, SPI_MX_OUTPUT_COUNT },
+ {"mx_output_cnt_current", S_IRUGO,
+ SPI_MX_OUTPUT_CNT_CURRENT },
+ {"mx_input_count", S_IRUGO | S_IWUSR, SPI_MX_INPUT_COUNT },
+ {"mx_input_cnt_current", S_IRUGO, SPI_MX_INPUT_CNT_CURRENT },
+ {"mx_read_count", S_IRUGO | S_IWUSR, SPI_MX_READ_COUNT, },
+ {"mx_read_cnt_current", S_IRUGO, SPI_MX_READ_CNT_CURRENT },
+ {"operational", S_IRUGO | S_IWUSR, SPI_OPERATIONAL },
+ {"error_flags", S_IRUGO | S_IWUSR, SPI_ERROR_FLAGS },
+ {"error_flags_en", S_IRUGO | S_IWUSR, SPI_ERROR_FLAGS_EN },
+ {"deassert_wait", S_IRUGO | S_IWUSR, SPI_DEASSERT_WAIT },
+ {"output_debug", S_IRUGO, SPI_OUTPUT_DEBUG },
+ {"input_debug", S_IRUGO, SPI_INPUT_DEBUG },
+ {"test_ctrl", S_IRUGO | S_IWUSR, SPI_TEST_CTRL },
+ {"output_fifo", S_IWUSR, SPI_OUTPUT_FIFO },
+ {"input_fifo", S_IRUSR, SPI_INPUT_FIFO },
+ {"spi_state", S_IRUGO | S_IWUSR, SPI_STATE },
#if defined(CONFIG_SPI_QSD) || defined(CONFIG_SPI_QSD_MODULE)
- {"fifo_word_cnt", S_IRUGO, SPI_FIFO_WORD_CNT, NULL},
+ {"fifo_word_cnt", S_IRUGO, SPI_FIFO_WORD_CNT },
#else
- {"qup_config", S_IRUGO | S_IWUSR, QUP_CONFIG, NULL},
- {"qup_error_flags", S_IRUGO | S_IWUSR, QUP_ERROR_FLAGS, NULL},
- {"qup_error_flags_en", S_IRUGO | S_IWUSR, QUP_ERROR_FLAGS_EN, NULL},
- {"mx_write_cnt", S_IRUGO | S_IWUSR, QUP_MX_WRITE_COUNT, NULL},
- {"mx_write_cnt_current", S_IRUGO, QUP_MX_WRITE_CNT_CURRENT,
- NULL},
- {"output_fifo_word_cnt", S_IRUGO, SPI_OUTPUT_FIFO_WORD_CNT,
- NULL},
- {"input_fifo_word_cnt", S_IRUGO, SPI_INPUT_FIFO_WORD_CNT,
- NULL},
+ {"qup_config", S_IRUGO | S_IWUSR, QUP_CONFIG },
+ {"qup_error_flags", S_IRUGO | S_IWUSR, QUP_ERROR_FLAGS },
+ {"qup_error_flags_en", S_IRUGO | S_IWUSR, QUP_ERROR_FLAGS_EN },
+ {"mx_write_cnt", S_IRUGO | S_IWUSR, QUP_MX_WRITE_COUNT },
+ {"mx_write_cnt_current", S_IRUGO, QUP_MX_WRITE_CNT_CURRENT },
+ {"output_fifo_word_cnt", S_IRUGO, SPI_OUTPUT_FIFO_WORD_CNT },
+ {"input_fifo_word_cnt", S_IRUGO, SPI_INPUT_FIFO_WORD_CNT },
#endif
};
#endif
@@ -349,6 +345,7 @@ struct msm_spi {
#ifdef CONFIG_DEBUG_FS
struct dentry *dent_spi;
struct dentry *debugfs_spi_regs[ARRAY_SIZE(debugfs_spi_regs)];
+ struct msm_spi_debugfs_data reg_data[ARRAY_SIZE(debugfs_spi_regs)];
#endif
struct msm_spi_platform_data *pdata; /* Platform data */
/* When set indicates multiple transfers in a single message */