diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 13:21:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 13:21:22 -0500 |
commit | 45bfe98bd790b5ded00462cd582effcfb42263cc (patch) | |
tree | d4a1f2c5303dda106635b615f8f40ea9104bf25e /drivers | |
parent | 9f5974c8734d83d4ab7096ed98136a82f41210d6 (diff) | |
parent | 624cee31bcb14bfd85559fbec5dd7bb833542965 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Fix up delete/modify conflict of arch/ppc/kernel/process.c by hand (it's
gone, gone, gone).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/block/viodasd.c | 32 | ||||
-rw-r--r-- | drivers/cdrom/viocd.c | 6 | ||||
-rw-r--r-- | drivers/char/mem.c | 8 | ||||
-rw-r--r-- | drivers/char/viocons.c | 31 | ||||
-rw-r--r-- | drivers/net/iseries_veth.c | 4 |
5 files changed, 39 insertions, 42 deletions
diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c index d1aaf31bd97e..f63e07bd9f9c 100644 --- a/drivers/block/viodasd.c +++ b/drivers/block/viodasd.c | |||
@@ -293,6 +293,7 @@ static int send_request(struct request *req) | |||
293 | u16 viocmd; | 293 | u16 viocmd; |
294 | HvLpEvent_Rc hvrc; | 294 | HvLpEvent_Rc hvrc; |
295 | struct vioblocklpevent *bevent; | 295 | struct vioblocklpevent *bevent; |
296 | struct HvLpEvent *hev; | ||
296 | struct scatterlist sg[VIOMAXBLOCKDMA]; | 297 | struct scatterlist sg[VIOMAXBLOCKDMA]; |
297 | int sgindex; | 298 | int sgindex; |
298 | int statindex; | 299 | int statindex; |
@@ -347,22 +348,19 @@ static int send_request(struct request *req) | |||
347 | * token so we can match the response up later | 348 | * token so we can match the response up later |
348 | */ | 349 | */ |
349 | memset(bevent, 0, sizeof(struct vioblocklpevent)); | 350 | memset(bevent, 0, sizeof(struct vioblocklpevent)); |
350 | bevent->event.xFlags.xValid = 1; | 351 | hev = &bevent->event; |
351 | bevent->event.xFlags.xFunction = HvLpEvent_Function_Int; | 352 | hev->flags = HV_LP_EVENT_VALID | HV_LP_EVENT_DO_ACK | |
352 | bevent->event.xFlags.xAckInd = HvLpEvent_AckInd_DoAck; | 353 | HV_LP_EVENT_INT; |
353 | bevent->event.xFlags.xAckType = HvLpEvent_AckType_ImmediateAck; | 354 | hev->xType = HvLpEvent_Type_VirtualIo; |
354 | bevent->event.xType = HvLpEvent_Type_VirtualIo; | 355 | hev->xSubtype = viocmd; |
355 | bevent->event.xSubtype = viocmd; | 356 | hev->xSourceLp = HvLpConfig_getLpIndex(); |
356 | bevent->event.xSourceLp = HvLpConfig_getLpIndex(); | 357 | hev->xTargetLp = viopath_hostLp; |
357 | bevent->event.xTargetLp = viopath_hostLp; | 358 | hev->xSizeMinus1 = |
358 | bevent->event.xSizeMinus1 = | ||
359 | offsetof(struct vioblocklpevent, u.rw_data.dma_info) + | 359 | offsetof(struct vioblocklpevent, u.rw_data.dma_info) + |
360 | (sizeof(bevent->u.rw_data.dma_info[0]) * nsg) - 1; | 360 | (sizeof(bevent->u.rw_data.dma_info[0]) * nsg) - 1; |
361 | bevent->event.xSourceInstanceId = | 361 | hev->xSourceInstanceId = viopath_sourceinst(viopath_hostLp); |
362 | viopath_sourceinst(viopath_hostLp); | 362 | hev->xTargetInstanceId = viopath_targetinst(viopath_hostLp); |
363 | bevent->event.xTargetInstanceId = | 363 | hev->xCorrelationToken = (u64)req; |
364 | viopath_targetinst(viopath_hostLp); | ||
365 | bevent->event.xCorrelationToken = (u64)req; | ||
366 | bevent->version = VIOVERSION; | 364 | bevent->version = VIOVERSION; |
367 | bevent->disk = DEVICE_NO(d); | 365 | bevent->disk = DEVICE_NO(d); |
368 | bevent->u.rw_data.offset = start; | 366 | bevent->u.rw_data.offset = start; |
@@ -649,10 +647,10 @@ static void handle_block_event(struct HvLpEvent *event) | |||
649 | /* Notification that a partition went away! */ | 647 | /* Notification that a partition went away! */ |
650 | return; | 648 | return; |
651 | /* First, we should NEVER get an int here...only acks */ | 649 | /* First, we should NEVER get an int here...only acks */ |
652 | if (event->xFlags.xFunction == HvLpEvent_Function_Int) { | 650 | if (hvlpevent_is_int(event)) { |
653 | printk(VIOD_KERN_WARNING | 651 | printk(VIOD_KERN_WARNING |
654 | "Yikes! got an int in viodasd event handler!\n"); | 652 | "Yikes! got an int in viodasd event handler!\n"); |
655 | if (event->xFlags.xAckInd == HvLpEvent_AckInd_DoAck) { | 653 | if (hvlpevent_need_ack(event)) { |
656 | event->xRc = HvLpEvent_Rc_InvalidSubtype; | 654 | event->xRc = HvLpEvent_Rc_InvalidSubtype; |
657 | HvCallEvent_ackLpEvent(event); | 655 | HvCallEvent_ackLpEvent(event); |
658 | } | 656 | } |
@@ -695,7 +693,7 @@ static void handle_block_event(struct HvLpEvent *event) | |||
695 | 693 | ||
696 | default: | 694 | default: |
697 | printk(VIOD_KERN_WARNING "invalid subtype!"); | 695 | printk(VIOD_KERN_WARNING "invalid subtype!"); |
698 | if (event->xFlags.xAckInd == HvLpEvent_AckInd_DoAck) { | 696 | if (hvlpevent_need_ack(event)) { |
699 | event->xRc = HvLpEvent_Rc_InvalidSubtype; | 697 | event->xRc = HvLpEvent_Rc_InvalidSubtype; |
700 | HvCallEvent_ackLpEvent(event); | 698 | HvCallEvent_ackLpEvent(event); |
701 | } | 699 | } |
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c index b5191780ecca..193446e6a08a 100644 --- a/drivers/cdrom/viocd.c +++ b/drivers/cdrom/viocd.c | |||
@@ -542,10 +542,10 @@ static void vio_handle_cd_event(struct HvLpEvent *event) | |||
542 | /* Notification that a partition went away! */ | 542 | /* Notification that a partition went away! */ |
543 | return; | 543 | return; |
544 | /* First, we should NEVER get an int here...only acks */ | 544 | /* First, we should NEVER get an int here...only acks */ |
545 | if (event->xFlags.xFunction == HvLpEvent_Function_Int) { | 545 | if (hvlpevent_is_int(event)) { |
546 | printk(VIOCD_KERN_WARNING | 546 | printk(VIOCD_KERN_WARNING |
547 | "Yikes! got an int in viocd event handler!\n"); | 547 | "Yikes! got an int in viocd event handler!\n"); |
548 | if (event->xFlags.xAckInd == HvLpEvent_AckInd_DoAck) { | 548 | if (hvlpevent_need_ack(event)) { |
549 | event->xRc = HvLpEvent_Rc_InvalidSubtype; | 549 | event->xRc = HvLpEvent_Rc_InvalidSubtype; |
550 | HvCallEvent_ackLpEvent(event); | 550 | HvCallEvent_ackLpEvent(event); |
551 | } | 551 | } |
@@ -616,7 +616,7 @@ return_complete: | |||
616 | printk(VIOCD_KERN_WARNING | 616 | printk(VIOCD_KERN_WARNING |
617 | "message with invalid subtype %0x04X!\n", | 617 | "message with invalid subtype %0x04X!\n", |
618 | event->xSubtype & VIOMINOR_SUBTYPE_MASK); | 618 | event->xSubtype & VIOMINOR_SUBTYPE_MASK); |
619 | if (event->xFlags.xAckInd == HvLpEvent_AckInd_DoAck) { | 619 | if (hvlpevent_need_ack(event)) { |
620 | event->xRc = HvLpEvent_Rc_InvalidSubtype; | 620 | event->xRc = HvLpEvent_Rc_InvalidSubtype; |
621 | HvCallEvent_ackLpEvent(event); | 621 | HvCallEvent_ackLpEvent(event); |
622 | } | 622 | } |
diff --git a/drivers/char/mem.c b/drivers/char/mem.c index 704c3c07f0ab..29c41f4418c0 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c | |||
@@ -534,7 +534,7 @@ static ssize_t write_kmem(struct file * file, const char __user * buf, | |||
534 | return virtr + wrote; | 534 | return virtr + wrote; |
535 | } | 535 | } |
536 | 536 | ||
537 | #if (defined(CONFIG_ISA) || !defined(__mc68000__)) && (!defined(CONFIG_PPC_ISERIES) || defined(CONFIG_PCI)) | 537 | #if defined(CONFIG_ISA) || !defined(__mc68000__) |
538 | static ssize_t read_port(struct file * file, char __user * buf, | 538 | static ssize_t read_port(struct file * file, char __user * buf, |
539 | size_t count, loff_t *ppos) | 539 | size_t count, loff_t *ppos) |
540 | { | 540 | { |
@@ -795,7 +795,7 @@ static struct file_operations null_fops = { | |||
795 | .write = write_null, | 795 | .write = write_null, |
796 | }; | 796 | }; |
797 | 797 | ||
798 | #if (defined(CONFIG_ISA) || !defined(__mc68000__)) && (!defined(CONFIG_PPC_ISERIES) || defined(CONFIG_PCI)) | 798 | #if defined(CONFIG_ISA) || !defined(__mc68000__) |
799 | static struct file_operations port_fops = { | 799 | static struct file_operations port_fops = { |
800 | .llseek = memory_lseek, | 800 | .llseek = memory_lseek, |
801 | .read = read_port, | 801 | .read = read_port, |
@@ -865,7 +865,7 @@ static int memory_open(struct inode * inode, struct file * filp) | |||
865 | case 3: | 865 | case 3: |
866 | filp->f_op = &null_fops; | 866 | filp->f_op = &null_fops; |
867 | break; | 867 | break; |
868 | #if (defined(CONFIG_ISA) || !defined(__mc68000__)) && (!defined(CONFIG_PPC_ISERIES) || defined(CONFIG_PCI)) | 868 | #if defined(CONFIG_ISA) || !defined(__mc68000__) |
869 | case 4: | 869 | case 4: |
870 | filp->f_op = &port_fops; | 870 | filp->f_op = &port_fops; |
871 | break; | 871 | break; |
@@ -912,7 +912,7 @@ static const struct { | |||
912 | {1, "mem", S_IRUSR | S_IWUSR | S_IRGRP, &mem_fops}, | 912 | {1, "mem", S_IRUSR | S_IWUSR | S_IRGRP, &mem_fops}, |
913 | {2, "kmem", S_IRUSR | S_IWUSR | S_IRGRP, &kmem_fops}, | 913 | {2, "kmem", S_IRUSR | S_IWUSR | S_IRGRP, &kmem_fops}, |
914 | {3, "null", S_IRUGO | S_IWUGO, &null_fops}, | 914 | {3, "null", S_IRUGO | S_IWUGO, &null_fops}, |
915 | #if (defined(CONFIG_ISA) || !defined(__mc68000__)) && (!defined(CONFIG_PPC_ISERIES) || defined(CONFIG_PCI)) | 915 | #if defined(CONFIG_ISA) || !defined(__mc68000__) |
916 | {4, "port", S_IRUSR | S_IWUSR | S_IRGRP, &port_fops}, | 916 | {4, "port", S_IRUSR | S_IWUSR | S_IRGRP, &port_fops}, |
917 | #endif | 917 | #endif |
918 | {5, "zero", S_IRUGO | S_IWUGO, &zero_fops}, | 918 | {5, "zero", S_IRUGO | S_IWUGO, &zero_fops}, |
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c index faee5e7acaf7..4e5360388748 100644 --- a/drivers/char/viocons.c +++ b/drivers/char/viocons.c | |||
@@ -476,19 +476,19 @@ static struct port_info *get_port_data(struct tty_struct *tty) | |||
476 | */ | 476 | */ |
477 | static void initDataEvent(struct viocharlpevent *viochar, HvLpIndex lp) | 477 | static void initDataEvent(struct viocharlpevent *viochar, HvLpIndex lp) |
478 | { | 478 | { |
479 | struct HvLpEvent *hev = &viochar->event; | ||
480 | |||
479 | memset(viochar, 0, sizeof(struct viocharlpevent)); | 481 | memset(viochar, 0, sizeof(struct viocharlpevent)); |
480 | 482 | ||
481 | viochar->event.xFlags.xValid = 1; | 483 | hev->flags = HV_LP_EVENT_VALID | HV_LP_EVENT_DEFERRED_ACK | |
482 | viochar->event.xFlags.xFunction = HvLpEvent_Function_Int; | 484 | HV_LP_EVENT_INT; |
483 | viochar->event.xFlags.xAckInd = HvLpEvent_AckInd_NoAck; | 485 | hev->xType = HvLpEvent_Type_VirtualIo; |
484 | viochar->event.xFlags.xAckType = HvLpEvent_AckType_DeferredAck; | 486 | hev->xSubtype = viomajorsubtype_chario | viochardata; |
485 | viochar->event.xType = HvLpEvent_Type_VirtualIo; | 487 | hev->xSourceLp = HvLpConfig_getLpIndex(); |
486 | viochar->event.xSubtype = viomajorsubtype_chario | viochardata; | 488 | hev->xTargetLp = lp; |
487 | viochar->event.xSourceLp = HvLpConfig_getLpIndex(); | 489 | hev->xSizeMinus1 = sizeof(struct viocharlpevent); |
488 | viochar->event.xTargetLp = lp; | 490 | hev->xSourceInstanceId = viopath_sourceinst(lp); |
489 | viochar->event.xSizeMinus1 = sizeof(struct viocharlpevent); | 491 | hev->xTargetInstanceId = viopath_targetinst(lp); |
490 | viochar->event.xSourceInstanceId = viopath_sourceinst(lp); | ||
491 | viochar->event.xTargetInstanceId = viopath_targetinst(lp); | ||
492 | } | 492 | } |
493 | 493 | ||
494 | /* | 494 | /* |
@@ -752,7 +752,7 @@ static void vioHandleOpenEvent(struct HvLpEvent *event) | |||
752 | struct port_info *pi; | 752 | struct port_info *pi; |
753 | int reject = 0; | 753 | int reject = 0; |
754 | 754 | ||
755 | if (event->xFlags.xFunction == HvLpEvent_Function_Ack) { | 755 | if (hvlpevent_is_ack(event)) { |
756 | if (port >= VTTY_PORTS) | 756 | if (port >= VTTY_PORTS) |
757 | return; | 757 | return; |
758 | 758 | ||
@@ -788,7 +788,7 @@ static void vioHandleOpenEvent(struct HvLpEvent *event) | |||
788 | } | 788 | } |
789 | 789 | ||
790 | /* This had better require an ack, otherwise complain */ | 790 | /* This had better require an ack, otherwise complain */ |
791 | if (event->xFlags.xAckInd != HvLpEvent_AckInd_DoAck) { | 791 | if (!hvlpevent_need_ack(event)) { |
792 | printk(VIOCONS_KERN_WARN "viocharopen without ack bit!\n"); | 792 | printk(VIOCONS_KERN_WARN "viocharopen without ack bit!\n"); |
793 | return; | 793 | return; |
794 | } | 794 | } |
@@ -856,7 +856,7 @@ static void vioHandleCloseEvent(struct HvLpEvent *event) | |||
856 | struct viocharlpevent *cevent = (struct viocharlpevent *)event; | 856 | struct viocharlpevent *cevent = (struct viocharlpevent *)event; |
857 | u8 port = cevent->virtual_device; | 857 | u8 port = cevent->virtual_device; |
858 | 858 | ||
859 | if (event->xFlags.xFunction == HvLpEvent_Function_Int) { | 859 | if (hvlpevent_is_int(event)) { |
860 | if (port >= VTTY_PORTS) { | 860 | if (port >= VTTY_PORTS) { |
861 | printk(VIOCONS_KERN_WARN | 861 | printk(VIOCONS_KERN_WARN |
862 | "close message from invalid virtual device.\n"); | 862 | "close message from invalid virtual device.\n"); |
@@ -1056,8 +1056,7 @@ static void vioHandleCharEvent(struct HvLpEvent *event) | |||
1056 | vioHandleConfig(event); | 1056 | vioHandleConfig(event); |
1057 | break; | 1057 | break; |
1058 | default: | 1058 | default: |
1059 | if ((event->xFlags.xFunction == HvLpEvent_Function_Int) && | 1059 | if (hvlpevent_is_int(event) && hvlpevent_need_ack(event)) { |
1060 | (event->xFlags.xAckInd == HvLpEvent_AckInd_DoAck)) { | ||
1061 | event->xRc = HvLpEvent_Rc_InvalidSubtype; | 1060 | event->xRc = HvLpEvent_Rc_InvalidSubtype; |
1062 | HvCallEvent_ackLpEvent(event); | 1061 | HvCallEvent_ackLpEvent(event); |
1063 | } | 1062 | } |
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c index 77eadf84cb2c..f0f04be989d6 100644 --- a/drivers/net/iseries_veth.c +++ b/drivers/net/iseries_veth.c | |||
@@ -590,9 +590,9 @@ static void veth_handle_event(struct HvLpEvent *event, struct pt_regs *regs) | |||
590 | { | 590 | { |
591 | struct veth_lpevent *veth_event = (struct veth_lpevent *)event; | 591 | struct veth_lpevent *veth_event = (struct veth_lpevent *)event; |
592 | 592 | ||
593 | if (event->xFlags.xFunction == HvLpEvent_Function_Ack) | 593 | if (hvlpevent_is_ack(event)) |
594 | veth_handle_ack(veth_event); | 594 | veth_handle_ack(veth_event); |
595 | else if (event->xFlags.xFunction == HvLpEvent_Function_Int) | 595 | else |
596 | veth_handle_int(veth_event); | 596 | veth_handle_int(veth_event); |
597 | } | 597 | } |
598 | 598 | ||