linux/drivers/misc/ibmasm/command.c

// SPDX-License-Identifier: GPL-2.0-or-later

/*
 * IBM ASM Service Processor Device Driver
 *
 * Copyright (C) IBM Corporation, 2004
 *
 * Author: Max Asböck <[email protected]>
 */

#include <linux/sched.h>
#include <linux/slab.h>
#include "ibmasm.h"
#include "lowlevel.h"

static void exec_next_command(struct service_processor *sp);

static atomic_t command_count =;

struct command *ibmasm_new_command(struct service_processor *sp, size_t buffer_size)
{}

void ibmasm_free_command(struct kref *kref)
{}

static void enqueue_command(struct service_processor *sp, struct command *cmd)
{}

static struct command *dequeue_command(struct service_processor *sp)
{}

static inline void do_exec_command(struct service_processor *sp)
{}

/*
 * exec_command
 * send a command to a service processor
 * Commands are executed sequentially. One command (sp->current_command)
 * is sent to the service processor. Once the interrupt handler gets a
 * message of type command_response, the message is copied into
 * the current commands buffer,
 */
void ibmasm_exec_command(struct service_processor *sp, struct command *cmd)
{}

static void exec_next_command(struct service_processor *sp)
{}

/*
 * Sleep until a command has failed or a response has been received
 * and the command status been updated by the interrupt handler.
 * (see receive_response).
 */
void ibmasm_wait_for_response(struct command *cmd, int timeout)
{}

/*
 * receive_command_response
 * called by the interrupt handler when a dot command of type command_response
 * was received.
 */
void ibmasm_receive_command_response(struct service_processor *sp, void *response, size_t size)
{}