diff mbox series

cmd/misc: Stop using a function pointer

Message ID 20220622201018.225713-1-trini@konsulko.com
State Accepted
Commit c4645fc87e96e730a6c140d7d7820be2da1b2743
Delegated to: Tom Rini
Headers show
Series cmd/misc: Stop using a function pointer | expand

Commit Message

Tom Rini June 22, 2022, 8:10 p.m. UTC
Currently, enabling CMD_MISC gives:
cmd/misc.c:67:25: warning: assignment to 'int (*)(struct udevice *, int,  void *, int)' from incompatible pointer type 'int (*)(struct udevice *, int,  const void *, int)' [-Wincompatible-pointer-types]

Because 'misc_read' takes a void * and 'misc_write' takes a const void
*, both of which make sense for their operation.  Given there's one
place we make use of the function pointer, just call read or write
directly for the operation we're called with.

Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 cmd/misc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Bin Meng June 23, 2022, 12:14 a.m. UTC | #1
On Thu, Jun 23, 2022 at 4:10 AM Tom Rini <trini@konsulko.com> wrote:
>
> Currently, enabling CMD_MISC gives:
> cmd/misc.c:67:25: warning: assignment to 'int (*)(struct udevice *, int,  void *, int)' from incompatible pointer type 'int (*)(struct udevice *, int,  const void *, int)' [-Wincompatible-pointer-types]
>
> Because 'misc_read' takes a void * and 'misc_write' takes a const void
> *, both of which make sense for their operation.  Given there's one
> place we make use of the function pointer, just call read or write
> directly for the operation we're called with.
>
> Cc: Bin Meng <bmeng.cn@gmail.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  cmd/misc.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Sean Anderson June 23, 2022, 12:23 a.m. UTC | #2
On 6/22/22 4:10 PM, Tom Rini wrote:
> Currently, enabling CMD_MISC gives:
> cmd/misc.c:67:25: warning: assignment to 'int (*)(struct udevice *, int,  void *, int)' from incompatible pointer type 'int (*)(struct udevice *, int,  const void *, int)' [-Wincompatible-pointer-types]
> 
> Because 'misc_read' takes a void * and 'misc_write' takes a const void
> *, both of which make sense for their operation.  Given there's one
> place we make use of the function pointer, just call read or write
> directly for the operation we're called with.
> 
> Cc: Bin Meng <bmeng.cn@gmail.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>   cmd/misc.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/cmd/misc.c b/cmd/misc.c
> index bcd8d960ee06..ec32b41ed1e9 100644
> --- a/cmd/misc.c
> +++ b/cmd/misc.c
> @@ -44,7 +44,6 @@ static int do_misc_list(struct cmd_tbl *cmdtp, int flag,
>   static int do_misc_op(struct cmd_tbl *cmdtp, int flag,
>   		      int argc, char *const argv[], enum misc_op op)
>   {
> -	int (*misc_op)(struct udevice *, int, void *, int);
>   	struct udevice *dev;
>   	int offset;
>   	void *buf;
> @@ -62,11 +61,10 @@ static int do_misc_op(struct cmd_tbl *cmdtp, int flag,
>   	size = hextoul(argv[3], NULL);
>   
>   	if (op == MISC_OP_READ)
> -		misc_op = misc_read;
> +		ret = misc_read(dev, offset, buf, size);
>   	else
> -		misc_op = misc_write;
> +		ret = misc_write(dev, offset, buf, size);
>   
> -	ret = misc_op(dev, offset, buf, size);
>   	if (ret < 0) {
>   		if (ret == -ENOSYS) {
>   			printf("The device does not support %s\n",
> 

Reviewed-by: Sean Anderson <seanga2@gmail.com>
Tom Rini June 23, 2022, 12:18 p.m. UTC | #3
On Wed, Jun 22, 2022 at 04:10:18PM -0400, Tom Rini wrote:

> Currently, enabling CMD_MISC gives:
> cmd/misc.c:67:25: warning: assignment to 'int (*)(struct udevice *, int,  void *, int)' from incompatible pointer type 'int (*)(struct udevice *, int,  const void *, int)' [-Wincompatible-pointer-types]
> 
> Because 'misc_read' takes a void * and 'misc_write' takes a const void
> *, both of which make sense for their operation.  Given there's one
> place we make use of the function pointer, just call read or write
> directly for the operation we're called with.
> 
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Sean Anderson <seanga2@gmail.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/next, thanks!
diff mbox series

Patch

diff --git a/cmd/misc.c b/cmd/misc.c
index bcd8d960ee06..ec32b41ed1e9 100644
--- a/cmd/misc.c
+++ b/cmd/misc.c
@@ -44,7 +44,6 @@  static int do_misc_list(struct cmd_tbl *cmdtp, int flag,
 static int do_misc_op(struct cmd_tbl *cmdtp, int flag,
 		      int argc, char *const argv[], enum misc_op op)
 {
-	int (*misc_op)(struct udevice *, int, void *, int);
 	struct udevice *dev;
 	int offset;
 	void *buf;
@@ -62,11 +61,10 @@  static int do_misc_op(struct cmd_tbl *cmdtp, int flag,
 	size = hextoul(argv[3], NULL);
 
 	if (op == MISC_OP_READ)
-		misc_op = misc_read;
+		ret = misc_read(dev, offset, buf, size);
 	else
-		misc_op = misc_write;
+		ret = misc_write(dev, offset, buf, size);
 
-	ret = misc_op(dev, offset, buf, size);
 	if (ret < 0) {
 		if (ret == -ENOSYS) {
 			printf("The device does not support %s\n",