[PATCH 06/12] drm/edid: add typedef for block read function
Jani Nikula
jani.nikula at intel.com
Mon Apr 11 09:48:50 UTC 2022
On Thu, 07 Apr 2022, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Thu, Apr 07, 2022 at 12:14:32PM +0300, Jani Nikula wrote:
>> Make the callback a bit easier on the eye.
>>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>> ---
>> drivers/gpu/drm/drm_edid.c | 18 +++++++++---------
>> 1 file changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index ba54701f91f6..926ffe5cd97e 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -2037,10 +2037,11 @@ int drm_add_override_edid_modes(struct drm_connector *connector)
>> }
>> EXPORT_SYMBOL(drm_add_override_edid_modes);
>>
>> +typedef int read_block_fn(void *context, u8 *buf, unsigned int block, size_t len);
>> +
>
> The header still has the eyesore. Maybe we want to put the typedef
> there?
Decided to leave that for the future, possibly with a s/u8*/void*/
change.
Thanks,
Jani.
>
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
>> static struct edid *drm_do_get_edid_base_block(struct drm_connector *connector,
>> - int (*get_edid_block)(void *data, u8 *buf, unsigned int block,
>> - size_t len),
>> - void *data)
>> + read_block_fn read_block,
>> + void *context)
>> {
>> int *null_edid_counter = connector ? &connector->null_edid_counter : NULL;
>> bool *edid_corrupt = connector ? &connector->edid_corrupt : NULL;
>> @@ -2053,7 +2054,7 @@ static struct edid *drm_do_get_edid_base_block(struct drm_connector *connector,
>>
>> /* base block fetch */
>> for (try = 0; try < 4; try++) {
>> - if (get_edid_block(data, edid, 0, EDID_LENGTH))
>> + if (read_block(context, edid, 0, EDID_LENGTH))
>> goto out;
>> if (drm_edid_block_valid(edid, 0, false, edid_corrupt))
>> break;
>> @@ -2097,9 +2098,8 @@ static struct edid *drm_do_get_edid_base_block(struct drm_connector *connector,
>> * Return: Pointer to valid EDID or NULL if we couldn't find any.
>> */
>> struct edid *drm_do_get_edid(struct drm_connector *connector,
>> - int (*get_edid_block)(void *data, u8 *buf, unsigned int block,
>> - size_t len),
>> - void *data)
>> + read_block_fn read_block,
>> + void *context)
>> {
>> int j, invalid_blocks = 0;
>> struct edid *edid, *new, *override;
>> @@ -2108,7 +2108,7 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
>> if (override)
>> return override;
>>
>> - edid = drm_do_get_edid_base_block(connector, get_edid_block, data);
>> + edid = drm_do_get_edid_base_block(connector, read_block, context);
>> if (!edid)
>> return NULL;
>>
>> @@ -2125,7 +2125,7 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
>> int try;
>>
>> for (try = 0; try < 4; try++) {
>> - if (get_edid_block(data, block, j, EDID_LENGTH))
>> + if (read_block(context, block, j, EDID_LENGTH))
>> goto out;
>> if (drm_edid_block_valid(block, j, false, NULL))
>> break;
>> --
>> 2.30.2
--
Jani Nikula, Intel Open Source Graphics Center
More information about the dri-devel
mailing list