[PATCH 08/44] drm/vboxvideo: Stop using drm_device->dev_private

Thomas Zimmermann tzimmermann at suse.de
Wed Apr 8 06:33:10 UTC 2020


Hi

Am 07.04.20 um 09:24 schrieb Daniel Vetter:
> On Mon, Apr 6, 2020 at 7:27 PM Thomas Zimmermann <tzimmermann at suse.de> wrote:
>>
>> Hi
>>
>> Am 03.04.20 um 15:57 schrieb Daniel Vetter:
>>> We use the baseclass pattern here, so lets to the proper (and more
>>> typesafe) upcasting.
>>>
>>> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
>>> Cc: Hans de Goede <hdegoede at redhat.com>
>>> ---
>>>  drivers/gpu/drm/vboxvideo/vbox_drv.c  |  1 -
>>>  drivers/gpu/drm/vboxvideo/vbox_drv.h  |  1 +
>>>  drivers/gpu/drm/vboxvideo/vbox_irq.c  |  2 +-
>>>  drivers/gpu/drm/vboxvideo/vbox_mode.c | 10 +++++-----
>>>  4 files changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/vboxvideo/vbox_drv.c b/drivers/gpu/drm/vboxvideo/vbox_drv.c
>>> index be0600b22cf5..d34cddd809fd 100644
>>> --- a/drivers/gpu/drm/vboxvideo/vbox_drv.c
>>> +++ b/drivers/gpu/drm/vboxvideo/vbox_drv.c
>>> @@ -52,7 +52,6 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>>>               return PTR_ERR(vbox);
>>>
>>>       vbox->ddev.pdev = pdev;
>>> -     vbox->ddev.dev_private = vbox;
>>>       pci_set_drvdata(pdev, vbox);
>>>       mutex_init(&vbox->hw_mutex);
>>>
>>> diff --git a/drivers/gpu/drm/vboxvideo/vbox_drv.h b/drivers/gpu/drm/vboxvideo/vbox_drv.h
>>> index 87421903816c..ac7c2effc46f 100644
>>> --- a/drivers/gpu/drm/vboxvideo/vbox_drv.h
>>> +++ b/drivers/gpu/drm/vboxvideo/vbox_drv.h
>>> @@ -127,6 +127,7 @@ struct vbox_encoder {
>>>  #define to_vbox_crtc(x) container_of(x, struct vbox_crtc, base)
>>>  #define to_vbox_connector(x) container_of(x, struct vbox_connector, base)
>>>  #define to_vbox_encoder(x) container_of(x, struct vbox_encoder, base)
>>> +#define to_vbox_dev(x) container_of(x, struct vbox_private, ddev)
>>
>> I suggest ot call this macro to to_vbox_device(). At some point, we
>> should rename struct vbox_private to struct vbox_device for consistency
>> among drivers. The new macro's name would then fit.
> 
> So I've seen naming conventions around this with a _dev suffix, a _drm
> suffix, a _priv suffix and no suffix (since it's the top level object
> you kinda can justify that too). I admit the choice I went with was
> occasionally a bit random, but that's mostly because there's not much
> consistency here at all. This applies both to the upcast macro and the
> struct itself.
> 
> iow I'm not sure this bikeshed is worth repainting, current status is
> rather multicolor already ... It's also an enormous amounts of churn
> to repaint this stuff already (just git grep dev_private --
> drivers/gpu/drm), so I'm not super enthusiastic about adding more
> churn on top ...
> 
> Still feel strongly about this one and the others you've brought up?

I have no strong feelings about it. :) But since you're introducing the
macro, I thought that naming it to_vbox_device() would be consisted
within the driver.

Best regards
Thomas

> -Daniel
> 
>> For the overall patch:
>>
>> Acked-by: Thomas Zimmermann <tzimmermann at suse.de>
>>
>> Best regards
>> Thomas
>>
>>>
>>>  bool vbox_check_supported(u16 id);
>>>  int vbox_hw_init(struct vbox_private *vbox);
>>> diff --git a/drivers/gpu/drm/vboxvideo/vbox_irq.c b/drivers/gpu/drm/vboxvideo/vbox_irq.c
>>> index 16a1e29f5292..631657fa554f 100644
>>> --- a/drivers/gpu/drm/vboxvideo/vbox_irq.c
>>> +++ b/drivers/gpu/drm/vboxvideo/vbox_irq.c
>>> @@ -34,7 +34,7 @@ void vbox_report_hotplug(struct vbox_private *vbox)
>>>  irqreturn_t vbox_irq_handler(int irq, void *arg)
>>>  {
>>>       struct drm_device *dev = (struct drm_device *)arg;
>>> -     struct vbox_private *vbox = (struct vbox_private *)dev->dev_private;
>>> +     struct vbox_private *vbox = to_vbox_dev(dev);
>>>       u32 host_flags = vbox_get_flags(vbox);
>>>
>>>       if (!(host_flags & HGSMIHOSTFLAGS_IRQ))
>>> diff --git a/drivers/gpu/drm/vboxvideo/vbox_mode.c b/drivers/gpu/drm/vboxvideo/vbox_mode.c
>>> index 0883a435e62b..d9a5af62af89 100644
>>> --- a/drivers/gpu/drm/vboxvideo/vbox_mode.c
>>> +++ b/drivers/gpu/drm/vboxvideo/vbox_mode.c
>>> @@ -36,7 +36,7 @@ static void vbox_do_modeset(struct drm_crtc *crtc)
>>>       u16 flags;
>>>       s32 x_offset, y_offset;
>>>
>>> -     vbox = crtc->dev->dev_private;
>>> +     vbox = to_vbox_dev(crtc->dev);
>>>       width = vbox_crtc->width ? vbox_crtc->width : 640;
>>>       height = vbox_crtc->height ? vbox_crtc->height : 480;
>>>       bpp = fb ? fb->format->cpp[0] * 8 : 32;
>>> @@ -77,7 +77,7 @@ static void vbox_do_modeset(struct drm_crtc *crtc)
>>>  static int vbox_set_view(struct drm_crtc *crtc)
>>>  {
>>>       struct vbox_crtc *vbox_crtc = to_vbox_crtc(crtc);
>>> -     struct vbox_private *vbox = crtc->dev->dev_private;
>>> +     struct vbox_private *vbox = to_vbox_dev(crtc->dev);
>>>       struct vbva_infoview *p;
>>>
>>>       /*
>>> @@ -174,7 +174,7 @@ static void vbox_crtc_set_base_and_mode(struct drm_crtc *crtc,
>>>                                       int x, int y)
>>>  {
>>>       struct drm_gem_vram_object *gbo = drm_gem_vram_of_gem(fb->obj[0]);
>>> -     struct vbox_private *vbox = crtc->dev->dev_private;
>>> +     struct vbox_private *vbox = to_vbox_dev(crtc->dev);
>>>       struct vbox_crtc *vbox_crtc = to_vbox_crtc(crtc);
>>>       bool needs_modeset = drm_atomic_crtc_needs_modeset(crtc->state);
>>>
>>> @@ -272,7 +272,7 @@ static void vbox_primary_atomic_update(struct drm_plane *plane,
>>>  {
>>>       struct drm_crtc *crtc = plane->state->crtc;
>>>       struct drm_framebuffer *fb = plane->state->fb;
>>> -     struct vbox_private *vbox = fb->dev->dev_private;
>>> +     struct vbox_private *vbox = to_vbox_dev(fb->dev);
>>>       struct drm_mode_rect *clips;
>>>       uint32_t num_clips, i;
>>>
>>> @@ -704,7 +704,7 @@ static int vbox_get_modes(struct drm_connector *connector)
>>>       int preferred_width, preferred_height;
>>>
>>>       vbox_connector = to_vbox_connector(connector);
>>> -     vbox = connector->dev->dev_private;
>>> +     vbox = to_vbox_dev(connector->dev);
>>>
>>>       hgsmi_report_flags_location(vbox->guest_pool, GUEST_HEAP_OFFSET(vbox) +
>>>                                   HOST_FLAGS_OFFSET);
>>>
>>
>> --
>> Thomas Zimmermann
>> Graphics Driver Developer
>> SUSE Software Solutions Germany GmbH
>> Maxfeldstr. 5, 90409 Nürnberg, Germany
>> (HRB 36809, AG Nürnberg)
>> Geschäftsführer: Felix Imendörffer
>>
> 
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200408/9cca3401/attachment.sig>


More information about the dri-devel mailing list