remove_resource — Remove a resource in the resource tree
|struct resource * old|
Returns 0 on success, -EINVAL if the resource is not valid.
This function removes a resource previously inserted by
insert_resource_conflict, and moves the children (if any) up to
where they were before.
insert a new resource, and move any conflicting resources down to the
children of the new resource.