Skip to content

Commit

Permalink
drm/edid: use a temp variable for sads to drop one level of dereferences
Browse files Browse the repository at this point in the history
Use a temporary variable struct cea_sad *, instead of using struct
cea_sad ** directly with the double dereferences. It's arguably easier
on the eyes, and drops a set of parenthesis too.

Cc: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Reviewed-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/b6e2f295ae5491c2bb0f528508f0f5fca921dc77.1698747331.git.jani.nikula@intel.com
  • Loading branch information
Jani Nikula committed Nov 9, 2023
1 parent 439590a commit e8d0b2c
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions drivers/gpu/drm/drm_edid.c
Original file line number Diff line number Diff line change
Expand Up @@ -5591,7 +5591,7 @@ static void drm_edid_to_eld(struct drm_connector *connector,
}

static int _drm_edid_to_sad(const struct drm_edid *drm_edid,
struct cea_sad **sads)
struct cea_sad **psads)
{
const struct cea_db *db;
struct cea_db_iter iter;
Expand All @@ -5600,19 +5600,21 @@ static int _drm_edid_to_sad(const struct drm_edid *drm_edid,
cea_db_iter_edid_begin(drm_edid, &iter);
cea_db_iter_for_each(db, &iter) {
if (cea_db_tag(db) == CTA_DB_AUDIO) {
struct cea_sad *sads;
int j;

count = cea_db_payload_len(db) / 3; /* SAD is 3B */
*sads = kcalloc(count, sizeof(**sads), GFP_KERNEL);
if (!*sads)
sads = kcalloc(count, sizeof(*sads), GFP_KERNEL);
*psads = sads;
if (!sads)
return -ENOMEM;
for (j = 0; j < count; j++) {
const u8 *sad = &db->data[j * 3];

(*sads)[j].format = (sad[0] & 0x78) >> 3;
(*sads)[j].channels = sad[0] & 0x7;
(*sads)[j].freq = sad[1] & 0x7F;
(*sads)[j].byte2 = sad[2];
sads[j].format = (sad[0] & 0x78) >> 3;
sads[j].channels = sad[0] & 0x7;
sads[j].freq = sad[1] & 0x7F;
sads[j].byte2 = sad[2];
}
break;
}
Expand Down

0 comments on commit e8d0b2c

Please sign in to comment.