Skip to content

Commit

Permalink
IT66121 minor refactoring
Browse files Browse the repository at this point in the history
Move loop indexes into loops
Return on errors instead of loop breaks
Some variables cleanup
  • Loading branch information
klogg committed May 11, 2024
1 parent 7c2a33e commit f408531
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions bridge/it66121_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ static int it66121_clear_ddc_fifo(struct it66121_priv *priv)

static int it66121_abort_ddc_ops(struct it66121_priv *priv)
{
int i, ret;
int ret;

/* Prior to DDC abort command there was also a reset of HDCP:
* 1. HDCP_DESIRE clear bit CP DESIRE
Expand All @@ -233,7 +233,7 @@ static int it66121_abort_ddc_ops(struct it66121_priv *priv)
/* From original driver: According to 2009/01/15 modification by [email protected]
* do abort DDC twice
*/
for (i = 0; i < 2; i++) {
for (int i = 0; i < 2; i++) {
ret = regmap_write(priv->regmap, IT66121_DDC_COMMAND, DDC_CMD_ABORT);
if (ret)
return ret;
Expand Down Expand Up @@ -326,9 +326,11 @@ static void it66121_intr_work(struct work_struct *work_item)

static int it66121_get_edid_block(void *context, u8 *buf, unsigned int block, size_t len)
{
int i, ret, offset = block & 1 ? 128 : 0;
int ret;
size_t remain = len;
unsigned int rd_fifo_val, segment = block >> 1;
u32 rd_fifo_val;
unsigned int segment = block >> 1;
unsigned int offset = block & 1 ? 128 : 0;
static const u8 header[EDID_LOSS_LEN] = { 0x00, 0xFF, 0xFF };
struct it66121_priv *priv = context;

Expand All @@ -354,30 +356,31 @@ static int it66121_get_edid_block(void *context, u8 *buf, unsigned int block, si
/* Clear DDC FIFO */
ret = it66121_clear_ddc_fifo(priv);
if (ret)
break;
return ret;

ret = regmap_write(priv->regmap, IT66121_DDC_ADDRESS, EDID_DDC_ADDR);
if (ret)
break;
return ret;

/* Account 3 bytes that will be lost */
ret = regmap_write(priv->regmap, IT66121_DDC_OFFSET, offset - EDID_LOSS_LEN);
if (ret)
break;
return ret;

ret = regmap_write(priv->regmap, IT66121_DDC_SIZE, (unsigned int)size);
if (ret)
break;
return ret;
ret = regmap_write(priv->regmap, IT66121_DDC_SEGMENT, segment);
if (ret)
break;
return ret;
ret = regmap_write(priv->regmap, IT66121_DDC_COMMAND, DDC_CMD_EDID_READ);
if (ret)
break;
return ret;

/* Deduct lost bytes when reading from FIFO */
size -= EDID_LOSS_LEN;

for (i = 0; i < size; i++) {
for (int i = 0; i < size; i++) {
ret = regmap_read(priv->regmap, IT66121_DDC_RD_FIFO, &rd_fifo_val);
if (ret)
return ret;
Expand Down Expand Up @@ -601,7 +604,7 @@ static void it66121_bridge_mode_set(struct drm_bridge *bridge, const struct drm_
const struct drm_display_mode *adjusted_mode)

{
int i, ret;
int ret;
ssize_t frame_size;
struct it66121_priv *priv = container_of(bridge, struct it66121_priv, bridge);
u8 buf[HDMI_INFOFRAME_SIZE(AVI)];
Expand Down Expand Up @@ -658,7 +661,7 @@ static void it66121_bridge_mode_set(struct drm_bridge *bridge, const struct drm_
}

/* Write new AVI infoframe packet */
for (i = 0; i < HDMI_AVI_INFOFRAME_SIZE; i++) {
for (int i = 0; i < HDMI_AVI_INFOFRAME_SIZE; i++) {
ret = regmap_write(priv->regmap, aviinfo_reg[i],
buf[i + HDMI_INFOFRAME_HEADER_SIZE]);
if (ret) {
Expand Down Expand Up @@ -764,7 +767,7 @@ static int it66121_regs_init(struct it66121_priv *priv, struct i2c_client *clien

static int it66121_i2c_probe(struct i2c_adapter *adapter, unsigned short address)
{
int i, ret;
int ret;
u8 id_regs[] = { IT66121_VENDOR_ID_1, IT66121_VENDOR_ID_2, IT66121_DEVICE_ID_1,
IT66121_DEVICE_ID_2 };
union {
Expand All @@ -784,7 +787,7 @@ static int it66121_i2c_probe(struct i2c_adapter *adapter, unsigned short address
return -ENODEV;
}

for (i = 0; i < ARRAY_SIZE(id_regs); i++) {
for (int i = 0; i < ARRAY_SIZE(id_regs); i++) {
struct i2c_msg msgs[] = {
{ .addr = address, .flags = 0, .len = 1, .buf = &id_regs[i] },
{ .addr = address, .flags = I2C_M_RD, .len = 1, .buf = &id.b[i] }
Expand Down

0 comments on commit f408531

Please sign in to comment.