Merge tag 'Wimplicit-fallthrough-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
Pull Wimplicit-fallthrough updates from Gustavo A. R. Silva: "Mark switch cases where we are expecting to fall through. This is part of the ongoing efforts to enable -Wimplicit-fallthrough. Most of them have been baking in linux-next for a whole development cycle. And with Stephen Rothwell's help, we've had linux-next nag-emails going out for newly introduced code that triggers -Wimplicit-fallthrough to avoid gaining more of these cases while we work to remove the ones that are already present. We are getting close to completing this work. Currently, there are only 32 of 2311 of these cases left to be addressed in linux-next. I'm auditing every case; I take a look into the code and analyze it in order to determine if I'm dealing with an actual bug or a false positive, as explained here: https://lore.kernel.org/lkml/c2fad584-1705-a5f2-d63c-824e9b96cf50@embeddedor.com/ While working on this, I've found and fixed the several missing break/return bugs, some of them introduced more than 5 years ago. Once this work is finished, we'll be able to universally enable "-Wimplicit-fallthrough" to avoid any of these kinds of bugs from entering the kernel again" * tag 'Wimplicit-fallthrough-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux: (27 commits) memstick: mark expected switch fall-throughs drm/nouveau/nvkm: mark expected switch fall-throughs NFC: st21nfca: Fix fall-through warnings NFC: pn533: mark expected switch fall-throughs block: Mark expected switch fall-throughs ASN.1: mark expected switch fall-through lib/cmdline.c: mark expected switch fall-throughs lib: zstd: Mark expected switch fall-throughs scsi: sym53c8xx_2: sym_nvram: Mark expected switch fall-through scsi: sym53c8xx_2: sym_hipd: mark expected switch fall-throughs scsi: ppa: mark expected switch fall-through scsi: osst: mark expected switch fall-throughs scsi: lpfc: lpfc_scsi: Mark expected switch fall-throughs scsi: lpfc: lpfc_nvme: Mark expected switch fall-through scsi: lpfc: lpfc_nportdisc: Mark expected switch fall-through scsi: lpfc: lpfc_hbadisc: Mark expected switch fall-throughs scsi: lpfc: lpfc_els: Mark expected switch fall-throughs scsi: lpfc: lpfc_ct: Mark expected switch fall-throughs scsi: imm: mark expected switch fall-throughs scsi: csiostor: csio_wr: mark expected switch fall-through ...
This commit is contained in:
@@ -23,38 +23,55 @@ void pack_hdmi_infoframe(struct packed_hdmi_infoframe *packed_frame,
|
||||
*/
|
||||
case 17:
|
||||
subpack1_high = (raw_frame[16] << 16);
|
||||
/* fall through */
|
||||
case 16:
|
||||
subpack1_high |= (raw_frame[15] << 8);
|
||||
/* fall through */
|
||||
case 15:
|
||||
subpack1_high |= raw_frame[14];
|
||||
/* fall through */
|
||||
case 14:
|
||||
subpack1_low = (raw_frame[13] << 24);
|
||||
/* fall through */
|
||||
case 13:
|
||||
subpack1_low |= (raw_frame[12] << 16);
|
||||
/* fall through */
|
||||
case 12:
|
||||
subpack1_low |= (raw_frame[11] << 8);
|
||||
/* fall through */
|
||||
case 11:
|
||||
subpack1_low |= raw_frame[10];
|
||||
/* fall through */
|
||||
case 10:
|
||||
subpack0_high = (raw_frame[9] << 16);
|
||||
/* fall through */
|
||||
case 9:
|
||||
subpack0_high |= (raw_frame[8] << 8);
|
||||
/* fall through */
|
||||
case 8:
|
||||
subpack0_high |= raw_frame[7];
|
||||
/* fall through */
|
||||
case 7:
|
||||
subpack0_low = (raw_frame[6] << 24);
|
||||
/* fall through */
|
||||
case 6:
|
||||
subpack0_low |= (raw_frame[5] << 16);
|
||||
/* fall through */
|
||||
case 5:
|
||||
subpack0_low |= (raw_frame[4] << 8);
|
||||
/* fall through */
|
||||
case 4:
|
||||
subpack0_low |= raw_frame[3];
|
||||
/* fall through */
|
||||
case 3:
|
||||
header = (raw_frame[2] << 16);
|
||||
/* fall through */
|
||||
case 2:
|
||||
header |= (raw_frame[1] << 8);
|
||||
/* fall through */
|
||||
case 1:
|
||||
header |= raw_frame[0];
|
||||
/* fall through */
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
|
@@ -122,6 +122,7 @@ nv04_dmaobj_new(struct nvkm_dma *dma, const struct nvkm_oclass *oclass,
|
||||
break;
|
||||
case NV_MEM_ACCESS_WO:
|
||||
dmaobj->flags0 |= 0x00008000;
|
||||
/* fall through */
|
||||
case NV_MEM_ACCESS_RW:
|
||||
dmaobj->flags2 |= 0x00000002;
|
||||
break;
|
||||
|
@@ -117,8 +117,10 @@ nv04_fifo_swmthd(struct nvkm_device *device, u32 chid, u32 addr, u32 data)
|
||||
switch (mthd) {
|
||||
case 0x0000 ... 0x0000: /* subchannel's engine -> software */
|
||||
nvkm_wr32(device, 0x003280, (engine &= ~mask));
|
||||
/* fall through */
|
||||
case 0x0180 ... 0x01fc: /* handle -> instance */
|
||||
data = nvkm_rd32(device, 0x003258) & 0x0000ffff;
|
||||
/* fall through */
|
||||
case 0x0100 ... 0x017c:
|
||||
case 0x0200 ... 0x1ffc: /* pass method down to sw */
|
||||
if (!(engine & mask) && sw)
|
||||
|
@@ -81,6 +81,7 @@ nv40_fifo_init(struct nvkm_fifo *base)
|
||||
case 0x49:
|
||||
case 0x4b:
|
||||
nvkm_wr32(device, 0x002230, 0x00000001);
|
||||
/* fall through */
|
||||
case 0x40:
|
||||
case 0x41:
|
||||
case 0x42:
|
||||
|
@@ -135,6 +135,7 @@ nvbios_perfEp(struct nvkm_bios *bios, int idx,
|
||||
break;
|
||||
case 0x30:
|
||||
info->script = nvbios_rd16(bios, perf + 0x02);
|
||||
/* fall through */
|
||||
case 0x35:
|
||||
info->fanspeed = nvbios_rd08(bios, perf + 0x06);
|
||||
info->voltage = nvbios_rd08(bios, perf + 0x07);
|
||||
|
@@ -134,6 +134,7 @@ pll_map(struct nvkm_bios *bios)
|
||||
device->chipset == 0xaa ||
|
||||
device->chipset == 0xac)
|
||||
return g84_pll_mapping;
|
||||
/* fall through */
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
@@ -90,6 +90,7 @@ nvkm_cstate_valid(struct nvkm_clk *clk, struct nvkm_cstate *cstate,
|
||||
case NVKM_CLK_BOOST_NONE:
|
||||
if (clk->base_khz && freq > clk->base_khz)
|
||||
return false;
|
||||
/* fall through */
|
||||
case NVKM_CLK_BOOST_BIOS:
|
||||
if (clk->boost_khz && freq > clk->boost_khz)
|
||||
return false;
|
||||
|
@@ -363,6 +363,7 @@ mcp77_clk_prog(struct nvkm_clk *base)
|
||||
switch (clk->vsrc) {
|
||||
case nv_clk_src_cclk:
|
||||
mast |= 0x00400000;
|
||||
/* fall through */
|
||||
default:
|
||||
nvkm_wr32(device, 0x4600, clk->vdiv);
|
||||
}
|
||||
|
@@ -131,11 +131,13 @@ nv40_ram_prog(struct nvkm_ram *base)
|
||||
nvkm_mask(device, 0x00402c, 0xc0771100, ram->ctrl);
|
||||
nvkm_wr32(device, 0x004048, ram->coef);
|
||||
nvkm_wr32(device, 0x004030, ram->coef);
|
||||
/* fall through */
|
||||
case 0x43:
|
||||
case 0x49:
|
||||
case 0x4b:
|
||||
nvkm_mask(device, 0x004038, 0xc0771100, ram->ctrl);
|
||||
nvkm_wr32(device, 0x00403c, ram->coef);
|
||||
/* fall through */
|
||||
default:
|
||||
nvkm_mask(device, 0x004020, 0xc0771100, ram->ctrl);
|
||||
nvkm_wr32(device, 0x004024, ram->coef);
|
||||
|
@@ -159,6 +159,7 @@ mxm_dcb_sanitise_entry(struct nvkm_bios *bios, void *data, int idx, u16 pdcb)
|
||||
break;
|
||||
case 0x0e: /* eDP, falls through to DPint */
|
||||
ctx.outp[1] |= 0x00010000;
|
||||
/* fall through */
|
||||
case 0x07: /* DP internal, wtf is this?? HP8670w */
|
||||
ctx.outp[1] |= 0x00000004; /* use_power_scripts? */
|
||||
type = DCB_CONNECTOR_eDP;
|
||||
|
Verwijs in nieuw issue
Block a user