From: Saurabh Sengar <ssengar@linux.microsoft.com>
To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
decui@microsoft.com, linux-kernel@vger.kernel.org,
linux-hyperv@vger.kernel.org, mikelley@microsoft.com
Subject: [PATCH v9 0/5] Device tree support for Hyper-V VMBus driver
Date: Mon, 20 Mar 2023 00:47:35 -0700 [thread overview]
Message-ID: <1679298460-11855-1-git-send-email-ssengar@linux.microsoft.com> (raw)
This set of patches expands the VMBus driver to include device tree
support. This feature allows for a kernel boot without the use of ACPI
tables, resulting in a smaller memory footprint and potentially faster
boot times. This is tested by enabling CONFIG_OF and OF_EARLY_FLATTREE
for x86.
The first two patches enable compilation of Hyper-V APIs in a non-ACPI
build.
The third patch converts the VMBus driver from acpi to more generic
platform driver.
The fourth patch introduces the device tree documentation for VMBus.
The fifth patch adds device tree support to the VMBus driver. Currently
this is tested only for x86 and it may not work for other archs.
[V9]
- Add vmbus_mmio_remove for error handling
- Remove logic from !acpi_disabled to acpi_disabled
[V8]
- Remove the auto select of CONFIG_OF
- Remove the dependency on !ACPI for OF_EARLY_FLATTREE
- Used acpi_disabled instead of #ifdef and hence added a dummy function
for vmbus_acpi_add
- GFP_ATOMIC -> GFP_KERNEL
- used range.flags instead of hard coding flags
- used __maybe_unused for acpi device id, removed #ifdef
[V7]
- Use cpu_addr instead of bus_addr.
- Updated Documentation accordingly.
[V6]
- define acpi_sleep_state_supported in acpi header for !ACPI,
dropped the changes done in hv_common.c under #ifdef CONFIG_ACPI
- "Devicetree" instead of "device tree"
- Remove initialize of ret
- set "np = pdev->dev.of_node;" on declarartion
- remove one error print
- use bus_addr instead of pci_addr
[V5]
- Removed #else for device tree parsing code. This should help better
test coverage.
- Fix macro '__maybe_unused' warning
- Added below options in Kconfig to enable device tree options for HYPERV
select OF if !ACPI
select OF_EARLY_FLATTREE if !ACPI
- moved dt documantation to bus folder
- update the dt node to have 'bus' as parent node instead of 'soc'. Also
added compatible and ranges property for parent node.
- Made sure dt_binding_check have no error/varnings for microsoft,vmbus.yaml file
- Fix commit messages and add Reviwed-by from Michael for first 3 patches
[V4]
- rebased which fixed return type of 'vmbus_mmio_remove' from int to void
- used __maybe_unused for 'vmbus_of_match' and safeguard vmbus_acpi_device_ids
under #ifdef
[V3]
- Changed the logic to use generic api (for_each_of_range) for parsing "ranges".
- Remove dependency of ACPI for HYPERV in case of x86.
- Removed "device tree bindings" from title and patch subject.
- Removed duplicate vendor prefix, used microsoft instead of msft.
- Use 'soc' in example of device tree documantation for parent node.
- Fixed compatible schemas error generated in other modules referring to
virtio.
- Drop hex notation and leading zeros from device tree cell properties.
- Added missing full stop at the end of commit message.
- Typos fix: s/Initaly/Initially/ and s/hibernate/hibernation/.
- Replace to_acpi_device with ACPI_COMPANION which simplify the logic.
- Added more info in cover letter aboutsystem under test.
[v2]
- Convert VMBus acpi device to platform device, and added device tree support
in separate patch. This enables using same driver structure for both the flows.
- In Device tree documentation, changed virtio folder to hypervisor and moved
VMBus documentation there.
- Moved bindings before Device tree patch.
- Removed stale ".data" and ".name" field from of_device match table.
- Removed debug print.
Saurabh Sengar (5):
drivers/clocksource/hyper-v: non ACPI support in hyperv clock
ACPI: bus: Add stub acpi_sleep_state_supported() in non-ACPI cases
Drivers: hv: vmbus: Convert acpi_device to more generic
platform_device
dt-bindings: bus: VMBus
Driver: VMBus: Add Devicetree support
.../bindings/bus/microsoft,vmbus.yaml | 54 ++++++++
MAINTAINERS | 1 +
drivers/clocksource/hyperv_timer.c | 15 ++-
drivers/hv/Kconfig | 5 +-
drivers/hv/vmbus_drv.c | 122 ++++++++++++++----
include/linux/acpi.h | 5 +
6 files changed, 172 insertions(+), 30 deletions(-)
create mode 100644 Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml
--
2.34.1
next reply other threads:[~2023-03-20 7:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-20 7:47 Saurabh Sengar [this message]
2023-03-20 7:47 ` [PATCH v9 1/5] drivers/clocksource/hyper-v: non ACPI support in hyperv clock Saurabh Sengar
2023-03-20 7:47 ` [PATCH v9 2/5] ACPI: bus: Add stub acpi_sleep_state_supported() in non-ACPI cases Saurabh Sengar
2023-03-20 7:47 ` [PATCH v9 3/5] Drivers: hv: vmbus: Convert acpi_device to more generic platform_device Saurabh Sengar
2023-03-20 7:47 ` [PATCH v9 4/5] dt-bindings: bus: VMBus Saurabh Sengar
2023-04-05 23:10 ` Wei Liu
2023-04-06 3:03 ` Saurabh Singh Sengar
2023-04-06 20:36 ` Wei Liu
2023-03-20 7:47 ` [PATCH v9 5/5] Driver: VMBus: Add Devicetree support Saurabh Sengar
2023-03-20 18:04 ` Michael Kelley (LINUX)
2023-04-06 21:15 ` [PATCH v9 0/5] Device tree support for Hyper-V VMBus driver Wei Liu
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=1679298460-11855-1-git-send-email-ssengar@linux.microsoft.com \
--to=ssengar@linux.microsoft.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mikelley@microsoft.com \
--cc=wei.liu@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).