Hi Lars-Peter,

On Sat,  9 Mar 2013 19:16:46 +0100, Lars-Peter Clausen wrote:
> i2c_del_adapter() always returns 0.

I beg you pardon? i2c_del_adapter() starts with:

int i2c_del_adapter(struct i2c_adapter *adap)
{
        int res = 0;
        struct i2c_adapter *found;
        struct i2c_client *client, *next;

        /* First make sure that this adapter was ever added */
        mutex_lock(&core_lock);
        found = idr_find(&i2c_adapter_idr, adap->nr);
        mutex_unlock(&core_lock);
        if (found != adap) {
                pr_debug("i2c-core: attempting to delete unregistered "
                         "adapter [%s]\n", adap->name);
                return -EINVAL;
        }

        /* Tell drivers about this removal */
        mutex_lock(&core_lock);
        res = bus_for_each_drv(&i2c_bus_type, NULL, adap,
                               __process_removed_adapter);
        mutex_unlock(&core_lock);
        if (res)
                return res;
(...)

So, no, it doesn't "always return 0".

Thus nack from me.

-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to