On Tue, Mar 12, 2024 at 04:46:06AM +0530, Umang Jain wrote: > 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 52569517ba4e..b8b51267bcde 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > @@ -72,10 +72,20 @@ static struct vchiq_device *bcm2835_camera; > > static struct vchiq_drvdata bcm2835_drvdata = { > .cache_line_size = 32, > + .drv_connected = { > + .connected = 0, > + .num_deferred_callbacks = 0, > + .once_init = 0, > + }, > }; > > static struct vchiq_drvdata bcm2836_drvdata = { > .cache_line_size = 64, > + .drv_connected = { > + .connected = 0, > + .num_deferred_callbacks = 0, > + .once_init = 0, > + }, > }; > Modifying vchiq_arm.c is unnecessary, because these are initialized to zero by default. Once you remove that then this is quite small and easier to review when it's merged together with patch 3. > struct vchiq_arm_state { > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.h > index e4ed56446f8a..cb5cba94dd54 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.h > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.h > @@ -6,6 +6,16 @@ > #ifndef VCHIQ_CONNECTED_H > #define VCHIQ_CONNECTED_H > > +#define VCHIQ_DRV_MAX_CALLBACKS 10 > + > +struct vchiq_connected { > + int connected; connected should be type bool. > + int num_deferred_callbacks; > + int once_init; > + > + void (*deferred_callback[VCHIQ_DRV_MAX_CALLBACKS])(void); > +}; regards, dan carpenter