From ee4b5f8f6078473e36ca9c312323c1f2807f389d Mon Sep 17 00:00:00 2001 From: Tormod Volden Date: Sun, 11 Mar 2018 16:00:58 +0100 Subject: [PATCH] Allow building without IDE or SCSI support Signed-off-by: Tormod Volden --- Kernel/dev/devide.c | 4 ++++ Kernel/dev/devide_discard.c | 4 ++++ Kernel/dev/devscsi.c | 4 ++++ Kernel/dev/devscsi_discard.c | 4 ++++ Kernel/platform-coco2/config.h | 1 + Kernel/platform-coco2cart/config.h | 1 + Kernel/platform-coco3/config.h | 1 + Kernel/platform-dragon-nx32/config.h | 1 + Kernel/platform-dragon-nx32/devices.c | 2 ++ Kernel/platform-v68/config.h | 1 + Kernel/platform-zeta-v2/config.h | 1 + 11 files changed, 24 insertions(+) diff --git a/Kernel/dev/devide.c b/Kernel/dev/devide.c index 35c088a2..231359d1 100644 --- a/Kernel/dev/devide.c +++ b/Kernel/dev/devide.c @@ -17,6 +17,8 @@ #include #include +#ifdef CONFIG_IDE + bool devide_wait(uint8_t bits) { uint8_t status; @@ -195,3 +197,5 @@ swapout: } #endif #endif + +#endif /* CONFIG_IDE */ diff --git a/Kernel/dev/devide_discard.c b/Kernel/dev/devide_discard.c index bbb829f1..43d949dc 100644 --- a/Kernel/dev/devide_discard.c +++ b/Kernel/dev/devide_discard.c @@ -17,6 +17,8 @@ #include #include +#ifdef CONFIG_IDE + /****************************************************************************/ /* Code in this file is used only once, at startup, so we want it to live */ /* in the DISCARD segment. sdcc only allows us to specify one segment for */ @@ -151,3 +153,5 @@ void devide_init(void) for(d=0; d < IDE_DRIVE_COUNT; d++) devide_init_drive(d); } + +#endif /* CONFIG_IDE */ diff --git a/Kernel/dev/devscsi.c b/Kernel/dev/devscsi.c index 4b445a4c..af4cda3f 100644 --- a/Kernel/dev/devscsi.c +++ b/Kernel/dev/devscsi.c @@ -23,6 +23,8 @@ uint8_t si_user; static struct Sierr error; static uint8_t status[2]; +#ifdef CONFIG_SCSI + /* * Si_cmdend() Wait till end of scsi comand and return errors. */ @@ -189,3 +191,5 @@ int si_flush(void) { return 0; } + +#endif /* CONFIG_SCSI */ diff --git a/Kernel/dev/devscsi_discard.c b/Kernel/dev/devscsi_discard.c index ebb39cb9..cdb405cb 100644 --- a/Kernel/dev/devscsi_discard.c +++ b/Kernel/dev/devscsi_discard.c @@ -19,6 +19,8 @@ #include #include +#ifdef CONFIG_SCSI + static uint8_t nscsi; static uint8_t identify[36]; static uint8_t cap[8]; @@ -114,3 +116,5 @@ void devscsi_init(void) } kprintf("\r%d SCSI device(s) detected.\n", nscsi); } + +#endif /* CONFIG_SCSI */ diff --git a/Kernel/platform-coco2/config.h b/Kernel/platform-coco2/config.h index 9151abd6..602a9e71 100644 --- a/Kernel/platform-coco2/config.h +++ b/Kernel/platform-coco2/config.h @@ -62,3 +62,4 @@ extern unsigned char vt_mangle_6847(unsigned char c); #define NMOUNTS 2 /* Number of mounts at a time */ #define swap_map(x) ((uint8_t *)(x)) +#define CONFIG_IDE diff --git a/Kernel/platform-coco2cart/config.h b/Kernel/platform-coco2cart/config.h index a4485c33..d432737a 100644 --- a/Kernel/platform-coco2cart/config.h +++ b/Kernel/platform-coco2cart/config.h @@ -65,3 +65,4 @@ extern unsigned int cocoswap_dev; #define NMOUNTS 2 /* Number of mounts at a time */ #define swap_map(x) ((uint8_t *)(x)) +#define CONFIG_IDE diff --git a/Kernel/platform-coco3/config.h b/Kernel/platform-coco3/config.h index 5bec3461..9b19fc53 100644 --- a/Kernel/platform-coco3/config.h +++ b/Kernel/platform-coco3/config.h @@ -87,6 +87,7 @@ extern unsigned char vt_map( unsigned char c ); /* Block device define */ #define MAX_BLKDEV 4 /* 2 IDE + 2 SDC */ +#define CONFIG_IDE #define CONFIG_RTC /* enable RTC code */ #define CONFIG_DWTIME_INTERVAL 10 /* time between dw timer polls in secs */ diff --git a/Kernel/platform-dragon-nx32/config.h b/Kernel/platform-dragon-nx32/config.h index 2003cc2e..6e43e0cc 100644 --- a/Kernel/platform-dragon-nx32/config.h +++ b/Kernel/platform-dragon-nx32/config.h @@ -32,6 +32,7 @@ #define SD_DRIVE_COUNT 1 /* Could be higher with multiple CS used */ #define CONFIG_SD /* enable if SD interface present */ #define CONFIG_IDE /* enable if IDE interface present */ +#define CONFIG_SCSI /* enable if SCSI interface present */ #define CONFIG_GPT diff --git a/Kernel/platform-dragon-nx32/devices.c b/Kernel/platform-dragon-nx32/devices.c index 318778e4..0da2832a 100644 --- a/Kernel/platform-dragon-nx32/devices.c +++ b/Kernel/platform-dragon-nx32/devices.c @@ -84,9 +84,11 @@ void device_init(void) } devide_init(); #endif +#ifdef CONFIG_SCSI i = cart_find(CART_TC3); if (i >= 0) { scsi_slot = i; devscsi_init(); } +#endif } diff --git a/Kernel/platform-v68/config.h b/Kernel/platform-v68/config.h index acc54e15..cf9a2a54 100644 --- a/Kernel/platform-v68/config.h +++ b/Kernel/platform-v68/config.h @@ -44,3 +44,4 @@ #define MAX_BLKDEV 4 +#define CONFIG_IDE diff --git a/Kernel/platform-zeta-v2/config.h b/Kernel/platform-zeta-v2/config.h index 06931839..e4b4fbbd 100644 --- a/Kernel/platform-zeta-v2/config.h +++ b/Kernel/platform-zeta-v2/config.h @@ -54,6 +54,7 @@ /* PPIDE support */ #define CONFIG_PPIDE /* #define CONFIG_PPIDE to enable IDE on 8255A */ +#define CONFIG_IDE /* required for CONFIG_PPIDE */ /* Optional ParPortProp board connected to PPI */ //#define CONFIG_PPP /* #define CONFIG_PPP to enable as tty3 */ -- 2.34.1