On Fri, May 10, 2024 at 3:27 PM Jani Nikula <jani.nikula@xxxxxxxxx> wrote: > > Prefer struct drm_edid based functions over struct edid. > > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > > --- > > Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> > Cc: virtualization@xxxxxxxxxxxxxxx > --- > drivers/gpu/drm/tiny/bochs.c | 23 ++++++++++------------- > 1 file changed, 10 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c > index 2d7ad808cc0e..d12d6e0bf3df 100644 > --- a/drivers/gpu/drm/tiny/bochs.c > +++ b/drivers/gpu/drm/tiny/bochs.c > @@ -85,7 +85,7 @@ struct bochs_device { > u16 yres_virtual; > u32 stride; > u32 bpp; > - struct edid *edid; > + const struct drm_edid *drm_edid; > > /* drm */ > struct drm_device *dev; > @@ -199,10 +199,10 @@ static int bochs_hw_load_edid(struct bochs_device *bochs) > if (drm_edid_header_is_valid(header) != 8) > return -1; > > - kfree(bochs->edid); > - bochs->edid = drm_do_get_edid(&bochs->connector, > - bochs_get_edid_block, bochs); > - if (bochs->edid == NULL) > + drm_edid_free(bochs->drm_edid); > + bochs->drm_edid = drm_edid_read_custom(&bochs->connector, > + bochs_get_edid_block, bochs); > + if (bochs->drm_edid == NULL) > return -1; > > return 0; > @@ -303,7 +303,7 @@ static void bochs_hw_fini(struct drm_device *dev) > if (bochs->fb_map) > iounmap(bochs->fb_map); > pci_release_regions(to_pci_dev(dev->dev)); > - kfree(bochs->edid); > + drm_edid_free(bochs->drm_edid); > } > > static void bochs_hw_blank(struct bochs_device *bochs, bool blank) > @@ -471,12 +471,9 @@ static const struct drm_simple_display_pipe_funcs bochs_pipe_funcs = { > > static int bochs_connector_get_modes(struct drm_connector *connector) > { > - struct bochs_device *bochs = > - container_of(connector, struct bochs_device, connector); > - int count = 0; > + int count; > > - if (bochs->edid) > - count = drm_add_edid_modes(connector, bochs->edid); > + count = drm_edid_connector_add_modes(connector); > > if (!count) { > count = drm_add_modes_noedid(connector, 8192, 8192); > @@ -507,10 +504,10 @@ static void bochs_connector_init(struct drm_device *dev) > drm_connector_helper_add(connector, &bochs_connector_connector_helper_funcs); > > bochs_hw_load_edid(bochs); > - if (bochs->edid) { > + if (bochs->drm_edid) { > DRM_INFO("Found EDID data blob.\n"); > drm_connector_attach_edid_property(connector); > - drm_connector_update_edid_property(connector, bochs->edid); > + drm_edid_connector_update(&bochs->connector, bochs->drm_edid); > } > } > > -- > 2.39.2 > Reviewed-by: Robert Foss <rfoss@xxxxxxxxxx>