|
@@ -2155,6 +2155,7 @@ static int netcp_probe(struct platform_device *pdev)
|
|
|
struct device_node *child, *interfaces;
|
|
|
struct netcp_device *netcp_device;
|
|
|
struct device *dev = &pdev->dev;
|
|
|
+ struct netcp_module *module;
|
|
|
int ret;
|
|
|
|
|
|
if (!node) {
|
|
@@ -2203,6 +2204,14 @@ static int netcp_probe(struct platform_device *pdev)
|
|
|
/* Add the device instance to the list */
|
|
|
list_add_tail(&netcp_device->device_list, &netcp_devices);
|
|
|
|
|
|
+ /* Probe & attach any modules already registered */
|
|
|
+ mutex_lock(&netcp_modules_lock);
|
|
|
+ for_each_netcp_module(module) {
|
|
|
+ ret = netcp_module_probe(netcp_device, module);
|
|
|
+ if (ret < 0)
|
|
|
+ dev_err(dev, "module(%s) probe failed\n", module->name);
|
|
|
+ }
|
|
|
+ mutex_unlock(&netcp_modules_lock);
|
|
|
return 0;
|
|
|
|
|
|
probe_quit_interface:
|