Staging: iio: Replace const char * with const char []
Subsystems (3)
PATCH 1/1 Staging: iio: Replace const char * with const char []
Replace const char * with const char [] as the first one is represented in memory as a pointer which points to a string and the second one only as a single variable in which it copies the contents.
---
This can be tested by generating assembly code for the two cases; This platform also offers a simple view: http://assembly.ynh.io/.
drivers/staging/iio/Documentation/iio_utils.h | 2 +- drivers/staging/iio/Documentation/lsiio.c | 4 ++-- drivers/staging/iio/iio_dummy_evgen.c | 2 +- drivers/staging/iio/iio_simple_dummy.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-)
drivers/staging/iio/Documentation/iio_utils.h +1 -1
@@ -23,7 +23,7 @@#define FORMAT_SCAN_ELEMENTS_DIR "%s/scan_elements"#define FORMAT_TYPE_FILE "%s_type" -const char *iio_dir ="/sys/bus/iio/devices/" ; +const char iio_dir[] ="/sys/bus/iio/devices/" ;/** * iioutils_break_up_name() - extract generic name from full channel name
drivers/staging/iio/Documentation/lsiio.c +2 -2
@@ -26,8 +26,8 @@ static enum verbosity {VERBLEVEL_SENSORS ,/* 1 lists sensors */ } verblevel = VERBLEVEL_DEFAULT; -const char *type_device ="iio:device" ; -const char *type_trigger ="trigger" ; +const char type_device[] ="iio:device" ; +const char type_trigger[] ="trigger" ;static inline int check_prefix (const char *str,const char *prefix)
drivers/staging/iio/iio_dummy_evgen.c +1 -1
@@ -47,7 +47,7 @@ struct iio_dummy_eventgen {/* We can only ever have one instance of this 'device' */ static struct iio_dummy_eventgen *iio_evgen; -static const char *iio_evgen_name ="iio_dummy_evgen" ; +static const char iio_evgen_name[] ="iio_dummy_evgen" ;static void iio_dummy_event_irqmask (struct irq_data *d) {
drivers/staging/iio/iio_simple_dummy.c +1 -1
@@ -36,7 +36,7 @@ module_param(instances, int, 0);static struct iio_dev **iio_dummy_devs;/* Fake a name for the part number, usually obtained from the id table */ -static const char *iio_dummy_part_number ="iio_dummy_part_no" ; +static const char iio_dummy_part_number[] ="iio_dummy_part_no" ;/** * struct iio_dummy_accel_calibscale - realworld to register mapping
Signature · 1 line
1.9.1
Quoted 33 lines · Cristina Opriceana
Replace const char * with const char [] as the first one is represented in memory as a pointer which points to a string and the second one only as a single variable in which it copies the contents.
Signed-off-by Cristina Opriceana <[email protected]>---
This can be tested by generating assembly code for the two cases; This platform also offers a simple view: http://assembly.ynh.io/.drivers/staging/iio/Documentation/iio_utils.h | 2 +- drivers/staging/iio/Documentation/lsiio.c | 4 ++-- drivers/staging/iio/iio_dummy_evgen.c | 2 +- drivers/staging/iio/iio_simple_dummy.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-)drivers/staging/iio/Documentation/iio_utils.h +1
-1@@ -23,7 +23,7 @@#define FORMAT_SCAN_ELEMENTS_DIR "%s/scan_elements"#define FORMAT_TYPE_FILE "%s_type" -const char *iio_dir ="/sys/bus/iio/devices/" ; +const char iio_dir[] ="/sys/bus/iio/devices/" ;/** * iioutils_break_up_name() - extract generic name from full channel name drivers/staging/iio/Documentation/lsiio.c +0
-0
drivers/staging/iio/Documentation/lsiio.c static enum verbosity { · line 30
Quoted 7 lines
drivers/staging/iio/Documentation/lsiio.c +2
-2@@ -26,8 +26,8 @@ static enum verbosity {VERBLEVEL_SENSORS ,/* 1 lists sensors */ } verblevel = VERBLEVEL_DEFAULT; -const char *type_device ="iio:device" ; -const char *type_trigger ="trigger" ; +const char type_device[] ="iio:device" ; +const char type_trigger[] ="trigger" ;
This will generate a conflict when merged with IIO tree, since parts of Documentation/
(e.g lsiio.c iio_utils.h) were moved out of stating.
Quoted 21 lines
drivers/staging/iio/Documentation/lsiio.c +0
-0static inline int check_prefix (const char *str,const char *prefix)drivers/staging/iio/iio_dummy_evgen.c +1
-1@@ -47,7 +47,7 @@ struct iio_dummy_eventgen {/* We can only ever have one instance of this 'device' */ static struct iio_dummy_eventgen *iio_evgen; -static const char *iio_evgen_name ="iio_dummy_evgen" ; +static const char iio_evgen_name[] ="iio_dummy_evgen" ;static void iio_dummy_event_irqmask (struct irq_data *d) {drivers/staging/iio/iio_simple_dummy.c +0
-0
drivers/staging/iio/iio_simple_dummy.c module_param(instances, int, 0); · line 42
Quoted 8 lines
drivers/staging/iio/iio_simple_dummy.c +1
-1@@ -36,7 +36,7 @@ module_param(instances, int, 0);static struct iio_dev **iio_dummy_devs;/* Fake a name for the part number, usually obtained from the id table */ -static const char *iio_dummy_part_number ="iio_dummy_part_no" ; +static const char iio_dummy_part_number[] ="iio_dummy_part_no" ;/** * struct iio_dummy_accel_calibscale - realworld to register mapping
I'm not sure I see the benefit of this patch.
Any other opinions?
Daniel.