linux/drivers/net/ethernet/amd/pds_core/auxbus.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2023 Advanced Micro Devices, Inc */

#include <linux/pci.h>

#include "core.h"
#include <linux/pds/pds_auxbus.h>

/**
 * pds_client_register - Link the client to the firmware
 * @pf:		ptr to the PF driver's private data struct
 * @devname:	name that includes service into, e.g. pds_core.vDPA
 *
 * Return: positive client ID (ci) on success, or
 *         negative for error
 */
int pds_client_register(struct pdsc *pf, char *devname)
{}
EXPORT_SYMBOL_GPL();

/**
 * pds_client_unregister - Unlink the client from the firmware
 * @pf:		ptr to the PF driver's private data struct
 * @client_id:	id returned from pds_client_register()
 *
 * Return: 0 on success, or
 *         negative for error
 */
int pds_client_unregister(struct pdsc *pf, u16 client_id)
{}
EXPORT_SYMBOL_GPL();

/**
 * pds_client_adminq_cmd - Process an adminq request for the client
 * @padev:   ptr to the client device
 * @req:     ptr to buffer with request
 * @req_len: length of actual struct used for request
 * @resp:    ptr to buffer where answer is to be copied
 * @flags:   optional flags from pds_core_adminq_flags
 *
 * Return: 0 on success, or
 *         negative for error
 *
 * Client sends pointers to request and response buffers
 * Core copies request data into pds_core_client_request_cmd
 * Core sets other fields as needed
 * Core posts to AdminQ
 * Core copies completion data into response buffer
 */
int pds_client_adminq_cmd(struct pds_auxiliary_dev *padev,
			  union pds_core_adminq_cmd *req,
			  size_t req_len,
			  union pds_core_adminq_comp *resp,
			  u64 flags)
{}
EXPORT_SYMBOL_GPL();

static void pdsc_auxbus_dev_release(struct device *dev)
{}

static struct pds_auxiliary_dev *pdsc_auxbus_dev_register(struct pdsc *cf,
							  struct pdsc *pf,
							  u16 client_id,
							  char *name)
{}

int pdsc_auxbus_dev_del(struct pdsc *cf, struct pdsc *pf)
{}

int pdsc_auxbus_dev_add(struct pdsc *cf, struct pdsc *pf)
{}