dm: pci: Update the PCI read_config() method to const dev *
authorSimon Glass <sjg@chromium.org>
Mon, 27 Jan 2020 15:49:37 +0000 (08:49 -0700)
committerSimon Glass <sjg@chromium.org>
Thu, 6 Feb 2020 02:33:45 +0000 (19:33 -0700)
At present this method uses a non-const udevice pointer, but the call
should not modify the device. Use a const pointer.

Signed-off-by: Simon Glass <sjg@chromium.org>
26 files changed:
drivers/misc/p2sb_emul.c
drivers/misc/swap_case.c
drivers/pci/pci-aardvark.c
drivers/pci/pci-emul-uclass.c
drivers/pci/pci-rcar-gen2.c
drivers/pci/pci-rcar-gen3.c
drivers/pci/pci-uclass.c
drivers/pci/pci_mpc85xx.c
drivers/pci/pci_mvebu.c
drivers/pci/pci_sandbox.c
drivers/pci/pci_sh7751.c
drivers/pci/pci_tegra.c
drivers/pci/pci_x86.c
drivers/pci/pcie_dw_mvebu.c
drivers/pci/pcie_dw_ti.c
drivers/pci/pcie_ecam_generic.c
drivers/pci/pcie_fsl.c
drivers/pci/pcie_imx.c
drivers/pci/pcie_intel_fpga.c
drivers/pci/pcie_layerscape.c
drivers/pci/pcie_layerscape_gen4.c
drivers/pci/pcie_mediatek.c
drivers/pci/pcie_phytium.c
drivers/pci/pcie_xilinx.c
drivers/power/acpi_pmc/pmc_emul.c
include/pci.h

index c3795c59c0881344b501c2f558842c8c664f4bc1..a6ee9a235e3b0a46ca6b4cebb55a6dc7013163fd 100644 (file)
@@ -48,8 +48,9 @@ struct p2sb_emul_priv {
        u8 regs[16];
 };
 
-static int sandbox_p2sb_emul_read_config(struct udevice *emul, uint offset,
-                                        ulong *valuep, enum pci_size_t size)
+static int sandbox_p2sb_emul_read_config(const struct udevice *emul,
+                                        uint offset, ulong *valuep,
+                                        enum pci_size_t size)
 {
        struct p2sb_emul_platdata *plat = dev_get_platdata(emul);
 
index 11189d16c83ae87fa5227d3b198368db8e288048..97e2afa67650547dba8109369f1ec31747d60892 100644 (file)
@@ -51,7 +51,7 @@ struct swap_case_priv {
        char mem_text[MEM_TEXT_SIZE];
 };
 
-static int sandbox_swap_case_use_ea(struct udevice *dev)
+static int sandbox_swap_case_use_ea(const struct udevice *dev)
 {
        return !!ofnode_get_property(dev->node, "use-ea", NULL);
 }
@@ -82,7 +82,7 @@ static const u32 ea_regs[] = {
        PCI_CAP_EA_SIZE_HI,
 };
 
-static int sandbox_swap_case_read_ea(struct udevice *emul, uint offset,
+static int sandbox_swap_case_read_ea(const struct udevice *emul, uint offset,
                                     ulong *valuep, enum pci_size_t size)
 {
        u32 reg;
@@ -95,8 +95,9 @@ static int sandbox_swap_case_read_ea(struct udevice *emul, uint offset,
        return 0;
 }
 
-static int sandbox_swap_case_read_config(struct udevice *emul, uint offset,
-                                        ulong *valuep, enum pci_size_t size)
+static int sandbox_swap_case_read_config(const struct udevice *emul,
+                                        uint offset, ulong *valuep,
+                                        enum pci_size_t size)
 {
        struct swap_case_platdata *plat = dev_get_platdata(emul);
 
index aa0b4bc84563743e11d0278ec3d12606ec432e82..f1527ac6679c2de3b2f7d67612a02f810c9a6d0c 100644 (file)
@@ -297,7 +297,7 @@ static int pcie_advk_check_pio_status(struct pcie_advk *pcie,
  *
  * Return: 0 on success
  */
-static int pcie_advk_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pcie_advk_read_config(const struct udevice *bus, pci_dev_t bdf,
                                 uint offset, ulong *valuep,
                                 enum pci_size_t size)
 {
index 0f63e491a79645614641e5c273e8f9f5a9a78e60..9486e1cb96e86daf5264c53e5ba76b035b53dcb3 100644 (file)
@@ -15,7 +15,7 @@ struct sandbox_pci_emul_priv {
        int dev_count;
 };
 
-int sandbox_pci_get_emul(struct udevice *bus, pci_dev_t find_devfn,
+int sandbox_pci_get_emul(const struct udevice *bus, pci_dev_t find_devfn,
                         struct udevice **containerp, struct udevice **emulp)
 {
        struct pci_emul_uc_priv *upriv;
index d913d53f3c3382dd3060a60021920190d010ac2d..014d8704788b3eaa3dc9778e3e89eb16ad5d65f6 100644 (file)
@@ -107,7 +107,7 @@ static int rcar_gen2_pci_addr_valid(pci_dev_t d, uint offset)
        return 0;
 }
 
-static u32 get_bus_address(struct udevice *dev, pci_dev_t bdf, u32 offset)
+static u32 get_bus_address(const struct udevice *dev, pci_dev_t bdf, u32 offset)
 {
        struct rcar_gen2_pci_priv *priv = dev_get_priv(dev);
 
@@ -126,7 +126,7 @@ static u32 setup_bus_address(struct udevice *dev, pci_dev_t bdf, u32 offset)
        return get_bus_address(dev, bdf, offset);
 }
 
-static int rcar_gen2_pci_read_config(struct udevice *dev, pci_dev_t bdf,
+static int rcar_gen2_pci_read_config(const struct udevice *dev, pci_dev_t bdf,
                                     uint offset, ulong *value,
                                     enum pci_size_t size)
 {
index 52ca13b70cb2db30315ad9104aa9e4a4e80f729d..30eff67dca222d6c98e56da9e21dfae68ccfbcde 100644 (file)
@@ -143,7 +143,7 @@ static void rcar_rmw32(struct udevice *dev, int where, u32 mask, u32 data)
                        mask << shift, data << shift);
 }
 
-static u32 rcar_read_conf(struct udevice *dev, int where)
+static u32 rcar_read_conf(const struct udevice *dev, int where)
 {
        struct rcar_gen3_pcie_priv *priv = dev_get_platdata(dev);
        int shift = 8 * (where & 3);
@@ -151,7 +151,7 @@ static u32 rcar_read_conf(struct udevice *dev, int where)
        return readl(priv->regs + (where & ~3)) >> shift;
 }
 
-static int rcar_pcie_config_access(struct udevice *udev,
+static int rcar_pcie_config_access(const struct udevice *udev,
                                   unsigned char access_type,
                                   pci_dev_t bdf, int where, ulong *data)
 {
@@ -204,7 +204,7 @@ static int rcar_gen3_pcie_addr_valid(pci_dev_t d, uint where)
        return 0;
 }
 
-static int rcar_gen3_pcie_read_config(struct udevice *dev, pci_dev_t bdf,
+static int rcar_gen3_pcie_read_config(const struct udevice *dev, pci_dev_t bdf,
                                      uint where, ulong *val,
                                      enum pci_size_t size)
 {
index 5be2dfd0bf64b19d633477d2bcbdeda6bc334fb0..78d4129572ee2958f8e10cef1a9b6a5ccd448b64 100644 (file)
@@ -124,7 +124,7 @@ static void pci_dev_find_ofnode(struct udevice *bus, phys_addr_t bdf,
        }
 };
 
-int pci_bus_find_devfn(struct udevice *bus, pci_dev_t find_devfn,
+int pci_bus_find_devfn(const struct udevice *bus, pci_dev_t find_devfn,
                       struct udevice **devp)
 {
        struct udevice *dev;
@@ -551,8 +551,9 @@ int pci_auto_config_devices(struct udevice *bus)
 }
 
 int pci_generic_mmap_write_config(
-       struct udevice *bus,
-       int (*addr_f)(struct udevice *bus, pci_dev_t bdf, uint offset, void **addrp),
+       const struct udevice *bus,
+       int (*addr_f)(const struct udevice *bus, pci_dev_t bdf, uint offset,
+                     void **addrp),
        pci_dev_t bdf,
        uint offset,
        ulong value,
@@ -579,8 +580,9 @@ int pci_generic_mmap_write_config(
 }
 
 int pci_generic_mmap_read_config(
-       struct udevice *bus,
-       int (*addr_f)(struct udevice *bus, pci_dev_t bdf, uint offset, void **addrp),
+       const struct udevice *bus,
+       int (*addr_f)(const struct udevice *bus, pci_dev_t bdf, uint offset,
+                     void **addrp),
        pci_dev_t bdf,
        uint offset,
        ulong *valuep,
@@ -1054,7 +1056,7 @@ static int pci_uclass_child_post_bind(struct udevice *dev)
        return 0;
 }
 
-static int pci_bridge_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pci_bridge_read_config(const struct udevice *bus, pci_dev_t bdf,
                                  uint offset, ulong *valuep,
                                  enum pci_size_t size)
 {
index e58ab60ee04dc030b6c290903e8f1de3aa19a71e..8dff68dbd0e9df1823dd1e5a116c1126cd514af6 100644 (file)
@@ -15,7 +15,7 @@ struct mpc85xx_pci_priv {
        void __iomem            *cfg_data;
 };
 
-static int mpc85xx_pci_dm_read_config(struct udevice *dev, pci_dev_t bdf,
+static int mpc85xx_pci_dm_read_config(const struct udevice *dev, pci_dev_t bdf,
                                      uint offset, ulong *value,
                                      enum pci_size_t size)
 {
index f9b08f38a1516cd16601ca7a3f349ea97e137771..7d9ad34e9d2e24008d0b651ded3a3ec4905797c6 100644 (file)
@@ -136,7 +136,7 @@ static inline struct mvebu_pcie *hose_to_pcie(struct pci_controller *hose)
        return container_of(hose, struct mvebu_pcie, hose);
 }
 
-static int mvebu_pcie_read_config(struct udevice *bus, pci_dev_t bdf,
+static int mvebu_pcie_read_config(const struct udevice *bus, pci_dev_t bdf,
                                  uint offset, ulong *valuep,
                                  enum pci_size_t size)
 {
index 2af2b79c05dc624e57c368b1dff91952533ca8b4..fa4c47659787e5b47ac20503ed8073f976a5e1f2 100644 (file)
@@ -39,7 +39,7 @@ static int sandbox_pci_write_config(struct udevice *bus, pci_dev_t devfn,
        return ops->write_config(emul, offset, value, size);
 }
 
-static int sandbox_pci_read_config(struct udevice *bus, pci_dev_t devfn,
+static int sandbox_pci_read_config(const struct udevice *bus, pci_dev_t devfn,
                                   uint offset, ulong *valuep,
                                   enum pci_size_t size)
 {
index 53e1668c99f060caf3a60b106f1d13e57b4b7708..2f48b9671934927b17786e8397fca5748398c2f7 100644 (file)
@@ -80,12 +80,12 @@ static int sh7751_pci_addr_valid(pci_dev_t d, uint offset)
        return 0;
 }
 
-static u32 get_bus_address(struct udevice *dev, pci_dev_t bdf, u32 offset)
+static u32 get_bus_address(const struct udevice *dev, pci_dev_t bdf, u32 offset)
 {
        return BIT(31) | (PCI_DEV(bdf) << 8) | (offset & ~3);
 }
 
-static int sh7751_pci_read_config(struct udevice *dev, pci_dev_t bdf,
+static int sh7751_pci_read_config(const struct udevice *dev, pci_dev_t bdf,
                                  uint offset, ulong *value,
                                  enum pci_size_t size)
 {
index 56c08585e6da54ae841af86b743f1e127cb80bd0..96d308f7bfd2462f5433b496036631eee616cc41 100644 (file)
@@ -308,7 +308,7 @@ static int tegra_pcie_conf_address(struct tegra_pcie *pcie, pci_dev_t bdf,
        }
 }
 
-static int pci_tegra_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pci_tegra_read_config(const struct udevice *bus, pci_dev_t bdf,
                                 uint offset, ulong *valuep,
                                 enum pci_size_t size)
 {
index e76a9c6e44fe50ddc4aff96d8bb52a383a31c3bf..8d036930e73b9e936285cf265f0ab834eb27e705 100644 (file)
@@ -8,8 +8,9 @@
 #include <pci.h>
 #include <asm/pci.h>
 
-static int _pci_x86_read_config(struct udevice *bus, pci_dev_t bdf, uint offset,
-                               ulong *valuep, enum pci_size_t size)
+static int _pci_x86_read_config(const struct udevice *bus, pci_dev_t bdf,
+                               uint offset, ulong *valuep,
+                               enum pci_size_t size)
 {
        return pci_x86_read_config(bdf, offset, valuep, size);
 }
index 693591e37502dc6f0ef52c48f1dae6ba95d60120..1f216e1c6803a1cbe2ee869cc4d487a062147a4e 100644 (file)
@@ -240,7 +240,7 @@ static int pcie_dw_addr_valid(pci_dev_t d, int first_busno)
  *
  * Return: 0 on success
  */
-static int pcie_dw_mvebu_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pcie_dw_mvebu_read_config(const struct udevice *bus, pci_dev_t bdf,
                                     uint offset, ulong *valuep,
                                     enum pci_size_t size)
 {
index b37fc2de7fb8184902037a074a8aa01b6aa28edd..433640d3e70cfdaf9ed8d32cd7d76bb2a635598b 100644 (file)
@@ -289,7 +289,7 @@ static int pcie_dw_addr_valid(pci_dev_t d, int first_busno)
  *
  * Return: 0 on success
  */
-static int pcie_dw_ti_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pcie_dw_ti_read_config(const struct udevice *bus, pci_dev_t bdf,
                                  uint offset, ulong *valuep,
                                  enum pci_size_t size)
 {
index 00644edd2646c3e844e7d3f2285efccf968d3ada..c875f3a5b7d2f5378d16420c04d21fc55a5a9c4a 100644 (file)
@@ -35,8 +35,9 @@ struct generic_ecam_pcie {
  * code. Otherwise the address to access will be written to the pointer pointed
  * to by @paddress.
  */
-static int pci_generic_ecam_conf_address(struct udevice *bus, pci_dev_t bdf,
-                                           uint offset, void **paddress)
+static int pci_generic_ecam_conf_address(const struct udevice *bus,
+                                        pci_dev_t bdf, uint offset,
+                                        void **paddress)
 {
        struct generic_ecam_pcie *pcie = dev_get_priv(bus);
        void *addr;
@@ -63,9 +64,9 @@ static int pci_generic_ecam_conf_address(struct udevice *bus, pci_dev_t bdf,
  * space of the device identified by the bus, device & function numbers in @bdf
  * on the PCI bus @bus.
  */
-static int pci_generic_ecam_read_config(struct udevice *bus, pci_dev_t bdf,
-                                  uint offset, ulong *valuep,
-                                  enum pci_size_t size)
+static int pci_generic_ecam_read_config(const struct udevice *bus,
+                                       pci_dev_t bdf, uint offset,
+                                       ulong *valuep, enum pci_size_t size)
 {
        return pci_generic_mmap_read_config(bus, pci_generic_ecam_conf_address,
                                            bdf, offset, valuep, size);
index ab25aeee731827c244a70ac800d78dc0fe50c34a..f516ec0576e3c766e18bf8c05454bea3ae862dfd 100644 (file)
@@ -42,7 +42,7 @@ static int fsl_pcie_addr_valid(struct fsl_pcie *pcie, pci_dev_t bdf)
        return 0;
 }
 
-static int fsl_pcie_read_config(struct udevice *bus, pci_dev_t bdf,
+static int fsl_pcie_read_config(const struct udevice *bus, pci_dev_t bdf,
                                uint offset, ulong *valuep,
                                enum pci_size_t size)
 {
index 3621636cb28918da7f276655ad6323bcb47f89fc..8e1713a2d1d5aa73cc0c1597da788aa9c28cda13 100644 (file)
@@ -748,7 +748,7 @@ void pci_init_board(void)
        imx_pcie_init();
 }
 #else
-static int imx_pcie_dm_read_config(struct udevice *dev, pci_dev_t bdf,
+static int imx_pcie_dm_read_config(const struct udevice *dev, pci_dev_t bdf,
                                   uint offset, ulong *value,
                                   enum pci_size_t size)
 {
index a5ea4888f344d4595730282c4b6f67542d8742a8..a1f6e95e69f245f6cc08218e5f7b9c293b250808 100644 (file)
@@ -226,7 +226,7 @@ static int tlp_cfg_dword_write(struct intel_fpga_pcie *pcie, pci_dev_t bdf,
        return tlp_read_packet(pcie, NULL);
 }
 
-int intel_fpga_rp_conf_addr(struct udevice *bus, pci_dev_t bdf,
+int intel_fpga_rp_conf_addr(const struct udevice *bus, pci_dev_t bdf,
                            uint offset, void **paddress)
 {
        struct intel_fpga_pcie *pcie = dev_get_priv(bus);
@@ -326,7 +326,7 @@ static int _pcie_intel_fpga_write_config(struct intel_fpga_pcie *pcie,
                                   byte_en, data);
 }
 
-static int pcie_intel_fpga_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pcie_intel_fpga_read_config(const struct udevice *bus, pci_dev_t bdf,
                                       uint offset, ulong *valuep,
                                       enum pci_size_t size)
 {
index 2ab67d1fc954324213913a4674550ad15d567ecd..8b313e927861f5118113ac1ff9fceb1457dd81c7 100644 (file)
@@ -243,7 +243,7 @@ static int ls_pcie_addr_valid(struct ls_pcie *pcie, pci_dev_t bdf)
        return 0;
 }
 
-int ls_pcie_conf_address(struct udevice *bus, pci_dev_t bdf,
+int ls_pcie_conf_address(const struct udevice *bus, pci_dev_t bdf,
                         uint offset, void **paddress)
 {
        struct ls_pcie *pcie = dev_get_priv(bus);
@@ -271,7 +271,7 @@ int ls_pcie_conf_address(struct udevice *bus, pci_dev_t bdf,
        return 0;
 }
 
-static int ls_pcie_read_config(struct udevice *bus, pci_dev_t bdf,
+static int ls_pcie_read_config(const struct udevice *bus, pci_dev_t bdf,
                               uint offset, ulong *valuep,
                               enum pci_size_t size)
 {
index 1fd8761bbcc1aa615f6013ebb7c15995f8a53b66..cec61fa7d65552b9eb4e3bfac6e7affdf23dbc1f 100644 (file)
@@ -227,7 +227,7 @@ void *ls_pcie_g4_conf_address(struct ls_pcie_g4 *pcie, pci_dev_t bdf,
        return pcie->cfg + offset;
 }
 
-static int ls_pcie_g4_read_config(struct udevice *bus, pci_dev_t bdf,
+static int ls_pcie_g4_read_config(const struct udevice *bus, pci_dev_t bdf,
                                  uint offset, ulong *valuep,
                                  enum pci_size_t size)
 {
index a0dcb258b02a6b61a2e70f16aa74f2505d808e3f..0b412aca0e85cd60a48234e40f3bda6b3086bd55 100644 (file)
@@ -66,7 +66,7 @@ struct mtk_pcie {
        struct list_head ports;
 };
 
-static int mtk_pcie_config_address(struct udevice *udev, pci_dev_t bdf,
+static int mtk_pcie_config_address(const struct udevice *udev, pci_dev_t bdf,
                                   uint offset, void **paddress)
 {
        struct mtk_pcie *pcie = dev_get_priv(udev);
@@ -77,7 +77,7 @@ static int mtk_pcie_config_address(struct udevice *udev, pci_dev_t bdf,
        return 0;
 }
 
-static int mtk_pcie_read_config(struct udevice *bus, pci_dev_t bdf,
+static int mtk_pcie_read_config(const struct udevice *bus, pci_dev_t bdf,
                                uint offset, ulong *valuep,
                                enum pci_size_t size)
 {
index 92e281e7c2f7437dd2507ae1dae5efbaf56707dd..51b2171f9fa0039a137155df301cc16430c50cf8 100644 (file)
@@ -75,9 +75,8 @@ static int phytium_pci_skip_dev(pci_dev_t parent)
  * code. Otherwise the address to access will be written to the pointer pointed
  * to by @paddress.
  */
-static int pci_phytium_conf_address(struct udevice *bus, pci_dev_t bdf,
-                                   uint offset,
-                                   void **paddress)
+static int pci_phytium_conf_address(const struct udevice *bus, pci_dev_t bdf,
+                                   uint offset, void **paddress)
 {
        struct phytium_pcie *pcie = dev_get_priv(bus);
        void *addr;
@@ -119,7 +118,7 @@ static int pci_phytium_conf_address(struct udevice *bus, pci_dev_t bdf,
  * space of the device identified by the bus, device & function numbers in @bdf
  * on the PCI bus @bus.
  */
-static int pci_phytium_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pci_phytium_read_config(const struct udevice *bus, pci_dev_t bdf,
                                   uint offset, ulong *valuep,
                                   enum pci_size_t size)
 {
index 44a5f1e1f4fc96d60021b4a193157ea61e27d92e..05787ae1448671de899a8ec1d6186da694ac222b 100644 (file)
@@ -54,7 +54,7 @@ static bool pcie_xilinx_link_up(struct xilinx_pcie *pcie)
  *
  * Return: 0 on success, else -ENODEV
  */
-static int pcie_xilinx_config_address(struct udevice *udev, pci_dev_t bdf,
+static int pcie_xilinx_config_address(const struct udevice *udev, pci_dev_t bdf,
                                      uint offset, void **paddress)
 {
        struct xilinx_pcie *pcie = dev_get_priv(udev);
@@ -97,7 +97,7 @@ static int pcie_xilinx_config_address(struct udevice *udev, pci_dev_t bdf,
  *
  * Return: 0 on success, else -ENODEV or -EINVAL
  */
-static int pcie_xilinx_read_config(struct udevice *bus, pci_dev_t bdf,
+static int pcie_xilinx_read_config(const struct udevice *bus, pci_dev_t bdf,
                                   uint offset, ulong *valuep,
                                   enum pci_size_t size)
 {
index 15cc7acaf33028f50b83a1624d240922c169f1bd..dfff335e54e29c0c4b8aaae415ed43488fba04dd 100644 (file)
@@ -42,7 +42,7 @@ struct pmc_emul_priv {
        u8 regs[MEMMAP_SIZE];
 };
 
-static int sandbox_pmc_emul_read_config(struct udevice *emul, uint offset,
+static int sandbox_pmc_emul_read_config(const struct udevice *emul, uint offset,
                                        ulong *valuep, enum pci_size_t size)
 {
        struct pmc_emul_platdata *plat = dev_get_platdata(emul);
index 8c761d8da3b9b69e24c9946bc67ef38ad62fc85b..40e3c3fc6f9c6b0032b0daa00bcacee9a3567001 100644 (file)
@@ -899,8 +899,8 @@ struct dm_pci_ops {
         * @size:       Access size
         * @return 0 if OK, -ve on error
         */
-       int (*read_config)(struct udevice *bus, pci_dev_t bdf, uint offset,
-                          ulong *valuep, enum pci_size_t size);
+       int (*read_config)(const struct udevice *bus, pci_dev_t bdf,
+                          uint offset, ulong *valuep, enum pci_size_t size);
        /**
         * write_config() - Write a PCI configuration value
         *
@@ -974,7 +974,7 @@ int dm_pci_bus_find_bdf(pci_dev_t bdf, struct udevice **devp);
  * @devp:      Returns the device for this address, if found
  * @return 0 if OK, -ENODEV if not found
  */
-int pci_bus_find_devfn(struct udevice *bus, pci_dev_t find_devfn,
+int pci_bus_find_devfn(const struct udevice *bus, pci_dev_t find_devfn,
                       struct udevice **devp);
 
 /**
@@ -1155,8 +1155,9 @@ int pci_read_config8(pci_dev_t pcidev, int offset, u8 *valuep);
  * Return: 0 on success, else -EINVAL
  */
 int pci_generic_mmap_write_config(
-       struct udevice *bus,
-       int (*addr_f)(struct udevice *bus, pci_dev_t bdf, uint offset, void **addrp),
+       const struct udevice *bus,
+       int (*addr_f)(const struct udevice *bus, pci_dev_t bdf, uint offset,
+                     void **addrp),
        pci_dev_t bdf,
        uint offset,
        ulong value,
@@ -1180,8 +1181,9 @@ int pci_generic_mmap_write_config(
  * Return: 0 on success, else -EINVAL
  */
 int pci_generic_mmap_read_config(
-       struct udevice *bus,
-       int (*addr_f)(struct udevice *bus, pci_dev_t bdf, uint offset, void **addrp),
+       const struct udevice *bus,
+       int (*addr_f)(const struct udevice *bus, pci_dev_t bdf, uint offset,
+                     void **addrp),
        pci_dev_t bdf,
        uint offset,
        ulong *valuep,
@@ -1523,8 +1525,8 @@ struct dm_pci_emul_ops {
         * @size:       Access size
         * @return 0 if OK, -ve on error
         */
-       int (*read_config)(struct udevice *dev, uint offset, ulong *valuep,
-                          enum pci_size_t size);
+       int (*read_config)(const struct udevice *dev, uint offset,
+                          ulong *valuep, enum pci_size_t size);
        /**
         * write_config() - Write a PCI configuration value
         *
@@ -1609,7 +1611,7 @@ struct dm_pci_emul_ops {
  * @emulp:     Returns emulated device if found
  * @return 0 if found, -ENODEV if not found
  */
-int sandbox_pci_get_emul(struct udevice *bus, pci_dev_t find_devfn,
+int sandbox_pci_get_emul(const struct udevice *bus, pci_dev_t find_devfn,
                         struct udevice **containerp, struct udevice **emulp);
 
 /**