Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-21 Thread Greg KH
On Fri, Dec 21, 2007 at 04:32:11PM +1100, Benjamin Herrenschmidt wrote:
> 
> On Thu, 2007-12-20 at 21:11 -0800, Greg KH wrote:
> > On Fri, Dec 21, 2007 at 03:47:28PM +1100, Benjamin Herrenschmidt wrote:
> > > 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.
> > 
> > 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-21 Thread Greg KH
On Fri, Dec 21, 2007 at 04:32:11PM +1100, Benjamin Herrenschmidt wrote:
 
 On Thu, 2007-12-20 at 21:11 -0800, Greg KH wrote:
  On Fri, Dec 21, 2007 at 03:47:28PM +1100, Benjamin Herrenschmidt wrote:
   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.
  
  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
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Benjamin Herrenschmidt

On Thu, 2007-12-20 at 21:11 -0800, Greg KH wrote:
> On Fri, Dec 21, 2007 at 03:47:28PM +1100, Benjamin Herrenschmidt wrote:
> > 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.
> 
> Should I just merge this with your 2/3 patch so everything is sane?

Sure.

Cheers,
Ben.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Greg KH
On Fri, Dec 21, 2007 at 03:47:28PM +1100, Benjamin Herrenschmidt wrote:
> 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.

Should I just merge this with your 2/3 patch so everything is sane?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Benjamin Herrenschmidt
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.

Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

Index: linux-merge/drivers/scsi/qla2xxx/qla_def.h
===
--- linux-merge.orig/drivers/scsi/qla2xxx/qla_def.h 2007-12-21 
15:45:41.0 +1100
+++ linux-merge/drivers/scsi/qla2xxx/qla_def.h  2007-12-21 15:46:12.0 
+1100
@@ -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;
Index: linux-merge/drivers/scsi/qla2xxx/qla_os.c
===
--- linux-merge.orig/drivers/scsi/qla2xxx/qla_os.c  2007-12-21 
15:46:10.0 +1100
+++ linux-merge/drivers/scsi/qla2xxx/qla_os.c   2007-12-21 15:46:12.0 
+1100
@@ -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");
 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Benjamin Herrenschmidt

On Thu, 2007-12-20 at 20:28 -0800, Greg KH wrote:
> On Thu, Dec 20, 2007 at 03:28:10PM +1100, Benjamin Herrenschmidt wrote:
> > 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!  :)

Argh... there was 2 users in that file and I fixed only one...

Followup patch in a blink.

Cheers,
Ben.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Greg KH
On Thu, Dec 20, 2007 at 03:28:10PM +1100, Benjamin Herrenschmidt wrote:
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Greg KH
On Thu, Dec 20, 2007 at 03:28:10PM +1100, Benjamin Herrenschmidt wrote:
 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
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Benjamin Herrenschmidt

On Thu, 2007-12-20 at 20:28 -0800, Greg KH wrote:
 On Thu, Dec 20, 2007 at 03:28:10PM +1100, Benjamin Herrenschmidt wrote:
  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!  :)

Argh... there was 2 users in that file and I fixed only one...

Followup patch in a blink.

Cheers,
Ben.


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Benjamin Herrenschmidt
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.

Signed-off-by: Benjamin Herrenschmidt [EMAIL PROTECTED]
---

Index: linux-merge/drivers/scsi/qla2xxx/qla_def.h
===
--- linux-merge.orig/drivers/scsi/qla2xxx/qla_def.h 2007-12-21 
15:45:41.0 +1100
+++ linux-merge/drivers/scsi/qla2xxx/qla_def.h  2007-12-21 15:46:12.0 
+1100
@@ -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;
Index: linux-merge/drivers/scsi/qla2xxx/qla_os.c
===
--- linux-merge.orig/drivers/scsi/qla2xxx/qla_os.c  2007-12-21 
15:46:10.0 +1100
+++ linux-merge/drivers/scsi/qla2xxx/qla_os.c   2007-12-21 15:46:12.0 
+1100
@@ -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);
 


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Greg KH
On Fri, Dec 21, 2007 at 03:47:28PM +1100, Benjamin Herrenschmidt wrote:
 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.

Should I just merge this with your 2/3 patch so everything is sane?

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-20 Thread Benjamin Herrenschmidt

On Thu, 2007-12-20 at 21:11 -0800, Greg KH wrote:
 On Fri, Dec 21, 2007 at 03:47:28PM +1100, Benjamin Herrenschmidt wrote:
  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.
 
 Should I just merge this with your 2/3 patch so everything is sane?

Sure.

Cheers,
Ben.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-19 Thread Benjamin Herrenschmidt
Now that all in-tree users are gone, this removes pci_enable_device_bars()
completely.

Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
---

 drivers/pci/pci.c   |   24 
 include/linux/pci.h |1 -
 2 files changed, 25 deletions(-)

--- linux-work.orig/drivers/pci/pci.c   2007-12-18 11:01:20.0 +1100
+++ linux-work/drivers/pci/pci.c2007-12-18 11:01:28.0 +1100
@@ -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, >enable_cnt) > 1)
-   return 0;   /* already enabled */
-
-   err = do_pci_enable_device(dev, bars);
-   if (err < 0)
-   atomic_dec(>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);
Index: linux-work/include/linux/pci.h
===
--- linux-work.orig/include/linux/pci.h 2007-12-18 11:00:33.0 +1100
+++ linux-work/include/linux/pci.h  2007-12-18 11:01:28.0 +1100
@@ -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 *);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/3] pci: Remove pci_enable_device_bars()

2007-12-19 Thread Benjamin Herrenschmidt
Now that all in-tree users are gone, this removes pci_enable_device_bars()
completely.

Signed-off-by: Benjamin Herrenschmidt [EMAIL PROTECTED]
---

 drivers/pci/pci.c   |   24 
 include/linux/pci.h |1 -
 2 files changed, 25 deletions(-)

--- linux-work.orig/drivers/pci/pci.c   2007-12-18 11:01:20.0 +1100
+++ linux-work/drivers/pci/pci.c2007-12-18 11:01:28.0 +1100
@@ -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);
Index: linux-work/include/linux/pci.h
===
--- linux-work.orig/include/linux/pci.h 2007-12-18 11:00:33.0 +1100
+++ linux-work/include/linux/pci.h  2007-12-18 11:01:28.0 +1100
@@ -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 *);
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/