return 0;
system_bridge_delif(&bst->dev, bm->dev.dev);
- device_release(bm->dev.dev);
+ device_release(&bm->dev);
return 0;
}
if (!bm->present)
return 0;
- ret = device_claim(bm->dev.dev);
+ ret = device_claim(&bm->dev);
if (ret < 0)
goto error;
bm->dev.cb = bridge_member_cb;
device_add_user(&bm->dev, dev);
- list_add(&bm->list, &bst->members);
+ list_add_tail(&bm->list, &bst->members);
if (bst->dev.active)
bridge_enable_member(bm);
struct bridge_state *bst;
struct bridge_member *bm;
+ device_cleanup(dev);
bst = container_of(dev, struct bridge_state, dev);
while (!list_empty(&bst->members)) {
bm = list_first_entry(&bst->members, struct bridge_member, list);