> Subject: [PATCH 2/3] drm: Add Wrapper Functions for ELD SAD > Extraction > > Add wrapper functions to facilitate extracting Short Audio Descriptor (SAD) > information from EDID-Like Data (ELD) pointers with different constness > requirements. > > 1. `drm_eld_sad`: This function returns a constant `uint8_t` pointer and wraps > the main extraction function, allowing access to SAD information while > maintaining const correctness. > > 2. `drm_extract_sad_from_eld`: This function returns a mutable `uint8_t` > pointer and implements the core logic for extracting SAD from the provided ELD > pointer. It performs version and maximum channel checks to ensure proper > extraction. > > These wrapper functions provide flexibility to the codebase, allowing users to > access SAD information while adhering to const correctness when needed and > modifying the pointer when required. > > Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@xxxxxxxxx> This should also be floated in drm-devel mailing list. > --- > include/drm/drm_edid.h | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h index > 48e93f909ef6..626bc0d542eb 100644 > --- a/include/drm/drm_edid.h > +++ b/include/drm/drm_edid.h > @@ -418,11 +418,7 @@ static inline int drm_eld_mnl(const uint8_t *eld) > return (eld[DRM_ELD_CEA_EDID_VER_MNL] & > DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT; } > > -/** > - * drm_eld_sad - Get ELD SAD structures. > - * @eld: pointer to an eld memory structure with sad_count set > - */ > -static inline const uint8_t *drm_eld_sad(const uint8_t *eld) > +static uint8_t *drm_extract_sad_from_eld(uint8_t *eld) > { > unsigned int ver, mnl; > > @@ -437,6 +433,15 @@ static inline const uint8_t *drm_eld_sad(const uint8_t > *eld) > return eld + DRM_ELD_CEA_SAD(mnl, 0); > } > > +/** > + * drm_eld_sad - Get ELD SAD structures. > + * @eld: pointer to an eld memory structure with sad_count set */ > +static inline const uint8_t *drm_eld_sad(const uint8_t *eld) { > + return drm_extract_sad_from_eld((uint8_t *)eld); } > + Not sure about the wrapper here the point of the const variable here was we do not want the eld to be changed but adding a wrapper seems to make it irrelevant Also why do you want to change pointer data that is a const. Regards, Suraj Kandpal > /** > * drm_eld_sad_count - Get ELD SAD count. > * @eld: pointer to an eld memory structure with sad_count set > -- > 2.25.1