acpi_debugger
mutex_lock(&acpi_debugger.lock);
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
if (!acpi_debugger.ops) {
if (!try_module_get(acpi_debugger.owner)) {
func = acpi_debugger.ops->wait_command_ready;
owner = acpi_debugger.owner;
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
if (!acpi_debugger.ops) {
if (!try_module_get(acpi_debugger.owner)) {
func = acpi_debugger.ops->notify_command_complete;
owner = acpi_debugger.owner;
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
mutex_unlock(&acpi_debugger.lock);
mutex_init(&acpi_debugger.lock);
static struct acpi_debugger acpi_debugger;
mutex_lock(&acpi_debugger.lock);
if (acpi_debugger.ops) {
acpi_debugger.owner = owner;
acpi_debugger.ops = ops;
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
if (ops == acpi_debugger.ops) {
acpi_debugger.ops = NULL;
acpi_debugger.owner = NULL;
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
if (!acpi_debugger.ops) {
if (!try_module_get(acpi_debugger.owner)) {
func = acpi_debugger.ops->create_thread;
owner = acpi_debugger.owner;
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
if (!acpi_debugger.ops) {
if (!try_module_get(acpi_debugger.owner)) {
func = acpi_debugger.ops->write_log;
owner = acpi_debugger.owner;
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
mutex_unlock(&acpi_debugger.lock);
mutex_lock(&acpi_debugger.lock);
if (!acpi_debugger.ops) {
if (!try_module_get(acpi_debugger.owner)) {
func = acpi_debugger.ops->read_cmd;
owner = acpi_debugger.owner;
mutex_unlock(&acpi_debugger.lock);