Skip to content

Commit b2c0acf

Browse files
committed
drm: smidrm: fix build with clang
deepin inclusion category: bugfix Log: 2025-11-20T02:25:18.6651568Z CC [M] drivers/gpu/drm/i915/i915_pmu.o 2025-11-20T02:25:18.6810866Z drivers/gpu/drm/smidrm/ddk768/uda1345.c:142:5: error: variable 'addr' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized] 2025-11-20T02:25:18.6811696Z 142 | default: 2025-11-20T02:25:18.6811960Z | ^~~~~~~ 2025-11-20T02:25:18.6812468Z drivers/gpu/drm/smidrm/ddk768/uda1345.c:147:20: note: uninitialized use occurs here 2025-11-20T02:25:18.6813024Z 147 | addr, &data, 1); 2025-11-20T02:25:18.6813378Z | ^~~~ 2025-11-20T02:25:18.6814001Z drivers/gpu/drm/smidrm/ddk768/uda1345.c:121:12: note: initialize the variable 'addr' to silence this warning 2025-11-20T02:25:18.6814576Z 121 | u8 addr; 2025-11-20T02:25:18.6814827Z | ^ 2025-11-20T02:25:18.6815075Z | = '\0' Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
1 parent 4120d1a commit b2c0acf

3 files changed

Lines changed: 18 additions & 1 deletion

File tree

drivers/gpu/drm/smidrm/ddk750/ddk750_swi2c.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,12 @@ static unsigned char swI2CReadSDA(void)
184184
return 0;
185185
}
186186

187+
#ifdef __clang__
188+
#pragma clang optimize off
189+
#else
187190
#pragma GCC push_options
188191
#pragma GCC optimize("O0")
192+
#endif
189193

190194
/*
191195
* This function sends ACK signal
@@ -336,7 +340,12 @@ static unsigned char swI2CReadByte(unsigned char ack)
336340

337341
return data;
338342
}
343+
344+
#ifdef __clang__
345+
#pragma clang optimize on
346+
#else
339347
#pragma GCC pop_options
348+
#endif
340349

341350
/*
342351
* This function initializes the i2c attributes and bus

drivers/gpu/drm/smidrm/ddk768/ddk768_swi2c.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,12 @@ static void ddk768_swI2CSCL(unsigned char value)
258258
pokeRegisterDWord(g_i2cClkGPIODataDirReg, ulGPIODirection);
259259
}
260260
}
261+
#ifdef __clang__
262+
#pragma clang optimize off
263+
#else
261264
#pragma GCC push_options
262265
#pragma GCC optimize("O0")
266+
#endif
263267
/*
264268
* This function sends ACK signal
265269
*/
@@ -390,7 +394,11 @@ static long ddk768_swI2CWriteByte(unsigned char data)
390394
return (-1);
391395
}
392396

397+
#ifdef __clang__
398+
#pragma clang optimize on
399+
#else
393400
#pragma GCC pop_options
401+
#endif
394402

395403
static long ddk768_swI2CSetGPIO(
396404
unsigned char i2cClkGPIO,

drivers/gpu/drm/smidrm/ddk768/uda1345.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ static int uda1345_write(unsigned int reg,
140140
addr = UDA1345_DATA_ADDR;
141141
break;
142142
default:
143-
break;
143+
return -1;
144144
}
145145

146146
ret = l3_write(&falcon_uda1345.l3,

0 commit comments

Comments
 (0)