Commit b269b170 authored by Russell King's avatar Russell King

ARM: cleanup: soc_device_register() error checking

soc_device_register() never returns NULL, it only ever returns an
error pointer or a valid pointer.  Use the right function (IS_ERR())
to check this.

soc_device_to_device() only ever returns &soc_dev->dev, and so can
never return an error or NULL if the pointer passed into it was
valid, so there's no point checking its return.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent f6604efe
...@@ -540,16 +540,14 @@ static void __init ap_init_of(void) ...@@ -540,16 +540,14 @@ static void __init ap_init_of(void)
'A' + (ap_sc_id & 0x0f)); 'A' + (ap_sc_id & 0x0f));
soc_dev = soc_device_register(soc_dev_attr); soc_dev = soc_device_register(soc_dev_attr);
if (IS_ERR_OR_NULL(soc_dev)) { if (IS_ERR(soc_dev)) {
kfree(soc_dev_attr->revision); kfree(soc_dev_attr->revision);
kfree(soc_dev_attr); kfree(soc_dev_attr);
return; return;
} }
parent = soc_device_to_device(soc_dev); parent = soc_device_to_device(soc_dev);
integrator_init_sysfs(parent, ap_sc_id);
if (!IS_ERR_OR_NULL(parent))
integrator_init_sysfs(parent, ap_sc_id);
of_platform_populate(root, of_default_bus_match_table, of_platform_populate(root, of_default_bus_match_table,
ap_auxdata_lookup, parent); ap_auxdata_lookup, parent);
......
...@@ -364,17 +364,14 @@ static void __init intcp_init_of(void) ...@@ -364,17 +364,14 @@ static void __init intcp_init_of(void)
'A' + (intcp_sc_id & 0x0f)); 'A' + (intcp_sc_id & 0x0f));
soc_dev = soc_device_register(soc_dev_attr); soc_dev = soc_device_register(soc_dev_attr);
if (IS_ERR_OR_NULL(soc_dev)) { if (IS_ERR(soc_dev)) {
kfree(soc_dev_attr->revision); kfree(soc_dev_attr->revision);
kfree(soc_dev_attr); kfree(soc_dev_attr);
return; return;
} }
parent = soc_device_to_device(soc_dev); parent = soc_device_to_device(soc_dev);
integrator_init_sysfs(parent, intcp_sc_id);
if (!IS_ERR_OR_NULL(parent))
integrator_init_sysfs(parent, intcp_sc_id);
of_platform_populate(root, of_default_bus_match_table, of_platform_populate(root, of_default_bus_match_table,
intcp_auxdata_lookup, parent); intcp_auxdata_lookup, parent);
} }
......
...@@ -145,14 +145,13 @@ struct device * __init ux500_soc_device_init(const char *soc_id) ...@@ -145,14 +145,13 @@ struct device * __init ux500_soc_device_init(const char *soc_id)
soc_info_populate(soc_dev_attr, soc_id); soc_info_populate(soc_dev_attr, soc_id);
soc_dev = soc_device_register(soc_dev_attr); soc_dev = soc_device_register(soc_dev_attr);
if (IS_ERR_OR_NULL(soc_dev)) { if (IS_ERR(soc_dev)) {
kfree(soc_dev_attr); kfree(soc_dev_attr);
return NULL; return NULL;
} }
parent = soc_device_to_device(soc_dev); parent = soc_device_to_device(soc_dev);
if (!IS_ERR_OR_NULL(parent)) device_create_file(parent, &ux500_soc_attr);
device_create_file(parent, &ux500_soc_attr);
return parent; return parent;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment