mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
staging: vchiq_arm: pass vchiq instance to 'vchiq_get_service_userdata'
In order to remove the 'vchiq_states' global array, we need to pass the vchiq_instance reference to the 'handle_to_service' function, as well as to all functions that call 'handle_to_service'. This will allow accessing the vchiq state through the vchiq instance instead of through the global array. 'handle_to_service' is called by 'vchiq_get_service_userdata'. Therefore, pass the vchiq instance reference to it. Tested-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Adrien Thierry <athierry@redhat.com> Link: https://lore.kernel.org/r/20220518191126.60396-7-athierry@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bad44825fb
commit
f23f8a05a1
4 changed files with 5 additions and 4 deletions
|
@ -96,7 +96,8 @@ static enum vchiq_status audio_vchi_callback(struct vchiq_instance *vchiq_instan
|
|||
struct vchiq_header *header,
|
||||
unsigned int handle, void *userdata)
|
||||
{
|
||||
struct bcm2835_audio_instance *instance = vchiq_get_service_userdata(handle);
|
||||
struct bcm2835_audio_instance *instance = vchiq_get_service_userdata(vchiq_instance,
|
||||
handle);
|
||||
struct vc_audio_msg *m;
|
||||
|
||||
if (reason != VCHIQ_MESSAGE_AVAILABLE)
|
||||
|
|
|
@ -109,7 +109,7 @@ extern enum vchiq_status vchiq_bulk_transmit(struct vchiq_instance *instance, un
|
|||
extern enum vchiq_status vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int service,
|
||||
void *data, unsigned int size, void *userdata,
|
||||
enum vchiq_bulk_mode mode);
|
||||
extern void *vchiq_get_service_userdata(unsigned int service);
|
||||
extern void *vchiq_get_service_userdata(struct vchiq_instance *instance, unsigned int service);
|
||||
extern enum vchiq_status vchiq_get_peer_version(struct vchiq_instance *instance,
|
||||
unsigned int handle,
|
||||
short *peer_version);
|
||||
|
|
|
@ -411,7 +411,7 @@ vchiq_get_client_id(struct vchiq_instance *instance, unsigned int handle)
|
|||
}
|
||||
|
||||
void *
|
||||
vchiq_get_service_userdata(unsigned int handle)
|
||||
vchiq_get_service_userdata(struct vchiq_instance *instance, unsigned int handle)
|
||||
{
|
||||
void *userdata;
|
||||
struct vchiq_service *service;
|
||||
|
|
|
@ -553,7 +553,7 @@ static enum vchiq_status service_callback(struct vchiq_instance *vchiq_instance,
|
|||
struct vchiq_header *header,
|
||||
unsigned int handle, void *bulk_ctx)
|
||||
{
|
||||
struct vchiq_mmal_instance *instance = vchiq_get_service_userdata(handle);
|
||||
struct vchiq_mmal_instance *instance = vchiq_get_service_userdata(vchiq_instance, handle);
|
||||
u32 msg_len;
|
||||
struct mmal_msg *msg;
|
||||
struct mmal_msg_context *msg_context;
|
||||
|
|
Loading…
Reference in a new issue