pci: Remove pci_enable_device_bars()
Subsystems (3)
PATCH 3/3 pci: Remove pci_enable_device_bars()
Now that all in-tree users are gone, this removes pci_enable_device_bars() completely.
---
drivers/pci/pci.c | 24 ------------------------ include/linux/pci.h | 1 - 2 files changed, 25 deletions(-)
drivers/pci/pci.c +0 -24
@@ -713,29 +713,6 @@ int pci_reenable_device(struct pci_dev *return 0 ; } -/** -* pci_enable_device_bars - Initialize some of a device for use -* @dev: PCI device to be initialized -* @bars: bitmask of BAR's that must be configured -* -* Initialize device before it's used by a driver. Ask low-level code -* to enable selected I/O and memory resources. Wake up the device if it -* was suspended. Beware, this function can fail. -*/ -int -pci_enable_device_bars (struct pci_dev *dev,int bars) -{ -int err; - -if (atomic_add_return (1 , &dev->enable_cnt) >1 ) -return 0 ;/* already enabled */ - - err =do_pci_enable_device (dev, bars); -if (err <0 ) -atomic_dec (&dev->enable_cnt); -return err; -} -static int __pci_enable_device_flags (struct pci_dev *dev,resource_size_t flags) {
@@ -1665,7 +1642,6 @@ device_initcall(pci_init);EXPORT_SYMBOL_GPL (pci_restore_bars);EXPORT_SYMBOL (pci_reenable_device); -EXPORT_SYMBOL (pci_enable_device_bars);EXPORT_SYMBOL (pci_enable_device_io);EXPORT_SYMBOL (pci_enable_device_mem);EXPORT_SYMBOL (pci_enable_device);
include/linux/pci.h +0 -1
@@ -547,7 +547,6 @@ static inline int pci_write_config_dword }int __must_check pci_enable_device (struct pci_dev *dev); -int __must_check pci_enable_device_bars (struct pci_dev *dev,int mask);int __must_check pci_enable_device_io (struct pci_dev *dev);int __must_check pci_enable_device_mem (struct pci_dev *dev);int __must_check pci_reenable_device (struct pci_dev *);
[email protected]
Appliedpatch pci-remove-pci_enable_device_bars.patch added to gregkh-2.6 tree
This is a note to let you know that I've just added the patch titled
Subject: PCI: Remove pci_enable_device_bars()
to my gregkh-2.6 tree. Its filename is
pci-remove-pci_enable_device_bars.patch
This tree can be found at
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/
Quoted 1 line
From [email protected] Wed Dec 19 20:30:57 2007
From: Benjamin Herrenschmidt <[email protected]>
Date: Thu, 20 Dec 2007 15:28:10 +1100
Subject: PCI: Remove pci_enable_device_bars()
To: Greg Kroah-Hartman <[email protected]>
Cc: [email protected], <[email protected]>, <[email protected]>, Alan Cox <[email protected]>, <[email protected]>, <[email protected]>, Bartlomiej Zolnierkiewicz <[email protected]>
Message-ID: <[email protected]>
Now that all in-tree users are gone, this removes pci_enable_device_bars() completely.
--- drivers/pci/pci.c | 24 ------------------------ include/linux/pci.h | 1 - 2 files changed, 25 deletions(-)
drivers/pci/pci.c +0 -24
@@ -741,29 +741,6 @@ int pci_reenable_device(struct pci_dev *return 0 ; } -/** -* pci_enable_device_bars - Initialize some of a device for use -* @dev: PCI device to be initialized -* @bars: bitmask of BAR's that must be configured -* -* Initialize device before it's used by a driver. Ask low-level code -* to enable selected I/O and memory resources. Wake up the device if it -* was suspended. Beware, this function can fail. -*/ -int -pci_enable_device_bars (struct pci_dev *dev,int bars) -{ -int err; - -if (atomic_add_return (1 , &dev->enable_cnt) >1 ) -return 0 ;/* already enabled */ - - err =do_pci_enable_device (dev, bars); -if (err <0 ) -atomic_dec (&dev->enable_cnt); -return err; -} -static int __pci_enable_device_flags (struct pci_dev *dev,resource_size_t flags) {
@@ -1695,7 +1672,6 @@ early_param("pci", pci_setup);device_initcall (pci_init);EXPORT_SYMBOL (pci_reenable_device); -EXPORT_SYMBOL (pci_enable_device_bars);EXPORT_SYMBOL (pci_enable_device_io);EXPORT_SYMBOL (pci_enable_device_mem);EXPORT_SYMBOL (pci_enable_device);
include/linux/pci.h +0 -1
@@ -543,7 +543,6 @@ static inline int pci_write_config_dword }int __must_check pci_enable_device (struct pci_dev *dev); -int __must_check pci_enable_device_bars (struct pci_dev *dev,int mask);int __must_check pci_enable_device_io (struct pci_dev *dev);int __must_check pci_enable_device_mem (struct pci_dev *dev);int __must_check pci_reenable_device (struct pci_dev *);
Patches currently in gregkh-2.6 which might be from [email protected] are
bad/battery-class-driver.patch driver/adb-convert-from-class_device-to-device.patch driver/kobject-convert-hvc_console-to-use-kref-not-kobject.patch driver/kobject-convert-hvcs-to-use-kref-not-kobject.patch driver/kobject-convert-icom-to-use-kref-not-kobject.patch pci/pci-fix-bus-resource-assignment-on-32-bits-with-64b-resources.patch pci/pci-fix-warning-in-setup-res.c-on-32-bit-platforms-with-64-bit-resources.patch pci/pci-add-pci_enable_device_-io-mem-intefaces.patch pci/pci-remove-pci_enable_device_bars.patch pci/pci-remove-users-of-pci_enable_device_bars.patch usb/usb-remove-ohci-useless-masking-unmasking-of-wdh-interrupt.patch
Quoted 2 lines · Benjamin Herrenschmidt
Now that all in-tree users are gone, this removes
pci_enable_device_bars()completely.
Hm, looks like you missed drivers/scsi/qla2xxx/qla_os.c
Quick, before akpm gets mad at you for breaking the build, send me a patch! :)
thanks,
greg k-h
Quoted 8 lines · Greg KH
Quoted 2 lines · Benjamin Herrenschmidt
Now that all in-tree users are gone, this removes
pci_enable_device_bars()completely.Hm, looks like you missed
drivers/scsi/qla2xxx/qla_os.cQuick, before akpm gets mad at you for breaking the build, send me a patch! :)
Argh... there was 2 users in that file and I fixed only one...
Followup patch in a blink.
Cheers,
Ben.
pci: Remove pci_enable_device_bars() fix for qla
The previous patch missed one occurence of pci_enable_device_bars() in the qla2xxx driver. This fixes it.
---
drivers/scsi/qla2xxx/qla_def.h +1 -0
@@ -2272,6 +2272,7 @@ typedef struct scsi_qla_host {spinlock_t hardware_lock____cacheline_aligned ;int bars; +int mem_only;device_reg_t __iomem *iobase;/* Base I/O address */ unsigned long pio_address;unsigned long pio_length;
drivers/scsi/qla2xxx/qla_os.c +8 -1
@@ -1626,6 +1626,7 @@ qla2x00_probe_one(struct pci_dev *pdev,sprintf (ha->host_str,"%s_%ld" ,QLA2XXX_DRIVER_NAME , ha->host_no); ha->parent =NULL ; ha->bars = bars; + ha->mem_only = mem_only;/* Set ISP-type information. */ qla2x00_set_isp_flags (ha);
@@ -2905,8 +2906,14 @@ qla2xxx_pci_slot_reset(struct pci_dev *p {pci_ers_result_t ret =PCI_ERS_RESULT_DISCONNECT ;scsi_qla_host_t *ha =pci_get_drvdata (pdev); +int rc; -if (pci_enable_device_bars (pdev, ha->bars)) { +if (ha->mem_only) + rc =pci_enable_device_mem (pdev); +else + rc =pci_enable_device (pdev); + +if (rc) {qla_printk (KERN_WARNING , ha,"Can't re-enable PCI device after reset.\n" );
Quoted 4 lines · Benjamin Herrenschmidt
pci: Remove
pci_enable_device_bars()fix for qlaThe previous patch missed one occurence of
pci_enable_device_bars()in the qla2xxx driver. This fixes it.
Should I just merge this with your 2/3 patch so everything is sane?
thanks,
greg k-h
Quoted 7 lines · Greg KH
Quoted 4 lines · Benjamin Herrenschmidt
pci: Remove
pci_enable_device_bars()fix for qlaThe previous patch missed one occurence of
pci_enable_device_bars()in the qla2xxx driver. This fixes it.Should I just merge this with your 2/3 patch so everything is sane?
Sure.
Cheers,
Ben.
Quoted 11 lines · Benjamin Herrenschmidt
Quoted 7 lines · Greg KH
Quoted 4 lines · Benjamin Herrenschmidt
pci: Remove
pci_enable_device_bars()fix for qlaThe previous patch missed one occurence of
pci_enable_device_bars()in the qla2xxx driver. This fixes it.Should I just merge this with your 2/3 patch so everything is sane?
Sure.
Ok, now merged and pushed out, thanks.
greg k-h