/* dca_remove_requester - remove a dca client from the list @dev - the device that wants dca service  */
int dca_remove_requester(struct device *dev)
/* dca_remove_requester - remove a dca client from the list @dev - the device that wants dca service  */
int dca_remove_requester(struct device *dev)
{
	struct dca_provider *dca;
	int slot;
	unsigned long flags;
	if (!dev)
		return -EFAULT;
	spin_lock_irqsave(&dca_lock, flags);
	dca = dca_find_provider_by_dev(dev);
	if (!dca) {
		spin_unlock_irqrestore(&dca_lock, flags);
		return -ENODEV;
	}
	slot = dca->ops->remove_requester(dca, dev);
	spin_unlock_irqrestore(&dca_lock, flags);
	if (slot < 0)
		return slot;
	dca_sysfs_remove_req(dca, slot);
	return 0;
}