|
@@ -848,6 +848,18 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
|
|
|
goto out_list;
|
|
|
}
|
|
|
|
|
|
+ /* Sanity checks */
|
|
|
+ if (unlikely(adap->name[0] == '\0')) {
|
|
|
+ pr_err("i2c-core: Attempt to register an adapter with "
|
|
|
+ "no name!\n");
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+ if (unlikely(!adap->algo)) {
|
|
|
+ pr_err("i2c-core: Attempt to register adapter '%s' with "
|
|
|
+ "no algo!\n", adap->name);
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
rt_mutex_init(&adap->bus_lock);
|
|
|
mutex_init(&adap->userspace_clients_lock);
|
|
|
INIT_LIST_HEAD(&adap->userspace_clients);
|