diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2016-09-29 15:52:04 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-10-04 16:22:47 +1100 |
commit | 39f0d6fbdc3f205d0c61a9c530c6827193cba64b (patch) | |
tree | cbf1b22a9ee3481743217e5a4af4438632f6c088 /drivers/pci | |
parent | 735840b44bcc998e2574faf63d1aaaf9b41f2827 (diff) | |
download | linux-39f0d6fbdc3f205d0c61a9c530c6827193cba64b.tar.bz2 |
drivers/pci/hotplug: Use of_property_read_u32() in powernv driver
This replaces of_get_property() with of_property_read_u32() or
of_property_read_string() so that we needn't consider the endian
issue, the returned value always is in CPU-endian.
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
[mpe: Fold in the change to the "ibm,slot-surprise-pluggable" case]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/hotplug/pnv_php.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/pci/hotplug/pnv_php.c b/drivers/pci/hotplug/pnv_php.c index 5dd0d4f2f907..56efaf72d08e 100644 --- a/drivers/pci/hotplug/pnv_php.c +++ b/drivers/pci/hotplug/pnv_php.c @@ -547,9 +547,10 @@ static struct pnv_php_slot *pnv_php_alloc_slot(struct device_node *dn) struct pci_bus *bus; const char *label; uint64_t id; + int ret; - label = of_get_property(dn, "ibm,slot-label", NULL); - if (!label) + ret = of_property_read_string(dn, "ibm,slot-label", &label); + if (ret) return NULL; if (pnv_pci_get_slot_id(dn, &id)) @@ -821,16 +822,16 @@ static void pnv_php_enable_irq(struct pnv_php_slot *php_slot) static int pnv_php_register_one(struct device_node *dn) { struct pnv_php_slot *php_slot; - const __be32 *prop32; + u32 prop32; int ret; /* Check if it's hotpluggable slot */ - prop32 = of_get_property(dn, "ibm,slot-pluggable", NULL); - if (!prop32 || !of_read_number(prop32, 1)) + ret = of_property_read_u32(dn, "ibm,slot-pluggable", &prop32); + if (ret || !prop32) return -ENXIO; - prop32 = of_get_property(dn, "ibm,reset-by-firmware", NULL); - if (!prop32 || !of_read_number(prop32, 1)) + ret = of_property_read_u32(dn, "ibm,reset-by-firmware", &prop32); + if (ret || !prop32) return -ENXIO; php_slot = pnv_php_alloc_slot(dn); @@ -846,8 +847,8 @@ static int pnv_php_register_one(struct device_node *dn) goto unregister_slot; /* Enable interrupt if the slot supports surprise hotplug */ - prop32 = of_get_property(dn, "ibm,slot-surprise-pluggable", NULL); - if (prop32 && of_read_number(prop32, 1)) + ret = of_property_read_u32(dn, "ibm,slot-surprise-pluggable", &prop32); + if (!ret && prop32) pnv_php_enable_irq(php_slot); return 0; |