summaryrefslogtreecommitdiff
path: root/drivers/w1-eeprom
diff options
context:
space:
mode:
authorMartin Fuzzey <martin.fuzzey@flowbird.group>2018-10-22 18:31:07 +0200
committerTom Rini <trini@konsulko.com>2018-11-01 10:02:10 -0400
commit586d4b010e8ff8894c29c65b68f2afb518a783c8 (patch)
treec0d1b13d9689e2f63555111d9cad9d4d22e8a779 /drivers/w1-eeprom
parentfdaccfeb5e03e18c05be386b8a7c6be02be2cf15 (diff)
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>
Diffstat (limited to 'drivers/w1-eeprom')
-rw-r--r--drivers/w1-eeprom/ds24xxx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/w1-eeprom/ds24xxx.c b/drivers/w1-eeprom/ds24xxx.c
index 56186e587c..0967accdf0 100644
--- a/drivers/w1-eeprom/ds24xxx.c
+++ b/drivers/w1-eeprom/ds24xxx.c
@@ -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;
}