diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2013-04-16 08:20:15 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-04-17 08:07:39 -0400 |
commit | 4e4d035a928340e828f633059b735901584c67a7 (patch) | |
tree | 6e7c5e1fc609e8c8074921f6c897be37ba401d8b /arch/s390/pci | |
parent | 89b0dc958b7ac08ecf23ca25df98f7effe897ed9 (diff) |
s390/pci: remove disable_device implementation
pci_disable_device is called by a driver after it stops using the pci
function - e.g. during the removal of the driver. The current
implementation removes the architecture specific information of this
function such that even after a call to pci_enable_device the pci
function is no longer usable. Just remove pcibios_disable_device.
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/pci')
-rw-r--r-- | arch/s390/pci/pci.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c index dd8e13ef506c..48de2be7b46a 100644 --- a/arch/s390/pci/pci.c +++ b/arch/s390/pci/pci.c | |||
@@ -600,19 +600,6 @@ static void zpci_map_resources(struct zpci_dev *zdev) | |||
600 | } | 600 | } |
601 | }; | 601 | }; |
602 | 602 | ||
603 | static void zpci_unmap_resources(struct pci_dev *pdev) | ||
604 | { | ||
605 | resource_size_t len; | ||
606 | int i; | ||
607 | |||
608 | for (i = 0; i < PCI_BAR_COUNT; i++) { | ||
609 | len = pci_resource_len(pdev, i); | ||
610 | if (!len) | ||
611 | continue; | ||
612 | pci_iounmap(pdev, (void *) pdev->resource[i].start); | ||
613 | } | ||
614 | }; | ||
615 | |||
616 | struct zpci_dev *zpci_alloc_device(void) | 603 | struct zpci_dev *zpci_alloc_device(void) |
617 | { | 604 | { |
618 | struct zpci_dev *zdev; | 605 | struct zpci_dev *zdev; |
@@ -640,21 +627,6 @@ void zpci_free_device(struct zpci_dev *zdev) | |||
640 | kfree(zdev); | 627 | kfree(zdev); |
641 | } | 628 | } |
642 | 629 | ||
643 | /* Called on removal of pci_dev, leaves zpci and bus device */ | ||
644 | static void zpci_remove_device(struct pci_dev *pdev) | ||
645 | { | ||
646 | struct zpci_dev *zdev = get_zdev(pdev); | ||
647 | |||
648 | dev_info(&pdev->dev, "Removing device %u\n", zdev->domain); | ||
649 | zdev->state = ZPCI_FN_STATE_CONFIGURED; | ||
650 | zpci_dma_exit_device(zdev); | ||
651 | zpci_fmb_disable_device(zdev); | ||
652 | zpci_sysfs_remove_device(&pdev->dev); | ||
653 | zpci_unmap_resources(pdev); | ||
654 | list_del(&zdev->entry); /* can be called from init */ | ||
655 | zdev->pdev = NULL; | ||
656 | } | ||
657 | |||
658 | static void zpci_scan_devices(void) | 630 | static void zpci_scan_devices(void) |
659 | { | 631 | { |
660 | struct zpci_dev *zdev; | 632 | struct zpci_dev *zdev; |
@@ -692,12 +664,6 @@ int pcibios_enable_device(struct pci_dev *pdev, int mask) | |||
692 | return 0; | 664 | return 0; |
693 | } | 665 | } |
694 | 666 | ||
695 | void pcibios_disable_device(struct pci_dev *pdev) | ||
696 | { | ||
697 | zpci_remove_device(pdev); | ||
698 | pdev->sysdata = NULL; | ||
699 | } | ||
700 | |||
701 | int pcibios_add_platform_entries(struct pci_dev *pdev) | 667 | int pcibios_add_platform_entries(struct pci_dev *pdev) |
702 | { | 668 | { |
703 | return zpci_sysfs_add_device(&pdev->dev); | 669 | return zpci_sysfs_add_device(&pdev->dev); |