w1-eeprom: ds24xxx: fix data abort in ds24xxx_probe()

Data abort was occurring when using "w1 bus" with a DS24B33 present.

The abort occurred in the ds24xxx_probe() because the struct w1_device
pointer was NULL. This is because that structure  is allocated by
the parent device uclass (by .per_child_platdata_auto_alloc_size)
and thus the correct accessor is dev_get_parent_platdata() not
dev_get_platdata()

Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
Reviewed-by: Eugen Hristev <eugen.hristev@microchip.com>
This commit is contained in:
Martin Fuzzey 2018-10-22 18:31:07 +02:00 committed by Tom Rini
parent fdaccfeb5e
commit 586d4b010e

View File

@ -31,7 +31,7 @@ static int ds24xxx_probe(struct udevice *dev)
{
struct w1_device *w1;
w1 = dev_get_platdata(dev);
w1 = dev_get_parent_platdata(dev);
w1->id = 0;
return 0;
}