Modify static defined and wrong parameter used.
v2 cover Modify static defined and wrong parameter used.
Both of the two patches optimize the code and remove the mistakes and warnings detected by the check tools.
Changes since v1:
- Adjust the patch by the changes not by the check tools.
Eric Long (2):
coresight: "DEVICE_ATTR_RO" should defined as static.
coresight: etm4x: Check every parameter used by dma_xx_coherent.
drivers/hwtracing/coresight/coresight-etm4x.c | 2 +- drivers/hwtracing/coresight/coresight-tmc.c | 6 +++--- drivers/hwtracing/coresight/of_coresight.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)
Signature · 1 line
1.7.9.5
PATCH v2 1/2 coresight: "DEVICE_ATTR_RO" should defined as static.
"DEVICE_ATTR_RO(name)" should be defined as static. And there is an unnecessary space at the front of the code.
The sparse tool output logs as the following:
coresight-etm4x.c:2224:1: warning: symbol 'dev_attr_trcoslsr' was not declared. Should it be static? coresight-etm4x.c:2225:1: warning: symbol 'dev_attr_trcpdcr' was not declared. Should it be static? coresight-etm4x.c:2226:1: warning: symbol 'dev_attr_trcpdsr' was not declared. Should it be static?
And the smatch tool output logs as the following:
of_coresight.c:89 of_coresight_alloc_memory() warn:
inconsistent indenting
--- drivers/hwtracing/coresight/coresight-etm4x.c | 2 +- drivers/hwtracing/coresight/of_coresight.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/hwtracing/coresight/coresight-etm4x.c +1 -1
@@ -2219,7 +2219,7 @@ static ssize_t name##_show(struct device *_dev, \return scnprintf (buf,PAGE_SIZE ,"0x%x\n" , \readl_relaxed (drvdata->base + offset)); \ } \ -DEVICE_ATTR_RO (name) +static DEVICE_ATTR_RO (name)coresight_simple_func (trcoslsr, TRCOSLSR);coresight_simple_func (trcpdcr,TRCPDCR );
drivers/hwtracing/coresight/of_coresight.c +1 -1
@@ -86,7 +86,7 @@ static int of_coresight_alloc_memory(struct device *dev,return -ENOMEM ;/* Children connected to this component via @outports */ - pdata->child_names =devm_kzalloc (dev, pdata->nr_outport * + pdata->child_names =devm_kzalloc (dev, pdata->nr_outport *sizeof (*pdata->child_names),GFP_KERNEL );if (!pdata->child_names)
Signature · 1 line
1.7.9.5
PATCH v2 2/2 coresight: etm4x: Check every parameter used by dma_xx_coherent.
In reply to Eric LongThe dma_alloc_coherent return an "void *" not an "void __iomen *". It uses the wrong parameters when calls dma_free_coherent function.
The sparse tool output logs as the following:
coresight-tmc.c:199:23: expected void *<noident>
coresight-tmc.c:199:23: got void [noderef] <asn:2>*vaddr
coresight-tmc.c:336:30: warning: incorrect type in assignment (different address spaces)
coresight-tmc.c:336:30: expected char *buf
coresight-tmc.c:336:30: got void [noderef] <asn:2>*
coresight-tmc.c:769:50: warning: incorrect type in argument 4 (different base types)
coresight-tmc.c:769:50: expected unsigned long long
[unsigned] [usertype] dma_handle
coresight-tmc.c:769:50: got restricted gfp_t
--- drivers/hwtracing/coresight/coresight-tmc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/hwtracing/coresight/coresight-tmc.c +3 -3
@@ -124,7 +124,7 @@ struct tmc_drvdata {bool reading;char *buf;dma_addr_t paddr; -void __iomem *vaddr; +void *vaddr;u32 size;bool enable;enum tmc_config_type config_type;
@@ -766,7 +766,7 @@ err_misc_register: err_devm_kzalloc:if (drvdata->config_type ==TMC_CONFIG_TYPE_ETR )dma_free_coherent (dev, drvdata->size, - &drvdata->paddr,GFP_KERNEL ); + drvdata->vaddr, drvdata->paddr);return ret; }
@@ -778,7 +778,7 @@ static int tmc_remove(struct amba_device *adev)coresight_unregister (drvdata->csdev);if (drvdata->config_type ==TMC_CONFIG_TYPE_ETR )dma_free_coherent (drvdata->dev, drvdata->size, - &drvdata->paddr,GFP_KERNEL ); + drvdata->vaddr, drvdata->paddr);return 0 ; }
Signature · 1 line
1.7.9.5
Mathieu Poirier
AppliedQuoted 10 lines · Eric Long
Both of the two patches optimize the code and remove the mistakes and warnings detected by the check tools.
Changes since v1:
- Adjust the patch by the changes not by the check tools.Eric Long (2):
coresight: "DEVICE_ATTR_RO" should defined as static.
coresight: etm4x: Check every parameter used bydma_xx_coherent.
Quoted 8 lines
drivers/hwtracing/coresight/coresight-etm4x.c | 2 +- drivers/hwtracing/coresight/coresight-tmc.c | 6 +++--- drivers/hwtracing/coresight/of_coresight.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)--
1.7.9.5
I have applied both patches - thanks.
Mathieu