linux/sound/pci/asihpi/hpimsgx.c

// SPDX-License-Identifier: GPL-2.0-only
/******************************************************************************

    AudioScience HPI driver
    Copyright (C) 1997-2014  AudioScience Inc. <[email protected]>


Extended Message Function With Response Caching

(C) Copyright AudioScience Inc. 2002
*****************************************************************************/
#define SOURCEFILE_NAME
#include "hpi_internal.h"
#include "hpi_version.h"
#include "hpimsginit.h"
#include "hpicmn.h"
#include "hpimsgx.h"
#include "hpidebug.h"

static const struct pci_device_id asihpi_pci_tbl[] =;

static struct hpios_spinlock msgx_lock;

static hpi_handler_func *hpi_entry_points[HPI_MAX_ADAPTERS];
static int logging_enabled =;

static hpi_handler_func *hpi_lookup_entry_point_function(const struct hpi_pci
	*pci_info)
{}

static inline void hw_entry_point(struct hpi_message *phm,
	struct hpi_response *phr)
{}

static void adapter_open(struct hpi_message *phm, struct hpi_response *phr);
static void adapter_close(struct hpi_message *phm, struct hpi_response *phr);

static void mixer_open(struct hpi_message *phm, struct hpi_response *phr);
static void mixer_close(struct hpi_message *phm, struct hpi_response *phr);

static void outstream_open(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner);
static void outstream_close(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner);
static void instream_open(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner);
static void instream_close(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner);

static void HPIMSGX__reset(u16 adapter_index);

static u16 HPIMSGX__init(struct hpi_message *phm, struct hpi_response *phr);
static void HPIMSGX__cleanup(u16 adapter_index, void *h_owner);

#ifndef DISABLE_PRAGMA_PACK1
#pragma pack(push, 1)
#endif

struct hpi_adapter_response {};

struct hpi_mixer_response {};

struct hpi_stream_response {};

struct adapter_info {};

struct asi_open_state {};

#ifndef DISABLE_PRAGMA_PACK1
#pragma pack(pop)
#endif

/* Globals */
static struct hpi_adapter_response rESP_HPI_ADAPTER_OPEN[HPI_MAX_ADAPTERS];

static struct hpi_stream_response
	rESP_HPI_OSTREAM_OPEN[HPI_MAX_ADAPTERS][HPI_MAX_STREAMS];

static struct hpi_stream_response
	rESP_HPI_ISTREAM_OPEN[HPI_MAX_ADAPTERS][HPI_MAX_STREAMS];

static struct hpi_mixer_response rESP_HPI_MIXER_OPEN[HPI_MAX_ADAPTERS];

static struct adapter_info aDAPTER_INFO[HPI_MAX_ADAPTERS];

/* use these to keep track of opens from user mode apps/DLLs */
static struct asi_open_state
	outstream_user_open[HPI_MAX_ADAPTERS][HPI_MAX_STREAMS];

static struct asi_open_state
	instream_user_open[HPI_MAX_ADAPTERS][HPI_MAX_STREAMS];

static void subsys_message(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static void adapter_message(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static void mixer_message(struct hpi_message *phm, struct hpi_response *phr)
{}

static void outstream_message(struct hpi_message *phm,
	struct hpi_response *phr, void *h_owner)
{}

static void instream_message(struct hpi_message *phm,
	struct hpi_response *phr, void *h_owner)
{}

/* NOTE: HPI_Message() must be defined in the driver as a wrapper for
 * HPI_MessageEx so that functions in hpifunc.c compile.
 */
void hpi_send_recv_ex(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static void adapter_open(struct hpi_message *phm, struct hpi_response *phr)
{}

static void adapter_close(struct hpi_message *phm, struct hpi_response *phr)
{}

static void mixer_open(struct hpi_message *phm, struct hpi_response *phr)
{}

static void mixer_close(struct hpi_message *phm, struct hpi_response *phr)
{}

static void instream_open(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static void instream_close(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static void outstream_open(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static void outstream_close(struct hpi_message *phm, struct hpi_response *phr,
	void *h_owner)
{}

static u16 adapter_prepare(u16 adapter)
{}

static void HPIMSGX__reset(u16 adapter_index)
{}

static u16 HPIMSGX__init(struct hpi_message *phm,
	/* HPI_SUBSYS_CREATE_ADAPTER structure with */
	/* resource list or NULL=find all */
	struct hpi_response *phr
	/* response from HPI_ADAPTER_GET_INFO */
	)
{}

static void HPIMSGX__cleanup(u16 adapter_index, void *h_owner)
{}