diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-04-27 11:22:16 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-04-28 09:09:46 +0200 |
commit | 10e69303239b91a81149490fd22c848a0813c35e (patch) | |
tree | 5fb9fd72aeb324d127d8bfa21f707a6cc1e8c6f2 /drivers/pci | |
parent | dbe6023074ee5105faf74bee1beef82446239d59 (diff) | |
download | barebox-10e69303239b91a81149490fd22c848a0813c35e.tar.gz barebox-10e69303239b91a81149490fd22c848a0813c35e.tar.xz |
mtd: partition: Fix OF partition fixup
To get the number of address cells and size cells we have to use
the newly created partition node, not the parent device node. The
parent device node returns the address/size cells of the controller
node, not the partition node.
On an am335x machine this fixes the device tree passed to Linux.
The situation there is:
...
gpmc@50000000 {
...
#address-cells = <0x2>;
#size-cells = <0x1>;
ranges = <0x0 0x0 0x8000000 0x10000000>;
...
nand@0,0 {
reg = <0x0 0x0 0x0>;
#address-cells = <0x1>;
#size-cells = <0x1>;
...
partition@7 {
label = "system";
reg = <0x220000 0x7de0000>;
};
};
};
and without this patch barebox passes three bytes for
partition@7's reg property instead of only two which naturally
confuses Linux and yields to the system partition to start at 0
with a size of 0x220000.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'drivers/pci')
0 files changed, 0 insertions, 0 deletions