Commit fb536cf8 authored by Mathis MARION's avatar Mathis MARION Committed by Federico Vaga

Kernel 5.6 compatibility for debugfs_create_regset

The signature for `debugfs_create_regset32` changed from
returning a `struct dentry *` to `void`.
Error checking is no longer possible.
Signed-off-by: 's avatarGwenhael GOAVEC <gwenhael.goavec@femto-st.fr>
Signed-off-by: 's avatarMathis MARION <mathis.marion@grenoble-inp.org>
parent fffa8b42
...@@ -150,7 +150,10 @@ static const struct debugfs_reg32 gn412x_debugfs_reg32[] = { ...@@ -150,7 +150,10 @@ static const struct debugfs_reg32 gn412x_debugfs_reg32[] = {
static int gn4124_dbg_init(struct platform_device *pdev) static int gn4124_dbg_init(struct platform_device *pdev)
{ {
struct gn412x_fcl_dev *gn412x = platform_get_drvdata(pdev); struct gn412x_fcl_dev *gn412x = platform_get_drvdata(pdev);
struct dentry *dir, *file; struct dentry *dir;
#if KERNEL_VERSION(5, 6, 0) > LINUX_VERSION_CODE
struct dentry *file;
#endif
int err; int err;
dir = debugfs_create_dir(dev_name(&pdev->dev), NULL); dir = debugfs_create_dir(dev_name(&pdev->dev), NULL);
...@@ -165,6 +168,10 @@ static int gn4124_dbg_init(struct platform_device *pdev) ...@@ -165,6 +168,10 @@ static int gn4124_dbg_init(struct platform_device *pdev)
gn412x->dbg_reg32.regs = gn412x_debugfs_reg32; gn412x->dbg_reg32.regs = gn412x_debugfs_reg32;
gn412x->dbg_reg32.nregs = ARRAY_SIZE(gn412x_debugfs_reg32); gn412x->dbg_reg32.nregs = ARRAY_SIZE(gn412x_debugfs_reg32);
gn412x->dbg_reg32.base = gn412x->mem; gn412x->dbg_reg32.base = gn412x->mem;
#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE
debugfs_create_regset32(GN412X_DBG_REG_NAME, 0200,
dir, &gn412x->dbg_reg32);
#else
file = debugfs_create_regset32(GN412X_DBG_REG_NAME, 0200, file = debugfs_create_regset32(GN412X_DBG_REG_NAME, 0200,
dir, &gn412x->dbg_reg32); dir, &gn412x->dbg_reg32);
if (IS_ERR_OR_NULL(file)) { if (IS_ERR_OR_NULL(file)) {
...@@ -174,13 +181,16 @@ static int gn4124_dbg_init(struct platform_device *pdev) ...@@ -174,13 +181,16 @@ static int gn4124_dbg_init(struct platform_device *pdev)
GN412X_DBG_REG_NAME, err); GN412X_DBG_REG_NAME, err);
goto err_reg32; goto err_reg32;
} }
gn412x->dbg_reg = file;
#endif
gn412x->dbg_dir = dir; gn412x->dbg_dir = dir;
gn412x->dbg_reg = file;
return 0; return 0;
#if KERNEL_VERSION(5, 6, 0) > LINUX_VERSION_CODE
err_reg32: err_reg32:
debugfs_remove_recursive(dir); debugfs_remove_recursive(dir);
#endif
err_dir: err_dir:
return err; return err;
} }
......
...@@ -75,7 +75,10 @@ static const struct debugfs_reg32 gn412x_debugfs_reg32[] = { ...@@ -75,7 +75,10 @@ static const struct debugfs_reg32 gn412x_debugfs_reg32[] = {
static int gn412x_dbg_init(struct gn412x_gpio_dev *gn412x) static int gn412x_dbg_init(struct gn412x_gpio_dev *gn412x)
{ {
struct dentry *dir, *file; struct dentry *dir;
#if KERNEL_VERSION(5, 6, 0) > LINUX_VERSION_CODE
struct dentry *file;
#endif
int err; int err;
#if KERNEL_VERSION(4, 5, 0) > LINUX_VERSION_CODE #if KERNEL_VERSION(4, 5, 0) > LINUX_VERSION_CODE
...@@ -96,6 +99,10 @@ static int gn412x_dbg_init(struct gn412x_gpio_dev *gn412x) ...@@ -96,6 +99,10 @@ static int gn412x_dbg_init(struct gn412x_gpio_dev *gn412x)
gn412x->dbg_reg32.regs = gn412x_debugfs_reg32; gn412x->dbg_reg32.regs = gn412x_debugfs_reg32;
gn412x->dbg_reg32.nregs = ARRAY_SIZE(gn412x_debugfs_reg32); gn412x->dbg_reg32.nregs = ARRAY_SIZE(gn412x_debugfs_reg32);
gn412x->dbg_reg32.base = gn412x->mem; gn412x->dbg_reg32.base = gn412x->mem;
#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE
debugfs_create_regset32(GN412X_DBG_REG_NAME, 0200,
dir, &gn412x->dbg_reg32);
#else
file = debugfs_create_regset32(GN412X_DBG_REG_NAME, 0200, file = debugfs_create_regset32(GN412X_DBG_REG_NAME, 0200,
dir, &gn412x->dbg_reg32); dir, &gn412x->dbg_reg32);
if (IS_ERR_OR_NULL(file)) { if (IS_ERR_OR_NULL(file)) {
...@@ -105,13 +112,16 @@ static int gn412x_dbg_init(struct gn412x_gpio_dev *gn412x) ...@@ -105,13 +112,16 @@ static int gn412x_dbg_init(struct gn412x_gpio_dev *gn412x)
GN412X_DBG_REG_NAME, err); GN412X_DBG_REG_NAME, err);
goto err_reg32; goto err_reg32;
} }
gn412x->dbg_reg = file;
#endif
gn412x->dbg_dir = dir; gn412x->dbg_dir = dir;
gn412x->dbg_reg = file;
return 0; return 0;
#if KERNEL_VERSION(5, 6, 0) > LINUX_VERSION_CODE
err_reg32: err_reg32:
debugfs_remove_recursive(dir); debugfs_remove_recursive(dir);
#endif
err_dir: err_dir:
return err; return err;
} }
......
...@@ -403,6 +403,11 @@ static int spec_fpga_dbg_init(struct spec_fpga *spec_fpga) ...@@ -403,6 +403,11 @@ static int spec_fpga_dbg_init(struct spec_fpga *spec_fpga)
spec_fpga->dbg_csr_reg.regs = spec_fpga_debugfs_reg32; spec_fpga->dbg_csr_reg.regs = spec_fpga_debugfs_reg32;
spec_fpga->dbg_csr_reg.nregs = ARRAY_SIZE(spec_fpga_debugfs_reg32); spec_fpga->dbg_csr_reg.nregs = ARRAY_SIZE(spec_fpga_debugfs_reg32);
spec_fpga->dbg_csr_reg.base = spec_fpga->fpga; spec_fpga->dbg_csr_reg.base = spec_fpga->fpga;
#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE
debugfs_create_regset32(SPEC_DBG_CSR_NAME, 0200,
spec_fpga->dbg_dir_fpga,
&spec_fpga->dbg_csr_reg);
#else
spec_fpga->dbg_csr = debugfs_create_regset32(SPEC_DBG_CSR_NAME, 0200, spec_fpga->dbg_csr = debugfs_create_regset32(SPEC_DBG_CSR_NAME, 0200,
spec_fpga->dbg_dir_fpga, spec_fpga->dbg_dir_fpga,
&spec_fpga->dbg_csr_reg); &spec_fpga->dbg_csr_reg);
...@@ -413,6 +418,7 @@ static int spec_fpga_dbg_init(struct spec_fpga *spec_fpga) ...@@ -413,6 +418,7 @@ static int spec_fpga_dbg_init(struct spec_fpga *spec_fpga)
SPEC_DBG_CSR_NAME, err); SPEC_DBG_CSR_NAME, err);
goto err; goto err;
} }
#endif
spec_fpga->dbg_bld = debugfs_create_file(SPEC_DBG_BLD_INFO_NAME, spec_fpga->dbg_bld = debugfs_create_file(SPEC_DBG_BLD_INFO_NAME,
0444, 0444,
......
...@@ -750,7 +750,10 @@ static irqreturn_t gn412x_dma_irq_handler(int irq, void *arg) ...@@ -750,7 +750,10 @@ static irqreturn_t gn412x_dma_irq_handler(int irq, void *arg)
static int gn412x_dma_dbg_init(struct gn412x_dma_device *gn412x_dma) static int gn412x_dma_dbg_init(struct gn412x_dma_device *gn412x_dma)
{ {
struct dentry *dir, *file; struct dentry *dir;
#if KERNEL_VERSION(5, 6, 0) > LINUX_VERSION_CODE
struct dentry *file;
#endif
int err; int err;
dir = debugfs_create_dir(dev_name(&gn412x_dma->pdev->dev), NULL); dir = debugfs_create_dir(dev_name(&gn412x_dma->pdev->dev), NULL);
...@@ -765,6 +768,10 @@ static int gn412x_dma_dbg_init(struct gn412x_dma_device *gn412x_dma) ...@@ -765,6 +768,10 @@ static int gn412x_dma_dbg_init(struct gn412x_dma_device *gn412x_dma)
gn412x_dma->dbg_reg32.regs = gn412x_dma_debugfs_reg32; gn412x_dma->dbg_reg32.regs = gn412x_dma_debugfs_reg32;
gn412x_dma->dbg_reg32.nregs = ARRAY_SIZE(gn412x_dma_debugfs_reg32); gn412x_dma->dbg_reg32.nregs = ARRAY_SIZE(gn412x_dma_debugfs_reg32);
gn412x_dma->dbg_reg32.base = gn412x_dma->addr; gn412x_dma->dbg_reg32.base = gn412x_dma->addr;
#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE
debugfs_create_regset32(GN412X_DMA_DBG_REG_NAME, 0200,
dir, &gn412x_dma->dbg_reg32);
#else
file = debugfs_create_regset32(GN412X_DMA_DBG_REG_NAME, 0200, file = debugfs_create_regset32(GN412X_DMA_DBG_REG_NAME, 0200,
dir, &gn412x_dma->dbg_reg32); dir, &gn412x_dma->dbg_reg32);
if (IS_ERR_OR_NULL(file)) { if (IS_ERR_OR_NULL(file)) {
...@@ -774,13 +781,16 @@ static int gn412x_dma_dbg_init(struct gn412x_dma_device *gn412x_dma) ...@@ -774,13 +781,16 @@ static int gn412x_dma_dbg_init(struct gn412x_dma_device *gn412x_dma)
GN412X_DMA_DBG_REG_NAME, err); GN412X_DMA_DBG_REG_NAME, err);
goto err_reg32; goto err_reg32;
} }
gn412x_dma->dbg_reg = file;
#endif
gn412x_dma->dbg_dir = dir; gn412x_dma->dbg_dir = dir;
gn412x_dma->dbg_reg = file;
return 0; return 0;
#if KERNEL_VERSION(5, 6, 0) > LINUX_VERSION_CODE
err_reg32: err_reg32:
debugfs_remove_recursive(dir); debugfs_remove_recursive(dir);
#endif
err_dir: err_dir:
return err; return err;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment