summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-09-07 14:48:26 +0100
committerMark Brown <broonie@kernel.org>2026-09-07 14:48:26 +0100
commit886ba10443ec2cd548b69df96aed8ad08aff062f (patch)
treea93b5eb73368410e4953f5ec28f12a2bdf7bcd0e
parentb8dd634664917bf2ff09f79f68f8d085f911f3b3 (diff)
parent26f5abb98a9cde6825d3cdb12a690d0ea7ede5b4 (diff)
downloadlinux-next-886ba10443ec2cd548b69df96aed8ad08aff062f.tar.gz
linux-next-886ba10443ec2cd548b69df96aed8ad08aff062f.zip
Merge branch 'master' of https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git
-rw-r--r--drivers/virt/vmgenid.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/virt/vmgenid.c b/drivers/virt/vmgenid.c
index 66135eac3abf..ce957f5b1c31 100644
--- a/drivers/virt/vmgenid.c
+++ b/drivers/virt/vmgenid.c
@@ -25,7 +25,7 @@ struct vmgenid_state {
static void vmgenid_notify(struct device *device)
{
- struct vmgenid_state *state = device->driver_data;
+ struct vmgenid_state *state = dev_get_drvdata(device);
u8 old_id[VMGENID_SIZE];
memcpy(old_id, state->this_id, sizeof(old_id));
@@ -75,13 +75,16 @@ static int vmgenid_add_acpi(struct device *dev, struct vmgenid_state *state)
phys_addr = (obj->package.elements[0].integer.value << 0) |
(obj->package.elements[1].integer.value << 32);
- virt_addr = devm_memremap(&device->dev, phys_addr, VMGENID_SIZE, MEMREMAP_WB);
+ virt_addr = devm_memremap(&device->dev, phys_addr, VMGENID_SIZE,
+ MEMREMAP_WB | MEMREMAP_DEC);
if (IS_ERR(virt_addr)) {
ret = PTR_ERR(virt_addr);
goto out;
}
setup_vmgenid_state(state, virt_addr);
+ dev_set_drvdata(dev, state);
+
status = acpi_install_notify_handler(device->handle, ACPI_DEVICE_NOTIFY,
vmgenid_acpi_handler, dev);
if (ACPI_FAILURE(status)) {
@@ -89,7 +92,6 @@ static int vmgenid_add_acpi(struct device *dev, struct vmgenid_state *state)
goto out;
}
- dev->driver_data = state;
out:
ACPI_FREE(parsed.pointer);
return ret;
@@ -123,12 +125,13 @@ static int vmgenid_add_of(struct platform_device *pdev,
if (ret < 0)
return ret;
+ dev_set_drvdata(&pdev->dev, state);
+
ret = devm_request_irq(&pdev->dev, ret, vmgenid_of_irq_handler,
IRQF_SHARED, "vmgenid", &pdev->dev);
if (ret < 0)
return ret;
- pdev->dev.driver_data = state;
return 0;
}