[PATCH] rpaphp.patch -- multi-function devices not handled correctly

Linda Xie lxiep at us.ibm.com
Thu May 20 11:57:45 EST 2004


Hi Greg,

I  made changes to rpaphp code, so it can handle multi-fuction
devices correctly. The problem is that the pci_dev field of slot struct
can only record one pci_dev of  the devices of a multi-fuction card.
I changed pci_dev (a single pci_dev type pointer) to pci_funcs( a list of
pci_dev type pointers). I  rewrote some of the config/unconfig code
to support  the slot struct change.

Along with above changes,  I added LDRSLOT(logical I/O slot) support.
We need LDRSLOT support for DLPAR I/O.  A card in a LDRSLOT can't
be physically removed, but can be logically removed  from one partiton and
reassinged to another partition.

I also merged rpaphp changes from ames tree.

Can pci_scan_child_bus be exported? I pasted it in rpaphp_pci.c for
temparary
use.


Please review the attached patch.

Thanks,

Linda

BTW, here is the changset:

ChangeSet at 1.1749, 2004-05-19 18:57:22-05:00, lxie at threadlp13.austin.ibm.com
  drivers/pci/hotplug/rpadlpar_core.c
      Moved is_hotplug_capable to rpaphp.h bcause rpaphp also needs it.
  drivers/pci/hotplug/rpaphp.h
      Changed pci_dev of slot struct to pci_funcs to record a list of
      functions in the slot
  drivers/pci/hotplug/rpaphp_core.c
       - Merged changes from ames tree.
       - Added LDRSLOT support.
       - Rewrote a couple of routines.
  drivers/pci/hotplug/rpaphp_pci.c
      - Rewrote cofig code to handle multi-function devices correctly.
      - Merged changes from ames tree.
  drivers/pci/hotplug/rpaphp_slot.c
      Added free pci_fucs of a slot in dealloc_slot_struct



-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rpaphp.patch
Url: http://ozlabs.org/pipermail/linuxppc64-dev/attachments/20040519/f78082ee/attachment.txt 


More information about the Linuxppc64-dev mailing list