Skip to content

Commit d473de0

Browse files
committed
m68k: amiga: Clean up Amiga hardware configuration
Move the generic Amiga hardware configuration section out of the switch statement, which allows to replace all ugly jumps by break statements. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://lore.kernel.org/r/20200826125124.23863-1-geert@linux-m68k.org
1 parent 62148d9 commit d473de0

1 file changed

Lines changed: 58 additions & 60 deletions

File tree

arch/m68k/amiga/config.c

Lines changed: 58 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ static void __init amiga_identify(void)
214214

215215
switch (amiga_model) {
216216
case AMI_UNKNOWN:
217-
goto Generic;
217+
break;
218218

219219
case AMI_600:
220220
case AMI_1200:
@@ -227,7 +227,7 @@ static void __init amiga_identify(void)
227227
case AMI_2000:
228228
case AMI_2500:
229229
AMIGAHW_SET(A2000_CLK); /* Is this correct for all models? */
230-
goto Generic;
230+
break;
231231

232232
case AMI_3000:
233233
case AMI_3000T:
@@ -238,7 +238,7 @@ static void __init amiga_identify(void)
238238
AMIGAHW_SET(A3000_SCSI);
239239
AMIGAHW_SET(A3000_CLK);
240240
AMIGAHW_SET(ZORRO3);
241-
goto Generic;
241+
break;
242242

243243
case AMI_4000T:
244244
AMIGAHW_SET(A4000_SCSI);
@@ -247,68 +247,12 @@ static void __init amiga_identify(void)
247247
AMIGAHW_SET(A4000_IDE);
248248
AMIGAHW_SET(A3000_CLK);
249249
AMIGAHW_SET(ZORRO3);
250-
goto Generic;
250+
break;
251251

252252
case AMI_CDTV:
253253
case AMI_CD32:
254254
AMIGAHW_SET(CD_ROM);
255255
AMIGAHW_SET(A2000_CLK); /* Is this correct? */
256-
goto Generic;
257-
258-
Generic:
259-
AMIGAHW_SET(AMI_VIDEO);
260-
AMIGAHW_SET(AMI_BLITTER);
261-
AMIGAHW_SET(AMI_AUDIO);
262-
AMIGAHW_SET(AMI_FLOPPY);
263-
AMIGAHW_SET(AMI_KEYBOARD);
264-
AMIGAHW_SET(AMI_MOUSE);
265-
AMIGAHW_SET(AMI_SERIAL);
266-
AMIGAHW_SET(AMI_PARALLEL);
267-
AMIGAHW_SET(CHIP_RAM);
268-
AMIGAHW_SET(PAULA);
269-
270-
switch (amiga_chipset) {
271-
case CS_OCS:
272-
case CS_ECS:
273-
case CS_AGA:
274-
switch (amiga_custom.deniseid & 0xf) {
275-
case 0x0c:
276-
AMIGAHW_SET(DENISE_HR);
277-
break;
278-
case 0x08:
279-
AMIGAHW_SET(LISA);
280-
break;
281-
default:
282-
AMIGAHW_SET(DENISE);
283-
break;
284-
}
285-
break;
286-
}
287-
switch ((amiga_custom.vposr>>8) & 0x7f) {
288-
case 0x00:
289-
AMIGAHW_SET(AGNUS_PAL);
290-
break;
291-
case 0x10:
292-
AMIGAHW_SET(AGNUS_NTSC);
293-
break;
294-
case 0x20:
295-
case 0x21:
296-
AMIGAHW_SET(AGNUS_HR_PAL);
297-
break;
298-
case 0x30:
299-
case 0x31:
300-
AMIGAHW_SET(AGNUS_HR_NTSC);
301-
break;
302-
case 0x22:
303-
case 0x23:
304-
AMIGAHW_SET(ALICE_PAL);
305-
break;
306-
case 0x32:
307-
case 0x33:
308-
AMIGAHW_SET(ALICE_NTSC);
309-
break;
310-
}
311-
AMIGAHW_SET(ZORRO);
312256
break;
313257

314258
case AMI_DRACO:
@@ -318,6 +262,60 @@ static void __init amiga_identify(void)
318262
panic("Unknown Amiga Model");
319263
}
320264

265+
AMIGAHW_SET(AMI_VIDEO);
266+
AMIGAHW_SET(AMI_BLITTER);
267+
AMIGAHW_SET(AMI_AUDIO);
268+
AMIGAHW_SET(AMI_FLOPPY);
269+
AMIGAHW_SET(AMI_KEYBOARD);
270+
AMIGAHW_SET(AMI_MOUSE);
271+
AMIGAHW_SET(AMI_SERIAL);
272+
AMIGAHW_SET(AMI_PARALLEL);
273+
AMIGAHW_SET(CHIP_RAM);
274+
AMIGAHW_SET(PAULA);
275+
276+
switch (amiga_chipset) {
277+
case CS_OCS:
278+
case CS_ECS:
279+
case CS_AGA:
280+
switch (amiga_custom.deniseid & 0xf) {
281+
case 0x0c:
282+
AMIGAHW_SET(DENISE_HR);
283+
break;
284+
case 0x08:
285+
AMIGAHW_SET(LISA);
286+
break;
287+
default:
288+
AMIGAHW_SET(DENISE);
289+
break;
290+
}
291+
break;
292+
}
293+
switch ((amiga_custom.vposr>>8) & 0x7f) {
294+
case 0x00:
295+
AMIGAHW_SET(AGNUS_PAL);
296+
break;
297+
case 0x10:
298+
AMIGAHW_SET(AGNUS_NTSC);
299+
break;
300+
case 0x20:
301+
case 0x21:
302+
AMIGAHW_SET(AGNUS_HR_PAL);
303+
break;
304+
case 0x30:
305+
case 0x31:
306+
AMIGAHW_SET(AGNUS_HR_NTSC);
307+
break;
308+
case 0x22:
309+
case 0x23:
310+
AMIGAHW_SET(ALICE_PAL);
311+
break;
312+
case 0x32:
313+
case 0x33:
314+
AMIGAHW_SET(ALICE_NTSC);
315+
break;
316+
}
317+
AMIGAHW_SET(ZORRO);
318+
321319
#define AMIGAHW_ANNOUNCE(name, str) \
322320
if (AMIGAHW_PRESENT(name)) \
323321
pr_cont(str)

0 commit comments

Comments
 (0)