/* Unregister a SDIO function with the driver model, and (eventually) free it. This function can be called through error paths where sdio_add_func() was never executed (because a failure occurred at an earlier point).  */
void sdio_remove_func(struct sdio_func *func)
/* Unregister a SDIO function with the driver model, and (eventually) free it. This function can be called through error paths where sdio_add_func() was never executed (because a failure occurred at an earlier point).  */
void sdio_remove_func(struct sdio_func *func)
{
	if (!sdio_func_present(func))
		return;
	device_del(&func->dev);
	put_device(&func->dev);
}