That sounds vague enough that it's ok if I want to use it for PINN, but to release it upstream a separate driver would be required.

Currently, the LCD screen and touchscreen driver are separate userland programs. I don't know how to detect the LCD screen on it's own, but I can detect the touchscreen and infer that the LCD screen is also fitted (since they're on the same PCB) and hence initialise it.
This makes it much easier to autodetect different screens and initialise them in one go (since the driver is only loaded when the H/W is detected), otherwise it means switching the userland programs around depending on which touchscreen is detected. I still have the issue of the user having to change the overlay and other settings in config.txt, but it's a little easier.