PCI : Move pci_fixup_device and is_enabled
PATCH 2/5 PCI : Move pci_fixup_device and is_enabled
This patch adds the following changes into generic PCI code especially for PCI legacy I/O port free drivers.
- Moved the following two things from pci_enable_device() into pci_enable_device_bars(). Already some drivers are using pci_enable_device_bars() to enable only the specific regions, but they had no chance to be fixup and to up is_enabled flag.
o Call pci_fixup_device() on the device
o Checking & Setting dev->is_enabled
- Trivial cleanup
--- drivers/pci/pci.c | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-)
drivers/pci/pci.c +8 -12
@@ -558,12 +558,18 @@ {int err; +if (dev->is_enabled) +return 0 ; + err =pci_set_power_state (dev,PCI_D0 );if (err <0 && err != -EIO )return err; err =pcibios_enable_device (dev, bars);if (err <0 )return err; + +pci_fixup_device (pci_fixup_enable, dev); + dev->is_enabled =1 ;return 0 ; }
@@ -578,17 +584,7 @@int pci_enable_device (struct pci_dev *dev) { -int err; - -if (dev->is_enabled) -return 0 ; - - err =pci_enable_device_bars (dev, (1 <<PCI_NUM_RESOURCES ) -1 ); -if (err) -return err; -pci_fixup_device (pci_fixup_enable, dev); - dev->is_enabled =1 ; -return 0 ; +return pci_enable_device_bars (dev, (1 <<PCI_NUM_RESOURCES ) -1 ); }/**
@@ -737,7 +733,7 @@ {if (pci_resource_len (pdev, bar) ==0 )return 0 ; - +if (pci_resource_flags (pdev, bar) &IORESOURCE_IO ) {if (!request_region (pci_resource_start (pdev, bar),pci_resource_len (pdev, bar), res_name))
drivers/pci/pci.c line 562
Quoted 8 lines · Hidetoshi Seto
drivers/pci/pci.c +2
-0@@ -558,12 +558,18 @@ {int err; +if (dev->is_enabled) +return 0 ;
This is unfortunately going to collide with the previous patch posted by [email protected]:
Subject: [patch 0/2] pci: make pci_{enable,disable}_device() be nested
grant
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Quoted 7 lines · Grant Grundler
Quoted 6 lines · Hidetoshi Seto
drivers/pci/pci.c +0
-0@@ -558,12 +558,18 @@ {int err;
Quoted 7 lines
drivers/pci/pci.c line 562
Quoted 2 lines
drivers/pci/pci.c +2
-0+if (dev->is_enabled) +return 0 ;This is unfortunately going to collide with the previous patch posted by [email protected]:
Subject: [patch 0/2] pci: make pci_{enable,disable}_device() be nested
Not a problem, that's what I'm here for :)
thanks,
greg k-h
Quoted 7 lines · Grant Grundler
Quoted 6 lines · Hidetoshi Seto
drivers/pci/pci.c +0
-0@@ -558,12 +558,18 @@ {int err;
Quoted 7 lines
drivers/pci/pci.c line 562
Quoted 2 lines
drivers/pci/pci.c +2
-0+if (dev->is_enabled) +return 0 ;This is unfortunately going to collide with the previous patch posted by [email protected]:
Subject: [patch 0/2] pci: make pci_{enable,disable}_device() be nested
Grant, you were right. This has changed the logic around this area, and the pci_enable_device() stuff conflicts with this.
Hidetoshi, I tried to merge things together, but I think I got it wrong, as the logic is different now. Can you please respin this patch and resend all of them?
Sorry for the delay,
thanks,
greg k-h