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_IMPLEMENTATIONwhich just do:This PR needs to be reviewed carefully as it has several changes, let me enumerate them:
initanddeinitfunctions now always used either a custom function or aDUMMY_IMPLEMENTATIONreturn 0;were replaced toNOT_SUPPORTED(the ones that requireds64as return are usingNOT_SUPPORTED_S64).DUMMY_IMPLEMENTATIONorNOT_SUPPORTED.NOT_IMPLEMENTEDfor 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_IMPLEMENTATIONrather 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_tiop_device_ops_tiomanX_iop_device_ops_tee/iopreboot/src/imgdrv/src/imgdrv.ciop/arcade/accdvd/src/cddrv.ciop/arcade/acuart/src/tty.ciop/cdvd/cdfs/src/main.ciop/cdvd/xesdrv/src/xesdrv.ciop/debug/iop_sbusdbg/src/sbus_tty.ciop/debug/ppctty/src/tty.ciop/dev9/dev9/src/ps2dev9.ciop/dvrp/dvr/src/dvr.ciop/dvrp/dvrav/src/dvrav.ciop/dvrp/dvrdv/src/dvrdv.ciop/dvrp/dvrfile/src/dvrfile.ciop/dvrp/dvripl/src/dvripl.ciop/dvrp/dvrmisc/src/dvrmisc.ciop/fs/bdmfs_fatfs/src/fs_driver.ciop/fs/devfs/src/devfs.ciop/fs/eromdrv/src/eromdrv.ciop/fs/fakehost/src/fakehost.ciop/fs/http/src/ps2http.ciop/fs/romdrv/src/romdrv.ciop/fs/subfile/src/subfile.ciop/fs/vfat/src/fs_driver.ciop/hdd/apa/src/hdd.ciop/hdd/fsck/src/fsck.ciop/hdd/fssk/src/fssk.ciop/hdd/hdck/src/hdck.ciop/hdd/hdsk/src/hdsk.ciop/hdd/pfs/src/pfs.ciop/network/smbman/src/smb_fio.ciop/network/udptty/src/udptty.ciop/system/ioman/src/ioman.ciop/system/iomanx/src/iomanX.ciop/usb/keyboard/src/ps2kbd.c