Since #ifdef ISP2401 is used to determine the action of both models in compiler time, we have to provide two binaries for both models. It is very unfriendly for the users and for the package management aspect. The proposed patch removed the #ifdef ISP2041 from the codes and made the path for both models can be determined at the runtime. Some of the #ifdef is highly integrated with functions and data structures. If we try to remove them, it will cause many issues, such as duplicated variable/function name and data length. Therefore, these patches focus on removing the #ifdef without affecting the change of structure. Kate Hsuan (5): staging: media: atomisp: sh_css: Remove #ifdef ISP2401 staging: media: atomisp: runtime: frame: remove #ifdef ISP2401 staging: media: atomisp: sh_css_sp: Remove #ifdef ISP2401 staging: media: atomisp: sh_css_firmware: determine firmware version at runtime staging: media: atomisp: sh_css_mipi: Remove #ifdef 2041 .../atomisp/pci/runtime/frame/src/frame.c | 15 +- drivers/staging/media/atomisp/pci/sh_css.c | 584 +++++++++--------- .../media/atomisp/pci/sh_css_firmware.c | 18 +- .../staging/media/atomisp/pci/sh_css_mipi.c | 101 ++- drivers/staging/media/atomisp/pci/sh_css_sp.c | 10 +- 5 files changed, 359 insertions(+), 369 deletions(-) -- 2.39.2