On Thu, Mar 30, 2023 at 8:45 PM David Dai <davidai@xxxxxxxxxx> wrote: > > Add devicetree bindings for a virtual kvm cpufreq driver. > > Co-developed-by: Saravana Kannan <saravanak@xxxxxxxxxx> > Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx> > Signed-off-by: David Dai <davidai@xxxxxxxxxx> > --- > .../bindings/cpufreq/cpufreq-virtual-kvm.yaml | 39 +++++++++++++++++++ > 1 file changed, 39 insertions(+) > create mode 100644 Documentation/devicetree/bindings/cpufreq/cpufreq-virtual-kvm.yaml > > diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-virtual-kvm.yaml b/Documentation/devicetree/bindings/cpufreq/cpufreq-virtual-kvm.yaml > new file mode 100644 > index 000000000000..31e64558a7f1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-virtual-kvm.yaml > @@ -0,0 +1,39 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/cpufreq/cpufreq-virtual-kvm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Virtual KVM CPUFreq > + > +maintainers: > + - David Dai <davidai@xxxxxxxxxx> > + > +description: | > + > + KVM CPUFreq is a virtualized driver in guest kernels that sends utilization > + of its vCPUs as a hint to the host. The host uses hint to schedule vCPU > + threads and select CPU frequency. It enables accurate Per-Entity Load > + Tracking for tasks running in the guest by querying host CPU frequency > + unless a virtualized FIE exists(Like AMUs). > + > +properties: > + compatible: > + const: virtual,kvm-cpufreq > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + { > + #address-cells = <2>; > + #size-cells = <2>; > + > + cpufreq { > + compatible = "virtual,kvm-cpufreq"; > + }; The same thing was tried on non-virtual h/w too. This is not a device so it doesn't go in DT. It is just an abuse of DT as a kernel driver instantiation mechanism. Rob