<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/of/resolver.c, branch v4.15</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.15</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.15'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2017-10-18T01:47:27Z</updated>
<entry>
<title>of: overlay: avoid race condition between applying multiple overlays</title>
<updated>2017-10-18T01:47:27Z</updated>
<author>
<name>Frank Rowand</name>
<email>frank.rowand@sony.com</email>
</author>
<published>2017-10-17T23:36:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f948d6d8b792bb90041edc12eac35faf83030994'/>
<id>urn:sha1:f948d6d8b792bb90041edc12eac35faf83030994</id>
<content type='text'>
The process of applying an overlay consists of:
  - unflatten an overlay FDT (flattened device tree) into an
    EDT (expanded device tree)
  - fixup the phandle values in the overlay EDT to fit in a
    range above the phandle values in the live device tree
  - create the overlay changeset to reflect the contents of
    the overlay EDT
  - apply the overlay changeset, to modify the live device tree,
    potentially changing the maximum phandle value in the live
    device tree

There is currently no protection against two overlay applies
concurrently determining what range of phandle values are in use
in the live device tree, and subsequently changing that range.
Add a mutex to prevent multiple overlay applies from occurring
simultaneously.

Move of_resolve_phandles() into of_overlay_apply() so that it does not
have to be duplicated by each caller of of_overlay_apply().

The test in of_resolve_phandles() that the overlay tree is detached is
temporarily disabled so that old style overlay unittests do not fail.

Signed-off-by: Frank Rowand &lt;frank.rowand@sony.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of/resolver: Replace kmalloc + memcpy with kmemdup()</title>
<updated>2017-10-16T21:43:29Z</updated>
<author>
<name>Stephen Boyd</name>
<email>stephen.boyd@linaro.org</email>
</author>
<published>2017-10-13T07:35:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=eeb09506c58a326e1c571b7f9ee30b7fdbc6239d'/>
<id>urn:sha1:eeb09506c58a326e1c571b7f9ee30b7fdbc6239d</id>
<content type='text'>
Save one line.

Signed-off-by: Stephen Boyd &lt;stephen.boyd@linaro.org&gt;
Reviewed-by: Frank Rowand &lt;frowand.list@gmail.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of/resolver: Simplify to be32_add_cpu()</title>
<updated>2017-10-16T21:42:56Z</updated>
<author>
<name>Stephen Boyd</name>
<email>stephen.boyd@linaro.org</email>
</author>
<published>2017-10-13T07:35:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d35d623f52f9bf58b2dc2fa08156de936e1d6770'/>
<id>urn:sha1:d35d623f52f9bf58b2dc2fa08156de936e1d6770</id>
<content type='text'>
This is the same as be32_add_cpu(), so simplify the code and
remove the now unused local variable.

Signed-off-by: Stephen Boyd &lt;stephen.boyd@linaro.org&gt;
Reviewed-by: Frank Rowand &lt;frowand.list@gmail.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: find_node_by_full_name rewrite to compare each level</title>
<updated>2017-06-22T17:38:29Z</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2017-06-02T17:43:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=27497e11b56a072dfd80e9f1f229049b2921a1a6'/>
<id>urn:sha1:27497e11b56a072dfd80e9f1f229049b2921a1a6</id>
<content type='text'>
find_node_by_full_name() does the same thing as of_find_node_by_path(),
but takes no locks and doesn't work on aliases. Refactor
of_find_node_opts_by_path() into __of_find_node_by_full_path() and
replace find_node_by_full_name() with it.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: use kbasename instead of open coding</title>
<updated>2017-06-22T17:37:46Z</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2017-06-01T23:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=95e6b1fa3311c8a7b151d38540695409048d1495'/>
<id>urn:sha1:95e6b1fa3311c8a7b151d38540695409048d1495</id>
<content type='text'>
Several places in DT code open code the equivalent of kbasename.
Replace them.

The behavior for root nodes in node_name_cmp will be slightly different.
Instead of comparing "/", "" will be compared. The comparison will be
the same.

Reviewed-by: Andy Shevchenko &lt;andy.shevhchenko@gmail.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: fix sparse warnings in fdt, irq, reserved mem, and resolver code</title>
<updated>2017-05-04T19:01:13Z</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2017-05-04T17:56:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=17a70355ea576843a7ac851f1db26872a50b2850'/>
<id>urn:sha1:17a70355ea576843a7ac851f1db26872a50b2850</id>
<content type='text'>
sparse generates the following warnings in drivers/of/:

../drivers/of/fdt.c:63:36: warning: cast to restricted __be32
../drivers/of/fdt.c:68:33: warning: cast to restricted __be32
../drivers/of/irq.c:105:88: warning: incorrect type in initializer (different base types)
../drivers/of/irq.c:105:88:    expected restricted __be32
../drivers/of/irq.c:105:88:    got int
../drivers/of/irq.c:526:35: warning: incorrect type in assignment (different modifiers)
../drivers/of/irq.c:526:35:    expected int ( *const [usertype] irq_init_cb )( ... )
../drivers/of/irq.c:526:35:    got void const *const data
../drivers/of/of_reserved_mem.c:200:50: warning: incorrect type in initializer (different modifiers)
../drivers/of/of_reserved_mem.c:200:50:    expected int ( *[usertype] initfn )( ... )
../drivers/of/of_reserved_mem.c:200:50:    got void const *const data
../drivers/of/resolver.c:95:42: warning: incorrect type in assignment (different base types)
../drivers/of/resolver.c:95:42:    expected unsigned int [unsigned] [usertype] &lt;noident&gt;
../drivers/of/resolver.c:95:42:    got restricted __be32 [usertype] &lt;noident&gt;

All these are harmless type mismatches fixed by adjusting the types.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: drop duplicate headers</title>
<updated>2017-01-04T20:01:28Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2016-12-24T15:45:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=30965eeab5c873ca7af410506e6f0965074bf702'/>
<id>urn:sha1:30965eeab5c873ca7af410506e6f0965074bf702</id>
<content type='text'>
Drop duplicate headers string.h and of_platform.h.

Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: Fix issue where code would fall through to error case.</title>
<updated>2016-12-09T16:33:03Z</updated>
<author>
<name>Moritz Fischer</name>
<email>mdf@kernel.org</email>
</author>
<published>2016-12-02T06:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=32bed310ad32b1cf66525fae89913d76dde4d797'/>
<id>urn:sha1:32bed310ad32b1cf66525fae89913d76dde4d797</id>
<content type='text'>
No longer fall through into the error case that prints out
an error if no error (err = 0) occurred.

Fixes d9181b20a83(of: Add back an error message, restructured)
Signed-off-by: Moritz Fischer &lt;mdf@kernel.org&gt;
Reviewed-by: Frank Rowand &lt;frank.rowand@am.sony.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: Remove unused variable overlay_symbols</title>
<updated>2016-11-15T15:17:18Z</updated>
<author>
<name>Frank Rowand</name>
<email>frank.rowand@am.sony.com</email>
</author>
<published>2016-10-29T06:26:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5581a95f2dacb3674827f450ac406e1f8ae3b3e5'/>
<id>urn:sha1:5581a95f2dacb3674827f450ac406e1f8ae3b3e5</id>
<content type='text'>
Remove unused pointer to node "__symbols__".

Signed-off-by: Frank Rowand &lt;frank.rowand@am.sony.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
<entry>
<title>of: Move setting of pointer to beside test for non-null</title>
<updated>2016-11-15T15:17:17Z</updated>
<author>
<name>Frank Rowand</name>
<email>frank.rowand@am.sony.com</email>
</author>
<published>2016-10-29T06:26:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4458db4c9b7363a60d9ad07275fb2eea4ecf3b52'/>
<id>urn:sha1:4458db4c9b7363a60d9ad07275fb2eea4ecf3b52</id>
<content type='text'>
Value of pointer was calculated in an earlier block than
where it was used.  Move it down into the block where it
is used, immediately before where is is checked to be valid.

Signed-off-by: Frank Rowand &lt;frank.rowand@am.sony.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
</feed>
