cmd/misc: Stop using a function pointer

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>
This commit is contained in:
Tom Rini 2022-06-22 16:08:56 -04:00
parent f98457d70a
commit c4645fc87e

View File

@ -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, static int do_misc_op(struct cmd_tbl *cmdtp, int flag,
int argc, char *const argv[], enum misc_op op) int argc, char *const argv[], enum misc_op op)
{ {
int (*misc_op)(struct udevice *, int, void *, int);
struct udevice *dev; struct udevice *dev;
int offset; int offset;
void *buf; void *buf;
@ -62,11 +61,10 @@ static int do_misc_op(struct cmd_tbl *cmdtp, int flag,
size = hextoul(argv[3], NULL); size = hextoul(argv[3], NULL);
if (op == MISC_OP_READ) if (op == MISC_OP_READ)
misc_op = misc_read; ret = misc_read(dev, offset, buf, size);
else else
misc_op = misc_write; ret = misc_write(dev, offset, buf, size);
ret = misc_op(dev, offset, buf, size);
if (ret < 0) { if (ret < 0) {
if (ret == -ENOSYS) { if (ret == -ENOSYS) {
printf("The device does not support %s\n", printf("The device does not support %s\n",