PCI: hv: Allocate a named fwnode instead of an address-based one
To allocate its fwnode that is then used to allocate an irqdomain, the driver uses irq_domain_alloc_fwnode(), passing it a VA as an identifier. This is a rather bad idea, as this address ends up published in debugfs (and we want to move away from VAs there anyway). Instead, let's allocate a named fwnode by using the device GUID as an identifier. It is allegedly unique, and can be traced back to the original device. Acked-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
parent
daa19fe5b0
commit
467a3bb974
|
@ -2521,6 +2521,7 @@ static int hv_pci_probe(struct hv_device *hdev,
|
|||
const struct hv_vmbus_device_id *dev_id)
|
||||
{
|
||||
struct hv_pcibus_device *hbus;
|
||||
char *name;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
|
@ -2589,7 +2590,14 @@ static int hv_pci_probe(struct hv_device *hdev,
|
|||
goto free_config;
|
||||
}
|
||||
|
||||
hbus->sysdata.fwnode = irq_domain_alloc_fwnode(hbus);
|
||||
name = kasprintf(GFP_KERNEL, "%pUL", &hdev->dev_instance);
|
||||
if (!name) {
|
||||
ret = -ENOMEM;
|
||||
goto unmap;
|
||||
}
|
||||
|
||||
hbus->sysdata.fwnode = irq_domain_alloc_named_fwnode(name);
|
||||
kfree(name);
|
||||
if (!hbus->sysdata.fwnode) {
|
||||
ret = -ENOMEM;
|
||||
goto unmap;
|
||||
|
|
Loading…
Reference in New Issue