diff options
Diffstat (limited to 'drivers/staging/vc04_services/interface')
-rw-r--r-- | drivers/staging/vc04_services/interface/TODO (renamed from drivers/staging/vc04_services/interface/vchi/TODO) | 0 | ||||
-rw-r--r-- | drivers/staging/vc04_services/interface/vchi/vchi.h | 59 | ||||
-rw-r--r-- | drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 | ||||
-rw-r--r-- | drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c | 3 | ||||
-rw-r--r-- | drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c | 179 |
5 files changed, 5 insertions, 238 deletions
diff --git a/drivers/staging/vc04_services/interface/vchi/TODO b/drivers/staging/vc04_services/interface/TODO index fc2752bc95b2..fc2752bc95b2 100644 --- a/drivers/staging/vc04_services/interface/vchi/TODO +++ b/drivers/staging/vc04_services/interface/TODO diff --git a/drivers/staging/vc04_services/interface/vchi/vchi.h b/drivers/staging/vc04_services/interface/vchi/vchi.h deleted file mode 100644 index 6de5df43cc29..000000000000 --- a/drivers/staging/vc04_services/interface/vchi/vchi.h +++ /dev/null @@ -1,59 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ -/* Copyright (c) 2010-2012 Broadcom. All rights reserved. */ - -#ifndef VCHI_H_ -#define VCHI_H_ - -/****************************************************************************** - * Global funcs - implementation is specific to which side you are on - * (local / remote) - *****************************************************************************/ - -// Routine used to initialise the vchi on both local + remote connections -extern int32_t vchi_initialise(struct vchiq_instance **instance); - -extern int32_t vchi_connect(struct vchiq_instance *instance); - -//When this is called, ensure that all services have no data pending. -//Bulk transfers can remain 'queued' -extern int32_t vchi_disconnect(struct vchiq_instance *instance); - -/****************************************************************************** - * Global service API - *****************************************************************************/ -// Routine to open a named service -extern int vchi_service_open(struct vchiq_instance *instance, - struct vchiq_service_params *params, - unsigned *handle); - -extern int32_t vchi_get_peer_version(unsigned handle, short *peer_version); - -// Routine to close a named service -extern int32_t vchi_service_close(unsigned handle); - -// Routine to increment ref count on a named service -extern int32_t vchi_service_use(unsigned handle); - -// Routine to decrement ref count on a named service -extern int32_t vchi_service_release(unsigned handle); - -// Routine to look at a message in place. -// The message is dequeued, so the caller is left holding it; the descriptor is -// filled in and must be released when the user has finished with the message. -struct vchiq_header *vchi_msg_hold(unsigned handle); - -/******************************************************************************* - * Global service support API - operations on held messages - * and message iterators - ******************************************************************************/ - -// Routine to release a held message after it has been processed -extern int32_t vchi_held_msg_release(unsigned handle, struct vchiq_header *message); - -/****************************************************************************** - * Configuration plumbing - *****************************************************************************/ - -#endif /* VCHI_H_ */ - -/****************************** End of file **********************************/ diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 98d6fa84deab..d4d811884861 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -2572,6 +2572,7 @@ vchiq_use_service(unsigned int handle) } return ret; } +EXPORT_SYMBOL(vchiq_use_service); enum vchiq_status vchiq_release_service(unsigned int handle) @@ -2585,6 +2586,7 @@ vchiq_release_service(unsigned int handle) } return ret; } +EXPORT_SYMBOL(vchiq_release_service); struct service_data_struct { int fourcc; diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 39d15f9f4a18..1bc4ce577614 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -2946,6 +2946,7 @@ vchiq_close_service(unsigned int handle) return status; } +EXPORT_SYMBOL(vchiq_close_service); enum vchiq_status vchiq_remove_service(unsigned int handle) @@ -3268,6 +3269,7 @@ vchiq_release_message(unsigned int handle, unlock_service(service); } +EXPORT_SYMBOL(vchiq_release_message); static void release_message_sync(struct vchiq_state *state, struct vchiq_header *header) @@ -3294,6 +3296,7 @@ exit: unlock_service(service); return status; } +EXPORT_SYMBOL(vchiq_get_peer_version); void vchiq_get_config(struct vchiq_config *config) { diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c deleted file mode 100644 index 57ac6a289a08..000000000000 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c +++ /dev/null @@ -1,179 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause -/* Copyright (c) 2010-2012 Broadcom. All rights reserved. */ -#include <linux/module.h> -#include <linux/types.h> -#include <linux/slab.h> -#include <linux/delay.h> - -#include "vchiq_if.h" -#include "../vchi/vchi.h" -#include "vchiq.h" - -/*********************************************************** - * Name: vchi_held_msg_release - * - * Arguments: unsgined handle - * struct vchiq_header *message - * - * Description: Routine to release a held message (after it has been read with - * vchi_msg_hold) - * - * Returns: int - success == 0 - * - ***********************************************************/ -int vchi_held_msg_release(unsigned handle, struct vchiq_header *message) -{ - /* - * Convert the service field pointer back to an - * unsigned int which is an int. - * This pointer is opaque to everything except - * vchi_msg_hold which simply upcasted the int - * to a pointer. - */ - - vchiq_release_message(handle, message); - - return 0; -} -EXPORT_SYMBOL(vchi_held_msg_release); - -/*********************************************************** - * Name: vchi_msg_hold - * - * Arguments: struct vchi_service *service, - * void **data, - * unsigned *msg_size, - * struct vchiq_header **message - * - * Description: Routine to return a pointer to the current message (to allow - * in place processing). The message is dequeued - don't forget - * to release the message using vchi_held_msg_release when you're - * finished. - * - * Returns: int - success == 0 - * - ***********************************************************/ -struct vchiq_header *vchi_msg_hold(unsigned handle) -{ - return vchiq_msg_hold(handle); -} -EXPORT_SYMBOL(vchi_msg_hold); - -/*********************************************************** - * Name: vchi_initialise - * - * Arguments: struct vchiq_instance **instance - * - * Description: Initialises the hardware but does not transmit anything - * When run as a Host App this will be called twice hence the need - * to malloc the state information - * - * Returns: 0 if successful, failure otherwise - * - ***********************************************************/ - -int vchi_initialise(struct vchiq_instance **instance) -{ - return vchiq_initialise(instance); -} -EXPORT_SYMBOL(vchi_initialise); - -/*********************************************************** - * Name: vchi_connect - * - * Arguments: struct vchiq_instance *instance - * - * Description: Starts the command service on each connection, - * causing INIT messages to be pinged back and forth - * - * Returns: 0 if successful, failure otherwise - * - ***********************************************************/ -int vchi_connect(struct vchiq_instance *instance) -{ - return vchiq_connect(instance); -} -EXPORT_SYMBOL(vchi_connect); - -/*********************************************************** - * Name: vchi_disconnect - * - * Arguments: struct vchiq_instance *instance - * - * Description: Stops the command service on each connection, - * causing DE-INIT messages to be pinged back and forth - * - * Returns: 0 if successful, failure otherwise - * - ***********************************************************/ -int vchi_disconnect(struct vchiq_instance *instance) -{ - return vchiq_shutdown(instance); -} -EXPORT_SYMBOL(vchi_disconnect); - -/*********************************************************** - * Name: vchi_service_open - * Name: vchi_service_create - * - * Arguments: struct vchiq_instance *instance - * struct service_creation *setup, - * unsigned *handle - * - * Description: Routine to open a service - * - * Returns: int - success == 0 - * - ***********************************************************/ - -int vchi_service_open(struct vchiq_instance *instance, - struct vchiq_service_params *params, - unsigned *handle) -{ - return vchiq_open_service(instance, params, handle); -} -EXPORT_SYMBOL(vchi_service_open); - -int vchi_service_close(unsigned handle) -{ - return vchiq_close_service(handle); -} -EXPORT_SYMBOL(vchi_service_close); - -int vchi_get_peer_version(unsigned handle, short *peer_version) -{ - return vchiq_get_peer_version(handle, peer_version); -} -EXPORT_SYMBOL(vchi_get_peer_version); - -/*********************************************************** - * Name: vchi_service_use - * - * Arguments: unsigned handle - * - * Description: Routine to increment refcount on a service - * - * Returns: void - * - ***********************************************************/ -int vchi_service_use(unsigned handle) -{ - return vchiq_use_service(handle); -} -EXPORT_SYMBOL(vchi_service_use); - -/*********************************************************** - * Name: vchi_service_release - * - * Arguments: unsigned handle - * - * Description: Routine to decrement refcount on a service - * - * Returns: void - * - ***********************************************************/ -int vchi_service_release(unsigned handle) -{ - return vchiq_release_service(handle); -} -EXPORT_SYMBOL(vchi_service_release); |