convert pci and eeh code to of_device_is_available
Subsystems (2)
PATCH 1/1 convert pci and eeh code to of_device_is_available
A couple of places are duplicating the function of of_device_is_available; convert them to use it.
Signed-off-by Nathan Lynch <[email protected]>
---
This depends on Josh Boyer's patch "[OF] Add of_device_is_available function":
http://patchwork.ozlabs.org/linuxppc/patch?id=17100
arch/powerpc/kernel/rtas_pci.c | 19 ++----------------- arch/powerpc/platforms/pseries/eeh.c | 5 ++--- 2 files changed, 4 insertions(+), 20 deletions(-)
arch/powerpc/kernel/rtas_pci.c +2 -17
@@ -56,21 +56,6 @@ static inline int config_access_valid(struct pci_dn *dn, int where)return 0 ; } -static int of_device_available (struct device_node * dn) -{ -const char *status; - - status =of_get_property (dn,"status" ,NULL ); - -if (!status) -return 1 ; - -if (!strcmp (status,"okay" )) -return 1 ; - -return 0 ; -} -int rtas_read_config (struct pci_dn *pdn,int where,int size,u32 *val) {int returnval =-1 ;
@@ -117,7 +102,7 @@ static int rtas_pci_read_config(struct pci_bus *bus,for (dn = busdn->child; dn; dn = dn->sibling) {struct pci_dn *pdn =PCI_DN (dn);if (pdn && pdn->devfn == devfn - &&of_device_available (dn)) + &&of_device_is_available (dn))return rtas_read_config (pdn, where, size, val); }
@@ -164,7 +149,7 @@ static int rtas_pci_write_config(struct pci_bus *bus,for (dn = busdn->child; dn; dn = dn->sibling) {struct pci_dn *pdn =PCI_DN (dn);if (pdn && pdn->devfn == devfn - &&of_device_available (dn)) + &&of_device_is_available (dn))return rtas_write_config (pdn, where, size, val); }return PCIBIOS_DEVICE_NOT_FOUND ;
arch/powerpc/platforms/pseries/eeh.c +2 -3
@@ -945,7 +945,6 @@ static void *early_enable_eeh(struct device_node *dn, void *data)unsigned int rets[3 ];struct eeh_early_enable_info *info = data;int ret; -const char *status =of_get_property (dn,"status" ,NULL );const u32 *class_code =of_get_property (dn,"class-code" ,NULL );const u32 *vendor_id =of_get_property (dn,"vendor-id" ,NULL );const u32 *device_id =of_get_property (dn,"device-id" ,NULL );
@@ -959,8 +958,8 @@ static void *early_enable_eeh(struct device_node *dn, void *data) pdn->eeh_freeze_count =0 ; pdn->eeh_false_positives =0 ; -if (status &&strncmp (status,"ok" ,2 ) !=0 ) -return NULL ;/* ignore devices with bad status */ +if (!of_device_is_available (dn)) +return NULL ;/* Ignore bad nodes. */ if (!class_code || !vendor_id || !device_id)
Signature · 1 line
1.5.4.rc5