X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=test%2Fdm%2Ftest-uclass.c;h=4a543bb6218d126f8db163c25aeb5b9b402b62ca;hb=d2e1ee686ab16c022d1a3049a35b4ce89a25d34e;hp=017e097928c7c29c2aadfd0c80f187833d258574;hpb=e99f30e105a253ee64bef1ef83b86a47e0d3b6f1;p=u-boot diff --git a/test/dm/test-uclass.c b/test/dm/test-uclass.c index 017e097928..4a543bb621 100644 --- a/test/dm/test-uclass.c +++ b/test/dm/test-uclass.c @@ -11,12 +11,12 @@ #include #include #include -#include -#include #include +#include #include +#include -static struct dm_test_state *dms = &global_test_state; +static struct unit_test_state *uts = &global_dm_test_state; int test_ping(struct udevice *dev, int pingval, int *pingret) { @@ -30,7 +30,17 @@ int test_ping(struct udevice *dev, int pingval, int *pingret) static int test_post_bind(struct udevice *dev) { + struct dm_test_perdev_uc_pdata *uc_pdata; + dm_testdrv_op_count[DM_TEST_OP_POST_BIND]++; + ut_assert(!device_active(dev)); + + uc_pdata = dev_get_uclass_platdata(dev); + ut_assert(uc_pdata); + + uc_pdata->intval1 = TEST_UC_PDATA_INTVAL1; + uc_pdata->intval2 = TEST_UC_PDATA_INTVAL2; + uc_pdata->intval3 = TEST_UC_PDATA_INTVAL3; return 0; } @@ -42,13 +52,25 @@ static int test_pre_unbind(struct udevice *dev) return 0; } +static int test_pre_probe(struct udevice *dev) +{ + struct dm_test_uclass_perdev_priv *priv = dev_get_uclass_priv(dev); + + dm_testdrv_op_count[DM_TEST_OP_PRE_PROBE]++; + ut_assert(priv); + ut_assert(device_active(dev)); + + return 0; +} + static int test_post_probe(struct udevice *dev) { struct udevice *prev = list_entry(dev->uclass_node.prev, struct udevice, uclass_node); - struct dm_test_uclass_perdev_priv *priv = dev->uclass_priv; + struct dm_test_uclass_perdev_priv *priv = dev_get_uclass_priv(dev); struct uclass *uc = dev->uclass; + struct dm_test_state *dms = uts->priv; dm_testdrv_op_count[DM_TEST_OP_POST_PROBE]++; ut_assert(priv); @@ -58,7 +80,7 @@ static int test_post_probe(struct udevice *dev) return 0; if (&prev->uclass_node != &uc->dev_head) { struct dm_test_uclass_perdev_priv *prev_uc_priv - = prev->uclass_priv; + = dev_get_uclass_priv(prev); struct dm_test_pdata *pdata = prev->platdata; ut_assert(pdata); @@ -96,10 +118,13 @@ UCLASS_DRIVER(test) = { .id = UCLASS_TEST, .post_bind = test_post_bind, .pre_unbind = test_pre_unbind, + .pre_probe = test_pre_probe, .post_probe = test_post_probe, .pre_remove = test_pre_remove, .init = test_init, .destroy = test_destroy, .priv_auto_alloc_size = sizeof(struct dm_test_uclass_priv), .per_device_auto_alloc_size = sizeof(struct dm_test_uclass_perdev_priv), + .per_device_platdata_auto_alloc_size = + sizeof(struct dm_test_perdev_uc_pdata), };