mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sudan Landge <sudanl@amazon.com>
To: <tytso@mit.edu>, <Jason@zx2c4.com>, <robh+dt@kernel.org>,
	<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
	<sudanl@amazon.com>, <sathyanarayanan.kuppuswamy@linux.intel.com>,
	<thomas.lendacky@amd.com>, <dan.j.williams@intel.com>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <graf@amazon.de>, <dwmw@amazon.co.uk>, <bchalios@amazon.es>,
	<xmarcalx@amazon.co.uk>
Subject: [PATCH v1 0/4] virt: vmgenid: Add devicetree bindings support
Date: Tue, 19 Mar 2024 14:32:49 +0000	[thread overview]
Message-ID: <20240319143253.22317-1-sudanl@amazon.com> (raw)

This small series of patches aims to add devicetree bindings support for
the Virtual Machine Generation ID (vmgenid) driver.

Virtual Machine Generation ID driver was introduced in commit af6b54e2b5ba
("virt: vmgenid: notify RNG of VM fork and supply generation ID") as an
ACPI only device.
We would like to extend vmgenid to support devicetree bindings because:
1. A device should not be defined as an ACPI or DT only device.
2. Technically there's no issue with adding devicetree support to vmgenid.
3. This would allow Hypervisors to use vmgenid without the need to
   enable ACPI. This is important for hypervisors that want to
   keep things minimalistic and enable ACPI only when they have
   no other alternative.

While adding the devicetree support we considered re-using existing
structures/code to avoid duplication code and reduce maintenance; so,
we used the same driver to be configured either by ACPI or by DT.
This also meant reimplementing the existing vmgenid ACPI bus driver as a
platform driver and making it discoverable using `driver.of_match_table`
and `driver.acpi_match_table`.

There is no user impact or change in vmgenid functionality when used
with ACPI. We verified ACPI support of these patches on X86 and DT
support on ARM using Firecracker hypervisor
https://github.com/firecracker-microvm/firecracker.

To check schema and syntax errors, the bindings file is verified with:
```
  make dt_binding_check \
  DT_SCHEMA_FILES=Documentation/devicetree/bindings/vmgenid/vmgenid.yaml
```
and the patches were verified with:
`scripts/checkpatch.pl --strict v1-000*`.


Sudan Landge (4):
  virt: vmgenid: rearrange code to make review easier
  virt: vmgenid: change implementation to use a platform driver
  dt-bindings: Add bindings for vmgenid
  virt: vmgenid: add support for devicetree bindings

 .../devicetree/bindings/vmgenid/vmgenid.yaml  |  57 +++++
 MAINTAINERS                                   |   1 +
 drivers/virt/Kconfig                          |   2 +-
 drivers/virt/vmgenid.c                        | 197 ++++++++++++++----
 4 files changed, 221 insertions(+), 36 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/vmgenid/vmgenid.yaml

-- 
2.40.1


             reply	other threads:[~2024-03-19 14:33 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-19 14:32 Sudan Landge [this message]
2024-03-19 14:32 ` [PATCH v1 1/4] virt: vmgenid: rearrange code to make review easier Sudan Landge
2024-03-19 14:32 ` [PATCH v1 2/4] virt: vmgenid: change implementation to use a platform driver Sudan Landge
2024-03-19 14:32 ` [PATCH v1 3/4] dt-bindings: Add bindings for vmgenid Sudan Landge
2024-03-19 15:28   ` Krzysztof Kozlowski
     [not found]     ` <f221da06-2a7c-4db3-a0de-870156865631@amazon.co.uk>
2024-03-20 10:24       ` Krzysztof Kozlowski
2024-03-20 12:16         ` Landge, Sudan
2024-03-19 14:32 ` [PATCH v1 4/4] virt: vmgenid: add support for devicetree bindings Sudan Landge
2024-03-19 15:30   ` Krzysztof Kozlowski
2024-03-20  8:14   ` kernel test robot
2024-03-20 13:35   ` kernel test robot
2024-03-20 16:54   ` kernel test robot
2024-03-21  1:10   ` kernel test robot
2024-03-19 15:24 ` [PATCH v1 0/4] virt: vmgenid: Add devicetree bindings support Krzysztof Kozlowski
2024-03-20 13:50   ` David Woodhouse
2024-03-20 16:15     ` Rob Herring
2024-03-20 16:55       ` David Woodhouse
2024-03-21 13:32         ` Rob Herring
2024-03-21 17:39           ` Landge, Sudan
2024-03-22  5:40             ` Krzysztof Kozlowski
2024-03-22  8:21               ` David Woodhouse
2024-03-22 13:22                 ` Rob Herring
2024-03-22 14:27                   ` David Woodhouse
2024-03-22 16:39                     ` Landge, Sudan
2024-03-19 15:32 ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240319143253.22317-1-sudanl@amazon.com \
    --to=sudanl@amazon.com \
    --cc=Jason@zx2c4.com \
    --cc=bchalios@amazon.es \
    --cc=conor+dt@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw@amazon.co.uk \
    --cc=graf@amazon.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=thomas.lendacky@amd.com \
    --cc=tytso@mit.edu \
    --cc=xmarcalx@amazon.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®