pci_sriov_resource_alignment() inputs struct pci_dev which it should not need to alter to calculate alignment. Make pci_dev pci_sriov_resource_alignment() inputs const. It requires making pci_iov_resource_size() input const as well.
Unified · Split
| @@ -169,7 +169,7 @@ struct machdep_calls { · 168 unmodified lines | ||
| 169 | 169 | |
| 170 | 170 | #ifdef CONFIG_PCI_IOV |
| 171 | 171 | void (*pcibios_fixup_sriov)(struct pci_dev *pdev); |
| 172 | − resource_size_t (*pcibios_iov_resource_alignment)(struct pci_dev *, int resno); | |
| 172 | + resource_size_t (*pcibios_iov_resource_alignment)(const struct pci_dev *, int resno); | |
| 173 | 173 | int (*pcibios_sriov_enable)(struct pci_dev *pdev, u16 num_vfs); |
| 174 | 174 | int (*pcibios_sriov_disable)(struct pci_dev *pdev); |
| 175 | 175 | #endif /* CONFIG_PCI_IOV */ |
| @@ -254,7 +254,7 @@ resource_size_t pcibios_default_alignment(void) · 253 unmodified lines | ||
| 254 | 254 | } |
| 255 | 255 | |
| 256 | 256 | #ifdef CONFIG_PCI_IOV |
| 257 | −resource_size_t pcibios_iov_resource_alignment(struct pci_dev *pdev, int resno) | |
| 257 | +resource_size_t pcibios_iov_resource_alignment(const struct pci_dev *pdev, int resno) | |
| 258 | 258 | { |
| 259 | 259 | if (ppc_md.pcibios_iov_resource_alignment) |
| 260 | 260 | return ppc_md.pcibios_iov_resource_alignment(pdev, resno); |
| @@ -244,8 +244,8 @@ void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev) · 243 unmodified lines | ||
| 244 | 244 | } |
| 245 | 245 | } |
| 246 | 246 | |
| 247 | −resource_size_t pnv_pci_iov_resource_alignment(struct pci_dev *pdev, | |
| 248 | − int resno) | |
| 247 | +resource_size_t pnv_pci_iov_resource_alignment(const struct pci_dev *pdev, | |
| 248 | + int resno) | |
| 249 | 249 | { |
| 250 | 250 | resource_size_t align = pci_iov_resource_size(pdev, resno); |
| 251 | 251 | struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); |
| @@ -257,7 +257,8 @@ static inline struct pnv_iov_data *pnv_iov_get(const struct pci_dev *pdev) · 256 unmodified lines | ||
| 257 | 257 | } |
| 258 | 258 | |
| 259 | 259 | void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev); |
| 260 | −resource_size_t pnv_pci_iov_resource_alignment(struct pci_dev *pdev, int resno); | |
| 260 | +resource_size_t pnv_pci_iov_resource_alignment(const struct pci_dev *pdev, | |
| 261 | + int resno); | |
| 261 | 262 | |
| 262 | 263 | int pnv_pcibios_sriov_enable(struct pci_dev *pdev, u16 num_vfs); |
| 263 | 264 | int pnv_pcibios_sriov_disable(struct pci_dev *pdev); |
| @@ -789,7 +789,7 @@ static void pseries_pci_fixup_iov_resources(struct pci_dev *pdev) · 788 unmodified lines | ||
| 789 | 789 | pseries_disable_sriov_resources(pdev); |
| 790 | 790 | } |
| 791 | 791 | |
| 792 | −static resource_size_t pseries_pci_iov_resource_alignment(struct pci_dev *pdev, | |
| 792 | +static resource_size_t pseries_pci_iov_resource_alignment(const struct pci_dev *pdev, | |
| 793 | 793 | int resno) |
| 794 | 794 | { |
| 795 | 795 | const __be32 *reg; |
| @@ -150,7 +150,7 @@ static void virtfn_remove_bus(struct pci_bus *physbus, struct pci_bus *virtbus) · 149 unmodified lines | ||
| 150 | 150 | pci_remove_bus(virtbus); |
| 151 | 151 | } |
| 152 | 152 | |
| 153 | −resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno) | |
| 153 | +resource_size_t pci_iov_resource_size(const struct pci_dev *dev, int resno) | |
| 154 | 154 | { |
| 155 | 155 | if (!dev->is_physfn) |
| 156 | 156 | return 0; |
| @@ -1084,7 +1084,7 @@ void pci_iov_update_resource(struct pci_dev *dev, int resno) · 927 unmodified lines | ||
| 1084 | 1084 | } |
| 1085 | 1085 | } |
| 1086 | 1086 | |
| 1087 | −resource_size_t __weak pcibios_iov_resource_alignment(struct pci_dev *dev, | |
| 1087 | +resource_size_t __weak pcibios_iov_resource_alignment(const struct pci_dev *dev, | |
| 1088 | 1088 | int resno) |
| 1089 | 1089 | { |
| 1090 | 1090 | return pci_iov_resource_size(dev, resno); |
| @@ -1100,7 +1100,8 @@ resource_size_t __weak pcibios_iov_resource_alignment(struct pci_dev *dev, · 9 unmodified lines | ||
| 1100 | 1100 | * the VF BAR size multiplied by the number of VFs. The alignment |
| 1101 | 1101 | * is just the VF BAR size. |
| 1102 | 1102 | */ |
| 1103 | −resource_size_t pci_sriov_resource_alignment(struct pci_dev *dev, int resno) | |
| 1103 | +resource_size_t pci_sriov_resource_alignment(const struct pci_dev *dev, | |
| 1104 | + int resno) | |
| 1104 | 1105 | { |
| 1105 | 1106 | return pcibios_iov_resource_alignment(dev, resno); |
| 1106 | 1107 | } |
| @@ -947,7 +947,8 @@ int pci_iov_init(struct pci_dev *dev); · 946 unmodified lines | ||
| 947 | 947 | void pci_iov_release(struct pci_dev *dev); |
| 948 | 948 | void pci_iov_remove(struct pci_dev *dev); |
| 949 | 949 | void pci_iov_update_resource(struct pci_dev *dev, int resno); |
| 950 | −resource_size_t pci_sriov_resource_alignment(struct pci_dev *dev, int resno); | |
| 950 | +resource_size_t pci_sriov_resource_alignment(const struct pci_dev *dev, | |
| 951 | + int resno); | |
| 951 | 952 | void pci_restore_iov_state(struct pci_dev *dev); |
| 952 | 953 | int pci_iov_bus_range(struct pci_bus *bus); |
| 953 | 954 | void pci_iov_resource_set_size(struct pci_dev *dev, int resno, int size); |
| @@ -981,7 +982,7 @@ static inline int pci_iov_init(struct pci_dev *dev) · 27 unmodified lines | ||
| 981 | 982 | static inline void pci_iov_release(struct pci_dev *dev) { } |
| 982 | 983 | static inline void pci_iov_remove(struct pci_dev *dev) { } |
| 983 | 984 | static inline void pci_iov_update_resource(struct pci_dev *dev, int resno) { } |
| 984 | −static inline resource_size_t pci_sriov_resource_alignment(struct pci_dev *dev, | |
| 985 | +static inline resource_size_t pci_sriov_resource_alignment(const struct pci_dev *dev, | |
| 985 | 986 | int resno) |
| 986 | 987 | { |
| 987 | 988 | return 0; |
| @@ -2540,7 +2540,7 @@ int pci_vfs_assigned(struct pci_dev *dev); · 2539 unmodified lines | ||
| 2540 | 2540 | int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs); |
| 2541 | 2541 | int pci_sriov_get_totalvfs(struct pci_dev *dev); |
| 2542 | 2542 | int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn); |
| 2543 | −resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno); | |
| 2543 | +resource_size_t pci_iov_resource_size(const struct pci_dev *dev, int resno); | |
| 2544 | 2544 | int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size); |
| 2545 | 2545 | u32 pci_iov_vf_bar_get_sizes(struct pci_dev *dev, int resno, int num_vfs); |
| 2546 | 2546 | void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe); |
| @@ -2548,7 +2548,8 @@ void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe); · 1 unmodified line | ||
| 2548 | 2548 | /* Arch may override these (weak) */ |
| 2549 | 2549 | int pcibios_sriov_enable(struct pci_dev *pdev, u16 num_vfs); |
| 2550 | 2550 | int pcibios_sriov_disable(struct pci_dev *pdev); |
| 2551 | −resource_size_t pcibios_iov_resource_alignment(struct pci_dev *dev, int resno); | |
| 2551 | +resource_size_t pcibios_iov_resource_alignment(const struct pci_dev *dev, | |
| 2552 | + int resno); | |
| 2552 | 2553 | #else |
| 2553 | 2554 | static inline int pci_iov_virtfn_bus(struct pci_dev *dev, int id) |
| 2554 | 2555 | { |
| @@ -2593,7 +2594,8 @@ static inline int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs) · 38 unmodified lines | ||
| 2593 | 2594 | static inline int pci_sriov_get_totalvfs(struct pci_dev *dev) |
| 2594 | 2595 | { return 0; } |
| 2595 | 2596 | #define pci_sriov_configure_simple NULL |
| 2596 | −static inline resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno) | |
| 2597 | +static inline resource_size_t pci_iov_resource_size(const struct pci_dev *dev, | |
| 2598 | + int resno) | |
| 2597 | 2599 | { return 0; } |
| 2598 | 2600 | static inline int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size) |
| 2599 | 2601 | { return -ENODEV; } |