On 06/22/2018 07:24 AM, Han Han wrote:
For input,hub,redirdev devices, their sub-elements should be
interleaved.
input device: interleave for <driver>, <alias>, <address>
hub device: interleave for <alias>, <address>
redirdev device: interleave for <source>, <alias>, <address>,
<boot>
Signed-off-by: Han Han <hhan(a)redhat.com>
---
docs/schemas/domaincommon.rng | 60 +++++++++++++++++++----------------
1 file changed, 33 insertions(+), 27 deletions(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 4a454dddb4..d262eb2b1b 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -4270,11 +4270,19 @@
<define name="input">
<element name="input">
- <optional>
- <element name="driver">
- <ref name="virtioOptions"/>
- </element>
- </optional>
+ <interleave>
+ <optional>
+ <element name="driver">
+ <ref name="virtioOptions"/>
+ </element>
+ </optional>
+ <optional>
+ <ref name="alias"/>
+ </optional>
+ <optional>
+ <ref name="address"/>
+ </optional>
+ </interleave>
<choice>
<group>
<attribute name="type">
This is not that simple. In between these two hunks there's another
possible element defined <source/> for this kind of <input/> device:
<input type='passthrough' bus='virtio'>
<driver iommu='on' ats='on'/>
<source evdev='/dev/input/event1234'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x12'
function='0x0'/>
</input>
What we need is to put the whole <element name="input"/> body into
<interleave/>.
Fixed, ACKed and pushed.
Michal