Improve Dummy Implementation and not implemented functions in drivers. #677
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR is for improving drive implementation, especially trying to identify those specific drivers that require a concrete value to be returned.
So far I have created another macro
DUMMY_IMPLEMENTATION
which just do:This PR needs to be reviewed carefully as it has several changes, let me enumerate them:
init
anddeinit
functions now always used either a custom function or aDUMMY_IMPLEMENTATION
return 0;
were replaced toNOT_SUPPORTED
(the ones that requireds64
as return are usingNOT_SUPPORTED_S64
).DUMMY_IMPLEMENTATION
orNOT_SUPPORTED
.NOT_IMPLEMENTED
for all these functions that aren't doing anything.This PR as it is right now will raise most probably several issues, so the main scope of this PR is to identify together in each driver what are the specific functions that require concrete
DUMMY_IMPLEMENTATION
rather thanNOT_SUPPORTED
.Please help me to identify them and then put a clear comment with the reason.
To test with OPL could be a good test, however, we need to keep in mind that, if it is not working maybe it is because OPL code itself needs to be updated.
Here you have all the drivers, the functions, and the previous and new value.
So far we have the next different kind of drivers:
iop_device_ops_short_t
iop_device_ops_t
iomanX_iop_device_ops_t
ee/iopreboot/src/imgdrv/src/imgdrv.c
iop/arcade/accdvd/src/cddrv.c
iop/arcade/acuart/src/tty.c
iop/cdvd/cdfs/src/main.c
iop/cdvd/xesdrv/src/xesdrv.c
iop/debug/iop_sbusdbg/src/sbus_tty.c
iop/debug/ppctty/src/tty.c
iop/dev9/dev9/src/ps2dev9.c
iop/dvrp/dvr/src/dvr.c
iop/dvrp/dvrav/src/dvrav.c
iop/dvrp/dvrdv/src/dvrdv.c
iop/dvrp/dvrfile/src/dvrfile.c
iop/dvrp/dvripl/src/dvripl.c
iop/dvrp/dvrmisc/src/dvrmisc.c
iop/fs/bdmfs_fatfs/src/fs_driver.c
iop/fs/devfs/src/devfs.c
iop/fs/eromdrv/src/eromdrv.c
iop/fs/fakehost/src/fakehost.c
iop/fs/http/src/ps2http.c
iop/fs/romdrv/src/romdrv.c
iop/fs/subfile/src/subfile.c
iop/fs/vfat/src/fs_driver.c
iop/hdd/apa/src/hdd.c
iop/hdd/fsck/src/fsck.c
iop/hdd/fssk/src/fssk.c
iop/hdd/hdck/src/hdck.c
iop/hdd/hdsk/src/hdsk.c
iop/hdd/pfs/src/pfs.c
iop/network/smbman/src/smb_fio.c
iop/network/udptty/src/udptty.c
iop/system/ioman/src/ioman.c
iop/system/iomanx/src/iomanX.c
iop/usb/keyboard/src/ps2kbd.c