.. | .. |
---|
33 | 33 | zpci_attr(pfgid, "0x%02x\n", pfgid); |
---|
34 | 34 | zpci_attr(vfn, "0x%04x\n", vfn); |
---|
35 | 35 | zpci_attr(pft, "0x%02x\n", pft); |
---|
| 36 | +zpci_attr(port, "%d\n", port); |
---|
36 | 37 | zpci_attr(uid, "0x%x\n", uid); |
---|
37 | 38 | zpci_attr(segment0, "0x%02x\n", pfip[0]); |
---|
38 | 39 | zpci_attr(segment1, "0x%02x\n", pfip[1]); |
---|
39 | 40 | zpci_attr(segment2, "0x%02x\n", pfip[2]); |
---|
40 | 41 | zpci_attr(segment3, "0x%02x\n", pfip[3]); |
---|
| 42 | + |
---|
| 43 | +static ssize_t mio_enabled_show(struct device *dev, |
---|
| 44 | + struct device_attribute *attr, char *buf) |
---|
| 45 | +{ |
---|
| 46 | + struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); |
---|
| 47 | + |
---|
| 48 | + return sprintf(buf, zpci_use_mio(zdev) ? "1\n" : "0\n"); |
---|
| 49 | +} |
---|
| 50 | +static DEVICE_ATTR_RO(mio_enabled); |
---|
41 | 51 | |
---|
42 | 52 | static ssize_t recover_store(struct device *dev, struct device_attribute *attr, |
---|
43 | 53 | const char *buf, size_t count) |
---|
.. | .. |
---|
79 | 89 | ret = zpci_enable_device(zdev); |
---|
80 | 90 | if (ret) |
---|
81 | 91 | goto out; |
---|
82 | | - pci_rescan_bus(zdev->bus); |
---|
| 92 | + pci_rescan_bus(zdev->zbus->bus); |
---|
83 | 93 | } |
---|
84 | 94 | out: |
---|
85 | 95 | pci_unlock_rescan_remove(); |
---|
.. | .. |
---|
133 | 143 | &dev_attr_pchid.attr, |
---|
134 | 144 | &dev_attr_pfgid.attr, |
---|
135 | 145 | &dev_attr_pft.attr, |
---|
| 146 | + &dev_attr_port.attr, |
---|
136 | 147 | &dev_attr_vfn.attr, |
---|
137 | 148 | &dev_attr_uid.attr, |
---|
138 | 149 | &dev_attr_recover.attr, |
---|
| 150 | + &dev_attr_mio_enabled.attr, |
---|
139 | 151 | NULL, |
---|
140 | 152 | }; |
---|
141 | 153 | static struct attribute_group zpci_attr_group = { |
---|