Support optional factory-fit non-removable memory devices

Some boards feature non-removable memory devices with a no-fit option that
can only detected by seeing whether the device responds or not once we
start trying to talk to it. To support these, defer drive allocation until
the UnitAttached service call. This is already designed to dynamically
add extra drives in case a shared MMC bus is found, so the only difference
is that the initial number of drives is 0, not 1. Note that there is still
a minimum of 1 drive per slot for removable slots, since a removable slot
may be empty at module initialisation time, and there's no way to
electrically distinguish an empty socket from a no-fit socket.
14 jobs for !3 with SDIO in 29 seconds (queued for 34 seconds)
detached
Status Job ID Name Coverage
  Static Analysis
passed #55454
cross
copyright

00:00:00

failed #55455
cross allowed to fail
cppcheck

00:00:08

passed #55445
cross
gitattributes

00:00:01

passed #55446
cross
gitignore

00:00:01

passed #55449
cross
head_log

00:00:00

passed #55452
cross
head_whitesp

00:00:01

passed #55447
cross
license

00:00:00

passed #55451
cross
makefile

00:00:00

passed #55450
cross
merge_log

00:00:00

passed #55453
cross
merge_whitesp

00:00:00

passed #55448
cross
versionnum

00:00:00

 
  Softload
failed #55456
cross allowed to fail
softload

00:00:05

failed #55457
cross allowed to fail
softload_gnu

00:00:05

 
  Cleanup
passed #55458
cross
cleanup

00:00:01

 
Name Stage Failure
failed
softload_gnu Softload
cat _ResData_/tmp/Messages _ResData_/tmp/CmdHelp > _ResData_/SDFS/MergedMessages
rm -rf _ResData_/tmp
mv _ResData_/SDFS/MergedMessages _ResData_/SDFS/Messages
perl /home/gitlab-runner/builds/hYz1sbzj/0/bavison/SDFS/RiscOS/Library/Build/InstViaRG,102 _ResData_ Resources _ResGen_
resgen Resources SDFSMsgs.o -via _ResGen_
make[1]: Target 'install' not remade because of errors.
make: *** [CModule:239: install] Error 2
Cleaning up project directory and file based variables
ERROR: Job failed: exit status 1

failed
softload Softload
cat _ResData_/tmp/Messages _ResData_/tmp/CmdHelp > _ResData_/SDFS/MergedMessages
rm -rf _ResData_/tmp
mv _ResData_/SDFS/MergedMessages _ResData_/SDFS/Messages
perl /home/gitlab-runner/builds/hYz1sbzj/0/bavison/SDFS/RiscOS/Library/Build/InstViaRG,102 _ResData_ Resources _ResGen_
resgen Resources SDFSMsgs.o -via _ResGen_
make[1]: Target 'install' not remade because of errors.
make: *** [CModule:239: install] Error 2
Cleaning up project directory and file based variables
ERROR: Job failed: exit status 1

failed
cppcheck Static Analysis

^
objs/module.c:509:0: style: The function 'module_tickerv_handler' is never used. [unusedFunction]

^
nofile:0:0: information: Unmatched suppression: purgedConfiguration [unmatchedSuppression]

Cleaning up project directory and file based variables
ERROR: Job failed: exit status 1