ARM/of: allow *machine_desc.dt_compat to be const
Subsystems (2)
PATCH 1/1 ARM/of: allow *machine_desc.dt_compat to be const
This allows dt_compat to point to a constant list of compatible strings.
Signed-off-by Uwe Kleine-K?nig <[email protected]>
---
Hello,
does this need to be split into an of and an ARM part?
Best regards
Uwe
arch/arm/include/asm/mach/arch.h | 2 +- drivers/of/fdt.c | 4 ++-- include/linux/of_fdt.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-)
arch/arm/include/asm/mach/arch.h +1 -1
@@ -19,7 +19,7 @@ struct machine_desc {unsigned int nr;/* architecture number */ const char *name;/* architecture name */ unsigned long atag_offset;/* tagged list (relative) */ -const char **dt_compat;/* array of device tree +const char *const *dt_compat;/* array of device tree * 'compatible' strings */ unsigned int nr_irqs;/* number of IRQs */
drivers/of/fdt.c +2 -2
@@ -107,7 +107,7 @@ int of_fdt_is_compatible(struct boot_param_header *blob,* of_fdt_match - Return true if node matches a list of compatible values */ int of_fdt_match (struct boot_param_header *blob,unsigned long node, -const char **compat) +const char *const *compat) {unsigned int tmp, score =0 ;
@@ -541,7 +541,7 @@ int __init of_flat_dt_is_compatible(unsigned long node, const char *compat)/** * of_flat_dt_match - Return true if node matches a list of compatible values */ -int __init of_flat_dt_match (unsigned long node,const char **compat) +int __init of_flat_dt_match (unsigned long node,const char *const *compat) {return of_fdt_match (initial_boot_params, node, compat); }
include/linux/of_fdt.h +2 -2
@@ -71,7 +71,7 @@ extern int of_fdt_is_compatible(struct boot_param_header *blob,unsigned long node, const char *compat);extern int of_fdt_match (struct boot_param_header *blob,unsigned long node, -const char **compat); +const char *const *compat);extern void of_fdt_unflatten_tree (unsigned long *blob,struct device_node **mynodes);
@@ -88,7 +88,7 @@ extern int of_scan_flat_dt(int (*it)(unsigned long node, const char *uname,extern void *of_get_flat_dt_prop (unsigned long node,const char *name,unsigned long *size);extern int of_flat_dt_is_compatible (unsigned long node,const char *name); -extern int of_flat_dt_match (unsigned long node,const char **matches); +extern int of_flat_dt_match (unsigned long node,const char *const *matches);extern unsigned long of_get_flat_dt_root (void ); extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
Signature · 1 line
1.7.7.3
PATCH 1/1 ARM/of: allow *machine_desc.dt_compat to be const
Quoted 7 lines · Uwe Kleine-K?nig
This allows
dt_compatto point to a constant list of compatible strings.Signed-off-by Uwe Kleine-K?nig <[email protected]>---
Hello,does this need to be split into an of and an ARM part?
No, I don't think so. I've applied it.
Thanks,
Rob
Quoted 66 lines
Best regards
Uwearch/arm/include/asm/mach/arch.h | 2 +- drivers/of/fdt.c | 4 ++-- include/linux/of_fdt.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-)arch/arm/include/asm/mach/arch.h +1
-1@@ -19,7 +19,7 @@ struct machine_desc {unsigned int nr;/* architecture number */ const char *name;/* architecture name */ unsigned long atag_offset;/* tagged list (relative) */ -const char **dt_compat;/* array of device tree +const char *const *dt_compat;/* array of device tree * 'compatible' strings */ unsigned int nr_irqs;/* number of IRQs */ drivers/of/fdt.c +2
-2@@ -107,7 +107,7 @@ int of_fdt_is_compatible(struct boot_param_header *blob,* of_fdt_match - Return true if node matches a list of compatible values */ int of_fdt_match (struct boot_param_header *blob,unsigned long node, -const char **compat) +const char *const *compat) {unsigned int tmp, score =0 ;@@ -541,7 +541,7 @@ int __init of_flat_dt_is_compatible(unsigned long node, const char *compat)/** * of_flat_dt_match - Return true if node matches a list of compatible values */ -int __init of_flat_dt_match (unsigned long node,const char **compat) +int __init of_flat_dt_match (unsigned long node,const char *const *compat) {return of_fdt_match (initial_boot_params, node, compat); }include/linux/of_fdt.h +2
-2@@ -71,7 +71,7 @@ extern int of_fdt_is_compatible(struct boot_param_header *blob,unsigned long node, const char *compat);extern int of_fdt_match (struct boot_param_header *blob,unsigned long node, -const char **compat); +const char *const *compat);extern void of_fdt_unflatten_tree (unsigned long *blob,struct device_node **mynodes);@@ -88,7 +88,7 @@ extern int of_scan_flat_dt(int (*it)(unsigned long node, const char *uname,extern void *of_get_flat_dt_prop (unsigned long node,const char *name,unsigned long *size);extern int of_flat_dt_is_compatible (unsigned long node,const char *name); -extern int of_flat_dt_match (unsigned long node,const char **matches); +extern int of_flat_dt_match (unsigned long node,const char *const *matches);extern unsigned long of_get_flat_dt_root (void ); extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,