Lines Matching refs:mc_uapi
482 struct fsl_mc_uapi *mc_uapi; in fsl_mc_uapi_dev_open() local
490 mc_uapi = container_of(filep->private_data, struct fsl_mc_uapi, misc); in fsl_mc_uapi_dev_open()
491 mc_bus = container_of(mc_uapi, struct fsl_mc_bus, uapi_misc); in fsl_mc_uapi_dev_open()
494 mutex_lock(&mc_uapi->mutex); in fsl_mc_uapi_dev_open()
496 if (!mc_uapi->local_instance_in_use) { in fsl_mc_uapi_dev_open()
497 priv_data->mc_io = mc_uapi->static_mc_io; in fsl_mc_uapi_dev_open()
498 mc_uapi->local_instance_in_use = 1; in fsl_mc_uapi_dev_open()
510 priv_data->uapi = mc_uapi; in fsl_mc_uapi_dev_open()
513 mutex_unlock(&mc_uapi->mutex); in fsl_mc_uapi_dev_open()
518 mutex_unlock(&mc_uapi->mutex); in fsl_mc_uapi_dev_open()
527 struct fsl_mc_uapi *mc_uapi; in fsl_mc_uapi_dev_release() local
531 mc_uapi = priv_data->uapi; in fsl_mc_uapi_dev_release()
534 mutex_lock(&mc_uapi->mutex); in fsl_mc_uapi_dev_release()
536 if (mc_io == mc_uapi->static_mc_io) in fsl_mc_uapi_dev_release()
537 mc_uapi->local_instance_in_use = 0; in fsl_mc_uapi_dev_release()
544 mutex_unlock(&mc_uapi->mutex); in fsl_mc_uapi_dev_release()
583 struct fsl_mc_uapi *mc_uapi = &mc_bus->uapi_misc; in fsl_mc_uapi_create_device_file() local
586 mc_uapi->misc.minor = MISC_DYNAMIC_MINOR; in fsl_mc_uapi_create_device_file()
587 mc_uapi->misc.name = dev_name(&mc_dev->dev); in fsl_mc_uapi_create_device_file()
588 mc_uapi->misc.fops = &fsl_mc_uapi_dev_fops; in fsl_mc_uapi_create_device_file()
590 error = misc_register(&mc_uapi->misc); in fsl_mc_uapi_create_device_file()
594 mc_uapi->static_mc_io = mc_bus->mc_dev.mc_io; in fsl_mc_uapi_create_device_file()
596 mutex_init(&mc_uapi->mutex); in fsl_mc_uapi_create_device_file()