Move interrupts and interrupt-names list out of pas-common since they
will be redefined differently for Kaanapali SoCCP.
Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
---
.../devicetree/bindings/remoteproc/qcom,adsp.yaml | 14 ++++++++++++--
.../bindings/remoteproc/qcom,milos-pas.yaml | 18 ++++++++++++++----
.../bindings/remoteproc/qcom,pas-common.yaml | 16 ++--------------
.../bindings/remoteproc/qcom,qcs404-pas.yaml | 14 ++++++++++++--
.../bindings/remoteproc/qcom,sa8775p-pas.yaml | 14 ++++++++++++--
.../bindings/remoteproc/qcom,sc7180-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sdx55-pas.yaml | 16 ++++++++++++++--
.../bindings/remoteproc/qcom,sm6115-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sm6350-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sm6375-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sm8150-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sm8350-pas.yaml | 20 ++++++++++++++++++++
.../bindings/remoteproc/qcom,sm8550-pas.yaml | 20 ++++++++++++++++++++
14 files changed, 226 insertions(+), 26 deletions(-)
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
index a270834605da..16c35e15ee1b 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
@@ -58,10 +58,20 @@ properties:
description: Firmware name for the Hexagon core
interrupts:
- maxItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
interrupt-names:
- maxItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
required:
- compatible
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml
index c47d97004b33..f8e1b2b8e782 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml
@@ -33,12 +33,22 @@ properties:
- const: xo
interrupts:
- minItems: 6
- maxItems: 6
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
interrupt-names:
- minItems: 6
- maxItems: 6
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
qcom,qmp:
$ref: /schemas/types.yaml#/definitions/phandle
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
index 68c17bf18987..dc5a9981c12c 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
@@ -26,23 +26,11 @@ properties:
interrupts:
minItems: 5
- items:
- - description: Watchdog interrupt
- - description: Fatal interrupt
- - description: Ready interrupt
- - description: Handover interrupt
- - description: Stop acknowledge interrupt
- - description: Shutdown acknowledge interrupt
+ maxItems: 6
interrupt-names:
minItems: 5
- items:
- - const: wdog
- - const: fatal
- - const: ready
- - const: handover
- - const: stop-ack
- - const: shutdown-ack
+ maxItems: 6
iommus:
maxItems: 1
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml
index ad45fd00ae34..5854b3d2041d 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,qcs404-pas.yaml
@@ -32,10 +32,20 @@ properties:
- const: xo
interrupts:
- maxItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
interrupt-names:
- maxItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
power-domains: false
power-domain-names: false
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
index 188a25194000..4c6d32b1031c 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
@@ -60,10 +60,20 @@ properties:
- description: Memory region for main Firmware authentication
interrupts:
- maxItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
interrupt-names:
- maxItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
required:
- compatible
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml
index 66b455d0a8e3..cb0a61fc301d 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml
@@ -48,6 +48,26 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml
index 5dbda3a55047..c51010493bca 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml
@@ -45,6 +45,26 @@ properties:
$ref: /schemas/types.yaml#/definitions/string
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml
index 5d463272165f..381ece510b0f 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml
@@ -30,10 +30,22 @@ properties:
- const: xo
interrupts:
- minItems: 6
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
interrupt-names:
- minItems: 6
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
power-domains:
items:
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml
index eeb6a8aafeb9..987fac433fae 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml
@@ -51,6 +51,26 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml
index c1a3cc308bdb..53ffb1ccd199 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml
@@ -45,6 +45,26 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml
index 7286b2baa19f..6823a2a8d74e 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml
@@ -39,6 +39,26 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
smd-edge: false
required:
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
index a8cddf7e2fe1..8a1fae095a3b 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
@@ -61,6 +61,26 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml
index 6d09823153fc..4ea7518db537 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml
@@ -55,6 +55,26 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
index b117c82b057b..d93e17fb5e89 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
@@ -72,6 +72,26 @@ properties:
- description: DSM Memory region 2
- description: Memory region for Qlink Logging
+ interrupts:
+ minItems: 5
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+
+ interrupt-names:
+ minItems: 5
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
required:
- compatible
- reg
--
2.25.1
On Tue, Mar 10, 2026 at 03:03:18AM -0700, Jingyi Wang wrote: > Move interrupts and interrupt-names list out of pas-common since they > will be redefined differently for Kaanapali SoCCP. > > Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com> > --- > .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 14 ++++++++++++-- > .../bindings/remoteproc/qcom,milos-pas.yaml | 18 ++++++++++++++---- > .../bindings/remoteproc/qcom,pas-common.yaml | 16 ++-------------- > .../bindings/remoteproc/qcom,qcs404-pas.yaml | 14 ++++++++++++-- > .../bindings/remoteproc/qcom,sa8775p-pas.yaml | 14 ++++++++++++-- > .../bindings/remoteproc/qcom,sc7180-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sdx55-pas.yaml | 16 ++++++++++++++-- > .../bindings/remoteproc/qcom,sm6115-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm6350-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm6375-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm8150-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm8350-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm8550-pas.yaml | 20 ++++++++++++++++++++ > 14 files changed, 226 insertions(+), 26 deletions(-) > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml > index 66b455d0a8e3..cb0a61fc301d 100644 > --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml > @@ -48,6 +48,26 @@ properties: > maxItems: 1 > description: Firmware name for the Hexagon core > > + interrupts: > + minItems: 5 Initially I stumled upon this (and dropped a note in the other email that I noticed a problem with the series). This minItems looked like the underspecified property, buf after checking it seems that this schema is written in a way that covers DSPs having both 5 and 6 interrupts. So... most likely the schemas for DSPs might be reworked / optimized to cover modems separately from the other DSPs, but it's a separate topic. Let's settle on the SoCCP topic first. > + items: > + - description: Watchdog interrupt > + - description: Fatal interrupt > + - description: Ready interrupt > + - description: Handover interrupt > + - description: Stop acknowledge interrupt > + - description: Shutdown acknowledge interrupt > + > + interrupt-names: > + minItems: 5 > + items: > + - const: wdog > + - const: fatal > + - const: ready > + - const: handover > + - const: stop-ack > + - const: shutdown-ack > + > required: > - compatible > - reg -- With best wishes Dmitry
On 3/13/2026 9:38 AM, Dmitry Baryshkov wrote: > On Tue, Mar 10, 2026 at 03:03:18AM -0700, Jingyi Wang wrote: >> Move interrupts and interrupt-names list out of pas-common since they >> will be redefined differently for Kaanapali SoCCP. >> >> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com> >> --- >> .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 14 ++++++++++++-- >> .../bindings/remoteproc/qcom,milos-pas.yaml | 18 ++++++++++++++---- >> .../bindings/remoteproc/qcom,pas-common.yaml | 16 ++-------------- >> .../bindings/remoteproc/qcom,qcs404-pas.yaml | 14 ++++++++++++-- >> .../bindings/remoteproc/qcom,sa8775p-pas.yaml | 14 ++++++++++++-- >> .../bindings/remoteproc/qcom,sc7180-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sdx55-pas.yaml | 16 ++++++++++++++-- >> .../bindings/remoteproc/qcom,sm6115-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sm6350-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sm6375-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sm8150-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sm8350-pas.yaml | 20 ++++++++++++++++++++ >> .../bindings/remoteproc/qcom,sm8550-pas.yaml | 20 ++++++++++++++++++++ >> 14 files changed, 226 insertions(+), 26 deletions(-) >> > > >> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml >> index 66b455d0a8e3..cb0a61fc301d 100644 >> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml >> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml >> @@ -48,6 +48,26 @@ properties: >> maxItems: 1 >> description: Firmware name for the Hexagon core >> >> + interrupts: >> + minItems: 5 Hi Dmitry, > > Initially I stumled upon this (and dropped a note in the other email > that I noticed a problem with the series). This minItems looked like the > underspecified property, buf after checking it seems that this schema is > written in a way that covers DSPs having both 5 and 6 interrupts. > > So... most likely the schemas for DSPs might be reworked / optimized to > cover modems separately from the other DSPs, but it's a separate topic. > Let's settle on the SoCCP topic first. > Per my understanding, we can continue with the current change for soccp binding? Thanks, Jingyi >> + items: >> + - description: Watchdog interrupt >> + - description: Fatal interrupt >> + - description: Ready interrupt >> + - description: Handover interrupt >> + - description: Stop acknowledge interrupt >> + - description: Shutdown acknowledge interrupt >> + >> + interrupt-names: >> + minItems: 5 >> + items: >> + - const: wdog >> + - const: fatal >> + - const: ready >> + - const: handover >> + - const: stop-ack >> + - const: shutdown-ack >> + >> required: >> - compatible >> - reg >
On Tue, Mar 10, 2026 at 03:03:18AM -0700, Jingyi Wang wrote: > Move interrupts and interrupt-names list out of pas-common since they > will be redefined differently for Kaanapali SoCCP. > > Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com> > --- > .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 14 ++++++++++++-- > .../bindings/remoteproc/qcom,milos-pas.yaml | 18 ++++++++++++++---- > .../bindings/remoteproc/qcom,pas-common.yaml | 16 ++-------------- > .../bindings/remoteproc/qcom,qcs404-pas.yaml | 14 ++++++++++++-- > .../bindings/remoteproc/qcom,sa8775p-pas.yaml | 14 ++++++++++++-- > .../bindings/remoteproc/qcom,sc7180-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sdx55-pas.yaml | 16 ++++++++++++++-- > .../bindings/remoteproc/qcom,sm6115-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm6350-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm6375-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm8150-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm8350-pas.yaml | 20 ++++++++++++++++++++ > .../bindings/remoteproc/qcom,sm8550-pas.yaml | 20 ++++++++++++++++++++ > 14 files changed, 226 insertions(+), 26 deletions(-) Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Best regards, Krzysztof
© 2016 - 2026 Red Hat, Inc.