lkml.org 
[lkml]   [2018]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 16/41] scsi: imm: mark expected switch fall-throughs
    From
    Date
    Hi,

    Friendly ping:

    Who can ack or review this patch, please?

    Thanks
    --
    Gustavo

    On 11/27/18 10:29 PM, Gustavo A. R. Silva wrote:
    > In preparation to enabling -Wimplicit-fallthrough, mark switch cases
    > where we are expecting to fall through.
    >
    > Notice that, in this particular case, I placed all the "Phase N - ..."
    > comments on the same line as its corresponding switch case. The same
    > way in which similar comments appear in drivers/scsi/ppa.c. This makes
    > it possible to place the "fall through" annotations at the bottom of
    > each switch case, which is what GCC is expecting to find.
    >
    > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    > ---
    > drivers/scsi/imm.c | 33 +++++++++++++++++----------------
    > 1 file changed, 17 insertions(+), 16 deletions(-)
    >
    > diff --git a/drivers/scsi/imm.c b/drivers/scsi/imm.c
    > index 8c6627bc8a39..629e0bc70d3e 100644
    > --- a/drivers/scsi/imm.c
    > +++ b/drivers/scsi/imm.c
    > @@ -796,21 +796,21 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
    > return 0;
    > }
    > return 1; /* wait until imm_wakeup claims parport */
    > - /* Phase 1 - Connected */
    > - case 1:
    > +
    > + case 1: /* Phase 1 - Connected */
    > imm_connect(dev, CONNECT_EPP_MAYBE);
    > cmd->SCp.phase++;
    > + /* fall through */
    >
    > - /* Phase 2 - We are now talking to the scsi bus */
    > - case 2:
    > + case 2: /* Phase 2 - We are now talking to the scsi bus */
    > if (!imm_select(dev, scmd_id(cmd))) {
    > imm_fail(dev, DID_NO_CONNECT);
    > return 0;
    > }
    > cmd->SCp.phase++;
    > + /* fall through */
    >
    > - /* Phase 3 - Ready to accept a command */
    > - case 3:
    > + case 3: /* Phase 3 - Ready to accept a command */
    > w_ctr(ppb, 0x0c);
    > if (!(r_str(ppb) & 0x80))
    > return 1;
    > @@ -818,9 +818,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
    > if (!imm_send_command(cmd))
    > return 0;
    > cmd->SCp.phase++;
    > + /* fall through */
    >
    > - /* Phase 4 - Setup scatter/gather buffers */
    > - case 4:
    > + case 4: /* Phase 4 - Setup scatter/gather buffers */
    > if (scsi_bufflen(cmd)) {
    > cmd->SCp.buffer = scsi_sglist(cmd);
    > cmd->SCp.this_residual = cmd->SCp.buffer->length;
    > @@ -834,8 +834,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
    > cmd->SCp.phase++;
    > if (cmd->SCp.this_residual & 0x01)
    > cmd->SCp.this_residual++;
    > - /* Phase 5 - Pre-Data transfer stage */
    > - case 5:
    > + /* fall through */
    > +
    > + case 5: /* Phase 5 - Pre-Data transfer stage */
    > /* Spin lock for BUSY */
    > w_ctr(ppb, 0x0c);
    > if (!(r_str(ppb) & 0x80))
    > @@ -850,9 +851,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
    > if (imm_negotiate(dev))
    > return 0;
    > cmd->SCp.phase++;
    > + /* fall through */
    >
    > - /* Phase 6 - Data transfer stage */
    > - case 6:
    > + case 6: /* Phase 6 - Data transfer stage */
    > /* Spin lock for BUSY */
    > w_ctr(ppb, 0x0c);
    > if (!(r_str(ppb) & 0x80))
    > @@ -866,9 +867,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
    > return 1;
    > }
    > cmd->SCp.phase++;
    > + /* fall through */
    >
    > - /* Phase 7 - Post data transfer stage */
    > - case 7:
    > + case 7: /* Phase 7 - Post data transfer stage */
    > if ((dev->dp) && (dev->rd)) {
    > if ((dev->mode == IMM_NIBBLE) || (dev->mode == IMM_PS2)) {
    > w_ctr(ppb, 0x4);
    > @@ -878,9 +879,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
    > }
    > }
    > cmd->SCp.phase++;
    > + /* fall through */
    >
    > - /* Phase 8 - Read status/message */
    > - case 8:
    > + case 8: /* Phase 8 - Read status/message */
    > /* Check for data overrun */
    > if (imm_wait(dev) != (unsigned char) 0xb8) {
    > imm_fail(dev, DID_ERROR);
    >

    \
     
     \ /
      Last update: 2018-12-19 23:50    [W:4.077 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site