Lines Matching defs:client

57 	struct ib_client *client;
206 static int add_client_context(struct ib_device *device, struct ib_client *client)
213 printk(KERN_WARNING "Couldn't allocate client context for %s/%s\n",
214 device->name, client->name);
218 context->client = client;
321 struct ib_client *client;
323 list_for_each_entry(client, &client_list, list)
324 if (client->add && !add_client_context(device, client))
325 client->add(device);
342 struct ib_client *client;
348 list_for_each_entry_reverse(client, &client_list, list)
349 if (client->remove)
350 client->remove(device);
371 * ib_register_client - Register an IB client
372 * @client:Client to register
376 * device is added, each registered client's add method will be called
378 * removed, each client's remove method will be called (in the reverse
380 * ib_register_client() is called, the client will receive an add
383 int ib_register_client(struct ib_client *client)
389 list_add_tail(&client->list, &client_list);
391 if (client->add && !add_client_context(device, client))
392 client->add(device);
401 * ib_unregister_client - Unregister an IB client
402 * @client:Client to unregister
404 * Upper level users use ib_unregister_client() to remove their client
405 * registration. When ib_unregister_client() is called, the client
408 void ib_unregister_client(struct ib_client *client)
417 if (client->remove)
418 client->remove(device);
422 if (context->client == client) {
428 list_del(&client->list);
435 * ib_get_client_data - Get IB client context
437 * @client:Client to get context for
439 * ib_get_client_data() returns client context set with
442 void *ib_get_client_data(struct ib_device *device, struct ib_client *client)
450 if (context->client == client) {
461 * ib_set_client_data - Set IB client context
463 * @client:Client to set context for
466 * ib_set_client_data() sets client context that can be retrieved with
469 void ib_set_client_data(struct ib_device *device, struct ib_client *client,
477 if (context->client == client) {
482 printk(KERN_WARNING "No client context found for %s/%s\n",
483 device->name, client->name);