|
@@ -998,8 +998,10 @@ static const struct net_device_ops fs_enet_netdev_ops = {
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static struct of_device_id fs_enet_match[];
|
|
static int __devinit fs_enet_probe(struct platform_device *ofdev)
|
|
static int __devinit fs_enet_probe(struct platform_device *ofdev)
|
|
{
|
|
{
|
|
|
|
+ const struct of_device_id *match;
|
|
struct net_device *ndev;
|
|
struct net_device *ndev;
|
|
struct fs_enet_private *fep;
|
|
struct fs_enet_private *fep;
|
|
struct fs_platform_info *fpi;
|
|
struct fs_platform_info *fpi;
|
|
@@ -1007,14 +1009,15 @@ static int __devinit fs_enet_probe(struct platform_device *ofdev)
|
|
const u8 *mac_addr;
|
|
const u8 *mac_addr;
|
|
int privsize, len, ret = -ENODEV;
|
|
int privsize, len, ret = -ENODEV;
|
|
|
|
|
|
- if (!ofdev->dev.of_match)
|
|
|
|
|
|
+ match = of_match_device(fs_enet_match, &ofdev->dev);
|
|
|
|
+ if (!match)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
fpi = kzalloc(sizeof(*fpi), GFP_KERNEL);
|
|
fpi = kzalloc(sizeof(*fpi), GFP_KERNEL);
|
|
if (!fpi)
|
|
if (!fpi)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
- if (!IS_FEC(ofdev->dev.of_match)) {
|
|
|
|
|
|
+ if (!IS_FEC(match)) {
|
|
data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len);
|
|
data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len);
|
|
if (!data || len != 4)
|
|
if (!data || len != 4)
|
|
goto out_free_fpi;
|
|
goto out_free_fpi;
|
|
@@ -1049,7 +1052,7 @@ static int __devinit fs_enet_probe(struct platform_device *ofdev)
|
|
fep->dev = &ofdev->dev;
|
|
fep->dev = &ofdev->dev;
|
|
fep->ndev = ndev;
|
|
fep->ndev = ndev;
|
|
fep->fpi = fpi;
|
|
fep->fpi = fpi;
|
|
- fep->ops = ofdev->dev.of_match->data;
|
|
|
|
|
|
+ fep->ops = match->data;
|
|
|
|
|
|
ret = fep->ops->setup_data(ndev);
|
|
ret = fep->ops->setup_data(ndev);
|
|
if (ret)
|
|
if (ret)
|