san_rqsg_if
up_read(&san_rqsg_if.lock);
up_read(&san_rqsg_if.lock);
up_read(&san_rqsg_if.lock);
return blocking_notifier_chain_register(&san_rqsg_if.nh, nb);
return blocking_notifier_chain_unregister(&san_rqsg_if.nh, nb);
ret = blocking_notifier_call_chain(&san_rqsg_if.nh, evt->command, evt);
static struct san_rqsg_if san_rqsg_if = {
.lock = __RWSEM_INITIALIZER(san_rqsg_if.lock),
.nh = BLOCKING_NOTIFIER_INIT(san_rqsg_if.nh),
down_write(&san_rqsg_if.lock);
if (!san_rqsg_if.dev && dev)
san_rqsg_if.dev = dev;
up_write(&san_rqsg_if.lock);
down_read(&san_rqsg_if.lock);
if (!san_rqsg_if.dev) {
up_read(&san_rqsg_if.lock);
link = device_link_add(client, san_rqsg_if.dev, flags);