tree c79faedbdfd77fb26536862d6ca9e089a130685b
parent 519530beae4e7d368f5fc31fa252d51fd7caa601
author Patrick Williams <patrick@stwcx.xyz> 1720905493 -0500
committer Patrick Williams <patrick@stwcx.xyz> 1720906073 -0500

usb-dbg: fix type mismatch

There are two declarations of the plat_dbg_control_panel
function which disagree in return type.  This results in the
following error under GCC-14:

```
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/oemcommands.cpp:64:12: error: type of 'plat_udbg_control_panel' does not match original declaration [-Werror=lto-type-mismatch]
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/usb-dbg.cpp:1212:5: note: return value type mismatch
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/usb-dbg.cpp:1212:5: note: type 'int' should match type 'ipmi_ret_t'
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/usb-dbg.cpp:1212:5: note: 'plat_udbg_control_panel' was previously declared here
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/oemcommands.cpp:62:12: error: type of 'plat_udbg_get_frame_data' does not match original declaration [-Werror=lto-type-mismatch]
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/usb-dbg.cpp:1072:5: note: return value type mismatch
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/usb-dbg.cpp:1072:5: note: type 'int' should match type 'ipmi_ret_t'
| /usr/src/debug/fb-ipmi-oem/0.1+git/src/usb-dbg.cpp:1072:5: note: 'plat_udbg_get_frame_data' was previously declared here
```

Fix the return type to use the `ipmi_ret_t` as appropriate.

Make a similar change for plat_udbg_get_frame_data, but switch the
`oemcommands.cpp` definition to `int`, since the function appears to
use many calls that return int (and this is the simple change right
now).

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I0c1c4ca1230abc0374e311a38713062227a42510
