in dca-core.c [225:249]
int dca_remove_requester(struct device *dev)
{
struct dca_provider *dca;
int slot;
unsigned long flags;
if (!dev)
return -EFAULT;
raw_spin_lock_irqsave(&dca_lock, flags);
dca = dca_find_provider_by_dev(dev);
if (!dca) {
raw_spin_unlock_irqrestore(&dca_lock, flags);
return -ENODEV;
}
slot = dca->ops->remove_requester(dca, dev);
raw_spin_unlock_irqrestore(&dca_lock, flags);
if (slot < 0)
return slot;
dca_sysfs_remove_req(dca, slot);
return 0;
}