History

PCI: Make pci_sriov_resource_alignment() pci_dev const

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.

Ilpo Järvinen committed 6 months ago

Commit 79a64821 parent 9f331c58 files · +19 −14Browse files

Unified · Split

8 files
  1. arch/powerpc/include/asm/machdep.h +1 −1
  2. arch/powerpc/kernel/pci-common.c +1 −1
  3. arch/powerpc/platforms/powernv/pci-sriov.c +2 −2
  4. arch/powerpc/platforms/powernv/pci.h +2 −1
  5. arch/powerpc/platforms/pseries/setup.c +1 −1
  6. drivers/pci/iov.c +4 −3
  7. drivers/pci/pci.h +3 −2
  8. include/linux/pci.h +5 −3
arch/powerpc/include/asm/machdep.h+1−1
@@ -169,7 +169,7 @@ struct machdep_calls { · 168 unmodified lines
169169
170170 #ifdef CONFIG_PCI_IOV
171171 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);
173173 int (*pcibios_sriov_enable)(struct pci_dev *pdev, u16 num_vfs);
174174 int (*pcibios_sriov_disable)(struct pci_dev *pdev);
175175 #endif /* CONFIG_PCI_IOV */
arch/powerpc/kernel/pci-common.c+1−1
@@ -254,7 +254,7 @@ resource_size_t pcibios_default_alignment(void) · 253 unmodified lines
254254 }
255255
256256 #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)
258258 {
259259 if (ppc_md.pcibios_iov_resource_alignment)
260260 return ppc_md.pcibios_iov_resource_alignment(pdev, resno);
arch/powerpc/platforms/powernv/pci-sriov.c+2−2
@@ -244,8 +244,8 @@ void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev) · 243 unmodified lines
244244 }
245245 }
246246
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)
249249 {
250250 resource_size_t align = pci_iov_resource_size(pdev, resno);
251251 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus);
arch/powerpc/platforms/powernv/pci.h+2−1
@@ -257,7 +257,8 @@ static inline struct pnv_iov_data *pnv_iov_get(const struct pci_dev *pdev) · 256 unmodified lines
257257 }
258258
259259 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);
261262
262263 int pnv_pcibios_sriov_enable(struct pci_dev *pdev, u16 num_vfs);
263264 int pnv_pcibios_sriov_disable(struct pci_dev *pdev);
arch/powerpc/platforms/pseries/setup.c+1−1
@@ -789,7 +789,7 @@ static void pseries_pci_fixup_iov_resources(struct pci_dev *pdev) · 788 unmodified lines
789789 pseries_disable_sriov_resources(pdev);
790790 }
791791
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,
793793 int resno)
794794 {
795795 const __be32 *reg;
drivers/pci/iov.c+4−3
@@ -150,7 +150,7 @@ static void virtfn_remove_bus(struct pci_bus *physbus, struct pci_bus *virtbus) · 149 unmodified lines
150150 pci_remove_bus(virtbus);
151151 }
152152
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)
154154 {
155155 if (!dev->is_physfn)
156156 return 0;
@@ -1084,7 +1084,7 @@ void pci_iov_update_resource(struct pci_dev *dev, int resno) · 927 unmodified lines
10841084 }
10851085 }
10861086
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,
10881088 int resno)
10891089 {
10901090 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
11001100 * the VF BAR size multiplied by the number of VFs. The alignment
11011101 * is just the VF BAR size.
11021102 */
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)
11041105 {
11051106 return pcibios_iov_resource_alignment(dev, resno);
11061107 }
drivers/pci/pci.h+3−2
@@ -947,7 +947,8 @@ int pci_iov_init(struct pci_dev *dev); · 946 unmodified lines
947947 void pci_iov_release(struct pci_dev *dev);
948948 void pci_iov_remove(struct pci_dev *dev);
949949 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);
951952 void pci_restore_iov_state(struct pci_dev *dev);
952953 int pci_iov_bus_range(struct pci_bus *bus);
953954 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
981982 static inline void pci_iov_release(struct pci_dev *dev) { }
982983 static inline void pci_iov_remove(struct pci_dev *dev) { }
983984 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,
985986 int resno)
986987 {
987988 return 0;
include/linux/pci.h+5−3
@@ -2540,7 +2540,7 @@ int pci_vfs_assigned(struct pci_dev *dev); · 2539 unmodified lines
25402540 int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs);
25412541 int pci_sriov_get_totalvfs(struct pci_dev *dev);
25422542 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);
25442544 int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size);
25452545 u32 pci_iov_vf_bar_get_sizes(struct pci_dev *dev, int resno, int num_vfs);
25462546 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
25482548 /* Arch may override these (weak) */
25492549 int pcibios_sriov_enable(struct pci_dev *pdev, u16 num_vfs);
25502550 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);
25522553 #else
25532554 static inline int pci_iov_virtfn_bus(struct pci_dev *dev, int id)
25542555 {
@@ -2593,7 +2594,8 @@ static inline int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs) · 38 unmodified lines
25932594 static inline int pci_sriov_get_totalvfs(struct pci_dev *dev)
25942595 { return 0; }
25952596 #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)
25972599 { return 0; }
25982600 static inline int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size)
25992601 { return -ENODEV; }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t