CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Bart Van Assche <[email protected]>
CC: Helge Deller <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   56e337f2cf1326323844927a04e9dbce9a244835
commit: 6968e707d371ef80511448c6771daf445b4a5cf5 parisc: io: Improve the 
outb(), outw() and outl() macros
date:   10 weeks ago
:::::: branch date: 32 hours ago
:::::: commit date: 10 weeks ago
config: parisc-randconfig-m031-20220317 
(https://download.01.org/0day-ci/archive/20220317/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
sound/drivers/serial-u16550.c:609 snd_uart16550_output_byte() warn: ignoring 
unreachable code.
sound/drivers/serial-u16550.c:806 snd_uart16550_create() warn: ignoring 
unreachable code.
sound/drivers/mpu401/mpu401_uart.c:47 mpu401_write_port() warn: ignoring 
unreachable code.
drivers/net/hamradio/baycom_ser_hdx.c:394 ser12_interrupt() warn: ignoring 
unreachable code.

Old smatch warnings:
sound/drivers/serial-u16550.c:179 snd_uart16550_buffer_output() warn: ignoring 
unreachable code.
sound/drivers/serial-u16550.c:333 snd_uart16550_detect() warn: ignoring 
unreachable code.
sound/drivers/serial-u16550.c:368 snd_uart16550_do_open() warn: ignoring 
unreachable code.
sound/drivers/serial-u16550.c:457 snd_uart16550_do_close() warn: ignoring 
unreachable code.
sound/drivers/serial-u16550.c:613 snd_uart16550_output_byte() warn: ignoring 
unreachable code.
sound/drivers/serial-u16550.c:811 snd_uart16550_create() warn: ignoring 
unreachable code.
drivers/net/hamradio/baycom_ser_hdx.c:193 ser12_tx() warn: ignoring unreachable 
code.
drivers/net/hamradio/baycom_ser_hdx.c:158 ser12_set_divisor() warn: ignoring 
unreachable code.
drivers/net/hamradio/baycom_ser_hdx.c:339 ser12_rx() warn: ignoring unreachable 
code.
drivers/net/hamradio/baycom_ser_hdx.c:431 ser12_check_uart() warn: ignoring 
unreachable code.
drivers/net/hamradio/baycom_ser_hdx.c:474 ser12_open() warn: ignoring 
unreachable code.
drivers/net/hamradio/baycom_ser_hdx.c:508 ser12_close() warn: ignoring 
unreachable code.

vim +609 sound/drivers/serial-u16550.c

^1da177e4c3f415 Linus Torvalds 2005-04-16  594  
0b830bac35dd6e3 Takashi Iwai   2006-11-24  595  static int 
snd_uart16550_output_byte(struct snd_uart16550 *uart,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  596                                  
     struct snd_rawmidi_substream *substream,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  597                                  
     unsigned char midi_byte)
^1da177e4c3f415 Linus Torvalds 2005-04-16  598  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  599          if (uart->buff_in_count 
== 0                    /* Buffer empty? */
^1da177e4c3f415 Linus Torvalds 2005-04-16  600              && ((uart->adaptor 
!= SNDRV_SERIAL_MS124W_SA &&
^1da177e4c3f415 Linus Torvalds 2005-04-16  601              uart->adaptor != 
SNDRV_SERIAL_GENERIC) ||
^1da177e4c3f415 Linus Torvalds 2005-04-16  602                  
(uart->fifo_count == 0                  /* FIFO empty? */
^1da177e4c3f415 Linus Torvalds 2005-04-16  603                   && 
(inb(uart->base + UART_MSR) & UART_MSR_CTS)))) { /* CTS? */
^1da177e4c3f415 Linus Torvalds 2005-04-16  604  
^1da177e4c3f415 Linus Torvalds 2005-04-16  605                  /* Tx Buffer 
Empty - try to write immediately */
^1da177e4c3f415 Linus Torvalds 2005-04-16  606                  if 
((inb(uart->base + UART_LSR) & UART_LSR_THRE) != 0) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  607                          /* 
Transmitter holding register (and Tx FIFO) empty */
^1da177e4c3f415 Linus Torvalds 2005-04-16  608                          
uart->fifo_count = 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 @609                          
outb(midi_byte, uart->base + UART_TX);
^1da177e4c3f415 Linus Torvalds 2005-04-16  610                  } else {
^1da177e4c3f415 Linus Torvalds 2005-04-16  611                          if 
(uart->fifo_count < uart->fifo_limit) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  612                                  
uart->fifo_count++;
^1da177e4c3f415 Linus Torvalds 2005-04-16  613                                  
outb(midi_byte, uart->base + UART_TX);
^1da177e4c3f415 Linus Torvalds 2005-04-16  614                          } else {
0b830bac35dd6e3 Takashi Iwai   2006-11-24  615                                  
/* Cannot write (buffer empty) -
0b830bac35dd6e3 Takashi Iwai   2006-11-24  616                                  
 * put char in buffer */
^1da177e4c3f415 Linus Torvalds 2005-04-16  617                                  
snd_uart16550_write_buffer(uart, midi_byte);
^1da177e4c3f415 Linus Torvalds 2005-04-16  618                          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  619                  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  620          } else {
^1da177e4c3f415 Linus Torvalds 2005-04-16  621                  if 
(!snd_uart16550_write_buffer(uart, midi_byte)) {
45203832df2fa9e Takashi Iwai   2009-02-05  622                          
snd_printk(KERN_WARNING
45203832df2fa9e Takashi Iwai   2009-02-05  623                                  
   "%s: Buffer overrun on device at 0x%lx\n",
^1da177e4c3f415 Linus Torvalds 2005-04-16  624                                  
   uart->rmidi->name, uart->base);
^1da177e4c3f415 Linus Torvalds 2005-04-16  625                          return 
0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  626                  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  627          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  628  
^1da177e4c3f415 Linus Torvalds 2005-04-16  629          return 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16  630  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  631  
4a4d2cfd8cbca30 Takashi Iwai   2005-11-17  632  static void 
snd_uart16550_output_write(struct snd_rawmidi_substream *substream)
^1da177e4c3f415 Linus Torvalds 2005-04-16  633  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  634          unsigned long flags;
^1da177e4c3f415 Linus Torvalds 2005-04-16  635          unsigned char 
midi_byte, addr_byte;
0b830bac35dd6e3 Takashi Iwai   2006-11-24  636          struct snd_uart16550 
*uart = substream->rmidi->private_data;
^1da177e4c3f415 Linus Torvalds 2005-04-16  637          char first;
^1da177e4c3f415 Linus Torvalds 2005-04-16  638          static unsigned long 
lasttime = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  639          
561de31a23a8a5d Joe Perches    2007-12-18  640          /* Interrupts are 
disabled during the updating of the tx_buff,
^1da177e4c3f415 Linus Torvalds 2005-04-16  641           * since it is 'bad' to 
have two processes updating the same
^1da177e4c3f415 Linus Torvalds 2005-04-16  642           * variables (ie 
buff_in & buff_out)
^1da177e4c3f415 Linus Torvalds 2005-04-16  643           */
^1da177e4c3f415 Linus Torvalds 2005-04-16  644  
^1da177e4c3f415 Linus Torvalds 2005-04-16  645          
spin_lock_irqsave(&uart->open_lock, flags);
^1da177e4c3f415 Linus Torvalds 2005-04-16  646  
0b830bac35dd6e3 Takashi Iwai   2006-11-24  647          if (uart->irq < 0)      
/* polling */
^1da177e4c3f415 Linus Torvalds 2005-04-16  648                  
snd_uart16550_io_loop(uart);
^1da177e4c3f415 Linus Torvalds 2005-04-16  649  
^1da177e4c3f415 Linus Torvalds 2005-04-16  650          if (uart->adaptor == 
SNDRV_SERIAL_MS124W_MB) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  651                  while (1) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  652                          /* 
buffer full? */
^1da177e4c3f415 Linus Torvalds 2005-04-16  653                          /* in 
this mode we need two bytes of space */
^1da177e4c3f415 Linus Torvalds 2005-04-16  654                          if 
(uart->buff_in_count > TX_BUFF_SIZE - 2)
^1da177e4c3f415 Linus Torvalds 2005-04-16  655                                  
break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  656                          if 
(snd_rawmidi_transmit(substream, &midi_byte, 1) != 1)
^1da177e4c3f415 Linus Torvalds 2005-04-16  657                                  
break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  658  #ifdef 
SNDRV_SERIAL_MS124W_MB_NOCOMBO
^1da177e4c3f415 Linus Torvalds 2005-04-16  659                          /* 
select exactly one of the four ports */
^1da177e4c3f415 Linus Torvalds 2005-04-16  660                          
addr_byte = (1 << (substream->number + 4)) | 0x08;
^1da177e4c3f415 Linus Torvalds 2005-04-16  661  #else
^1da177e4c3f415 Linus Torvalds 2005-04-16  662                          /* 
select any combination of the four ports */
^1da177e4c3f415 Linus Torvalds 2005-04-16  663                          
addr_byte = (substream->number << 4) | 0x08;
^1da177e4c3f415 Linus Torvalds 2005-04-16  664                          /* 
...except none */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  665                          if 
(addr_byte == 0x08)
0b830bac35dd6e3 Takashi Iwai   2006-11-24  666                                  
addr_byte = 0xf8;
^1da177e4c3f415 Linus Torvalds 2005-04-16  667  #endif
^1da177e4c3f415 Linus Torvalds 2005-04-16  668                          
snd_uart16550_output_byte(uart, substream, addr_byte);
^1da177e4c3f415 Linus Torvalds 2005-04-16  669                          /* send 
midi byte */
^1da177e4c3f415 Linus Torvalds 2005-04-16  670                          
snd_uart16550_output_byte(uart, substream, midi_byte);
^1da177e4c3f415 Linus Torvalds 2005-04-16  671                  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  672          } else {
^1da177e4c3f415 Linus Torvalds 2005-04-16  673                  first = 0;
0b830bac35dd6e3 Takashi Iwai   2006-11-24  674                  while 
(snd_rawmidi_transmit_peek(substream, &midi_byte, 1) == 1) {
0b830bac35dd6e3 Takashi Iwai   2006-11-24  675                          /* Also 
send F5 after 3 seconds with no data
0b830bac35dd6e3 Takashi Iwai   2006-11-24  676                           * to 
handle device disconnect */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  677                          if 
(first == 0 &&
0b830bac35dd6e3 Takashi Iwai   2006-11-24  678                              
(uart->adaptor == SNDRV_SERIAL_SOUNDCANVAS ||
^1da177e4c3f415 Linus Torvalds 2005-04-16  679                               
uart->adaptor == SNDRV_SERIAL_GENERIC) &&
0b830bac35dd6e3 Takashi Iwai   2006-11-24  680                              
(uart->prev_out != substream->number ||
f11b799282201fb Julia Lawall   2008-01-07  681                               
time_after(jiffies, lasttime + 3*HZ))) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  682  
^1da177e4c3f415 Linus Torvalds 2005-04-16  683                                  
if (snd_uart16550_buffer_can_write(uart, 3)) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  684                                  
        /* Roland Soundcanvas part selection */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  685                                  
        /* If this substream of the data is
0b830bac35dd6e3 Takashi Iwai   2006-11-24  686                                  
         * different previous substream
0b830bac35dd6e3 Takashi Iwai   2006-11-24  687                                  
         * in this uart, send the change part
0b830bac35dd6e3 Takashi Iwai   2006-11-24  688                                  
         * event
0b830bac35dd6e3 Takashi Iwai   2006-11-24  689                                  
         */
^1da177e4c3f415 Linus Torvalds 2005-04-16  690                                  
        uart->prev_out = substream->number;
^1da177e4c3f415 Linus Torvalds 2005-04-16  691                                  
        /* change part */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  692                                  
        snd_uart16550_output_byte(uart, substream,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  693                                  
                                  0xf5);
^1da177e4c3f415 Linus Torvalds 2005-04-16  694                                  
        /* data */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  695                                  
        snd_uart16550_output_byte(uart, substream,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  696                                  
                                  uart->prev_out + 1);
0b830bac35dd6e3 Takashi Iwai   2006-11-24  697                                  
        /* If midi_byte is a data byte,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  698                                  
         * send the previous status byte */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  699                                  
        if (midi_byte < 0x80 &&
0b830bac35dd6e3 Takashi Iwai   2006-11-24  700                                  
            uart->adaptor == SNDRV_SERIAL_SOUNDCANVAS)
^1da177e4c3f415 Linus Torvalds 2005-04-16  701                                  
                snd_uart16550_output_byte(uart, substream, 
uart->prev_status[uart->prev_out]);
^1da177e4c3f415 Linus Torvalds 2005-04-16  702                                  
} else if (!uart->drop_on_full)
^1da177e4c3f415 Linus Torvalds 2005-04-16  703                                  
        break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  704  
^1da177e4c3f415 Linus Torvalds 2005-04-16  705                          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  706  
^1da177e4c3f415 Linus Torvalds 2005-04-16  707                          /* send 
midi byte */
0b830bac35dd6e3 Takashi Iwai   2006-11-24  708                          if 
(!snd_uart16550_output_byte(uart, substream, midi_byte) &&
0b830bac35dd6e3 Takashi Iwai   2006-11-24  709                              
!uart->drop_on_full )
^1da177e4c3f415 Linus Torvalds 2005-04-16  710                                  
break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  711  
^1da177e4c3f415 Linus Torvalds 2005-04-16  712                          if 
(midi_byte >= 0x80 && midi_byte < 0xf0)
^1da177e4c3f415 Linus Torvalds 2005-04-16  713                                  
uart->prev_status[uart->prev_out] = midi_byte;
^1da177e4c3f415 Linus Torvalds 2005-04-16  714                          first = 
1;
^1da177e4c3f415 Linus Torvalds 2005-04-16  715  
^1da177e4c3f415 Linus Torvalds 2005-04-16  716                          
snd_rawmidi_transmit_ack( substream, 1 );
^1da177e4c3f415 Linus Torvalds 2005-04-16  717                  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  718                  lasttime = 
jiffies;
^1da177e4c3f415 Linus Torvalds 2005-04-16  719          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  720          
spin_unlock_irqrestore(&uart->open_lock, flags);
^1da177e4c3f415 Linus Torvalds 2005-04-16  721  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  722  
0b830bac35dd6e3 Takashi Iwai   2006-11-24  723  static void 
snd_uart16550_output_trigger(struct snd_rawmidi_substream *substream,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  724                                  
         int up)
^1da177e4c3f415 Linus Torvalds 2005-04-16  725  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  726          unsigned long flags;
0b830bac35dd6e3 Takashi Iwai   2006-11-24  727          struct snd_uart16550 
*uart = substream->rmidi->private_data;
^1da177e4c3f415 Linus Torvalds 2005-04-16  728  
^1da177e4c3f415 Linus Torvalds 2005-04-16  729          
spin_lock_irqsave(&uart->open_lock, flags);
0b830bac35dd6e3 Takashi Iwai   2006-11-24  730          if (up)
^1da177e4c3f415 Linus Torvalds 2005-04-16  731                  uart->filemode 
|= SERIAL_MODE_OUTPUT_TRIGGERED;
0b830bac35dd6e3 Takashi Iwai   2006-11-24  732          else
^1da177e4c3f415 Linus Torvalds 2005-04-16  733                  uart->filemode 
&= ~SERIAL_MODE_OUTPUT_TRIGGERED;
^1da177e4c3f415 Linus Torvalds 2005-04-16  734          
spin_unlock_irqrestore(&uart->open_lock, flags);
^1da177e4c3f415 Linus Torvalds 2005-04-16  735          if (up)
^1da177e4c3f415 Linus Torvalds 2005-04-16  736                  
snd_uart16550_output_write(substream);
^1da177e4c3f415 Linus Torvalds 2005-04-16  737  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  738  
c36f486d7bc71d4 Takashi Iwai   2017-01-05  739  static const struct 
snd_rawmidi_ops snd_uart16550_output =
^1da177e4c3f415 Linus Torvalds 2005-04-16  740  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  741          .open =         
snd_uart16550_output_open,
^1da177e4c3f415 Linus Torvalds 2005-04-16  742          .close =        
snd_uart16550_output_close,
^1da177e4c3f415 Linus Torvalds 2005-04-16  743          .trigger =      
snd_uart16550_output_trigger,
^1da177e4c3f415 Linus Torvalds 2005-04-16  744  };
^1da177e4c3f415 Linus Torvalds 2005-04-16  745  
c36f486d7bc71d4 Takashi Iwai   2017-01-05  746  static const struct 
snd_rawmidi_ops snd_uart16550_input =
^1da177e4c3f415 Linus Torvalds 2005-04-16  747  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  748          .open =         
snd_uart16550_input_open,
^1da177e4c3f415 Linus Torvalds 2005-04-16  749          .close =        
snd_uart16550_input_close,
^1da177e4c3f415 Linus Torvalds 2005-04-16  750          .trigger =      
snd_uart16550_input_trigger,
^1da177e4c3f415 Linus Torvalds 2005-04-16  751  };
^1da177e4c3f415 Linus Torvalds 2005-04-16  752  
fbbb01a12d5d553 Bill Pemberton 2012-12-06  753  static int 
snd_uart16550_create(struct snd_card *card,
^1da177e4c3f415 Linus Torvalds 2005-04-16  754                                  
unsigned long iobase,
^1da177e4c3f415 Linus Torvalds 2005-04-16  755                                  
int irq,
^1da177e4c3f415 Linus Torvalds 2005-04-16  756                                  
unsigned int speed,
^1da177e4c3f415 Linus Torvalds 2005-04-16  757                                  
unsigned int base,
^1da177e4c3f415 Linus Torvalds 2005-04-16  758                                  
int adaptor,
^1da177e4c3f415 Linus Torvalds 2005-04-16  759                                  
int droponfull,
0b830bac35dd6e3 Takashi Iwai   2006-11-24  760                                  
struct snd_uart16550 **ruart)
^1da177e4c3f415 Linus Torvalds 2005-04-16  761  {
0b830bac35dd6e3 Takashi Iwai   2006-11-24  762          struct snd_uart16550 
*uart;
^1da177e4c3f415 Linus Torvalds 2005-04-16  763          int err;
^1da177e4c3f415 Linus Torvalds 2005-04-16  764  
^1da177e4c3f415 Linus Torvalds 2005-04-16  765  
60d03de81c40270 Takashi Iwai   2021-07-15  766          uart = 
devm_kzalloc(card->dev, sizeof(*uart), GFP_KERNEL);
d0ad13ef704164c Takashi Iwai   2021-06-08  767          if (!uart)
^1da177e4c3f415 Linus Torvalds 2005-04-16  768                  return -ENOMEM;
^1da177e4c3f415 Linus Torvalds 2005-04-16  769          uart->adaptor = adaptor;
^1da177e4c3f415 Linus Torvalds 2005-04-16  770          uart->card = card;
^1da177e4c3f415 Linus Torvalds 2005-04-16  771          
spin_lock_init(&uart->open_lock);
^1da177e4c3f415 Linus Torvalds 2005-04-16  772          uart->irq = -1;
^1da177e4c3f415 Linus Torvalds 2005-04-16  773          uart->base = iobase;
^1da177e4c3f415 Linus Torvalds 2005-04-16  774          uart->drop_on_full = 
droponfull;
^1da177e4c3f415 Linus Torvalds 2005-04-16  775  
d0ad13ef704164c Takashi Iwai   2021-06-08  776          err = 
snd_uart16550_detect(uart);
d0ad13ef704164c Takashi Iwai   2021-06-08  777          if (err <= 0) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  778                  printk(KERN_ERR 
"no UART detected at 0x%lx\n", iobase);
68b8bc05213567c Takashi Iwai   2006-01-23  779                  return -ENODEV;
^1da177e4c3f415 Linus Torvalds 2005-04-16  780          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  781  
^1da177e4c3f415 Linus Torvalds 2005-04-16  782          if (irq >= 0 && irq != 
SNDRV_AUTO_IRQ) {
60d03de81c40270 Takashi Iwai   2021-07-15  783                  if 
(devm_request_irq(card->dev, irq, snd_uart16550_interrupt,
88e24c3a4b30a6b Yong Zhang     2011-09-22  784                                  
     0, "Serial MIDI", uart)) {
45203832df2fa9e Takashi Iwai   2009-02-05  785                          
snd_printk(KERN_WARNING
45203832df2fa9e Takashi Iwai   2009-02-05  786                                  
   "irq %d busy. Using Polling.\n", irq);
^1da177e4c3f415 Linus Torvalds 2005-04-16  787                  } else {
^1da177e4c3f415 Linus Torvalds 2005-04-16  788                          
uart->irq = irq;
^1da177e4c3f415 Linus Torvalds 2005-04-16  789                  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  790          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  791          uart->divisor = base / 
speed;
^1da177e4c3f415 Linus Torvalds 2005-04-16  792          uart->speed = base / 
(unsigned int)uart->divisor;
^1da177e4c3f415 Linus Torvalds 2005-04-16  793          uart->speed_base = base;
^1da177e4c3f415 Linus Torvalds 2005-04-16  794          uart->prev_out = -1;
^1da177e4c3f415 Linus Torvalds 2005-04-16  795          uart->prev_in = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  796          uart->rstatus = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  797          
memset(uart->prev_status, 0x80, sizeof(unsigned char) * SNDRV_SERIAL_MAX_OUTS);
bc47ba90b01afe4 Kees Cook      2017-10-24  798          
timer_setup(&uart->buffer_timer, snd_uart16550_buffer_timer, 0);
^1da177e4c3f415 Linus Torvalds 2005-04-16  799          uart->timer_running = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  800  
^1da177e4c3f415 Linus Torvalds 2005-04-16  801          switch (uart->adaptor) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  802          case 
SNDRV_SERIAL_MS124W_SA:
^1da177e4c3f415 Linus Torvalds 2005-04-16  803          case 
SNDRV_SERIAL_MS124W_MB:
^1da177e4c3f415 Linus Torvalds 2005-04-16  804                  /* MS-124W can 
draw power from RTS and DTR if they
^1da177e4c3f415 Linus Torvalds 2005-04-16  805                     are in 
opposite states. */ 
^1da177e4c3f415 Linus Torvalds 2005-04-16 @806                  
outb(UART_MCR_RTS | (0&UART_MCR_DTR), uart->base + UART_MCR);
^1da177e4c3f415 Linus Torvalds 2005-04-16  807                  break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  808          case 
SNDRV_SERIAL_MS124T:
^1da177e4c3f415 Linus Torvalds 2005-04-16  809                  /* MS-124T can 
draw power from RTS and/or DTR (preferably
^1da177e4c3f415 Linus Torvalds 2005-04-16  810                     both) if 
they are asserted. */
^1da177e4c3f415 Linus Torvalds 2005-04-16  811                  
outb(UART_MCR_RTS | UART_MCR_DTR, uart->base + UART_MCR);
^1da177e4c3f415 Linus Torvalds 2005-04-16  812                  break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  813          default:
^1da177e4c3f415 Linus Torvalds 2005-04-16  814                  break;
^1da177e4c3f415 Linus Torvalds 2005-04-16  815          }
^1da177e4c3f415 Linus Torvalds 2005-04-16  816  
^1da177e4c3f415 Linus Torvalds 2005-04-16  817          if (ruart)
^1da177e4c3f415 Linus Torvalds 2005-04-16  818                  *ruart = uart;
^1da177e4c3f415 Linus Torvalds 2005-04-16  819  
^1da177e4c3f415 Linus Torvalds 2005-04-16  820          return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  821  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  822  

:::::: The code at line 609 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <[email protected]>
:::::: CC: Linus Torvalds <[email protected]>

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to