|
@@ -176,19 +176,23 @@ static int soc_device_match_one(struct device *dev, void *arg)
|
|
|
const struct soc_device_attribute *match = arg;
|
|
|
|
|
|
if (match->machine &&
|
|
|
- !glob_match(match->machine, soc_dev->attr->machine))
|
|
|
+ (!soc_dev->attr->machine ||
|
|
|
+ !glob_match(match->machine, soc_dev->attr->machine)))
|
|
|
return 0;
|
|
|
|
|
|
if (match->family &&
|
|
|
- !glob_match(match->family, soc_dev->attr->family))
|
|
|
+ (!soc_dev->attr->family ||
|
|
|
+ !glob_match(match->family, soc_dev->attr->family)))
|
|
|
return 0;
|
|
|
|
|
|
if (match->revision &&
|
|
|
- !glob_match(match->revision, soc_dev->attr->revision))
|
|
|
+ (!soc_dev->attr->revision ||
|
|
|
+ !glob_match(match->revision, soc_dev->attr->revision)))
|
|
|
return 0;
|
|
|
|
|
|
if (match->soc_id &&
|
|
|
- !glob_match(match->soc_id, soc_dev->attr->soc_id))
|
|
|
+ (!soc_dev->attr->soc_id ||
|
|
|
+ !glob_match(match->soc_id, soc_dev->attr->soc_id)))
|
|
|
return 0;
|
|
|
|
|
|
return 1;
|