[2/2] of: reserved_mem: fix 'const' annotation

Message ID 20170511122458.3862716-2-arnd@arndb.de
State New
Headers show
Series
  • [1/2] of: remove extraneous 'const' in typedef
Related show

Commit Message

Arnd Bergmann May 11, 2017, 12:24 p.m.
It's the pointer that is supposed to be const, not the return
type of the function.

drivers/of/of_reserved_mem.c: In function '__reserved_mem_init_node':
drivers/of/of_reserved_mem.c:200:7: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
   int const (*initfn)(struct reserved_mem *rmem) = i->data;

Fixes: 17a70355ea57 ("of: fix sparse warnings in fdt, irq, reserved mem, and resolver code")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/of/of_reserved_mem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.9.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Rob Herring May 11, 2017, 2:50 p.m. | #1
On Thu, May 11, 2017 at 7:24 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> It's the pointer that is supposed to be const, not the return

> type of the function.

>

> drivers/of/of_reserved_mem.c: In function '__reserved_mem_init_node':

> drivers/of/of_reserved_mem.c:200:7: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]

>    int const (*initfn)(struct reserved_mem *rmem) = i->data;

>

> Fixes: 17a70355ea57 ("of: fix sparse warnings in fdt, irq, reserved mem, and resolver code")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ---

>  drivers/of/of_reserved_mem.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c

> index 4dec07ea510f..3f03ec004829 100644

> --- a/drivers/of/of_reserved_mem.c

> +++ b/drivers/of/of_reserved_mem.c

> @@ -197,7 +197,7 @@ static int __init __reserved_mem_init_node(struct reserved_mem *rmem)

>         const struct of_device_id *i;

>

>         for (i = __reservedmem_of_table; i < &__rmem_of_table_sentinel; i++) {

> -               int const (*initfn)(struct reserved_mem *rmem) = i->data;

> +               int (* const initfn)(struct reserved_mem *rmem) = i->data;


Why did you move the const here? That doesn't seem to help with sparse.

I think I'll just revert this back to using reservedmem_of_init_fn.

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
index 4dec07ea510f..3f03ec004829 100644
--- a/drivers/of/of_reserved_mem.c
+++ b/drivers/of/of_reserved_mem.c
@@ -197,7 +197,7 @@  static int __init __reserved_mem_init_node(struct reserved_mem *rmem)
 	const struct of_device_id *i;
 
 	for (i = __reservedmem_of_table; i < &__rmem_of_table_sentinel; i++) {
-		int const (*initfn)(struct reserved_mem *rmem) = i->data;
+		int (* const initfn)(struct reserved_mem *rmem) = i->data;
 		const char *compat = i->compatible;
 
 		if (!of_flat_dt_is_compatible(rmem->fdt_node, compat))