Message ID | 20220502183045.206519-2-athierry@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | staging: vchiq_arm: remove some unnecessary global | expand |
Hi Adrien, Am 02.05.22 um 20:30 schrieb Adrien Thierry: > Add a reference to the vchiq device in the vchiq_state structure. This > allows the device structure to be passed around, which will be useful in > order to get rid of the global g_dev structure. the patch looks good to me. It would be nice to mention that with adding the device reference it would possible to introduce common kernel logging. Best regards > > Signed-off-by: Adrien Thierry <athierry@redhat.com> > --- > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 +- > .../staging/vc04_services/interface/vchiq_arm/vchiq_core.c | 4 +++- > .../staging/vc04_services/interface/vchiq_arm/vchiq_core.h | 3 ++- > 3 files changed, 6 insertions(+), 3 deletions(-) > > 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 0596ac61e286..e6e0737c85fc 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > @@ -519,7 +519,7 @@ int vchiq_platform_init(struct platform_device *pdev, struct vchiq_state *state) > *(char **)&g_fragments_base[i * g_fragments_size] = NULL; > sema_init(&g_free_fragments_sema, MAX_FRAGMENTS); > > - err = vchiq_init_state(state, vchiq_slot_zero); > + err = vchiq_init_state(state, vchiq_slot_zero, dev); > if (err) > return err; > > 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 8f99272dbd6f..0d5c39d7c6e2 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c > @@ -2142,7 +2142,7 @@ vchiq_init_slots(void *mem_base, int mem_size) > } > > int > -vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero) > +vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero, struct device *dev) > { > struct vchiq_shared_state *local; > struct vchiq_shared_state *remote; > @@ -2169,6 +2169,8 @@ vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero) > > memset(state, 0, sizeof(struct vchiq_state)); > > + state->dev = dev; > + > /* > * initialize shared state pointers > */ > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h > index 82b7bd7b54b2..352017ff5309 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h > @@ -315,6 +315,7 @@ struct vchiq_slot_zero { > }; > > struct vchiq_state { > + struct device *dev; > int id; > int initialised; > enum vchiq_connstate conn_state; > @@ -458,7 +459,7 @@ extern struct vchiq_slot_zero * > vchiq_init_slots(void *mem_base, int mem_size); > > extern int > -vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero); > +vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero, struct device *dev); > > extern enum vchiq_status > vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instance);
Hi Stefan, > the patch looks good to me. It would be nice to mention that with adding > the device reference it would possible to introduce common kernel logging. Sure, I can mention this in the next version. Thanks, Adrien
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 0596ac61e286..e6e0737c85fc 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -519,7 +519,7 @@ int vchiq_platform_init(struct platform_device *pdev, struct vchiq_state *state) *(char **)&g_fragments_base[i * g_fragments_size] = NULL; sema_init(&g_free_fragments_sema, MAX_FRAGMENTS); - err = vchiq_init_state(state, vchiq_slot_zero); + err = vchiq_init_state(state, vchiq_slot_zero, dev); if (err) return err; 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 8f99272dbd6f..0d5c39d7c6e2 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -2142,7 +2142,7 @@ vchiq_init_slots(void *mem_base, int mem_size) } int -vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero) +vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero, struct device *dev) { struct vchiq_shared_state *local; struct vchiq_shared_state *remote; @@ -2169,6 +2169,8 @@ vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero) memset(state, 0, sizeof(struct vchiq_state)); + state->dev = dev; + /* * initialize shared state pointers */ diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h index 82b7bd7b54b2..352017ff5309 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -315,6 +315,7 @@ struct vchiq_slot_zero { }; struct vchiq_state { + struct device *dev; int id; int initialised; enum vchiq_connstate conn_state; @@ -458,7 +459,7 @@ extern struct vchiq_slot_zero * vchiq_init_slots(void *mem_base, int mem_size); extern int -vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero); +vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero, struct device *dev); extern enum vchiq_status vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instance);
Add a reference to the vchiq device in the vchiq_state structure. This allows the device structure to be passed around, which will be useful in order to get rid of the global g_dev structure. Signed-off-by: Adrien Thierry <athierry@redhat.com> --- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 +- .../staging/vc04_services/interface/vchiq_arm/vchiq_core.c | 4 +++- .../staging/vc04_services/interface/vchiq_arm/vchiq_core.h | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-)