ARM/of: allow *machine_desc.dt_compat to be const
Uwe Kleine-König [Tue, 20 Dec 2011 21:56:45 +0000 (22:56 +0100)]
This allows dt_compat to point to a constant list of compatible strings.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>

arch/arm/include/asm/mach/arch.h
drivers/of/fdt.c
include/linux/of_fdt.h

index 2b0efc3..02a718a 100644 (file)
@@ -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 */
index fd85fa2..7dc8e6d 100644 (file)
@@ -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);
 }
index c84d900..ed136ad 100644 (file)
@@ -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,