>Среда, 21 сентября 2016, 9:57 +03:00 от Yangbo Lu <yangbo...@nxp.com>:
>From: Arnd Bergmann < a...@arndb.de >
>We keep running into cases where device drivers want to know the exact
>version of the a SoC they are currently running on. In the past, this has
>usually been done through a vendor specific API that can be called by a
>driver, or by directly accessing some kind of version register that is
>not part of the device itself but that belongs to a global register area
>of the chip.
>+const struct soc_device_attribute *soc_device_match(
>+const struct soc_device_attribute *matches)
>+int ret = 0;
>+if (!matches)
>+return NULL;
>+while (!ret) {
>+if (!(matches->machine || matches->family ||
>+      matches->revision || matches->soc_id))
>+ret = bus_for_each_dev(&soc_bus_type, NULL, (void *)matches,
>+       soc_device_match_one);
>+if (!ret)

So, what happen if next "matches" (after increment) will be NULL?

I think you should use while(matches) at the start of this procedure.


Reply via email to