mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
PCI/VPD: Remove struct pci_vpd.flag
The struct pci_vpd.flag member was used only to communicate between pci_vpd_wait() and its callers. Remove the flag member and pass the value directly to pci_vpd_wait() to simplify the code. [bhelgaas: commit log] Link: https://lore.kernel.org/r/e4ef6845-6b23-1646-28a0-d5c5a28347b6@gmail.com Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
91ab5d9d02
commit
fe943bd8ab
@ -22,7 +22,6 @@ struct pci_vpd {
|
||||
const struct pci_vpd_ops *ops;
|
||||
struct mutex lock;
|
||||
unsigned int len;
|
||||
u16 flag;
|
||||
u8 cap;
|
||||
unsigned int valid:1;
|
||||
};
|
||||
@ -117,10 +116,11 @@ error:
|
||||
* This code has to spin since there is no other notification from the PCI
|
||||
* hardware. Since the VPD is often implemented by serial attachment to an
|
||||
* EEPROM, it may take many milliseconds to complete.
|
||||
* @set: if true wait for flag to be set, else wait for it to be cleared
|
||||
*
|
||||
* Returns 0 on success, negative values indicate error.
|
||||
*/
|
||||
static int pci_vpd_wait(struct pci_dev *dev)
|
||||
static int pci_vpd_wait(struct pci_dev *dev, bool set)
|
||||
{
|
||||
struct pci_vpd *vpd = dev->vpd;
|
||||
unsigned long timeout = jiffies + msecs_to_jiffies(125);
|
||||
@ -134,7 +134,7 @@ static int pci_vpd_wait(struct pci_dev *dev)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if ((status & PCI_VPD_ADDR_F) == vpd->flag)
|
||||
if (!!(status & PCI_VPD_ADDR_F) == set)
|
||||
return 0;
|
||||
|
||||
if (time_after(jiffies, timeout))
|
||||
@ -192,8 +192,7 @@ static ssize_t pci_vpd_read(struct pci_dev *dev, loff_t pos, size_t count,
|
||||
pos & ~3);
|
||||
if (ret < 0)
|
||||
break;
|
||||
vpd->flag = PCI_VPD_ADDR_F;
|
||||
ret = pci_vpd_wait(dev);
|
||||
ret = pci_vpd_wait(dev, true);
|
||||
if (ret < 0)
|
||||
break;
|
||||
|
||||
@ -257,8 +256,7 @@ static ssize_t pci_vpd_write(struct pci_dev *dev, loff_t pos, size_t count,
|
||||
if (ret < 0)
|
||||
break;
|
||||
|
||||
vpd->flag = 0;
|
||||
ret = pci_vpd_wait(dev);
|
||||
ret = pci_vpd_wait(dev, false);
|
||||
if (ret < 0)
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user