Thread (18 messages) 18 messages, 5 authors, 2016-10-27

Re: [v12, 7/8] base: soc: introduce soc_device_match() interface

From: Alexander Shiyan <hidden>
Date: 2016-09-21 07:58:36
Also in: linux-arm-kernel, linux-clk, linux-devicetree, linux-i2c, linux-iommu, linuxppc-dev, lkml, netdev

Среда, 21 сентября 2016, 9:57 +03:00 от Yangbo Lu [off-list ref]:

From: Arnd Bergmann < arnd@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))
+break;
+ret = bus_for_each_dev(&soc_bus_type, NULL, (void *)matches,
+       soc_device_match_one);
+if (!ret)
+matches++;
So, what happen if next "matches" (after increment) will be NULL?

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

---

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help