This patch series aims at removing some unnecessary global structures (namely, 'g_dev' and 'vchiq_states'), in order to make the driver more robust. This is part of an effort to address TODO item "Get rid of all non essential global structures and create a proper per device structure". Changes since v1: - added more info in commit messages - split commit removing the 'vchiq_states' array into several changes to make the review easier. Adrien Thierry (9): staging: vchiq_arm: add reference to vchiq device in vchiq_state staging: vchiq_arm: get rid of global device structure staging: vchiq_arm: pass vchiq instance to service callbacks staging: vchiq_arm: pass vchiq instance to 'find_service_by_handle' staging: vchiq_arm: pass vchiq instance to 'vchiq_get_client_id' staging: vchiq_arm: pass vchiq instance to 'vchiq_get_service_userdata' staging: vchiq_arm: pass vchiq instance to 'handle_to_service' staging: vchiq_arm: use state from vchiq instance staging: vchiq_arm: remove global 'vchiq_states' array .../bcm2835-audio/bcm2835-vchiq.c | 40 +++++--- .../include/linux/raspberrypi/vchiq.h | 48 +++++---- .../interface/vchiq_arm/vchiq_arm.c | 92 ++++++++---------- .../interface/vchiq_arm/vchiq_arm.h | 8 +- .../interface/vchiq_arm/vchiq_core.c | 97 ++++++++++--------- .../interface/vchiq_arm/vchiq_core.h | 38 +++----- .../interface/vchiq_arm/vchiq_dev.c | 40 ++++---- .../vc04_services/vchiq-mmal/mmal-vchiq.c | 63 ++++++------ 8 files changed, 217 insertions(+), 209 deletions(-) base-commit: e41f7a5521d7f03dca99e3207633df71740569dd -- 2.35.3