hvcsd 304 drivers/tty/hvc/hvcs.c static int hvcs_has_pi(struct hvcs_struct *hvcsd); hvcsd 306 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd); hvcsd 307 drivers/tty/hvc/hvcs.c static int hvcs_get_pi(struct hvcs_struct *hvcsd); hvcsd 310 drivers/tty/hvc/hvcs.c static int hvcs_partner_connect(struct hvcs_struct *hvcsd); hvcsd 311 drivers/tty/hvc/hvcs.c static void hvcs_partner_free(struct hvcs_struct *hvcsd); hvcsd 313 drivers/tty/hvc/hvcs.c static int hvcs_enable_device(struct hvcs_struct *hvcsd, hvcsd 341 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = from_vio_dev(viod); hvcsd 345 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 346 drivers/tty/hvc/hvcs.c retval = sprintf(buf, "%X\n", hvcsd->p_unit_address); hvcsd 347 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 355 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = from_vio_dev(viod); hvcsd 359 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 360 drivers/tty/hvc/hvcs.c retval = sprintf(buf, "%s\n", &hvcsd->p_location_code[0]); hvcsd 361 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 380 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = from_vio_dev(viod); hvcsd 384 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 385 drivers/tty/hvc/hvcs.c retval = sprintf(buf, "%s\n", &hvcsd->p_location_code[0]); hvcsd 386 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 397 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = from_vio_dev(viod); hvcsd 404 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 406 drivers/tty/hvc/hvcs.c if (hvcsd->port.count > 0) { hvcsd 407 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 413 drivers/tty/hvc/hvcs.c if (hvcsd->connected == 0) { hvcsd 414 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 420 drivers/tty/hvc/hvcs.c hvcs_partner_free(hvcsd); hvcsd 423 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address, hvcsd 424 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address, hvcsd 425 drivers/tty/hvc/hvcs.c (uint32_t)hvcsd->p_partition_ID); hvcsd 427 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 434 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = from_vio_dev(viod); hvcsd 438 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 439 drivers/tty/hvc/hvcs.c retval = sprintf(buf, "%d\n", hvcsd->connected); hvcsd 440 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 449 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = from_vio_dev(viod); hvcsd 453 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 454 drivers/tty/hvc/hvcs.c retval = sprintf(buf, "%d\n", hvcsd->index); hvcsd 455 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 506 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 509 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 510 drivers/tty/hvc/hvcs.c hvcsd->todo_mask |= HVCS_SCHED_READ; hvcsd 511 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 517 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 520 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 521 drivers/tty/hvc/hvcs.c vio_disable_interrupts(hvcsd->vdev); hvcsd 522 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 532 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = dev_instance; hvcsd 534 drivers/tty/hvc/hvcs.c spin_lock(&hvcsd->lock); hvcsd 535 drivers/tty/hvc/hvcs.c vio_disable_interrupts(hvcsd->vdev); hvcsd 536 drivers/tty/hvc/hvcs.c hvcsd->todo_mask |= HVCS_SCHED_READ; hvcsd 537 drivers/tty/hvc/hvcs.c spin_unlock(&hvcsd->lock); hvcsd 544 drivers/tty/hvc/hvcs.c static void hvcs_try_write(struct hvcs_struct *hvcsd) hvcsd 546 drivers/tty/hvc/hvcs.c uint32_t unit_address = hvcsd->vdev->unit_address; hvcsd 547 drivers/tty/hvc/hvcs.c struct tty_struct *tty = hvcsd->port.tty; hvcsd 550 drivers/tty/hvc/hvcs.c if (hvcsd->todo_mask & HVCS_TRY_WRITE) { hvcsd 553 drivers/tty/hvc/hvcs.c &hvcsd->buffer[0], hvcsd 554 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer ); hvcsd 556 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer = 0; hvcsd 558 drivers/tty/hvc/hvcs.c hvcsd->todo_mask &= ~(HVCS_TRY_WRITE); hvcsd 574 drivers/tty/hvc/hvcs.c static int hvcs_io(struct hvcs_struct *hvcsd) hvcsd 582 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 584 drivers/tty/hvc/hvcs.c unit_address = hvcsd->vdev->unit_address; hvcsd 585 drivers/tty/hvc/hvcs.c tty = hvcsd->port.tty; hvcsd 587 drivers/tty/hvc/hvcs.c hvcs_try_write(hvcsd); hvcsd 590 drivers/tty/hvc/hvcs.c hvcsd->todo_mask &= ~(HVCS_READ_MASK); hvcsd 592 drivers/tty/hvc/hvcs.c } else if (!(hvcsd->todo_mask & (HVCS_READ_MASK))) hvcsd 596 drivers/tty/hvc/hvcs.c hvcsd->todo_mask &= ~(HVCS_READ_MASK); hvcsd 598 drivers/tty/hvc/hvcs.c if (tty_buffer_request_room(&hvcsd->port, HVCS_BUFF_LEN) >= HVCS_BUFF_LEN) { hvcsd 602 drivers/tty/hvc/hvcs.c tty_insert_flip_string(&hvcsd->port, buf, got); hvcsd 607 drivers/tty/hvc/hvcs.c hvcsd->todo_mask |= HVCS_QUICK_READ; hvcsd 609 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 612 drivers/tty/hvc/hvcs.c tty_flip_buffer_push(&hvcsd->port); hvcsd 616 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 617 drivers/tty/hvc/hvcs.c vio_enable_interrupts(hvcsd->vdev); hvcsd 618 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 621 drivers/tty/hvc/hvcs.c return hvcsd->todo_mask; hvcsd 624 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 625 drivers/tty/hvc/hvcs.c return hvcsd->todo_mask; hvcsd 630 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd; hvcsd 641 drivers/tty/hvc/hvcs.c list_for_each_entry(hvcsd, &hvcs_structs, next) { hvcsd 642 drivers/tty/hvc/hvcs.c hvcs_todo_mask |= hvcs_io(hvcsd); hvcsd 686 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = container_of(p, struct hvcs_struct, port); hvcsd 691 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 694 drivers/tty/hvc/hvcs.c list_del(&(hvcsd->next)); hvcsd 696 drivers/tty/hvc/hvcs.c if (hvcsd->connected == 1) { hvcsd 697 drivers/tty/hvc/hvcs.c hvcs_partner_free(hvcsd); hvcsd 700 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address, hvcsd 701 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address, hvcsd 702 drivers/tty/hvc/hvcs.c (uint32_t)hvcsd->p_partition_ID); hvcsd 705 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address); hvcsd 707 drivers/tty/hvc/hvcs.c vdev = hvcsd->vdev; hvcsd 708 drivers/tty/hvc/hvcs.c hvcsd->vdev = NULL; hvcsd 710 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address = 0; hvcsd 711 drivers/tty/hvc/hvcs.c hvcsd->p_partition_ID = 0; hvcsd 712 drivers/tty/hvc/hvcs.c hvcs_return_index(hvcsd->index); hvcsd 713 drivers/tty/hvc/hvcs.c memset(&hvcsd->p_location_code[0], 0x00, HVCS_CLC_LENGTH + 1); hvcsd 715 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 720 drivers/tty/hvc/hvcs.c kfree(hvcsd); hvcsd 749 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd; hvcsd 771 drivers/tty/hvc/hvcs.c hvcsd = kzalloc(sizeof(*hvcsd), GFP_KERNEL); hvcsd 772 drivers/tty/hvc/hvcs.c if (!hvcsd) hvcsd 775 drivers/tty/hvc/hvcs.c tty_port_init(&hvcsd->port); hvcsd 776 drivers/tty/hvc/hvcs.c hvcsd->port.ops = &hvcs_port_ops; hvcsd 777 drivers/tty/hvc/hvcs.c spin_lock_init(&hvcsd->lock); hvcsd 779 drivers/tty/hvc/hvcs.c hvcsd->vdev = dev; hvcsd 780 drivers/tty/hvc/hvcs.c dev_set_drvdata(&dev->dev, hvcsd); hvcsd 782 drivers/tty/hvc/hvcs.c hvcsd->index = index; hvcsd 785 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer = 0; hvcsd 786 drivers/tty/hvc/hvcs.c hvcsd->todo_mask = 0; hvcsd 787 drivers/tty/hvc/hvcs.c hvcsd->connected = 0; hvcsd 793 drivers/tty/hvc/hvcs.c if (hvcs_get_pi(hvcsd)) { hvcsd 796 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address); hvcsd 805 drivers/tty/hvc/hvcs.c list_add_tail(&(hvcsd->next), &hvcs_structs); hvcsd 811 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address); hvcsd 826 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = dev_get_drvdata(&dev->dev); hvcsd 830 drivers/tty/hvc/hvcs.c if (!hvcsd) hvcsd 835 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 837 drivers/tty/hvc/hvcs.c tty = hvcsd->port.tty; hvcsd 839 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 845 drivers/tty/hvc/hvcs.c tty_port_put(&hvcsd->port); hvcsd 868 drivers/tty/hvc/hvcs.c static void hvcs_set_pi(struct hvcs_partner_info *pi, struct hvcs_struct *hvcsd) hvcsd 870 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address = pi->unit_address; hvcsd 871 drivers/tty/hvc/hvcs.c hvcsd->p_partition_ID = pi->partition_ID; hvcsd 874 drivers/tty/hvc/hvcs.c strlcpy(hvcsd->p_location_code, pi->location_code, hvcsd 875 drivers/tty/hvc/hvcs.c sizeof(hvcsd->p_location_code)); hvcsd 891 drivers/tty/hvc/hvcs.c static int hvcs_get_pi(struct hvcs_struct *hvcsd) hvcsd 894 drivers/tty/hvc/hvcs.c uint32_t unit_address = hvcsd->vdev->unit_address; hvcsd 912 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address = 0; hvcsd 913 drivers/tty/hvc/hvcs.c hvcsd->p_partition_ID = 0; hvcsd 916 drivers/tty/hvc/hvcs.c hvcs_set_pi(pi, hvcsd); hvcsd 928 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd; hvcsd 933 drivers/tty/hvc/hvcs.c list_for_each_entry(hvcsd, &hvcs_structs, next) { hvcsd 934 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 935 drivers/tty/hvc/hvcs.c hvcs_get_pi(hvcsd); hvcsd 936 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 949 drivers/tty/hvc/hvcs.c static int hvcs_has_pi(struct hvcs_struct *hvcsd) hvcsd 951 drivers/tty/hvc/hvcs.c if ((!hvcsd->p_unit_address) || (!hvcsd->p_partition_ID)) hvcsd 962 drivers/tty/hvc/hvcs.c static int hvcs_partner_connect(struct hvcs_struct *hvcsd) hvcsd 965 drivers/tty/hvc/hvcs.c unsigned int unit_address = hvcsd->vdev->unit_address; hvcsd 975 drivers/tty/hvc/hvcs.c hvcsd->p_partition_ID, hvcsd 976 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address); hvcsd 978 drivers/tty/hvc/hvcs.c hvcsd->connected = 1; hvcsd 987 drivers/tty/hvc/hvcs.c if (hvcs_get_pi(hvcsd)) hvcsd 990 drivers/tty/hvc/hvcs.c if (!hvcs_has_pi(hvcsd)) hvcsd 994 drivers/tty/hvc/hvcs.c hvcsd->p_partition_ID, hvcsd 995 drivers/tty/hvc/hvcs.c hvcsd->p_unit_address); hvcsd 997 drivers/tty/hvc/hvcs.c hvcsd->connected = 1; hvcsd 1013 drivers/tty/hvc/hvcs.c static void hvcs_partner_free(struct hvcs_struct *hvcsd) hvcsd 1017 drivers/tty/hvc/hvcs.c retval = hvcs_free_connection(hvcsd->vdev->unit_address); hvcsd 1019 drivers/tty/hvc/hvcs.c hvcsd->connected = 0; hvcsd 1023 drivers/tty/hvc/hvcs.c static int hvcs_enable_device(struct hvcs_struct *hvcsd, uint32_t unit_address, hvcsd 1033 drivers/tty/hvc/hvcs.c rc = request_irq(irq, &hvcs_handle_interrupt, 0, "ibmhvcs", hvcsd); hvcsd 1044 drivers/tty/hvc/hvcs.c free_irq(irq, hvcsd); hvcsd 1050 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1051 drivers/tty/hvc/hvcs.c hvcs_partner_free(hvcsd); hvcsd 1052 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1067 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd; hvcsd 1071 drivers/tty/hvc/hvcs.c list_for_each_entry(hvcsd, &hvcs_structs, next) { hvcsd 1072 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1073 drivers/tty/hvc/hvcs.c if (hvcsd->index == index) { hvcsd 1074 drivers/tty/hvc/hvcs.c tty_port_get(&hvcsd->port); hvcsd 1075 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1077 drivers/tty/hvc/hvcs.c return hvcsd; hvcsd 1079 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1088 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd; hvcsd 1098 drivers/tty/hvc/hvcs.c hvcsd = hvcs_get_by_index(tty->index); hvcsd 1099 drivers/tty/hvc/hvcs.c if (!hvcsd) { hvcsd 1105 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1107 drivers/tty/hvc/hvcs.c if (hvcsd->connected == 0) { hvcsd 1108 drivers/tty/hvc/hvcs.c retval = hvcs_partner_connect(hvcsd); hvcsd 1110 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1116 drivers/tty/hvc/hvcs.c hvcsd->port.count = 0; hvcsd 1117 drivers/tty/hvc/hvcs.c hvcsd->port.tty = tty; hvcsd 1118 drivers/tty/hvc/hvcs.c tty->driver_data = hvcsd; hvcsd 1120 drivers/tty/hvc/hvcs.c memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN); hvcsd 1126 drivers/tty/hvc/hvcs.c irq = hvcsd->vdev->irq; hvcsd 1127 drivers/tty/hvc/hvcs.c vdev = hvcsd->vdev; hvcsd 1128 drivers/tty/hvc/hvcs.c unit_address = hvcsd->vdev->unit_address; hvcsd 1130 drivers/tty/hvc/hvcs.c hvcsd->todo_mask |= HVCS_SCHED_READ; hvcsd 1131 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1137 drivers/tty/hvc/hvcs.c retval = hvcs_enable_device(hvcsd, unit_address, irq, vdev); hvcsd 1143 drivers/tty/hvc/hvcs.c retval = tty_port_install(&hvcsd->port, driver, tty); hvcsd 1149 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1150 drivers/tty/hvc/hvcs.c vio_disable_interrupts(hvcsd->vdev); hvcsd 1151 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1152 drivers/tty/hvc/hvcs.c free_irq(irq, hvcsd); hvcsd 1154 drivers/tty/hvc/hvcs.c tty_port_put(&hvcsd->port); hvcsd 1165 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 1168 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1169 drivers/tty/hvc/hvcs.c hvcsd->port.count++; hvcsd 1170 drivers/tty/hvc/hvcs.c hvcsd->todo_mask |= HVCS_SCHED_READ; hvcsd 1171 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1176 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address ); hvcsd 1183 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd; hvcsd 1202 drivers/tty/hvc/hvcs.c hvcsd = tty->driver_data; hvcsd 1204 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1205 drivers/tty/hvc/hvcs.c if (--hvcsd->port.count == 0) { hvcsd 1207 drivers/tty/hvc/hvcs.c vio_disable_interrupts(hvcsd->vdev); hvcsd 1214 drivers/tty/hvc/hvcs.c hvcsd->port.tty = NULL; hvcsd 1216 drivers/tty/hvc/hvcs.c irq = hvcsd->vdev->irq; hvcsd 1217 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1228 drivers/tty/hvc/hvcs.c free_irq(irq, hvcsd); hvcsd 1230 drivers/tty/hvc/hvcs.c } else if (hvcsd->port.count < 0) { hvcsd 1232 drivers/tty/hvc/hvcs.c hvcsd->vdev->unit_address, hvcsd->port.count); hvcsd 1235 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1240 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 1242 drivers/tty/hvc/hvcs.c tty_port_put(&hvcsd->port); hvcsd 1247 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 1252 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1254 drivers/tty/hvc/hvcs.c temp_open_count = hvcsd->port.count; hvcsd 1261 drivers/tty/hvc/hvcs.c vio_disable_interrupts(hvcsd->vdev); hvcsd 1263 drivers/tty/hvc/hvcs.c hvcsd->todo_mask = 0; hvcsd 1267 drivers/tty/hvc/hvcs.c hvcsd->port.tty = NULL; hvcsd 1269 drivers/tty/hvc/hvcs.c hvcsd->port.count = 0; hvcsd 1273 drivers/tty/hvc/hvcs.c memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN); hvcsd 1274 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer = 0; hvcsd 1276 drivers/tty/hvc/hvcs.c irq = hvcsd->vdev->irq; hvcsd 1278 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1280 drivers/tty/hvc/hvcs.c free_irq(irq, hvcsd); hvcsd 1294 drivers/tty/hvc/hvcs.c tty_port_put(&hvcsd->port); hvcsd 1308 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 1320 drivers/tty/hvc/hvcs.c if (!hvcsd) hvcsd 1332 drivers/tty/hvc/hvcs.c spin_lock_irqsave(&hvcsd->lock, flags); hvcsd 1340 drivers/tty/hvc/hvcs.c if (hvcsd->port.count <= 0) { hvcsd 1341 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1345 drivers/tty/hvc/hvcs.c unit_address = hvcsd->vdev->unit_address; hvcsd 1348 drivers/tty/hvc/hvcs.c tosend = min(count, (HVCS_BUFF_LEN - hvcsd->chars_in_buffer)); hvcsd 1356 drivers/tty/hvc/hvcs.c memcpy(&hvcsd->buffer[hvcsd->chars_in_buffer], hvcsd 1360 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer += tosend; hvcsd 1369 drivers/tty/hvc/hvcs.c if (!(hvcsd->todo_mask & HVCS_TRY_WRITE)) hvcsd 1372 drivers/tty/hvc/hvcs.c &hvcsd->buffer[0], hvcsd 1373 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer); hvcsd 1383 drivers/tty/hvc/hvcs.c hvcsd->todo_mask |= HVCS_TRY_WRITE; hvcsd 1388 drivers/tty/hvc/hvcs.c hvcsd->chars_in_buffer = 0; hvcsd 1397 drivers/tty/hvc/hvcs.c spin_unlock_irqrestore(&hvcsd->lock, flags); hvcsd 1412 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 1414 drivers/tty/hvc/hvcs.c if (!hvcsd || hvcsd->port.count <= 0) hvcsd 1417 drivers/tty/hvc/hvcs.c return HVCS_BUFF_LEN - hvcsd->chars_in_buffer; hvcsd 1422 drivers/tty/hvc/hvcs.c struct hvcs_struct *hvcsd = tty->driver_data; hvcsd 1424 drivers/tty/hvc/hvcs.c return hvcsd->chars_in_buffer;