[PATCH] cmd/misc: Stop using a function pointer

Sean Anderson seanga2 at gmail.com
Thu Jun 23 02:23:39 CEST 2022


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 at gmail.com>
> Signed-off-by: Tom Rini <trini at 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 at gmail.com>


More information about the U-Boot mailing list