From fc347fbdd44a01b1aba6283dec56c1374baca383 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:36 -0700 Subject: dm: core: Use const where possible in device.h Update this header file to use const devices where possible, to permit callers to also use const. Signed-off-by: Simon Glass --- drivers/core/device.c | 27 ++++++++++++++------------- include/dm/device.h | 30 ++++++++++++++++-------------- include/dm/read.h | 4 ++-- 3 files changed, 32 insertions(+), 29 deletions(-) diff --git a/drivers/core/device.c b/drivers/core/device.c index 9f39218..b7f59fc 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -591,7 +591,8 @@ static int device_find_by_ofnode(ofnode node, struct udevice **devp) } #endif -int device_get_child(struct udevice *parent, int index, struct udevice **devp) +int device_get_child(const struct udevice *parent, int index, + struct udevice **devp) { struct udevice *dev; @@ -603,7 +604,7 @@ int device_get_child(struct udevice *parent, int index, struct udevice **devp) return -ENODEV; } -int device_get_child_count(struct udevice *parent) +int device_get_child_count(const struct udevice *parent) { struct udevice *dev; int count = 0; @@ -614,7 +615,7 @@ int device_get_child_count(struct udevice *parent) return count; } -int device_find_child_by_seq(struct udevice *parent, int seq_or_req_seq, +int device_find_child_by_seq(const struct udevice *parent, int seq_or_req_seq, bool find_req_seq, struct udevice **devp) { struct udevice *dev; @@ -634,7 +635,7 @@ int device_find_child_by_seq(struct udevice *parent, int seq_or_req_seq, return -ENODEV; } -int device_get_child_by_seq(struct udevice *parent, int seq, +int device_get_child_by_seq(const struct udevice *parent, int seq, struct udevice **devp) { struct udevice *dev; @@ -652,7 +653,7 @@ int device_get_child_by_seq(struct udevice *parent, int seq, return device_get_device_tail(dev, ret, devp); } -int device_find_child_by_of_offset(struct udevice *parent, int of_offset, +int device_find_child_by_of_offset(const struct udevice *parent, int of_offset, struct udevice **devp) { struct udevice *dev; @@ -669,7 +670,7 @@ int device_find_child_by_of_offset(struct udevice *parent, int of_offset, return -ENODEV; } -int device_get_child_by_of_offset(struct udevice *parent, int node, +int device_get_child_by_of_offset(const struct udevice *parent, int node, struct udevice **devp) { struct udevice *dev; @@ -712,7 +713,7 @@ int device_get_global_by_ofnode(ofnode ofnode, struct udevice **devp) return device_get_device_tail(dev, dev ? 0 : -ENOENT, devp); } -int device_find_first_child(struct udevice *parent, struct udevice **devp) +int device_find_first_child(const struct udevice *parent, struct udevice **devp) { if (list_empty(&parent->child_head)) { *devp = NULL; @@ -739,7 +740,7 @@ int device_find_next_child(struct udevice **devp) return 0; } -int device_find_first_inactive_child(struct udevice *parent, +int device_find_first_inactive_child(const struct udevice *parent, enum uclass_id uclass_id, struct udevice **devp) { @@ -757,7 +758,7 @@ int device_find_first_inactive_child(struct udevice *parent, return -ENODEV; } -int device_find_first_child_by_uclass(struct udevice *parent, +int device_find_first_child_by_uclass(const struct udevice *parent, enum uclass_id uclass_id, struct udevice **devp) { @@ -774,7 +775,7 @@ int device_find_first_child_by_uclass(struct udevice *parent, return -ENODEV; } -int device_find_child_by_name(struct udevice *parent, const char *name, +int device_find_child_by_name(const struct udevice *parent, const char *name, struct udevice **devp) { struct udevice *dev; @@ -827,7 +828,7 @@ bool device_has_children(const struct udevice *dev) return !list_empty(&dev->child_head); } -bool device_has_active_children(struct udevice *dev) +bool device_has_active_children(const struct udevice *dev) { struct udevice *child; @@ -841,7 +842,7 @@ bool device_has_active_children(struct udevice *dev) return false; } -bool device_is_last_sibling(struct udevice *dev) +bool device_is_last_sibling(const struct udevice *dev) { struct udevice *parent = dev->parent; @@ -867,7 +868,7 @@ int device_set_name(struct udevice *dev, const char *name) } #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA) -bool device_is_compatible(struct udevice *dev, const char *compat) +bool device_is_compatible(const struct udevice *dev, const char *compat) { return ofnode_device_is_compatible(dev_ofnode(dev), compat); } diff --git a/include/dm/device.h b/include/dm/device.h index 1138a09..611fc2e 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -409,7 +409,8 @@ const char *dev_get_uclass_name(const struct udevice *dev); * @return 0 if OK, -ENODEV if no such device, other error if the device fails * to probe */ -int device_get_child(struct udevice *parent, int index, struct udevice **devp); +int device_get_child(const struct udevice *parent, int index, + struct udevice **devp); /** * device_get_child_count() - Get the available child count of a device @@ -418,7 +419,7 @@ int device_get_child(struct udevice *parent, int index, struct udevice **devp); * * @parent: Parent device to check */ -int device_get_child_count(struct udevice *parent); +int device_get_child_count(const struct udevice *parent); /** * device_find_child_by_seq() - Find a child device based on a sequence @@ -439,7 +440,7 @@ int device_get_child_count(struct udevice *parent); * Set to NULL if none is found * @return 0 if OK, -ve on error */ -int device_find_child_by_seq(struct udevice *parent, int seq_or_req_seq, +int device_find_child_by_seq(const struct udevice *parent, int seq_or_req_seq, bool find_req_seq, struct udevice **devp); /** @@ -457,7 +458,7 @@ int device_find_child_by_seq(struct udevice *parent, int seq_or_req_seq, * Set to NULL if none is found * @return 0 if OK, -ve on error */ -int device_get_child_by_seq(struct udevice *parent, int seq, +int device_get_child_by_seq(const struct udevice *parent, int seq, struct udevice **devp); /** @@ -470,7 +471,7 @@ int device_get_child_by_seq(struct udevice *parent, int seq, * @devp: Returns pointer to device if found, otherwise this is set to NULL * @return 0 if OK, -ve on error */ -int device_find_child_by_of_offset(struct udevice *parent, int of_offset, +int device_find_child_by_of_offset(const struct udevice *parent, int of_offset, struct udevice **devp); /** @@ -485,7 +486,7 @@ int device_find_child_by_of_offset(struct udevice *parent, int of_offset, * @devp: Returns pointer to device if found, otherwise this is set to NULL * @return 0 if OK, -ve on error */ -int device_get_child_by_of_offset(struct udevice *parent, int of_offset, +int device_get_child_by_of_offset(const struct udevice *parent, int of_offset, struct udevice **devp); /** @@ -524,7 +525,8 @@ int device_get_global_by_ofnode(ofnode node, struct udevice **devp); * @devp: Returns first child device, or NULL if none * @return 0 */ -int device_find_first_child(struct udevice *parent, struct udevice **devp); +int device_find_first_child(const struct udevice *parent, + struct udevice **devp); /** * device_find_next_child() - Find the next child of a device @@ -548,7 +550,7 @@ int device_find_next_child(struct udevice **devp); * @devp: Returns device found, if any * @return 0 if found, else -ENODEV */ -int device_find_first_inactive_child(struct udevice *parent, +int device_find_first_inactive_child(const struct udevice *parent, enum uclass_id uclass_id, struct udevice **devp); @@ -560,7 +562,7 @@ int device_find_first_inactive_child(struct udevice *parent, * @devp: Returns first child device in that uclass, if any * @return 0 if found, else -ENODEV */ -int device_find_first_child_by_uclass(struct udevice *parent, +int device_find_first_child_by_uclass(const struct udevice *parent, enum uclass_id uclass_id, struct udevice **devp); @@ -572,7 +574,7 @@ int device_find_first_child_by_uclass(struct udevice *parent, * @devp: Returns device found, if any * @return 0 if found, else -ENODEV */ -int device_find_child_by_name(struct udevice *parent, const char *name, +int device_find_child_by_name(const struct udevice *parent, const char *name, struct udevice **devp); /** @@ -590,7 +592,7 @@ bool device_has_children(const struct udevice *dev); * @return true if the device has one or more children and at least one of * them is active (probed). */ -bool device_has_active_children(struct udevice *dev); +bool device_has_active_children(const struct udevice *dev); /** * device_is_last_sibling() - check if a device is the last sibling @@ -603,7 +605,7 @@ bool device_has_active_children(struct udevice *dev); * @return true if there are no more siblings after this one - i.e. is it * last in the list. */ -bool device_is_last_sibling(struct udevice *dev); +bool device_is_last_sibling(const struct udevice *dev); /** * device_set_name() - set the name of a device @@ -643,7 +645,7 @@ void device_set_name_alloced(struct udevice *dev); * device * @return true if OK, false if the compatible is not found */ -bool device_is_compatible(struct udevice *dev, const char *compat); +bool device_is_compatible(const struct udevice *dev, const char *compat); /** * of_machine_is_compatible() - check if the machine is compatible with @@ -678,7 +680,7 @@ int dev_enable_by_path(const char *path); * @dev: device to test * @return: true if it is on a PCI bus, false otherwise */ -static inline bool device_is_on_pci_bus(struct udevice *dev) +static inline bool device_is_on_pci_bus(const struct udevice *dev) { return device_get_uclass_id(dev->parent) == UCLASS_PCI; } diff --git a/include/dm/read.h b/include/dm/read.h index d37fcb5..f1c1553 100644 --- a/include/dm/read.h +++ b/include/dm/read.h @@ -33,12 +33,12 @@ static inline const struct device_node *dev_np(struct udevice *dev) * @dev: device to check * @return reference of the the device's DT node */ -static inline ofnode dev_ofnode(struct udevice *dev) +static inline ofnode dev_ofnode(const struct udevice *dev) { return dev->node; } -static inline bool dev_of_valid(struct udevice *dev) +static inline bool dev_of_valid(const struct udevice *dev) { return ofnode_valid(dev_ofnode(dev)); } -- cgit v1.1 From c4e72c4ad8b7c2db9c868bd053c25344b95900b8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:37 -0700 Subject: dm: pci: Update the PCI read_config() method to const dev * 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 --- drivers/misc/p2sb_emul.c | 5 +++-- drivers/misc/swap_case.c | 9 +++++---- drivers/pci/pci-aardvark.c | 2 +- drivers/pci/pci-emul-uclass.c | 2 +- drivers/pci/pci-rcar-gen2.c | 4 ++-- drivers/pci/pci-rcar-gen3.c | 6 +++--- drivers/pci/pci-uclass.c | 14 ++++++++------ drivers/pci/pci_mpc85xx.c | 2 +- drivers/pci/pci_mvebu.c | 2 +- drivers/pci/pci_sandbox.c | 2 +- drivers/pci/pci_sh7751.c | 4 ++-- drivers/pci/pci_tegra.c | 2 +- drivers/pci/pci_x86.c | 5 +++-- drivers/pci/pcie_dw_mvebu.c | 2 +- drivers/pci/pcie_dw_ti.c | 2 +- drivers/pci/pcie_ecam_generic.c | 11 ++++++----- drivers/pci/pcie_fsl.c | 2 +- drivers/pci/pcie_imx.c | 2 +- drivers/pci/pcie_intel_fpga.c | 4 ++-- drivers/pci/pcie_layerscape.c | 4 ++-- drivers/pci/pcie_layerscape_gen4.c | 2 +- drivers/pci/pcie_mediatek.c | 4 ++-- drivers/pci/pcie_phytium.c | 7 +++---- drivers/pci/pcie_xilinx.c | 4 ++-- drivers/power/acpi_pmc/pmc_emul.c | 2 +- include/pci.h | 22 ++++++++++++---------- 26 files changed, 67 insertions(+), 60 deletions(-) diff --git a/drivers/misc/p2sb_emul.c b/drivers/misc/p2sb_emul.c index c3795c5..a6ee9a2 100644 --- a/drivers/misc/p2sb_emul.c +++ b/drivers/misc/p2sb_emul.c @@ -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); diff --git a/drivers/misc/swap_case.c b/drivers/misc/swap_case.c index 11189d1..97e2afa 100644 --- a/drivers/misc/swap_case.c +++ b/drivers/misc/swap_case.c @@ -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); diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c index aa0b4bc..f1527ac 100644 --- a/drivers/pci/pci-aardvark.c +++ b/drivers/pci/pci-aardvark.c @@ -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) { diff --git a/drivers/pci/pci-emul-uclass.c b/drivers/pci/pci-emul-uclass.c index 0f63e49..9486e1c 100644 --- a/drivers/pci/pci-emul-uclass.c +++ b/drivers/pci/pci-emul-uclass.c @@ -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; diff --git a/drivers/pci/pci-rcar-gen2.c b/drivers/pci/pci-rcar-gen2.c index d913d53..014d870 100644 --- a/drivers/pci/pci-rcar-gen2.c +++ b/drivers/pci/pci-rcar-gen2.c @@ -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) { diff --git a/drivers/pci/pci-rcar-gen3.c b/drivers/pci/pci-rcar-gen3.c index 52ca13b..30eff67 100644 --- a/drivers/pci/pci-rcar-gen3.c +++ b/drivers/pci/pci-rcar-gen3.c @@ -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) { diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 5be2dfd..78d4129 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -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) { diff --git a/drivers/pci/pci_mpc85xx.c b/drivers/pci/pci_mpc85xx.c index e58ab60..8dff68d 100644 --- a/drivers/pci/pci_mpc85xx.c +++ b/drivers/pci/pci_mpc85xx.c @@ -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) { diff --git a/drivers/pci/pci_mvebu.c b/drivers/pci/pci_mvebu.c index f9b08f3..7d9ad34 100644 --- a/drivers/pci/pci_mvebu.c +++ b/drivers/pci/pci_mvebu.c @@ -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) { diff --git a/drivers/pci/pci_sandbox.c b/drivers/pci/pci_sandbox.c index 2af2b79..fa4c476 100644 --- a/drivers/pci/pci_sandbox.c +++ b/drivers/pci/pci_sandbox.c @@ -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) { diff --git a/drivers/pci/pci_sh7751.c b/drivers/pci/pci_sh7751.c index 53e1668..2f48b96 100644 --- a/drivers/pci/pci_sh7751.c +++ b/drivers/pci/pci_sh7751.c @@ -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) { diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c index 56c0858..96d308f 100644 --- a/drivers/pci/pci_tegra.c +++ b/drivers/pci/pci_tegra.c @@ -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) { diff --git a/drivers/pci/pci_x86.c b/drivers/pci/pci_x86.c index e76a9c6e..8d03693 100644 --- a/drivers/pci/pci_x86.c +++ b/drivers/pci/pci_x86.c @@ -8,8 +8,9 @@ #include #include -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); } diff --git a/drivers/pci/pcie_dw_mvebu.c b/drivers/pci/pcie_dw_mvebu.c index 693591e..1f216e1 100644 --- a/drivers/pci/pcie_dw_mvebu.c +++ b/drivers/pci/pcie_dw_mvebu.c @@ -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) { diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c index b37fc2d..433640d 100644 --- a/drivers/pci/pcie_dw_ti.c +++ b/drivers/pci/pcie_dw_ti.c @@ -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) { diff --git a/drivers/pci/pcie_ecam_generic.c b/drivers/pci/pcie_ecam_generic.c index 00644ed..c875f3a 100644 --- a/drivers/pci/pcie_ecam_generic.c +++ b/drivers/pci/pcie_ecam_generic.c @@ -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); diff --git a/drivers/pci/pcie_fsl.c b/drivers/pci/pcie_fsl.c index ab25aee..f516ec0 100644 --- a/drivers/pci/pcie_fsl.c +++ b/drivers/pci/pcie_fsl.c @@ -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) { diff --git a/drivers/pci/pcie_imx.c b/drivers/pci/pcie_imx.c index 3621636..8e1713a 100644 --- a/drivers/pci/pcie_imx.c +++ b/drivers/pci/pcie_imx.c @@ -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) { diff --git a/drivers/pci/pcie_intel_fpga.c b/drivers/pci/pcie_intel_fpga.c index a5ea488..a1f6e95 100644 --- a/drivers/pci/pcie_intel_fpga.c +++ b/drivers/pci/pcie_intel_fpga.c @@ -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) { diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c index 2ab67d1..8b313e9 100644 --- a/drivers/pci/pcie_layerscape.c +++ b/drivers/pci/pcie_layerscape.c @@ -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) { diff --git a/drivers/pci/pcie_layerscape_gen4.c b/drivers/pci/pcie_layerscape_gen4.c index 1fd8761..cec61fa 100644 --- a/drivers/pci/pcie_layerscape_gen4.c +++ b/drivers/pci/pcie_layerscape_gen4.c @@ -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) { diff --git a/drivers/pci/pcie_mediatek.c b/drivers/pci/pcie_mediatek.c index a0dcb25..0b412ac 100644 --- a/drivers/pci/pcie_mediatek.c +++ b/drivers/pci/pcie_mediatek.c @@ -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) { diff --git a/drivers/pci/pcie_phytium.c b/drivers/pci/pcie_phytium.c index 92e281e..51b2171 100644 --- a/drivers/pci/pcie_phytium.c +++ b/drivers/pci/pcie_phytium.c @@ -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) { diff --git a/drivers/pci/pcie_xilinx.c b/drivers/pci/pcie_xilinx.c index 44a5f1e..05787ae 100644 --- a/drivers/pci/pcie_xilinx.c +++ b/drivers/pci/pcie_xilinx.c @@ -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) { diff --git a/drivers/power/acpi_pmc/pmc_emul.c b/drivers/power/acpi_pmc/pmc_emul.c index 15cc7ac..dfff335 100644 --- a/drivers/power/acpi_pmc/pmc_emul.c +++ b/drivers/power/acpi_pmc/pmc_emul.c @@ -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); diff --git a/include/pci.h b/include/pci.h index 8c761d8..40e3c3f 100644 --- a/include/pci.h +++ b/include/pci.h @@ -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); /** -- cgit v1.1 From 194fca91306f1a35da404a9c56d767be257c8b0f Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:38 -0700 Subject: dm: pci: Update a few more interfaces for const udevice * Tidy up a few places where const * should be used. Signed-off-by: Simon Glass --- drivers/pci/pci-uclass.c | 18 +++++++++--------- include/fdtdec.h | 2 +- include/pci.h | 16 ++++++++-------- lib/fdtdec.c | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 78d4129..5f31812 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -43,7 +43,7 @@ struct udevice *pci_get_controller(struct udevice *dev) return dev; } -pci_dev_t dm_pci_get_bdf(struct udevice *dev) +pci_dev_t dm_pci_get_bdf(const struct udevice *dev) { struct pci_child_platdata *pplat = dev_get_parent_platdata(dev); struct udevice *bus = dev->parent; @@ -349,7 +349,7 @@ int dm_pci_write_config32(struct udevice *dev, int offset, u32 value) return dm_pci_write_config(dev, offset, value, PCI_SIZE_32); } -int pci_bus_read_config(struct udevice *bus, pci_dev_t bdf, int offset, +int pci_bus_read_config(const struct udevice *bus, pci_dev_t bdf, int offset, unsigned long *valuep, enum pci_size_t size) { struct dm_pci_ops *ops; @@ -373,10 +373,10 @@ int pci_read_config(pci_dev_t bdf, int offset, unsigned long *valuep, return pci_bus_read_config(bus, bdf, offset, valuep, size); } -int dm_pci_read_config(struct udevice *dev, int offset, unsigned long *valuep, - enum pci_size_t size) +int dm_pci_read_config(const struct udevice *dev, int offset, + unsigned long *valuep, enum pci_size_t size) { - struct udevice *bus; + const struct udevice *bus; for (bus = dev; device_is_on_pci_bus(bus);) bus = bus->parent; @@ -423,7 +423,7 @@ int pci_read_config8(pci_dev_t bdf, int offset, u8 *valuep) return 0; } -int dm_pci_read_config8(struct udevice *dev, int offset, u8 *valuep) +int dm_pci_read_config8(const struct udevice *dev, int offset, u8 *valuep) { unsigned long value; int ret; @@ -436,7 +436,7 @@ int dm_pci_read_config8(struct udevice *dev, int offset, u8 *valuep) return 0; } -int dm_pci_read_config16(struct udevice *dev, int offset, u16 *valuep) +int dm_pci_read_config16(const struct udevice *dev, int offset, u16 *valuep) { unsigned long value; int ret; @@ -449,7 +449,7 @@ int dm_pci_read_config16(struct udevice *dev, int offset, u16 *valuep) return 0; } -int dm_pci_read_config32(struct udevice *dev, int offset, u32 *valuep) +int dm_pci_read_config32(const struct udevice *dev, int offset, u32 *valuep) { unsigned long value; int ret; @@ -1203,7 +1203,7 @@ int pci_get_regions(struct udevice *dev, struct pci_region **iop, return (*iop != NULL) + (*memp != NULL) + (*prefp != NULL); } -u32 dm_pci_read_bar32(struct udevice *dev, int barnum) +u32 dm_pci_read_bar32(const struct udevice *dev, int barnum) { u32 addr; int bar; diff --git a/include/fdtdec.h b/include/fdtdec.h index c8a143d..166f29c 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -441,7 +441,7 @@ int fdtdec_get_pci_vendev(const void *blob, int node, * @param bar returns base address of the pci device's registers * @return 0 if ok, negative on error */ -int fdtdec_get_pci_bar32(struct udevice *dev, struct fdt_pci_addr *addr, +int fdtdec_get_pci_bar32(const struct udevice *dev, struct fdt_pci_addr *addr, u32 *bar); /** diff --git a/include/pci.h b/include/pci.h index 40e3c3f..50ca249 100644 --- a/include/pci.h +++ b/include/pci.h @@ -924,7 +924,7 @@ struct dm_pci_ops { * @dev: Device to check * @return bus/device/function value (see PCI_BDF()) */ -pci_dev_t dm_pci_get_bdf(struct udevice *dev); +pci_dev_t dm_pci_get_bdf(const struct udevice *dev); /** * pci_bind_bus_devices() - scan a PCI bus and bind devices @@ -1067,7 +1067,7 @@ int dm_pci_hose_probe_bus(struct udevice *bus); * @size: Access size * @return 0 if OK, -ve on error */ -int pci_bus_read_config(struct udevice *bus, pci_dev_t bdf, int offset, +int pci_bus_read_config(const struct udevice *bus, pci_dev_t bdf, int offset, unsigned long *valuep, enum pci_size_t size); /** @@ -1102,12 +1102,12 @@ int pci_bus_clrset_config32(struct udevice *bus, pci_dev_t bdf, int offset, * Driver model PCI config access functions. Use these in preference to others * when you have a valid device */ -int dm_pci_read_config(struct udevice *dev, int offset, unsigned long *valuep, - enum pci_size_t size); +int dm_pci_read_config(const struct udevice *dev, int offset, + unsigned long *valuep, enum pci_size_t size); -int dm_pci_read_config8(struct udevice *dev, int offset, u8 *valuep); -int dm_pci_read_config16(struct udevice *dev, int offset, u16 *valuep); -int dm_pci_read_config32(struct udevice *dev, int offset, u32 *valuep); +int dm_pci_read_config8(const struct udevice *dev, int offset, u8 *valuep); +int dm_pci_read_config16(const struct udevice *dev, int offset, u16 *valuep); +int dm_pci_read_config32(const struct udevice *dev, int offset, u32 *valuep); int dm_pci_write_config(struct udevice *dev, int offset, unsigned long value, enum pci_size_t size); @@ -1313,7 +1313,7 @@ void dm_pci_write_bar32(struct udevice *dev, int barnum, u32 addr); * @barnum: Bar number to read (numbered from 0) * @return: value of BAR */ -u32 dm_pci_read_bar32(struct udevice *dev, int barnum); +u32 dm_pci_read_bar32(const struct udevice *dev, int barnum); /** * dm_pci_bus_to_phys() - convert a PCI bus address to a physical address diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 17051d4..7fbb4c7 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -224,7 +224,7 @@ int fdtdec_get_pci_vendev(const void *blob, int node, u16 *vendor, u16 *device) return -ENOENT; } -int fdtdec_get_pci_bar32(struct udevice *dev, struct fdt_pci_addr *addr, +int fdtdec_get_pci_bar32(const struct udevice *dev, struct fdt_pci_addr *addr, u32 *bar) { int barnum; -- cgit v1.1 From d975ce21ce92b2b0c6d13b0a8b5b4d78bfd37113 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:39 -0700 Subject: dm: core: Use const device for the devfdt...() interface These functions do not modify the device so should use a const pointer to it. Update the code accordingly. Signed-off-by: Simon Glass --- drivers/core/fdtaddr.c | 26 +++++++++++++------------- include/dm/fdtaddr.h | 26 +++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/drivers/core/fdtaddr.c b/drivers/core/fdtaddr.c index 575798f..33811e6 100644 --- a/drivers/core/fdtaddr.c +++ b/drivers/core/fdtaddr.c @@ -16,7 +16,7 @@ DECLARE_GLOBAL_DATA_PTR; -fdt_addr_t devfdt_get_addr_index(struct udevice *dev, int index) +fdt_addr_t devfdt_get_addr_index(const struct udevice *dev, int index) { #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA) fdt_addr_t addr; @@ -91,8 +91,8 @@ fdt_addr_t devfdt_get_addr_index(struct udevice *dev, int index) #endif } -fdt_addr_t devfdt_get_addr_size_index(struct udevice *dev, int index, - fdt_size_t *size) +fdt_addr_t devfdt_get_addr_size_index(const struct udevice *dev, int index, + fdt_size_t *size) { #if CONFIG_IS_ENABLED(OF_CONTROL) /* @@ -113,7 +113,7 @@ fdt_addr_t devfdt_get_addr_size_index(struct udevice *dev, int index, #endif } -fdt_addr_t devfdt_get_addr_name(struct udevice *dev, const char *name) +fdt_addr_t devfdt_get_addr_name(const struct udevice *dev, const char *name) { #if CONFIG_IS_ENABLED(OF_CONTROL) int index; @@ -129,8 +129,8 @@ fdt_addr_t devfdt_get_addr_name(struct udevice *dev, const char *name) #endif } -fdt_addr_t devfdt_get_addr_size_name(struct udevice *dev, const char *name, - fdt_size_t *size) +fdt_addr_t devfdt_get_addr_size_name(const struct udevice *dev, + const char *name, fdt_size_t *size) { #if CONFIG_IS_ENABLED(OF_CONTROL) int index; @@ -146,17 +146,17 @@ fdt_addr_t devfdt_get_addr_size_name(struct udevice *dev, const char *name, #endif } -fdt_addr_t devfdt_get_addr(struct udevice *dev) +fdt_addr_t devfdt_get_addr(const struct udevice *dev) { return devfdt_get_addr_index(dev, 0); } -void *devfdt_get_addr_ptr(struct udevice *dev) +void *devfdt_get_addr_ptr(const struct udevice *dev) { return (void *)(uintptr_t)devfdt_get_addr_index(dev, 0); } -void *devfdt_remap_addr_index(struct udevice *dev, int index) +void *devfdt_remap_addr_index(const struct udevice *dev, int index) { fdt_addr_t addr = devfdt_get_addr_index(dev, index); @@ -166,7 +166,7 @@ void *devfdt_remap_addr_index(struct udevice *dev, int index) return map_physmem(addr, 0, MAP_NOCACHE); } -void *devfdt_remap_addr_name(struct udevice *dev, const char *name) +void *devfdt_remap_addr_name(const struct udevice *dev, const char *name) { fdt_addr_t addr = devfdt_get_addr_name(dev, name); @@ -176,12 +176,12 @@ void *devfdt_remap_addr_name(struct udevice *dev, const char *name) return map_physmem(addr, 0, MAP_NOCACHE); } -void *devfdt_remap_addr(struct udevice *dev) +void *devfdt_remap_addr(const struct udevice *dev) { return devfdt_remap_addr_index(dev, 0); } -void *devfdt_map_physmem(struct udevice *dev, unsigned long size) +void *devfdt_map_physmem(const struct udevice *dev, unsigned long size) { fdt_addr_t addr = devfdt_get_addr(dev); @@ -191,7 +191,7 @@ void *devfdt_map_physmem(struct udevice *dev, unsigned long size) return map_physmem(addr, size, MAP_NOCACHE); } -fdt_addr_t devfdt_get_addr_pci(struct udevice *dev) +fdt_addr_t devfdt_get_addr_pci(const struct udevice *dev) { ulong addr; diff --git a/include/dm/fdtaddr.h b/include/dm/fdtaddr.h index 959d3bc..a4fda58 100644 --- a/include/dm/fdtaddr.h +++ b/include/dm/fdtaddr.h @@ -21,7 +21,7 @@ struct udevice; * * @return addr */ -fdt_addr_t devfdt_get_addr(struct udevice *dev); +fdt_addr_t devfdt_get_addr(const struct udevice *dev); /** * devfdt_get_addr_ptr() - Return pointer to the address of the reg property @@ -31,7 +31,7 @@ fdt_addr_t devfdt_get_addr(struct udevice *dev); * * @return Pointer to addr, or NULL if there is no such property */ -void *devfdt_get_addr_ptr(struct udevice *dev); +void *devfdt_get_addr_ptr(const struct udevice *dev); /** * devfdt_remap_addr() - Return pointer to the memory-mapped I/O address @@ -41,7 +41,7 @@ void *devfdt_get_addr_ptr(struct udevice *dev); * * @return Pointer to addr, or NULL if there is no such property */ -void *devfdt_remap_addr(struct udevice *dev); +void *devfdt_remap_addr(const struct udevice *dev); /** * devfdt_remap_addr_index() - Return indexed pointer to the memory-mapped @@ -53,7 +53,7 @@ void *devfdt_remap_addr(struct udevice *dev); * * @return Pointer to addr, or NULL if there is no such property */ -void *devfdt_remap_addr_index(struct udevice *dev, int index); +void *devfdt_remap_addr_index(const struct udevice *dev, int index); /** * devfdt_remap_addr_name() - Get the reg property of a device, indexed by @@ -66,7 +66,7 @@ void *devfdt_remap_addr_index(struct udevice *dev, int index); * * @return Pointer to addr, or NULL if there is no such property */ -void *devfdt_remap_addr_name(struct udevice *dev, const char *name); +void *devfdt_remap_addr_name(const struct udevice *dev, const char *name); /** * devfdt_map_physmem() - Read device address from reg property of the @@ -79,7 +79,7 @@ void *devfdt_remap_addr_name(struct udevice *dev, const char *name); * @return mapped address, or NULL if the device does not have reg * property. */ -void *devfdt_map_physmem(struct udevice *dev, unsigned long size); +void *devfdt_map_physmem(const struct udevice *dev, unsigned long size); /** * devfdt_get_addr_index() - Get the indexed reg property of a device @@ -90,7 +90,7 @@ void *devfdt_map_physmem(struct udevice *dev, unsigned long size); * * @return addr */ -fdt_addr_t devfdt_get_addr_index(struct udevice *dev, int index); +fdt_addr_t devfdt_get_addr_index(const struct udevice *dev, int index); /** * devfdt_get_addr_size_index() - Get the indexed reg property of a device @@ -105,8 +105,8 @@ fdt_addr_t devfdt_get_addr_index(struct udevice *dev, int index); * * @return addr */ -fdt_addr_t devfdt_get_addr_size_index(struct udevice *dev, int index, - fdt_size_t *size); +fdt_addr_t devfdt_get_addr_size_index(const struct udevice *dev, int index, + fdt_size_t *size); /** * devfdt_get_addr_name() - Get the reg property of a device, indexed by name @@ -118,7 +118,7 @@ fdt_addr_t devfdt_get_addr_size_index(struct udevice *dev, int index, * * @return addr */ -fdt_addr_t devfdt_get_addr_name(struct udevice *dev, const char *name); +fdt_addr_t devfdt_get_addr_name(const struct udevice *dev, const char *name); /** * devfdt_get_addr_size_name() - Get the reg property and its size for a device, @@ -135,8 +135,8 @@ fdt_addr_t devfdt_get_addr_name(struct udevice *dev, const char *name); * * @return addr */ -fdt_addr_t devfdt_get_addr_size_name(struct udevice *dev, const char *name, - fdt_size_t *size); +fdt_addr_t devfdt_get_addr_size_name(const struct udevice *dev, + const char *name, fdt_size_t *size); /** * devfdt_get_addr_pci() - Read an address and handle PCI address translation @@ -144,6 +144,6 @@ fdt_addr_t devfdt_get_addr_size_name(struct udevice *dev, const char *name, * @dev: Device to read from * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t devfdt_get_addr_pci(struct udevice *dev); +fdt_addr_t devfdt_get_addr_pci(const struct udevice *dev); #endif -- cgit v1.1 From 88b3a37eaab4004cd3d26976dc3ee875bdba0b63 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:40 -0700 Subject: dm: core: Use const device for the dev_read_...() interface These functions do not modify the device so should use a const pointer to it. Update the code accordingly. Signed-off-by: Simon Glass --- drivers/core/read.c | 97 +++++++++++++------------ include/dm/read.h | 205 +++++++++++++++++++++++++++------------------------- 2 files changed, 159 insertions(+), 143 deletions(-) diff --git a/drivers/core/read.c b/drivers/core/read.c index 9602e52..1f999b1 100644 --- a/drivers/core/read.c +++ b/drivers/core/read.c @@ -11,27 +11,29 @@ #include #include -int dev_read_u32(struct udevice *dev, const char *propname, u32 *outp) +int dev_read_u32(const struct udevice *dev, const char *propname, u32 *outp) { return ofnode_read_u32(dev_ofnode(dev), propname, outp); } -int dev_read_u32_default(struct udevice *dev, const char *propname, int def) +int dev_read_u32_default(const struct udevice *dev, const char *propname, + int def) { return ofnode_read_u32_default(dev_ofnode(dev), propname, def); } -int dev_read_s32(struct udevice *dev, const char *propname, s32 *outp) +int dev_read_s32(const struct udevice *dev, const char *propname, s32 *outp) { return ofnode_read_u32(dev_ofnode(dev), propname, (u32 *)outp); } -int dev_read_s32_default(struct udevice *dev, const char *propname, int def) +int dev_read_s32_default(const struct udevice *dev, const char *propname, + int def) { return ofnode_read_u32_default(dev_ofnode(dev), propname, def); } -int dev_read_u32u(struct udevice *dev, const char *propname, uint *outp) +int dev_read_u32u(const struct udevice *dev, const char *propname, uint *outp) { u32 val; int ret; @@ -44,32 +46,33 @@ int dev_read_u32u(struct udevice *dev, const char *propname, uint *outp) return 0; } -int dev_read_u64(struct udevice *dev, const char *propname, u64 *outp) +int dev_read_u64(const struct udevice *dev, const char *propname, u64 *outp) { return ofnode_read_u64(dev_ofnode(dev), propname, outp); } -u64 dev_read_u64_default(struct udevice *dev, const char *propname, u64 def) +u64 dev_read_u64_default(const struct udevice *dev, const char *propname, + u64 def) { return ofnode_read_u64_default(dev_ofnode(dev), propname, def); } -const char *dev_read_string(struct udevice *dev, const char *propname) +const char *dev_read_string(const struct udevice *dev, const char *propname) { return ofnode_read_string(dev_ofnode(dev), propname); } -bool dev_read_bool(struct udevice *dev, const char *propname) +bool dev_read_bool(const struct udevice *dev, const char *propname) { return ofnode_read_bool(dev_ofnode(dev), propname); } -ofnode dev_read_subnode(struct udevice *dev, const char *subnode_name) +ofnode dev_read_subnode(const struct udevice *dev, const char *subnode_name) { return ofnode_find_subnode(dev_ofnode(dev), subnode_name); } -ofnode dev_read_first_subnode(struct udevice *dev) +ofnode dev_read_first_subnode(const struct udevice *dev) { return ofnode_first_subnode(dev_ofnode(dev)); } @@ -79,12 +82,12 @@ ofnode dev_read_next_subnode(ofnode node) return ofnode_next_subnode(node); } -int dev_read_size(struct udevice *dev, const char *propname) +int dev_read_size(const struct udevice *dev, const char *propname) { return ofnode_read_size(dev_ofnode(dev), propname); } -fdt_addr_t dev_read_addr_index(struct udevice *dev, int index) +fdt_addr_t dev_read_addr_index(const struct udevice *dev, int index) { if (ofnode_is_np(dev_ofnode(dev))) return ofnode_get_addr_index(dev_ofnode(dev), index); @@ -92,7 +95,7 @@ fdt_addr_t dev_read_addr_index(struct udevice *dev, int index) return devfdt_get_addr_index(dev, index); } -fdt_addr_t dev_read_addr_size_index(struct udevice *dev, int index, +fdt_addr_t dev_read_addr_size_index(const struct udevice *dev, int index, fdt_size_t *size) { if (ofnode_is_np(dev_ofnode(dev))) @@ -101,7 +104,7 @@ fdt_addr_t dev_read_addr_size_index(struct udevice *dev, int index, return devfdt_get_addr_size_index(dev, index, size); } -void *dev_remap_addr_index(struct udevice *dev, int index) +void *dev_remap_addr_index(const struct udevice *dev, int index) { fdt_addr_t addr = dev_read_addr_index(dev, index); @@ -111,7 +114,7 @@ void *dev_remap_addr_index(struct udevice *dev, int index) return map_physmem(addr, 0, MAP_NOCACHE); } -fdt_addr_t dev_read_addr_name(struct udevice *dev, const char *name) +fdt_addr_t dev_read_addr_name(const struct udevice *dev, const char *name) { int index = dev_read_stringlist_search(dev, "reg-names", name); @@ -121,7 +124,7 @@ fdt_addr_t dev_read_addr_name(struct udevice *dev, const char *name) return dev_read_addr_index(dev, index); } -fdt_addr_t dev_read_addr_size_name(struct udevice *dev, const char *name, +fdt_addr_t dev_read_addr_size_name(const struct udevice *dev, const char *name, fdt_size_t *size) { int index = dev_read_stringlist_search(dev, "reg-names", name); @@ -132,7 +135,7 @@ fdt_addr_t dev_read_addr_size_name(struct udevice *dev, const char *name, return dev_read_addr_size_index(dev, index, size); } -void *dev_remap_addr_name(struct udevice *dev, const char *name) +void *dev_remap_addr_name(const struct udevice *dev, const char *name) { fdt_addr_t addr = dev_read_addr_name(dev, name); @@ -142,52 +145,52 @@ void *dev_remap_addr_name(struct udevice *dev, const char *name) return map_physmem(addr, 0, MAP_NOCACHE); } -fdt_addr_t dev_read_addr(struct udevice *dev) +fdt_addr_t dev_read_addr(const struct udevice *dev) { return dev_read_addr_index(dev, 0); } -void *dev_read_addr_ptr(struct udevice *dev) +void *dev_read_addr_ptr(const struct udevice *dev) { fdt_addr_t addr = dev_read_addr(dev); return (addr == FDT_ADDR_T_NONE) ? NULL : map_sysmem(addr, 0); } -void *dev_remap_addr(struct udevice *dev) +void *dev_remap_addr(const struct udevice *dev) { return dev_remap_addr_index(dev, 0); } -fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *property, +fdt_addr_t dev_read_addr_size(const struct udevice *dev, const char *property, fdt_size_t *sizep) { return ofnode_get_addr_size(dev_ofnode(dev), property, sizep); } -const char *dev_read_name(struct udevice *dev) +const char *dev_read_name(const struct udevice *dev) { return ofnode_get_name(dev_ofnode(dev)); } -int dev_read_stringlist_search(struct udevice *dev, const char *property, +int dev_read_stringlist_search(const struct udevice *dev, const char *property, const char *string) { return ofnode_stringlist_search(dev_ofnode(dev), property, string); } -int dev_read_string_index(struct udevice *dev, const char *propname, int index, - const char **outp) +int dev_read_string_index(const struct udevice *dev, const char *propname, + int index, const char **outp) { return ofnode_read_string_index(dev_ofnode(dev), propname, index, outp); } -int dev_read_string_count(struct udevice *dev, const char *propname) +int dev_read_string_count(const struct udevice *dev, const char *propname) { return ofnode_read_string_count(dev_ofnode(dev), propname); } -int dev_read_phandle_with_args(struct udevice *dev, const char *list_name, +int dev_read_phandle_with_args(const struct udevice *dev, const char *list_name, const char *cells_name, int cell_count, int index, struct ofnode_phandle_args *out_args) { @@ -196,34 +199,34 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name, out_args); } -int dev_count_phandle_with_args(struct udevice *dev, const char *list_name, - const char *cells_name) +int dev_count_phandle_with_args(const struct udevice *dev, + const char *list_name, const char *cells_name) { return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name, cells_name); } -int dev_read_addr_cells(struct udevice *dev) +int dev_read_addr_cells(const struct udevice *dev) { return ofnode_read_addr_cells(dev_ofnode(dev)); } -int dev_read_size_cells(struct udevice *dev) +int dev_read_size_cells(const struct udevice *dev) { return ofnode_read_size_cells(dev_ofnode(dev)); } -int dev_read_simple_addr_cells(struct udevice *dev) +int dev_read_simple_addr_cells(const struct udevice *dev) { return ofnode_read_simple_addr_cells(dev_ofnode(dev)); } -int dev_read_simple_size_cells(struct udevice *dev) +int dev_read_simple_size_cells(const struct udevice *dev) { return ofnode_read_simple_size_cells(dev_ofnode(dev)); } -int dev_read_phandle(struct udevice *dev) +int dev_read_phandle(const struct udevice *dev) { ofnode node = dev_ofnode(dev); @@ -233,12 +236,13 @@ int dev_read_phandle(struct udevice *dev) return fdt_get_phandle(gd->fdt_blob, ofnode_to_offset(node)); } -const void *dev_read_prop(struct udevice *dev, const char *propname, int *lenp) +const void *dev_read_prop(const struct udevice *dev, const char *propname, + int *lenp) { return ofnode_get_property(dev_ofnode(dev), propname, lenp); } -int dev_read_alias_seq(struct udevice *dev, int *devnump) +int dev_read_alias_seq(const struct udevice *dev, int *devnump) { ofnode node = dev_ofnode(dev); const char *uc_name = dev->uclass->uc_drv->name; @@ -256,19 +260,19 @@ int dev_read_alias_seq(struct udevice *dev, int *devnump) return ret; } -int dev_read_u32_array(struct udevice *dev, const char *propname, +int dev_read_u32_array(const struct udevice *dev, const char *propname, u32 *out_values, size_t sz) { return ofnode_read_u32_array(dev_ofnode(dev), propname, out_values, sz); } -const uint8_t *dev_read_u8_array_ptr(struct udevice *dev, const char *propname, - size_t sz) +const uint8_t *dev_read_u8_array_ptr(const struct udevice *dev, + const char *propname, size_t sz) { return ofnode_read_u8_array_ptr(dev_ofnode(dev), propname, sz); } -int dev_read_enabled(struct udevice *dev) +int dev_read_enabled(const struct udevice *dev) { ofnode node = dev_ofnode(dev); @@ -279,23 +283,24 @@ int dev_read_enabled(struct udevice *dev) ofnode_to_offset(node)); } -int dev_read_resource(struct udevice *dev, uint index, struct resource *res) +int dev_read_resource(const struct udevice *dev, uint index, + struct resource *res) { return ofnode_read_resource(dev_ofnode(dev), index, res); } -int dev_read_resource_byname(struct udevice *dev, const char *name, +int dev_read_resource_byname(const struct udevice *dev, const char *name, struct resource *res) { return ofnode_read_resource_byname(dev_ofnode(dev), name, res); } -u64 dev_translate_address(struct udevice *dev, const fdt32_t *in_addr) +u64 dev_translate_address(const struct udevice *dev, const fdt32_t *in_addr) { return ofnode_translate_address(dev_ofnode(dev), in_addr); } -u64 dev_translate_dma_address(struct udevice *dev, const fdt32_t *in_addr) +u64 dev_translate_dma_address(const struct udevice *dev, const fdt32_t *in_addr) { return ofnode_translate_dma_address(dev_ofnode(dev), in_addr); } @@ -308,7 +313,7 @@ int dev_read_alias_highest_id(const char *stem) return fdtdec_get_alias_highest_id(gd->fdt_blob, stem); } -fdt_addr_t dev_read_addr_pci(struct udevice *dev) +fdt_addr_t dev_read_addr_pci(const struct udevice *dev) { ulong addr; diff --git a/include/dm/read.h b/include/dm/read.h index f1c1553..92a7328 100644 --- a/include/dm/read.h +++ b/include/dm/read.h @@ -16,12 +16,12 @@ struct resource; #if CONFIG_IS_ENABLED(OF_LIVE) -static inline const struct device_node *dev_np(struct udevice *dev) +static inline const struct device_node *dev_np(const struct udevice *dev) { return ofnode_to_np(dev->node); } #else -static inline const struct device_node *dev_np(struct udevice *dev) +static inline const struct device_node *dev_np(const struct udevice *dev) { return NULL; } @@ -53,7 +53,7 @@ static inline bool dev_of_valid(const struct udevice *dev) * @outp: place to put value (if found) * @return 0 if OK, -ve on error */ -int dev_read_u32(struct udevice *dev, const char *propname, u32 *outp); +int dev_read_u32(const struct udevice *dev, const char *propname, u32 *outp); /** * dev_read_u32_default() - read a 32-bit integer from a device's DT property @@ -63,7 +63,8 @@ int dev_read_u32(struct udevice *dev, const char *propname, u32 *outp); * @def: default value to return if the property has no value * @return property value, or @def if not found */ -int dev_read_u32_default(struct udevice *dev, const char *propname, int def); +int dev_read_u32_default(const struct udevice *dev, const char *propname, + int def); /** * dev_read_s32() - read a signed 32-bit integer from a device's DT property @@ -73,7 +74,7 @@ int dev_read_u32_default(struct udevice *dev, const char *propname, int def); * @outp: place to put value (if found) * @return 0 if OK, -ve on error */ -int dev_read_s32(struct udevice *dev, const char *propname, s32 *outp); +int dev_read_s32(const struct udevice *dev, const char *propname, s32 *outp); /** * dev_read_s32_default() - read a signed 32-bit int from a device's DT property @@ -83,7 +84,8 @@ int dev_read_s32(struct udevice *dev, const char *propname, s32 *outp); * @def: default value to return if the property has no value * @return property value, or @def if not found */ -int dev_read_s32_default(struct udevice *dev, const char *propname, int def); +int dev_read_s32_default(const struct udevice *dev, const char *propname, + int def); /** * dev_read_u32u() - read a 32-bit integer from a device's DT property @@ -95,7 +97,7 @@ int dev_read_s32_default(struct udevice *dev, const char *propname, int def); * @outp: place to put value (if found) * @return 0 if OK, -ve on error */ -int dev_read_u32u(struct udevice *dev, const char *propname, uint *outp); +int dev_read_u32u(const struct udevice *dev, const char *propname, uint *outp); /** * dev_read_u64() - read a 64-bit integer from a device's DT property @@ -105,7 +107,7 @@ int dev_read_u32u(struct udevice *dev, const char *propname, uint *outp); * @outp: place to put value (if found) * @return 0 if OK, -ve on error */ -int dev_read_u64(struct udevice *dev, const char *propname, u64 *outp); +int dev_read_u64(const struct udevice *dev, const char *propname, u64 *outp); /** * dev_read_u64_default() - read a 64-bit integer from a device's DT property @@ -115,7 +117,8 @@ int dev_read_u64(struct udevice *dev, const char *propname, u64 *outp); * @def: default value to return if the property has no value * @return property value, or @def if not found */ -u64 dev_read_u64_default(struct udevice *dev, const char *propname, u64 def); +u64 dev_read_u64_default(const struct udevice *dev, const char *propname, + u64 def); /** * dev_read_string() - Read a string from a device's DT property @@ -124,7 +127,7 @@ u64 dev_read_u64_default(struct udevice *dev, const char *propname, u64 def); * @propname: name of the property to read * @return string from property value, or NULL if there is no such property */ -const char *dev_read_string(struct udevice *dev, const char *propname); +const char *dev_read_string(const struct udevice *dev, const char *propname); /** * dev_read_bool() - read a boolean value from a device's DT property @@ -133,7 +136,7 @@ const char *dev_read_string(struct udevice *dev, const char *propname); * @propname: name of property to read * @return true if property is present (meaning true), false if not present */ -bool dev_read_bool(struct udevice *dev, const char *propname); +bool dev_read_bool(const struct udevice *dev, const char *propname); /** * dev_read_subnode() - find a named subnode of a device @@ -143,7 +146,7 @@ bool dev_read_bool(struct udevice *dev, const char *propname); * @return reference to subnode (which can be invalid if there is no such * subnode) */ -ofnode dev_read_subnode(struct udevice *dev, const char *subbnode_name); +ofnode dev_read_subnode(const struct udevice *dev, const char *subbnode_name); /** * dev_read_size() - read the size of a property @@ -152,7 +155,7 @@ ofnode dev_read_subnode(struct udevice *dev, const char *subbnode_name); * @propname: property to check * @return size of property if present, or -EINVAL if not */ -int dev_read_size(struct udevice *dev, const char *propname); +int dev_read_size(const struct udevice *dev, const char *propname); /** * dev_read_addr_index() - Get the indexed reg property of a device @@ -163,7 +166,7 @@ int dev_read_size(struct udevice *dev, const char *propname); * * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t dev_read_addr_index(struct udevice *dev, int index); +fdt_addr_t dev_read_addr_index(const struct udevice *dev, int index); /** * dev_read_addr_size_index() - Get the indexed reg property of a device @@ -175,7 +178,7 @@ fdt_addr_t dev_read_addr_index(struct udevice *dev, int index); * * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t dev_read_addr_size_index(struct udevice *dev, int index, +fdt_addr_t dev_read_addr_size_index(const struct udevice *dev, int index, fdt_size_t *size); /** @@ -188,7 +191,7 @@ fdt_addr_t dev_read_addr_size_index(struct udevice *dev, int index, * * @return pointer or NULL if not found */ -void *dev_remap_addr_index(struct udevice *dev, int index); +void *dev_remap_addr_index(const struct udevice *dev, int index); /** * dev_read_addr_name() - Get the reg property of a device, indexed by name @@ -200,7 +203,7 @@ void *dev_remap_addr_index(struct udevice *dev, int index); * * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t dev_read_addr_name(struct udevice *dev, const char* name); +fdt_addr_t dev_read_addr_name(const struct udevice *dev, const char *name); /** * dev_read_addr_size_name() - Get the reg property of a device, indexed by name @@ -213,7 +216,7 @@ fdt_addr_t dev_read_addr_name(struct udevice *dev, const char* name); * * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t dev_read_addr_size_name(struct udevice *dev, const char *name, +fdt_addr_t dev_read_addr_size_name(const struct udevice *dev, const char *name, fdt_size_t *size); /** @@ -227,7 +230,7 @@ fdt_addr_t dev_read_addr_size_name(struct udevice *dev, const char *name, * * @return pointer or NULL if not found */ -void *dev_remap_addr_name(struct udevice *dev, const char* name); +void *dev_remap_addr_name(const struct udevice *dev, const char *name); /** * dev_read_addr() - Get the reg property of a device @@ -236,7 +239,7 @@ void *dev_remap_addr_name(struct udevice *dev, const char* name); * * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t dev_read_addr(struct udevice *dev); +fdt_addr_t dev_read_addr(const struct udevice *dev); /** * dev_read_addr_ptr() - Get the reg property of a device @@ -246,7 +249,7 @@ fdt_addr_t dev_read_addr(struct udevice *dev); * * @return pointer or NULL if not found */ -void *dev_read_addr_ptr(struct udevice *dev); +void *dev_read_addr_ptr(const struct udevice *dev); /** * dev_read_addr_pci() - Read an address and handle PCI address translation @@ -266,7 +269,7 @@ void *dev_read_addr_ptr(struct udevice *dev); * @dev: Device to read from * @return address or FDT_ADDR_T_NONE if not found */ -fdt_addr_t dev_read_addr_pci(struct udevice *dev); +fdt_addr_t dev_read_addr_pci(const struct udevice *dev); /** * dev_remap_addr() - Get the reg property of a device as a @@ -276,7 +279,7 @@ fdt_addr_t dev_read_addr_pci(struct udevice *dev); * * @return pointer or NULL if not found */ -void *dev_remap_addr(struct udevice *dev); +void *dev_remap_addr(const struct udevice *dev); /** * dev_read_addr_size() - get address and size from a device property @@ -289,8 +292,8 @@ void *dev_remap_addr(struct udevice *dev); * @sizep: place to put size value (on success) * @return address value, or FDT_ADDR_T_NONE on error */ -fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *propname, - fdt_size_t *sizep); +fdt_addr_t dev_read_addr_size(const struct udevice *dev, const char *propname, + fdt_size_t *sizep); /** * dev_read_name() - get the name of a device's node @@ -298,7 +301,7 @@ fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *propname, * @dev: Device to read from * @return name of node */ -const char *dev_read_name(struct udevice *dev); +const char *dev_read_name(const struct udevice *dev); /** * dev_read_stringlist_search() - find string in a string list and return index @@ -318,8 +321,8 @@ const char *dev_read_name(struct udevice *dev); * -ENODATA if the property is not found * -EINVAL on some other error */ -int dev_read_stringlist_search(struct udevice *dev, const char *property, - const char *string); +int dev_read_stringlist_search(const struct udevice *dev, const char *property, + const char *string); /** * dev_read_string_index() - obtain an indexed string from a string list @@ -332,8 +335,8 @@ int dev_read_stringlist_search(struct udevice *dev, const char *property, * @return: * length of string, if found or -ve error value if not found */ -int dev_read_string_index(struct udevice *dev, const char *propname, int index, - const char **outp); +int dev_read_string_index(const struct udevice *dev, const char *propname, + int index, const char **outp); /** * dev_read_string_count() - find the number of strings in a string list @@ -343,7 +346,7 @@ int dev_read_string_index(struct udevice *dev, const char *propname, int index, * @return: * number of strings in the list, or -ve error value if not found */ -int dev_read_string_count(struct udevice *dev, const char *propname); +int dev_read_string_count(const struct udevice *dev, const char *propname); /** * dev_read_phandle_with_args() - Find a node pointed by phandle in a list * @@ -382,10 +385,9 @@ int dev_read_string_count(struct udevice *dev, const char *propname); * @cells_name could not be found, the arguments were truncated or there * were too many arguments. */ -int dev_read_phandle_with_args(struct udevice *dev, const char *list_name, - const char *cells_name, int cell_count, - int index, - struct ofnode_phandle_args *out_args); +int dev_read_phandle_with_args(const struct udevice *dev, const char *list_name, + const char *cells_name, int cell_count, + int index, struct ofnode_phandle_args *out_args); /** * dev_count_phandle_with_args() - Return phandle number in a list @@ -402,8 +404,8 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name, * errno value. */ -int dev_count_phandle_with_args(struct udevice *dev, const char *list_name, - const char *cells_name); +int dev_count_phandle_with_args(const struct udevice *dev, + const char *list_name, const char *cells_name); /** * dev_read_addr_cells() - Get the number of address cells for a device's node @@ -414,7 +416,7 @@ int dev_count_phandle_with_args(struct udevice *dev, const char *list_name, * @dev: device to check * @return number of address cells this node uses */ -int dev_read_addr_cells(struct udevice *dev); +int dev_read_addr_cells(const struct udevice *dev); /** * dev_read_size_cells() - Get the number of size cells for a device's node @@ -425,7 +427,7 @@ int dev_read_addr_cells(struct udevice *dev); * @dev: device to check * @return number of size cells this node uses */ -int dev_read_size_cells(struct udevice *dev); +int dev_read_size_cells(const struct udevice *dev); /** * dev_read_addr_cells() - Get the address cells property in a node @@ -435,7 +437,7 @@ int dev_read_size_cells(struct udevice *dev); * @dev: device to check * @return number of address cells this node uses */ -int dev_read_simple_addr_cells(struct udevice *dev); +int dev_read_simple_addr_cells(const struct udevice *dev); /** * dev_read_size_cells() - Get the size cells property in a node @@ -445,7 +447,7 @@ int dev_read_simple_addr_cells(struct udevice *dev); * @dev: device to check * @return number of size cells this node uses */ -int dev_read_simple_size_cells(struct udevice *dev); +int dev_read_simple_size_cells(const struct udevice *dev); /** * dev_read_phandle() - Get the phandle from a device @@ -453,7 +455,7 @@ int dev_read_simple_size_cells(struct udevice *dev); * @dev: device to check * @return phandle (1 or greater), or 0 if no phandle or other error */ -int dev_read_phandle(struct udevice *dev); +int dev_read_phandle(const struct udevice *dev); /** * dev_read_prop()- - read a property from a device's node @@ -463,7 +465,8 @@ int dev_read_phandle(struct udevice *dev); * @lenp: place to put length on success * @return pointer to property, or NULL if not found */ -const void *dev_read_prop(struct udevice *dev, const char *propname, int *lenp); +const void *dev_read_prop(const struct udevice *dev, const char *propname, + int *lenp); /** * dev_read_alias_seq() - Get the alias sequence number of a node @@ -476,7 +479,7 @@ const void *dev_read_prop(struct udevice *dev, const char *propname, int *lenp); * @devnump: set to the sequence number if one is found * @return 0 if a sequence was found, -ve if not */ -int dev_read_alias_seq(struct udevice *dev, int *devnump); +int dev_read_alias_seq(const struct udevice *dev, int *devnump); /** * dev_read_u32_array() - Find and read an array of 32 bit integers @@ -494,7 +497,7 @@ int dev_read_alias_seq(struct udevice *dev, int *devnump); * property does not have a value, and -EOVERFLOW if the property data isn't * large enough. */ -int dev_read_u32_array(struct udevice *dev, const char *propname, +int dev_read_u32_array(const struct udevice *dev, const char *propname, u32 *out_values, size_t sz); /** @@ -504,7 +507,7 @@ int dev_read_u32_array(struct udevice *dev, const char *propname, * @return reference to the first subnode (which can be invalid if the device's * node has no subnodes) */ -ofnode dev_read_first_subnode(struct udevice *dev); +ofnode dev_read_first_subnode(const struct udevice *dev); /** * ofnode_next_subnode() - find the next sibling of a subnode @@ -529,8 +532,8 @@ ofnode dev_read_next_subnode(ofnode node); * @return pointer to byte array if found, or NULL if the property is not * found or there is not enough data */ -const uint8_t *dev_read_u8_array_ptr(struct udevice *dev, const char *propname, - size_t sz); +const uint8_t *dev_read_u8_array_ptr(const struct udevice *dev, + const char *propname, size_t sz); /** * dev_read_enabled() - check whether a node is enabled @@ -543,7 +546,7 @@ const uint8_t *dev_read_u8_array_ptr(struct udevice *dev, const char *propname, * @dev: device to examine * @return integer value 0 (not enabled) or 1 (enabled) */ -int dev_read_enabled(struct udevice *dev); +int dev_read_enabled(const struct udevice *dev); /** * dev_read_resource() - obtain an indexed resource from a device. @@ -553,7 +556,8 @@ int dev_read_enabled(struct udevice *dev); * @res returns the resource * @return 0 if ok, negative on error */ -int dev_read_resource(struct udevice *dev, uint index, struct resource *res); +int dev_read_resource(const struct udevice *dev, uint index, + struct resource *res); /** * dev_read_resource_byname() - obtain a named resource from a device. @@ -563,7 +567,7 @@ int dev_read_resource(struct udevice *dev, uint index, struct resource *res); * @res: returns the resource * @return 0 if ok, negative on error */ -int dev_read_resource_byname(struct udevice *dev, const char *name, +int dev_read_resource_byname(const struct udevice *dev, const char *name, struct resource *res); /** @@ -577,7 +581,7 @@ int dev_read_resource_byname(struct udevice *dev, const char *name, * @in_addr: pointer to the address to translate * @return the translated address; OF_BAD_ADDR on error */ -u64 dev_translate_address(struct udevice *dev, const fdt32_t *in_addr); +u64 dev_translate_address(const struct udevice *dev, const fdt32_t *in_addr); /** * dev_translate_dma_address() - Translate a device-tree DMA address @@ -590,7 +594,8 @@ u64 dev_translate_address(struct udevice *dev, const fdt32_t *in_addr); * @in_addr: pointer to the DMA address to translate * @return the translated DMA address; OF_BAD_ADDR on error */ -u64 dev_translate_dma_address(struct udevice *dev, const fdt32_t *in_addr); +u64 dev_translate_dma_address(const struct udevice *dev, + const fdt32_t *in_addr); /** * dev_read_alias_highest_id - Get highest alias id for the given stem @@ -604,31 +609,31 @@ int dev_read_alias_highest_id(const char *stem); #else /* CONFIG_DM_DEV_READ_INLINE is enabled */ -static inline int dev_read_u32(struct udevice *dev, +static inline int dev_read_u32(const struct udevice *dev, const char *propname, u32 *outp) { return ofnode_read_u32(dev_ofnode(dev), propname, outp); } -static inline int dev_read_u32_default(struct udevice *dev, +static inline int dev_read_u32_default(const struct udevice *dev, const char *propname, int def) { return ofnode_read_u32_default(dev_ofnode(dev), propname, def); } -static inline int dev_read_s32(struct udevice *dev, +static inline int dev_read_s32(const struct udevice *dev, const char *propname, s32 *outp) { return ofnode_read_s32(dev_ofnode(dev), propname, outp); } -static inline int dev_read_s32_default(struct udevice *dev, +static inline int dev_read_s32_default(const struct udevice *dev, const char *propname, int def) { return ofnode_read_s32_default(dev_ofnode(dev), propname, def); } -static inline int dev_read_u32u(struct udevice *dev, +static inline int dev_read_u32u(const struct udevice *dev, const char *propname, uint *outp) { u32 val; @@ -642,128 +647,131 @@ static inline int dev_read_u32u(struct udevice *dev, return 0; } -static inline int dev_read_u64(struct udevice *dev, +static inline int dev_read_u64(const struct udevice *dev, const char *propname, u64 *outp) { return ofnode_read_u64(dev_ofnode(dev), propname, outp); } -static inline u64 dev_read_u64_default(struct udevice *dev, +static inline u64 dev_read_u64_default(const struct udevice *dev, const char *propname, u64 def) { return ofnode_read_u64_default(dev_ofnode(dev), propname, def); } -static inline const char *dev_read_string(struct udevice *dev, +static inline const char *dev_read_string(const struct udevice *dev, const char *propname) { return ofnode_read_string(dev_ofnode(dev), propname); } -static inline bool dev_read_bool(struct udevice *dev, const char *propname) +static inline bool dev_read_bool(const struct udevice *dev, + const char *propname) { return ofnode_read_bool(dev_ofnode(dev), propname); } -static inline ofnode dev_read_subnode(struct udevice *dev, +static inline ofnode dev_read_subnode(const struct udevice *dev, const char *subbnode_name) { return ofnode_find_subnode(dev_ofnode(dev), subbnode_name); } -static inline int dev_read_size(struct udevice *dev, const char *propname) +static inline int dev_read_size(const struct udevice *dev, const char *propname) { return ofnode_read_size(dev_ofnode(dev), propname); } -static inline fdt_addr_t dev_read_addr_index(struct udevice *dev, int index) +static inline fdt_addr_t dev_read_addr_index(const struct udevice *dev, + int index) { return devfdt_get_addr_index(dev, index); } -static inline fdt_addr_t dev_read_addr_size_index(struct udevice *dev, +static inline fdt_addr_t dev_read_addr_size_index(const struct udevice *dev, int index, fdt_size_t *size) { return devfdt_get_addr_size_index(dev, index, size); } -static inline fdt_addr_t dev_read_addr_name(struct udevice *dev, +static inline fdt_addr_t dev_read_addr_name(const struct udevice *dev, const char *name) { return devfdt_get_addr_name(dev, name); } -static inline fdt_addr_t dev_read_addr_size_name(struct udevice *dev, +static inline fdt_addr_t dev_read_addr_size_name(const struct udevice *dev, const char *name, fdt_size_t *size) { return devfdt_get_addr_size_name(dev, name, size); } -static inline fdt_addr_t dev_read_addr(struct udevice *dev) +static inline fdt_addr_t dev_read_addr(const struct udevice *dev) { return devfdt_get_addr(dev); } -static inline void *dev_read_addr_ptr(struct udevice *dev) +static inline void *dev_read_addr_ptr(const struct udevice *dev) { return devfdt_get_addr_ptr(dev); } -static inline fdt_addr_t dev_read_addr_pci(struct udevice *dev) +static inline fdt_addr_t dev_read_addr_pci(const struct udevice *dev) { return devfdt_get_addr_pci(dev); } -static inline void *dev_remap_addr(struct udevice *dev) +static inline void *dev_remap_addr(const struct udevice *dev) { return devfdt_remap_addr(dev); } -static inline void *dev_remap_addr_index(struct udevice *dev, int index) +static inline void *dev_remap_addr_index(const struct udevice *dev, int index) { return devfdt_remap_addr_index(dev, index); } -static inline void *dev_remap_addr_name(struct udevice *dev, const char *name) +static inline void *dev_remap_addr_name(const struct udevice *dev, + const char *name) { return devfdt_remap_addr_name(dev, name); } -static inline fdt_addr_t dev_read_addr_size(struct udevice *dev, +static inline fdt_addr_t dev_read_addr_size(const struct udevice *dev, const char *propname, fdt_size_t *sizep) { return ofnode_get_addr_size(dev_ofnode(dev), propname, sizep); } -static inline const char *dev_read_name(struct udevice *dev) +static inline const char *dev_read_name(const struct udevice *dev) { return ofnode_get_name(dev_ofnode(dev)); } -static inline int dev_read_stringlist_search(struct udevice *dev, +static inline int dev_read_stringlist_search(const struct udevice *dev, const char *propname, const char *string) { return ofnode_stringlist_search(dev_ofnode(dev), propname, string); } -static inline int dev_read_string_index(struct udevice *dev, +static inline int dev_read_string_index(const struct udevice *dev, const char *propname, int index, const char **outp) { return ofnode_read_string_index(dev_ofnode(dev), propname, index, outp); } -static inline int dev_read_string_count(struct udevice *dev, +static inline int dev_read_string_count(const struct udevice *dev, const char *propname) { return ofnode_read_string_count(dev_ofnode(dev), propname); } -static inline int dev_read_phandle_with_args(struct udevice *dev, +static inline int dev_read_phandle_with_args(const struct udevice *dev, const char *list_name, const char *cells_name, int cell_count, int index, struct ofnode_phandle_args *out_args) { @@ -772,59 +780,60 @@ static inline int dev_read_phandle_with_args(struct udevice *dev, out_args); } -static inline int dev_count_phandle_with_args(struct udevice *dev, +static inline int dev_count_phandle_with_args(const struct udevice *dev, const char *list_name, const char *cells_name) { return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name, cells_name); } -static inline int dev_read_addr_cells(struct udevice *dev) +static inline int dev_read_addr_cells(const struct udevice *dev) { /* NOTE: this call should walk up the parent stack */ return fdt_address_cells(gd->fdt_blob, dev_of_offset(dev)); } -static inline int dev_read_size_cells(struct udevice *dev) +static inline int dev_read_size_cells(const struct udevice *dev) { /* NOTE: this call should walk up the parent stack */ return fdt_size_cells(gd->fdt_blob, dev_of_offset(dev)); } -static inline int dev_read_simple_addr_cells(struct udevice *dev) +static inline int dev_read_simple_addr_cells(const struct udevice *dev) { return fdt_address_cells(gd->fdt_blob, dev_of_offset(dev)); } -static inline int dev_read_simple_size_cells(struct udevice *dev) +static inline int dev_read_simple_size_cells(const struct udevice *dev) { return fdt_size_cells(gd->fdt_blob, dev_of_offset(dev)); } -static inline int dev_read_phandle(struct udevice *dev) +static inline int dev_read_phandle(const struct udevice *dev) { return fdt_get_phandle(gd->fdt_blob, dev_of_offset(dev)); } -static inline const void *dev_read_prop(struct udevice *dev, +static inline const void *dev_read_prop(const struct udevice *dev, const char *propname, int *lenp) { return ofnode_get_property(dev_ofnode(dev), propname, lenp); } -static inline int dev_read_alias_seq(struct udevice *dev, int *devnump) +static inline int dev_read_alias_seq(const struct udevice *dev, int *devnump) { return fdtdec_get_alias_seq(gd->fdt_blob, dev->uclass->uc_drv->name, dev_of_offset(dev), devnump); } -static inline int dev_read_u32_array(struct udevice *dev, const char *propname, - u32 *out_values, size_t sz) +static inline int dev_read_u32_array(const struct udevice *dev, + const char *propname, u32 *out_values, + size_t sz) { return ofnode_read_u32_array(dev_ofnode(dev), propname, out_values, sz); } -static inline ofnode dev_read_first_subnode(struct udevice *dev) +static inline ofnode dev_read_first_subnode(const struct udevice *dev) { return ofnode_first_subnode(dev_ofnode(dev)); } @@ -834,36 +843,38 @@ static inline ofnode dev_read_next_subnode(ofnode node) return ofnode_next_subnode(node); } -static inline const uint8_t *dev_read_u8_array_ptr(struct udevice *dev, +static inline const uint8_t *dev_read_u8_array_ptr(const struct udevice *dev, const char *propname, size_t sz) { return ofnode_read_u8_array_ptr(dev_ofnode(dev), propname, sz); } -static inline int dev_read_enabled(struct udevice *dev) +static inline int dev_read_enabled(const struct udevice *dev) { return fdtdec_get_is_enabled(gd->fdt_blob, dev_of_offset(dev)); } -static inline int dev_read_resource(struct udevice *dev, uint index, +static inline int dev_read_resource(const struct udevice *dev, uint index, struct resource *res) { return ofnode_read_resource(dev_ofnode(dev), index, res); } -static inline int dev_read_resource_byname(struct udevice *dev, +static inline int dev_read_resource_byname(const struct udevice *dev, const char *name, struct resource *res) { return ofnode_read_resource_byname(dev_ofnode(dev), name, res); } -static inline u64 dev_translate_address(struct udevice *dev, const fdt32_t *in_addr) +static inline u64 dev_translate_address(const struct udevice *dev, + const fdt32_t *in_addr) { return ofnode_translate_address(dev_ofnode(dev), in_addr); } -static inline u64 dev_translate_dma_address(struct udevice *dev, const fdt32_t *in_addr) +static inline u64 dev_translate_dma_address(const struct udevice *dev, + const fdt32_t *in_addr) { return ofnode_translate_dma_address(dev_ofnode(dev), in_addr); } -- cgit v1.1 From ba8444a06623b4f9af051aec47247c202937ec00 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:41 -0700 Subject: test: Add underscore prefix to macro parameters If a test happens to use the same variable as the macro parameter the macro does not work as intended. Add an underscore to guard against this. Signed-off-by: Simon Glass --- include/test/ut.h | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/include/test/ut.h b/include/test/ut.h index f616c20..c9fc9cc 100644 --- a/include/test/ut.h +++ b/include/test/ut.h @@ -56,39 +56,39 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line, /* Assert that two int expressions are equal */ #define ut_asserteq(expr1, expr2) { \ - unsigned int val1 = (expr1), val2 = (expr2); \ + unsigned int _val1 = (expr1), _val2 = (expr2); \ \ - if (val1 != val2) { \ + if (_val1 != _val2) { \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr1 " == " #expr2, \ - "Expected %#x (%d), got %#x (%d)", val1, val1, \ - val2, val2); \ + "Expected %#x (%d), got %#x (%d)", \ + _val1, _val1, _val2, _val2); \ return CMD_RET_FAILURE; \ } \ } /* Assert that two string expressions are equal */ #define ut_asserteq_str(expr1, expr2) { \ - const char *val1 = (expr1), *val2 = (expr2); \ + const char *_val1 = (expr1), *_val2 = (expr2); \ \ - if (strcmp(val1, val2)) { \ + if (strcmp(_val1, _val2)) { \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr1 " = " #expr2, \ - "Expected \"%s\", got \"%s\"", val1, val2); \ + "Expected \"%s\", got \"%s\"", _val1, _val2); \ return CMD_RET_FAILURE; \ } \ } /* Assert that two memory areas are equal */ #define ut_asserteq_mem(expr1, expr2, len) { \ - const u8 *val1 = (u8 *)(expr1), *val2 = (u8 *)(expr2); \ + const u8 *_val1 = (u8 *)(expr1), *_val2 = (u8 *)(expr2); \ const uint __len = len; \ \ - if (memcmp(val1, val2, __len)) { \ + if (memcmp(_val1, _val2, __len)) { \ char __buf1[64 + 1] = "\0"; \ char __buf2[64 + 1] = "\0"; \ - bin2hex(__buf1, val1, min(__len, (uint)32)); \ - bin2hex(__buf2, val2, min(__len, (uint)32)); \ + bin2hex(__buf1, _val1, min(__len, (uint)32)); \ + bin2hex(__buf2, _val2, min(__len, (uint)32)); \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr1 " = " #expr2, \ "Expected \"%s\", got \"%s\"", \ @@ -99,33 +99,33 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line, /* Assert that two pointers are equal */ #define ut_asserteq_ptr(expr1, expr2) { \ - const void *val1 = (expr1), *val2 = (expr2); \ + const void *_val1 = (expr1), *_val2 = (expr2); \ \ - if (val1 != val2) { \ + if (_val1 != _val2) { \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr1 " = " #expr2, \ - "Expected %p, got %p", val1, val2); \ + "Expected %p, got %p", _val1, _val2); \ return CMD_RET_FAILURE; \ } \ } /* Assert that a pointer is NULL */ #define ut_assertnull(expr) { \ - const void *val = (expr); \ + const void *_val = (expr); \ \ - if (val != NULL) { \ + if (_val) { \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr " != NULL", \ - "Expected NULL, got %p", val); \ + "Expected NULL, got %p", _val); \ return CMD_RET_FAILURE; \ } \ } /* Assert that a pointer is not NULL */ #define ut_assertnonnull(expr) { \ - const void *val = (expr); \ + const void *_val = (expr); \ \ - if (val == NULL) { \ + if (!_val) { \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr " = NULL", \ "Expected non-null, got NULL"); \ @@ -135,13 +135,13 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line, /* Assert that a pointer is not an error pointer */ #define ut_assertok_ptr(expr) { \ - const void *val = (expr); \ + const void *_val = (expr); \ \ - if (IS_ERR(val)) { \ + if (IS_ERR(_val)) { \ ut_failf(uts, __FILE__, __LINE__, __func__, \ #expr " = NULL", \ "Expected pointer, got error %ld", \ - PTR_ERR(val)); \ + PTR_ERR(_val)); \ return CMD_RET_FAILURE; \ } \ } -- cgit v1.1 From 74d594a20e035a2dfce232093774c50d986cb9ff Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:42 -0700 Subject: dm: core: Update comment for ofnode_get_chosen_node() The current comment is a big vague and misleading. Rewrite it to state precisely what the function does. Signed-off-by: Simon Glass --- include/dm/ofnode.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 4282169..62ba0c1 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -520,11 +520,14 @@ ofnode ofnode_path(const char *path); const char *ofnode_get_chosen_prop(const char *propname); /** - * ofnode_get_chosen_node() - get the chosen node + * ofnode_get_chosen_node() - get a referenced node from the chosen node * - * @return the chosen node if present, else ofnode_null() + * This looks up a named property in the chosen node and uses that as a path to + * look up a code. + * + * @return the referenced node if present, else ofnode_null() */ -ofnode ofnode_get_chosen_node(const char *name); +ofnode ofnode_get_chosen_node(const char *propname); struct display_timing; /** -- cgit v1.1 From 14ca9f7f5abf7b94d71cfd466fb339bf64f58bda Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:43 -0700 Subject: dm: core: Rename ofnode_get_chosen_prop() This function is actually intended to read a string rather than a property. All of its current callers use it that way. Also there is no way to return the length of the property from this function. Rename it to better indicate its purpose, using ofnode_read as the prefix since this matches most other functions. Also add some tests which are missing for these functions. Signed-off-by: Simon Glass --- arch/sandbox/dts/test.dts | 2 ++ board/theobroma-systems/puma_rk3399/puma-rk3399.c | 2 +- board/xilinx/common/board.c | 2 +- drivers/core/ofnode.c | 4 ++-- include/dm/ofnode.h | 9 +++++---- test/dm/ofnode.c | 21 +++++++++++++++++++++ 6 files changed, 32 insertions(+), 8 deletions(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index e529c54..a04afd4 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -813,6 +813,8 @@ chosen { #address-cells = <1>; #size-cells = <1>; + setting = "sunrise ohoka"; + other-node = "/some-bus/c-test@5"; chosen-test { compatible = "denx,u-boot-fdt-test"; reg = <9 1>; diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c index 9887d20..7ff4766 100644 --- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c +++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c @@ -49,7 +49,7 @@ static void setup_iodomain(void) static int setup_boottargets(void) { const char *boot_device = - ofnode_get_chosen_prop("u-boot,spl-boot-device"); + ofnode_read_chosen_string("u-boot,spl-boot-device"); char *env_default, *env; if (!boot_device) { diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index ae5fe27..f87e2e9 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -22,7 +22,7 @@ int zynq_board_read_rom_ethaddr(unsigned char *ethaddr) return -ENODEV; debug("%s: Path to EEPROM %s\n", __func__, - ofnode_get_chosen_prop("xlnx,eeprom")); + ofnode_read_chosen_string("xlnx,eeprom")); ret = uclass_get_device_by_ofnode(UCLASS_I2C_EEPROM, eeprom, &dev); if (ret) diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 8f0eab2..011b43b 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -419,7 +419,7 @@ ofnode ofnode_path(const char *path) return offset_to_ofnode(fdt_path_offset(gd->fdt_blob, path)); } -const char *ofnode_get_chosen_prop(const char *name) +const char *ofnode_read_chosen_string(const char *name) { ofnode chosen_node; @@ -432,7 +432,7 @@ ofnode ofnode_get_chosen_node(const char *name) { const char *prop; - prop = ofnode_get_chosen_prop(name); + prop = ofnode_read_chosen_string(name); if (!prop) return ofnode_null(); diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 62ba0c1..9e76ae8 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -510,14 +510,15 @@ int ofnode_count_phandle_with_args(ofnode node, const char *list_name, ofnode ofnode_path(const char *path); /** - * ofnode_get_chosen_prop() - get the value of a chosen property + * ofnode_read_chosen_string() - get the string value of a chosen property * - * This looks for a property within the /chosen node and returns its value + * This looks for a property within the /chosen node and returns its value, + * checking that it is a valid nul-terminated string * * @propname: Property name to look for - * @return property value if found, else NULL + * @return string value if found, else NULL */ -const char *ofnode_get_chosen_prop(const char *propname); +const char *ofnode_read_chosen_string(const char *propname); /** * ofnode_get_chosen_node() - get a referenced node from the chosen node diff --git a/test/dm/ofnode.c b/test/dm/ofnode.c index 745de50..633a3a9 100644 --- a/test/dm/ofnode.c +++ b/test/dm/ofnode.c @@ -58,3 +58,24 @@ static int dm_test_ofnode_fmap(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_ofnode_fmap, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +static int dm_test_ofnode_read_chosen(struct unit_test_state *uts) +{ + const char *str; + ofnode node; + + str = ofnode_read_chosen_string("setting"); + ut_assertnonnull(str); + ut_asserteq_str("sunrise ohoka", str); + ut_asserteq_ptr(NULL, ofnode_read_chosen_string("no-setting")); + + node = ofnode_get_chosen_node("other-node"); + ut_assert(ofnode_valid(node)); + ut_asserteq_str("c-test@5", ofnode_get_name(node)); + + node = ofnode_get_chosen_node("setting"); + ut_assert(!ofnode_valid(node)); + + return 0; +} +DM_TEST(dm_test_ofnode_read_chosen, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); -- cgit v1.1 From a8167d8ee2305f688d970f7ea4c38d7ca9b205ca Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:44 -0700 Subject: dm: core: Add ofnode_read_prop() Add a new function to read a property that supports reading the length as well. Reimplement ofnode_read_string() using it and fix its comment. Signed-off-by: Simon Glass --- drivers/core/ofnode.c | 31 ++++++++++++++++++++++++------- include/dm/ofnode.h | 13 ++++++++++++- test/dm/ofnode.c | 26 ++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 011b43b..eebc5a7 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -101,30 +101,47 @@ bool ofnode_read_bool(ofnode node, const char *propname) return prop ? true : false; } -const char *ofnode_read_string(ofnode node, const char *propname) +const void *ofnode_read_prop(ofnode node, const char *propname, int *sizep) { - const char *str = NULL; - int len = -1; + const char *val = NULL; + int len; assert(ofnode_valid(node)); debug("%s: %s: ", __func__, propname); if (ofnode_is_np(node)) { struct property *prop = of_find_property( - ofnode_to_np(node), propname, NULL); + ofnode_to_np(node), propname, &len); if (prop) { - str = prop->value; + val = prop->value; len = prop->length; } } else { - str = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), + val = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, &len); } - if (!str) { + if (!val) { debug("\n"); + if (sizep) + *sizep = -FDT_ERR_NOTFOUND; return NULL; } + if (sizep) + *sizep = len; + + return val; +} + +const char *ofnode_read_string(ofnode node, const char *propname) +{ + const char *str; + int len; + + str = ofnode_read_prop(node, propname, &len); + if (!str) + return NULL; + if (strnlen(str, len) >= len) { debug("\n"); return NULL; diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 9e76ae8..8007483 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -257,9 +257,20 @@ int ofnode_read_u64(ofnode node, const char *propname, u64 *outp); u64 ofnode_read_u64_default(ofnode node, const char *propname, u64 def); /** + * ofnode_read_prop() - Read a property from a node + * + * @node: valid node reference to read property from + * @propname: name of the property to read + * @sizep: if non-NULL, returns the size of the property, or an error code + if not found + * @return property value, or NULL if there is no such property + */ +const void *ofnode_read_prop(ofnode node, const char *propname, int *sizep); + +/** * ofnode_read_string() - Read a string from a property * - * @ref: valid node reference to read property from + * @node: valid node reference to read property from * @propname: name of the property to read * @return string from property value, or NULL if there is no such property */ diff --git a/test/dm/ofnode.c b/test/dm/ofnode.c index 633a3a9..f1e4ed7 100644 --- a/test/dm/ofnode.c +++ b/test/dm/ofnode.c @@ -59,6 +59,32 @@ static int dm_test_ofnode_fmap(struct unit_test_state *uts) } DM_TEST(dm_test_ofnode_fmap, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); +static int dm_test_ofnode_read(struct unit_test_state *uts) +{ + const u32 *val; + ofnode node; + int size; + + node = ofnode_path("/a-test"); + ut_assert(ofnode_valid(node)); + + val = ofnode_read_prop(node, "int-value", &size); + ut_assertnonnull(val); + ut_asserteq(4, size); + ut_asserteq(1234, fdt32_to_cpu(val[0])); + + val = ofnode_read_prop(node, "missing", &size); + ut_assertnull(val); + ut_asserteq(-FDT_ERR_NOTFOUND, size); + + /* Check it works without a size parameter */ + val = ofnode_read_prop(node, "missing", NULL); + ut_assertnull(val); + + return 0; +} +DM_TEST(dm_test_ofnode_read, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + static int dm_test_ofnode_read_chosen(struct unit_test_state *uts) { const char *str; -- cgit v1.1 From 1aada6313ca9b9e9123a4118c78558ef413e1039 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:45 -0700 Subject: dm: core: Reimplement ofnode_read_size() Now that we have ofnode_read_prop() we can rewrite this function using that one, reducing the amount of duplicated code. Update ofnode_read_size() and move it up next to the other similar functions. Signed-off-by: Simon Glass --- drivers/core/ofnode.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index eebc5a7..4fc29a7 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -151,6 +151,16 @@ const char *ofnode_read_string(ofnode node, const char *propname) return str; } +int ofnode_read_size(ofnode node, const char *propname) +{ + int len; + + if (!ofnode_read_prop(node, propname, &len)) + return -EINVAL; + + return len; +} + ofnode ofnode_find_subnode(ofnode node, const char *subnode_name) { ofnode subnode; @@ -253,25 +263,6 @@ ofnode ofnode_get_by_phandle(uint phandle) return node; } -int ofnode_read_size(ofnode node, const char *propname) -{ - int len; - - if (ofnode_is_np(node)) { - struct property *prop = of_find_property( - ofnode_to_np(node), propname, NULL); - - if (prop) - return prop->length; - } else { - if (fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, - &len)) - return len; - } - - return -EINVAL; -} - fdt_addr_t ofnode_get_addr_size_index(ofnode node, int index, fdt_size_t *size) { int na, ns; -- cgit v1.1 From bd933bfd834364bca6cc6f3a62e4255090a5bec1 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:46 -0700 Subject: dm: core: Add ofnode_get_chosen_prop() Add a function to read a property from the chosen node, providing access to its length. Update ofnode_get_chosen_string() to make use of it. Signed-off-by: Simon Glass --- arch/sandbox/dts/test.dts | 1 + drivers/core/ofnode.c | 11 ++++++++--- include/dm/ofnode.h | 12 ++++++++++++ test/dm/ofnode.c | 8 ++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index a04afd4..347ea79 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -815,6 +815,7 @@ #size-cells = <1>; setting = "sunrise ohoka"; other-node = "/some-bus/c-test@5"; + int-values = <0x1937 72993>; chosen-test { compatible = "denx,u-boot-fdt-test"; reg = <9 1>; diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 4fc29a7..f55ef15 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -427,20 +427,25 @@ ofnode ofnode_path(const char *path) return offset_to_ofnode(fdt_path_offset(gd->fdt_blob, path)); } -const char *ofnode_read_chosen_string(const char *name) +const void *ofnode_read_chosen_prop(const char *propname, int *sizep) { ofnode chosen_node; chosen_node = ofnode_path("/chosen"); - return ofnode_read_string(chosen_node, name); + return ofnode_read_prop(chosen_node, propname, sizep); +} + +const char *ofnode_read_chosen_string(const char *propname) +{ + return ofnode_read_chosen_prop(propname, NULL); } ofnode ofnode_get_chosen_node(const char *name) { const char *prop; - prop = ofnode_read_chosen_string(name); + prop = ofnode_read_chosen_prop(name, NULL); if (!prop) return ofnode_null(); diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 8007483..b5a50e8 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -521,6 +521,18 @@ int ofnode_count_phandle_with_args(ofnode node, const char *list_name, ofnode ofnode_path(const char *path); /** + * ofnode_read_chosen_prop() - get the value of a chosen property + * + * This looks for a property within the /chosen node and returns its value + * + * @propname: Property name to look for + * @sizep: Returns size of property, or FDT_ERR_... error code if function + * returns NULL + * @return property value if found, else NULL + */ +const void *ofnode_read_chosen_prop(const char *propname, int *sizep); + +/** * ofnode_read_chosen_string() - get the string value of a chosen property * * This looks for a property within the /chosen node and returns its value, diff --git a/test/dm/ofnode.c b/test/dm/ofnode.c index f1e4ed7..1c49eaf 100644 --- a/test/dm/ofnode.c +++ b/test/dm/ofnode.c @@ -88,7 +88,9 @@ DM_TEST(dm_test_ofnode_read, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); static int dm_test_ofnode_read_chosen(struct unit_test_state *uts) { const char *str; + const u32 *val; ofnode node; + int size; str = ofnode_read_chosen_string("setting"); ut_assertnonnull(str); @@ -102,6 +104,12 @@ static int dm_test_ofnode_read_chosen(struct unit_test_state *uts) node = ofnode_get_chosen_node("setting"); ut_assert(!ofnode_valid(node)); + val = ofnode_read_chosen_prop("int-values", &size); + ut_assertnonnull(val); + ut_asserteq(8, size); + ut_asserteq(0x1937, fdt32_to_cpu(val[0])); + ut_asserteq(72993, fdt32_to_cpu(val[1])); + return 0; } DM_TEST(dm_test_ofnode_read_chosen, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); -- cgit v1.1 From f262d4ca4b2bf8a99acb37c6151c54cd80251566 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:47 -0700 Subject: dm: core: Add a way to read platdata for all child devices When generating ACPI tables we need to make sure that all devices have read their platform data, so that they can generate the tables correctly. Rather than adding this code in ACPI, create a core function to handle it. Signed-off-by: Simon Glass --- drivers/core/device.c | 36 ++++++++++++++++++++++++++++++++++++ include/dm/device.h | 42 ++++++++++++++++++++++++++++++++++++++++++ include/dm/read.h | 3 ++- test/dm/test-fdt.c | 19 +++++++++++++++++++ 4 files changed, 99 insertions(+), 1 deletion(-) diff --git a/drivers/core/device.c b/drivers/core/device.c index b7f59fc..c948d8d 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -792,6 +792,42 @@ int device_find_child_by_name(const struct udevice *parent, const char *name, return -ENODEV; } +int device_first_child_ofdata_err(struct udevice *parent, struct udevice **devp) +{ + struct udevice *dev; + int ret; + + device_find_first_child(parent, &dev); + if (!dev) + return -ENODEV; + + ret = device_ofdata_to_platdata(dev); + if (ret) + return ret; + + *devp = dev; + + return 0; +} + +int device_next_child_ofdata_err(struct udevice **devp) +{ + struct udevice *dev = *devp; + int ret; + + device_find_next_child(&dev); + if (!dev) + return -ENODEV; + + ret = device_ofdata_to_platdata(dev); + if (ret) + return ret; + + *devp = dev; + + return 0; +} + struct udevice *dev_get_parent(const struct udevice *child) { return child->parent; diff --git a/include/dm/device.h b/include/dm/device.h index 611fc2e..2618952 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -578,6 +578,31 @@ int device_find_child_by_name(const struct udevice *parent, const char *name, struct udevice **devp); /** + * device_first_child_ofdata_err() - Find the first child and reads its platdata + * + * The ofdata_to_platdata() method is called on the child before it is returned, + * but the child is not probed. + * + * @parent: Parent to check + * @devp: Returns child that was found, if any + * @return 0 on success, -ENODEV if no children, other -ve on error + */ +int device_first_child_ofdata_err(struct udevice *parent, + struct udevice **devp); + +/* + * device_next_child_ofdata_err() - Find the next child and read its platdata + * + * The ofdata_to_platdata() method is called on the child before it is returned, + * but the child is not probed. + * + * @devp: On entry, points to the previous child; on exit returns the child that + * was found, if any + * @return 0 on success, -ENODEV if no children, other -ve on error + */ +int device_next_child_ofdata_err(struct udevice **devp); + +/** * device_has_children() - check if a device has any children * * @dev: Device to check @@ -707,6 +732,23 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev) list_for_each_entry(pos, &parent->child_head, sibling_node) /** + * device_foreach_child_ofdata_to_platdata() - iterate through children + * + * This stops when it gets an error, with @pos set to the device that failed to + * read ofdata. + + * This creates a for() loop which works through the available children of + * a device in order from start to end. Device ofdata is read by calling + * device_ofdata_to_platdata() on each one. The devices are not probed. + * + * @pos: struct udevice * for the current device + * @parent: parent device to scan + */ +#define device_foreach_child_ofdata_to_platdata(pos, parent) \ + for (int _ret = device_first_child_ofdata_err(parent, &dev); !_ret; \ + _ret = device_next_child_ofdata_err(&dev)) + +/** * dm_scan_fdt_dev() - Bind child device in a the device tree * * This handles device which have sub-nodes in the device tree. It scans all diff --git a/include/dm/read.h b/include/dm/read.h index 92a7328..da8c7f2 100644 --- a/include/dm/read.h +++ b/include/dm/read.h @@ -844,7 +844,8 @@ static inline ofnode dev_read_next_subnode(ofnode node) } static inline const uint8_t *dev_read_u8_array_ptr(const struct udevice *dev, - const char *propname, size_t sz) + const char *propname, + size_t sz) { return ofnode_read_u8_array_ptr(dev_ofnode(dev), propname, sz); } diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c index d59c449..8fe4425 100644 --- a/test/dm/test-fdt.c +++ b/test/dm/test-fdt.c @@ -872,3 +872,22 @@ static int dm_test_read_int(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_read_int, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test device_first_child_ofdata_err(), etc. */ +static int dm_test_child_ofdata(struct unit_test_state *uts) +{ + struct udevice *bus, *dev; + int count; + + ut_assertok(uclass_first_device_err(UCLASS_TEST_BUS, &bus)); + count = 0; + device_foreach_child_ofdata_to_platdata(dev, bus) { + ut_assert(dev->flags & DM_FLAG_PLATDATA_VALID); + ut_assert(!(dev->flags & DM_FLAG_ACTIVATED)); + count++; + } + ut_asserteq(3, count); + + return 0; +} +DM_TEST(dm_test_child_ofdata, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); -- cgit v1.1 From 903e83ee84649c1a70bfd8b9ec84dacb8c24e7cb Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:48 -0700 Subject: dm: core: Add a way to iterate through children, probing each It is sometimes useful to process all children, making sure they are probed first. Add functions to help with this and a macro to make it more convenient. Signed-off-by: Simon Glass --- drivers/core/device.c | 22 ++++++++++++++++++++++ include/dm/device.h | 39 +++++++++++++++++++++++++++++++++++++++ test/dm/test-fdt.c | 19 +++++++++++++++++++ 3 files changed, 80 insertions(+) diff --git a/drivers/core/device.c b/drivers/core/device.c index c948d8d..89ea820 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -792,6 +792,28 @@ int device_find_child_by_name(const struct udevice *parent, const char *name, return -ENODEV; } +int device_first_child_err(struct udevice *parent, struct udevice **devp) +{ + struct udevice *dev; + + device_find_first_child(parent, &dev); + if (!dev) + return -ENODEV; + + return device_get_device_tail(dev, 0, devp); +} + +int device_next_child_err(struct udevice **devp) +{ + struct udevice *dev = *devp; + + device_find_next_child(&dev); + if (!dev) + return -ENODEV; + + return device_get_device_tail(dev, 0, devp); +} + int device_first_child_ofdata_err(struct udevice *parent, struct udevice **devp) { struct udevice *dev; diff --git a/include/dm/device.h b/include/dm/device.h index 2618952..517ae7f 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -603,6 +603,28 @@ int device_first_child_ofdata_err(struct udevice *parent, int device_next_child_ofdata_err(struct udevice **devp); /** + * device_first_child_err() - Get the first child of a device + * + * The device returned is probed if necessary, and ready for use + * + * @parent: Parent device to search + * @devp: Returns device found, if any + * @return 0 if found, -ENODEV if not, -ve error if device failed to probe + */ +int device_first_child_err(struct udevice *parent, struct udevice **devp); + +/** + * device_next_child_err() - Get the next child of a parent device + * + * The device returned is probed if necessary, and ready for use + * + * @devp: On entry, pointer to device to lookup. On exit, returns pointer + * to the next sibling if no error occurred + * @return 0 if found, -ENODEV if not, -ve error if device failed to probe + */ +int device_next_child_err(struct udevice **devp); + +/** * device_has_children() - check if a device has any children * * @dev: Device to check @@ -749,6 +771,23 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev) _ret = device_next_child_ofdata_err(&dev)) /** + * device_foreach_child_probe() - iterate through children, probing them + * + * This creates a for() loop which works through the available children of + * a device in order from start to end. Devices are probed if necessary, + * and ready for use. + * + * This stops when it gets an error, with @pos set to the device that failed to + * probe + * + * @pos: struct udevice * for the current device + * @parent: parent device to scan + */ +#define device_foreach_child_probe(pos, parent) \ + for (int _ret = device_first_child_err(parent, &dev); !_ret; \ + _ret = device_next_child_err(&dev)) + +/** * dm_scan_fdt_dev() - Bind child device in a the device tree * * This handles device which have sub-nodes in the device tree. It scans all diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c index 8fe4425..cd65e42 100644 --- a/test/dm/test-fdt.c +++ b/test/dm/test-fdt.c @@ -891,3 +891,22 @@ static int dm_test_child_ofdata(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_child_ofdata, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test device_first_child_err(), etc. */ +static int dm_test_first_child_probe(struct unit_test_state *uts) +{ + struct udevice *bus, *dev; + int count; + + ut_assertok(uclass_first_device_err(UCLASS_TEST_BUS, &bus)); + count = 0; + device_foreach_child_probe(dev, bus) { + ut_assert(dev->flags & DM_FLAG_PLATDATA_VALID); + ut_assert(dev->flags & DM_FLAG_ACTIVATED); + count++; + } + ut_asserteq(3, count); + + return 0; +} +DM_TEST(dm_test_first_child_probe, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); -- cgit v1.1 From 9ff5e0495d4bc8aee79c712a8603ef9bd7c06cd7 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:49 -0700 Subject: dm: core: Drop uclass_find_next_free_req_seq() conditions These conditions are not needed and just reduce build coverage. Drop them. Signed-off-by: Simon Glass --- drivers/core/uclass.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c index c520ef1..cd6ee47 100644 --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -271,9 +271,6 @@ int uclass_find_device_by_name(enum uclass_id id, const char *name, return -ENODEV; } -#if !CONFIG_IS_ENABLED(OF_CONTROL) || \ - CONFIG_IS_ENABLED(OF_PLATDATA) || \ - CONFIG_IS_ENABLED(OF_PRIOR_STAGE) int uclass_find_next_free_req_seq(enum uclass_id id) { struct uclass *uc; @@ -295,7 +292,6 @@ int uclass_find_next_free_req_seq(enum uclass_id id) return max + 1; } -#endif int uclass_find_device_by_seq(enum uclass_id id, int seq_or_req_seq, bool find_req_seq, struct udevice **devp) -- cgit v1.1 From 5b044548f5ae3e5f7cfbd4a6399f0695b4fb709b Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:50 -0700 Subject: bloblist: Add a new function to add or check size A common check is to see if a blob is present, create it if not and make sure that the size is large enough. Add a function to handle this. Signed-off-by: Simon Glass --- common/bloblist.c | 19 ++++++++++++++++++- include/bloblist.h | 13 +++++++++++++ test/bloblist.c | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/common/bloblist.c b/common/bloblist.c index ccf5e4b..3599ffa 100644 --- a/common/bloblist.c +++ b/common/bloblist.c @@ -85,8 +85,10 @@ static int bloblist_ensurerec(uint tag, struct bloblist_rec **recp, int size) rec = bloblist_findrec(tag); if (rec) { - if (size && size != rec->size) + if (size && size != rec->size) { + *recp = rec; return -ESPIPE; + } } else { int ret; @@ -145,6 +147,21 @@ void *bloblist_ensure(uint tag, int size) return (void *)rec + rec->hdr_size; } +int bloblist_ensure_size_ret(uint tag, int *sizep, void **blobp) +{ + struct bloblist_rec *rec; + int ret; + + ret = bloblist_ensurerec(tag, &rec, *sizep); + if (ret == -ESPIPE) + *sizep = rec->size; + else if (ret) + return ret; + *blobp = (void *)rec + rec->hdr_size; + + return 0; +} + static u32 bloblist_calc_chksum(struct bloblist_hdr *hdr) { struct bloblist_rec *rec; diff --git a/include/bloblist.h b/include/bloblist.h index 8514401..8c9ce98 100644 --- a/include/bloblist.h +++ b/include/bloblist.h @@ -152,6 +152,19 @@ int bloblist_ensure_size(uint tag, int size, void **blobp); void *bloblist_ensure(uint tag, int size); /** + * bloblist_ensure_size_ret() - Find or add a blob + * + * Find an existing blob, or add a new one if not found + * + * @tag: Tag to add (enum bloblist_tag_t) + * @sizep: Size of the blob to create; returns size of actual blob + * @blobp: Returns a pointer to blob on success + * @return 0 if OK, -ENOSPC if it is missing and could not be added due to lack + * of space + */ +int bloblist_ensure_size_ret(uint tag, int *sizep, void **blobp); + +/** * bloblist_new() - Create a new, empty bloblist of a given size * * @addr: Address of bloblist diff --git a/test/bloblist.c b/test/bloblist.c index d0f7296..c78b58e 100644 --- a/test/bloblist.c +++ b/test/bloblist.c @@ -24,6 +24,7 @@ enum { TEST_SIZE = 10, TEST_SIZE2 = 20, + TEST_SIZE_LARGE = 0xe0, TEST_ADDR = CONFIG_BLOBLIST_ADDR, TEST_BLOBLIST_SIZE = 0x100, @@ -97,6 +98,39 @@ static int bloblist_test_blob(struct unit_test_state *uts) } BLOBLIST_TEST(bloblist_test_blob, 0); +/* Check bloblist_ensure_size_ret() */ +static int bloblist_test_blob_ensure(struct unit_test_state *uts) +{ + void *data, *data2; + int size; + + /* At the start there should be no records */ + clear_bloblist(); + ut_assertok(bloblist_new(TEST_ADDR, TEST_BLOBLIST_SIZE, 0)); + + /* Test with an empty bloblist */ + size = TEST_SIZE; + ut_assertok(bloblist_ensure_size_ret(TEST_TAG, &size, &data)); + ut_asserteq(TEST_SIZE, size); + + /* Check that we get the same thing again */ + ut_assertok(bloblist_ensure_size_ret(TEST_TAG, &size, &data2)); + ut_asserteq(TEST_SIZE, size); + ut_asserteq_ptr(data, data2); + + /* Check that the size remains the same */ + size = TEST_SIZE2; + ut_assertok(bloblist_ensure_size_ret(TEST_TAG, &size, &data)); + ut_asserteq(TEST_SIZE, size); + + /* Check running out of space */ + size = TEST_SIZE_LARGE; + ut_asserteq(-ENOSPC, bloblist_ensure_size_ret(TEST_TAG2, &size, &data)); + + return 0; +} +BLOBLIST_TEST(bloblist_test_blob_ensure, 0); + static int bloblist_test_bad_blob(struct unit_test_state *uts) { struct bloblist_hdr *hdr; -- cgit v1.1 From 02247c1887312e5b4b367e4fb12122381b1424bc Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:51 -0700 Subject: bloblist: Tidy up a few comments and code-style nits Add a messing error code to bloblist_new() and tidy up the line length in bloblist_addrec(). Signed-off-by: Simon Glass --- common/bloblist.c | 5 ++--- include/bloblist.h | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/bloblist.c b/common/bloblist.c index 3599ffa..3d0fbbf 100644 --- a/common/bloblist.c +++ b/common/bloblist.c @@ -59,11 +59,10 @@ static int bloblist_addrec(uint tag, int size, struct bloblist_rec **recp) struct bloblist_rec *rec; int new_alloced; - new_alloced = hdr->alloced + sizeof(*rec) + - ALIGN(size, BLOBLIST_ALIGN); + new_alloced = hdr->alloced + sizeof(*rec) + ALIGN(size, BLOBLIST_ALIGN); if (new_alloced >= hdr->size) { log(LOGC_BLOBLIST, LOGL_ERR, - "Failed to allocate %x bytes size=%x, need size>=%x\n", + "Failed to allocate %x bytes size=%x, need size=%x\n", size, hdr->size, new_alloced); return log_msg_ret("bloblist add", -ENOSPC); } diff --git a/include/bloblist.h b/include/bloblist.h index 8c9ce98..609ac42 100644 --- a/include/bloblist.h +++ b/include/bloblist.h @@ -183,7 +183,8 @@ int bloblist_new(ulong addr, uint size, uint flags); * @return 0 if OK, -ENOENT if the magic number doesn't match (indicating that * there problem is no bloblist at the given address), -EPROTONOSUPPORT * if the version does not match, -EIO if the checksum does not match, - * -EFBIG if the expected size does not match the detected size + * -EFBIG if the expected size does not match the detected size, -ENOSPC + * if the size is not large enough to hold the headers */ int bloblist_check(ulong addr, uint size); -- cgit v1.1 From b83994dec7addcd5fecd0bfd2f734223eb0462f0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:52 -0700 Subject: bloblist: Zero records when adding It is convenient for bloblist to zero out the contents of a records when it is added. This saves the callers having to do it. Update the API accordingly. Signed-off-by: Simon Glass --- common/bloblist.c | 3 +++ doc/README.bloblist | 4 ++-- test/bloblist.c | 27 +++++++++++++++++++++++++-- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/common/bloblist.c b/common/bloblist.c index 3d0fbbf..9950195 100644 --- a/common/bloblist.c +++ b/common/bloblist.c @@ -73,6 +73,9 @@ static int bloblist_addrec(uint tag, int size, struct bloblist_rec **recp) rec->hdr_size = sizeof(*rec); rec->size = size; rec->spare = 0; + + /* Zero the record data */ + memset(rec + 1, '\0', rec->size); *recp = rec; return 0; diff --git a/doc/README.bloblist b/doc/README.bloblist index b0e787b..274c460 100644 --- a/doc/README.bloblist +++ b/doc/README.bloblist @@ -55,8 +55,8 @@ a single bloblist. API --- -Bloblist provides a fairly simple API which allows blobs to be created and -found. All access is via the blob's tag. +Bloblist provides a fairly simple API which allows blobs to be created and +found. All access is via the blob's tag. Blob records are zeroed when added. Finishing the bloblist diff --git a/test/bloblist.c b/test/bloblist.c index c78b58e..bdcca02 100644 --- a/test/bloblist.c +++ b/test/bloblist.c @@ -34,13 +34,31 @@ static struct bloblist_hdr *clear_bloblist(void) { struct bloblist_hdr *hdr; - /* Clear out any existing bloblist so we have a clean slate */ + /* + * Clear out any existing bloblist so we have a clean slate. Zero the + * header so that existing records are removed, but set everything else + * to 0xff for testing purposes. + */ hdr = map_sysmem(CONFIG_BLOBLIST_ADDR, TEST_BLOBLIST_SIZE); - memset(hdr, '\0', TEST_BLOBLIST_SIZE); + memset(hdr, '\xff', TEST_BLOBLIST_SIZE); + memset(hdr, '\0', sizeof(*hdr)); return hdr; } +static int check_zero(void *data, int size) +{ + u8 *ptr; + int i; + + for (ptr = data, i = 0; i < size; i++, ptr++) { + if (*ptr) + return -EINVAL; + } + + return 0; +} + static int bloblist_test_init(struct unit_test_state *uts) { struct bloblist_hdr *hdr; @@ -84,10 +102,14 @@ static int bloblist_test_blob(struct unit_test_state *uts) data = bloblist_find(TEST_TAG, TEST_SIZE); ut_asserteq_ptr(rec + 1, data); + /* Check the data is zeroed */ + ut_assertok(check_zero(data, TEST_SIZE)); + /* Check the 'ensure' method */ ut_asserteq_ptr(data, bloblist_ensure(TEST_TAG, TEST_SIZE)); ut_assertnull(bloblist_ensure(TEST_TAG, TEST_SIZE2)); rec2 = (struct bloblist_rec *)(data + ALIGN(TEST_SIZE, BLOBLIST_ALIGN)); + ut_assertok(check_zero(data, TEST_SIZE)); /* Check for a non-existent record */ ut_asserteq_ptr(data, bloblist_ensure(TEST_TAG, TEST_SIZE)); @@ -112,6 +134,7 @@ static int bloblist_test_blob_ensure(struct unit_test_state *uts) size = TEST_SIZE; ut_assertok(bloblist_ensure_size_ret(TEST_TAG, &size, &data)); ut_asserteq(TEST_SIZE, size); + ut_assertok(check_zero(data, TEST_SIZE)); /* Check that we get the same thing again */ ut_assertok(bloblist_ensure_size_ret(TEST_TAG, &size, &data2)); -- cgit v1.1 From eb7387ae14ef88ecba85d569de978da776ea4f09 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:53 -0700 Subject: sandbox: pmic: Correct i2c pmic emulator platdata method This currently reads the uclass's private data in the ofdata_to_platdata method which is not allowed, since the uclass has not read it from the device tree. This happens in the probe method. Fix it by adding a probe() method and moving the code there. Signed-off-by: Simon Glass --- drivers/power/pmic/i2c_pmic_emul.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/power/pmic/i2c_pmic_emul.c b/drivers/power/pmic/i2c_pmic_emul.c index 80efc02..b58c830 100644 --- a/drivers/power/pmic/i2c_pmic_emul.c +++ b/drivers/power/pmic/i2c_pmic_emul.c @@ -105,12 +105,21 @@ static int sandbox_i2c_pmic_ofdata_to_platdata(struct udevice *emul) { struct sandbox_i2c_pmic_plat_data *plat = dev_get_platdata(emul); struct udevice *pmic_dev = i2c_emul_get_device(emul); - struct uc_pmic_priv *priv = dev_get_uclass_priv(pmic_dev); - const u8 *reg_defaults; debug("%s:%d Setting PMIC default registers\n", __func__, __LINE__); plat->reg_count = pmic_reg_count(pmic_dev); - plat->trans_len = priv->trans_len; + + return 0; +} + +static int sandbox_i2c_pmic_probe(struct udevice *emul) +{ + struct sandbox_i2c_pmic_plat_data *plat = dev_get_platdata(emul); + struct udevice *pmic_dev = i2c_emul_get_device(emul); + struct uc_pmic_priv *upriv = dev_get_uclass_priv(pmic_dev); + const u8 *reg_defaults; + + plat->trans_len = upriv->trans_len; plat->buf_size = plat->reg_count * plat->trans_len; plat->reg = calloc(1, plat->buf_size); @@ -149,6 +158,7 @@ U_BOOT_DRIVER(sandbox_i2c_pmic_emul) = { .id = UCLASS_I2C_EMUL, .of_match = sandbox_i2c_pmic_ids, .ofdata_to_platdata = sandbox_i2c_pmic_ofdata_to_platdata, + .probe = sandbox_i2c_pmic_probe, .platdata_auto_alloc_size = sizeof(struct sandbox_i2c_pmic_plat_data), .ops = &sandbox_i2c_pmic_emul_ops, }; -- cgit v1.1 From b612312816ffe41a3a7616aa00394ffb248cf91e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:54 -0700 Subject: console: Add a function to read a line of the output / eof When recording the console output for testing it is useful to be able to read the output a line at a time to check that the output is correct. Also we need to check that we get to the end of the output. Add a console function to return the next line and another to see how must data is left. Signed-off-by: Simon Glass --- common/console.c | 11 +++++++++++ include/console.h | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/common/console.c b/common/console.c index 168ba60..7681da1 100644 --- a/common/console.c +++ b/common/console.c @@ -621,6 +621,17 @@ void console_record_reset_enable(void) console_record_reset(); gd->flags |= GD_FLG_RECORD; } + +int console_record_readline(char *str, int maxlen) +{ + return membuff_readline(&gd->console_out, str, maxlen, ' '); +} + +int console_record_avail(void) +{ + return membuff_avail(&gd->console_out); +} + #endif /* test if ctrl-c was pressed */ diff --git a/include/console.h b/include/console.h index e935c601..74afe22 100644 --- a/include/console.h +++ b/include/console.h @@ -42,6 +42,25 @@ void console_record_reset(void); void console_record_reset_enable(void); /** + * console_record_readline() - Read a line from the console output + * + * This reads the next available line from the console output previously + * recorded. + * + * @str: Place to put string + * @maxlen: Maximum length of @str including nul terminator + * @return length of string returned + */ +int console_record_readline(char *str, int maxlen); + +/** + * console_record_avail() - Get the number of available bytes in console output + * + * @return available bytes (0 if empty) + */ +int console_record_avail(void); + +/** * console_announce_r() - print a U-Boot console on non-serial consoles * * When U-Boot starts up with a display it generally does not announce itself -- cgit v1.1 From cfccff8000cb3f5b8eaee9a12568bc14eadfae8e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:55 -0700 Subject: test: Enable console recording in tests At present we reset the console buffer before each test but do not actually set the recording flag. Without this, the output is not recorded. Update the code to set the flag before the test and clear it afterwards. Signed-off-by: Simon Glass --- test/dm/test-main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/dm/test-main.c b/test/dm/test-main.c index 7264816..d7dc8d1f 100644 --- a/test/dm/test-main.c +++ b/test/dm/test-main.c @@ -97,11 +97,11 @@ static int dm_do_test(struct unit_test_state *uts, struct unit_test *test, * Silence the console and rely on console recording to get * our output. */ - console_record_reset(); + console_record_reset_enable(); if (!state->show_test_output) gd->flags |= GD_FLG_SILENT; test->func(uts); - gd->flags &= ~GD_FLG_SILENT; + gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD); state_set_skip_delays(false); ut_assertok(dm_test_destroy(uts)); -- cgit v1.1 From 400175b0a7daa062ed88def052ae6d54ec56a7e9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 27 Jan 2020 08:49:56 -0700 Subject: test: Add a way to check each line of console output When writing tests to check the output from commands it is useful to be able to check the output line by line using an assertion. Add helper macros to support this and to check that there is no unexpected trailing data. Also some commands produce a dump using print_buffer(). Add a way to check that the correct number of bytes are dumped (ignoring the actual contents). Signed-off-by: Simon Glass --- include/test/test.h | 4 ++++ include/test/ut.h | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++ test/ut.c | 46 +++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) diff --git a/include/test/test.h b/include/test/test.h index e5bef47..2a75211 100644 --- a/include/test/test.h +++ b/include/test/test.h @@ -15,12 +15,16 @@ * @start: Store the starting mallinfo when doing leak test * @priv: A pointer to some other info some suites want to track * @of_root: Record of the livetree root node (used for setting up tests) + * @expect_str: Temporary string used to hold expected string value + * @actual_str: Temporary string used to hold actual string value */ struct unit_test_state { int fail_count; struct mallinfo start; void *priv; struct device_node *of_root; + char expect_str[256]; + char actual_str[256]; }; /** diff --git a/include/test/ut.h b/include/test/ut.h index c9fc9cc..04df8ba 100644 --- a/include/test/ut.h +++ b/include/test/ut.h @@ -38,6 +38,43 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line, const char *func, const char *cond, const char *fmt, ...) __attribute__ ((format (__printf__, 6, 7))); +/** + * ut_check_console_line() - Check the next console line against expectations + * + * This creates a string and then checks it against the next line of console + * output obtained with console_record_readline(). + * + * After the function returns, uts->expect_str holds the expected string and + * uts->actual_str holds the actual string read from the console. + * + * @uts: Test state + * @fmt: printf() format string for the error, followed by args + * @return 0 if OK, other value on error + */ +int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...) + __attribute__ ((format (__printf__, 2, 3))); + +/** + * ut_check_console_end() - Check there is no more console output + * + * After the function returns, uts->actual_str holds the actual string read + * from the console + * + * @uts: Test state + * @return 0 if OK (console has no output), other value on error + */ +int ut_check_console_end(struct unit_test_state *uts); + +/** + * ut_check_console_dump() - Check that next lines have a print_buffer() dump + * + * This only supports a byte dump. + * + * @total_bytes: Size of the expected dump in bytes` + * @return 0 if OK (looks like a dump and the length matches), other value on + * error + */ +int ut_check_console_dump(struct unit_test_state *uts, int total_bytes); /* Assert that a condition is non-zero */ #define ut_assert(cond) \ @@ -149,6 +186,34 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line, /* Assert that an operation succeeds (returns 0) */ #define ut_assertok(cond) ut_asserteq(0, cond) +/* Assert that the next console output line matches */ +#define ut_assert_nextline(fmt, args...) \ + if (ut_check_console_line(uts, fmt, ##args)) { \ + ut_failf(uts, __FILE__, __LINE__, __func__, \ + "console", "\nExpected '%s',\n got '%s'", \ + uts->expect_str, uts->actual_str); \ + return CMD_RET_FAILURE; \ + } \ + +/* Assert that there is no more console output */ +#define ut_assert_console_end() \ + if (ut_check_console_end(uts)) { \ + ut_failf(uts, __FILE__, __LINE__, __func__, \ + "console", "Expected no more output, got '%s'",\ + uts->actual_str); \ + return CMD_RET_FAILURE; \ + } \ + +/* Assert that the next lines are print_buffer() dump at an address */ +#define ut_assert_nextlines_are_dump(total_bytes) \ + if (ut_check_console_dump(uts, total_bytes)) { \ + ut_failf(uts, __FILE__, __LINE__, __func__, \ + "console", \ + "Expected dump of length %x bytes, got '%s'", \ + total_bytes, uts->actual_str); \ + return CMD_RET_FAILURE; \ + } \ + /** * ut_check_free() - Return the number of bytes free in the malloc() pool * diff --git a/test/ut.c b/test/ut.c index 265da4a..c64f0b5 100644 --- a/test/ut.c +++ b/test/ut.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include @@ -46,3 +47,48 @@ long ut_check_delta(ulong last) return ut_check_free() - last; } +int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + vsnprintf(uts->expect_str, sizeof(uts->expect_str), fmt, args); + va_end(args); + console_record_readline(uts->actual_str, sizeof(uts->actual_str)); + + return strcmp(uts->expect_str, uts->actual_str); +} + +int ut_check_console_end(struct unit_test_state *uts) +{ + if (!console_record_avail()) + return 0; + + console_record_readline(uts->actual_str, sizeof(uts->actual_str)); + + return 1; +} + +int ut_check_console_dump(struct unit_test_state *uts, int total_bytes) +{ + char *str = uts->actual_str; + int upto; + + /* Handle empty dump */ + if (!total_bytes) + return 0; + + for (upto = 0; upto < total_bytes;) { + int len; + int bytes; + + len = console_record_readline(str, sizeof(uts->actual_str)); + if (str[8] != ':' || str[9] != ' ') + return 1; + + bytes = len - 8 - 2 - 3 * 16 - 4; + upto += bytes; + } + + return upto == total_bytes ? 0 : 1; +} -- cgit v1.1 From 28b417ce859490d6b06e71dbf4e842841e64d34d Mon Sep 17 00:00:00 2001 From: Thirupathaiah Annapureddy Date: Mon, 6 Jan 2020 22:21:42 -0800 Subject: image: fdt: check "status" of "/reserved-memory" subnodes boot_fdt_add_mem_rsv_regions() scans the subnodes of "/reserved-memory" and adds them to reserved lmb regions. Currently this scanning does not take into "status" property. Even if the subnode is disabled, it gets added to the reserved lmb regions. This patch checks the "status" property before adding it to reserved lmb regions. Signed-off-by: Thirupathaiah Annapureddy --- common/image-fdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/image-fdt.c b/common/image-fdt.c index dbb1e6e..dbe8535 100644 --- a/common/image-fdt.c +++ b/common/image-fdt.c @@ -122,7 +122,7 @@ void boot_fdt_add_mem_rsv_regions(struct lmb *lmb, void *fdt_blob) /* check if this subnode has a reg property */ ret = fdt_get_resource(fdt_blob, subnode, "reg", 0, &res); - if (!ret) { + if (!ret && fdtdec_get_is_enabled(fdt_blob, subnode)) { addr = res.start; size = res.end - res.start + 1; boot_fdt_reserve_region(lmb, addr, size); -- cgit v1.1 From bb3f47eb78ea50bad5f1848bdac84a05116c395d Mon Sep 17 00:00:00 2001 From: Philippe Reynes Date: Thu, 9 Jan 2020 18:45:45 +0100 Subject: tpm: add a helper to iterate on all tpm devices This add a helper for_each_tpm_device that run through all the tpm (1.x and 2.0) devices. Signed-off-by: Philippe Reynes Reviewed-by: Miquel Raynal --- include/tpm-common.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/tpm-common.h b/include/tpm-common.h index f9c2ca2..702cd6e 100644 --- a/include/tpm-common.h +++ b/include/tpm-common.h @@ -293,4 +293,7 @@ static inline cmd_tbl_t *get_tpm2_commands(unsigned int *size) */ enum tpm_version tpm_get_version(struct udevice *dev); +/* Iterate on all TPM devices */ +#define for_each_tpm_device(dev) uclass_foreach_dev_probe(UCLASS_TPM, (dev)) + #endif /* __TPM_COMMON_H */ -- cgit v1.1 From 3780e2d08e49565160272def7067322aca376c8e Mon Sep 17 00:00:00 2001 From: Philippe Reynes Date: Thu, 9 Jan 2020 18:45:46 +0100 Subject: cmd: tpm: add a subcommand device The command tpm (and tpm2) search the tpm and use it. On sandbox, there are two tpm (tpm 1.x and tpm 2.0). So the command tpm and tpm2 are always executed with the first tpm (tpm 1.x), and the command tpm2 always fails. This add a subcommand device to command tpm and command tpm2. Then the command tpm and tpm2 use the device selected with the subcommand device. To be compatible with previous behaviour, if the subcommand device is not used before a tpm (or tpm2) command, the device 0 is selected. Signed-off-by: Philippe Reynes Reviewed-by: Miquel Raynal --- cmd/tpm-common.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++--- cmd/tpm-user-utils.h | 1 + cmd/tpm-v1.c | 3 ++ cmd/tpm-v2.c | 3 ++ 4 files changed, 80 insertions(+), 4 deletions(-) diff --git a/cmd/tpm-common.c b/cmd/tpm-common.c index 38900fb..42882b1 100644 --- a/cmd/tpm-common.c +++ b/cmd/tpm-common.c @@ -12,6 +12,8 @@ #include #include "tpm-user-utils.h" +static struct udevice *tpm_dev; + /** * Print a byte string in hexdecimal format, 16-bytes per line. * @@ -231,19 +233,86 @@ int type_string_write_vars(const char *type_str, u8 *data, return 0; } +static int tpm_show_device(void) +{ + struct udevice *dev; + char buf[80]; + int n = 0, rc; + + for_each_tpm_device(dev) { + rc = tpm_get_desc(dev, buf, sizeof(buf)); + if (rc < 0) + printf("device %d: can't get info\n", n); + else + printf("device %d: %s\n", n, buf); + + n++; + }; + + return 0; +} + +static int tpm_set_device(unsigned long num) +{ + struct udevice *dev; + unsigned long n = 0; + int rc = CMD_RET_FAILURE; + + for_each_tpm_device(dev) { + if (n == num) { + rc = 0; + break; + } + + n++; + } + + if (!rc) + tpm_dev = dev; + + return rc; +} + int get_tpm(struct udevice **devp) { int rc; - rc = uclass_first_device_err(UCLASS_TPM, devp); - if (rc) { - printf("Could not find TPM (ret=%d)\n", rc); - return CMD_RET_FAILURE; + /* + * To keep a backward compatibility with previous code, + * if a tpm device is not explicitly set, we set the first one. + */ + if (!tpm_dev) { + rc = tpm_set_device(0); + if (rc) { + printf("Couldn't set TPM 0 (rc = %d)\n", rc); + return CMD_RET_FAILURE; + } } + if (devp) + *devp = tpm_dev; + return 0; } +int do_tpm_device(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) +{ + unsigned long num; + int rc; + + if (argc == 2) { + num = simple_strtoul(argv[1], NULL, 10); + + rc = tpm_set_device(num); + if (rc) + printf("Couldn't set TPM %lu (rc = %d)\n", num, rc); + } else { + rc = tpm_show_device(); + } + + return rc; +} + int do_tpm_info(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { struct udevice *dev; diff --git a/cmd/tpm-user-utils.h b/cmd/tpm-user-utils.h index 8ce9861..a851d9c 100644 --- a/cmd/tpm-user-utils.h +++ b/cmd/tpm-user-utils.h @@ -17,6 +17,7 @@ int type_string_pack(const char *type_str, char * const values[], u8 *data); int type_string_write_vars(const char *type_str, u8 *data, char * const vars[]); int get_tpm(struct udevice **devp); +int do_tpm_device(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]); int do_tpm_init(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]); int do_tpm_info(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]); int do_tpm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); diff --git a/cmd/tpm-v1.c b/cmd/tpm-v1.c index 2807331..bc34e06 100644 --- a/cmd/tpm-v1.c +++ b/cmd/tpm-v1.c @@ -645,6 +645,7 @@ TPM_COMMAND_NO_ARG(tpm_physical_enable) TPM_COMMAND_NO_ARG(tpm_physical_disable) static cmd_tbl_t tpm1_commands[] = { + U_BOOT_CMD_MKENT(device, 0, 1, do_tpm_device, "", ""), U_BOOT_CMD_MKENT(info, 0, 1, do_tpm_info, "", ""), U_BOOT_CMD_MKENT(init, 0, 1, do_tpm_init, "", ""), U_BOOT_CMD_MKENT(startup, 0, 1, @@ -721,6 +722,8 @@ U_BOOT_CMD(tpm, CONFIG_SYS_MAXARGS, 1, do_tpm, "cmd args...\n" " - Issue TPM command with arguments .\n" "Admin Startup and State Commands:\n" +" device [num device]\n" +" - Show all devices or set the specified device\n" " info - Show information about the TPM\n" " init\n" " - Put TPM into a state where it waits for 'startup' command.\n" diff --git a/cmd/tpm-v2.c b/cmd/tpm-v2.c index 459a955..0cd3982 100644 --- a/cmd/tpm-v2.c +++ b/cmd/tpm-v2.c @@ -354,6 +354,7 @@ static int do_tpm_pcr_setauthvalue(cmd_tbl_t *cmdtp, int flag, } static cmd_tbl_t tpm2_commands[] = { + U_BOOT_CMD_MKENT(device, 0, 1, do_tpm_device, "", ""), U_BOOT_CMD_MKENT(info, 0, 1, do_tpm_info, "", ""), U_BOOT_CMD_MKENT(init, 0, 1, do_tpm_init, "", ""), U_BOOT_CMD_MKENT(startup, 0, 1, do_tpm2_startup, "", ""), @@ -381,6 +382,8 @@ cmd_tbl_t *get_tpm2_commands(unsigned int *size) U_BOOT_CMD(tpm2, CONFIG_SYS_MAXARGS, 1, do_tpm, "Issue a TPMv2.x command", " []\n" "\n" +"device [num device]\n" +" Show all devices or set the specified device\n" "info\n" " Show information about the TPM.\n" "init\n" -- cgit v1.1 From 19464f4feb70292ea857c332f06673ac840a007d Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Fri, 10 Jan 2020 12:32:19 -0500 Subject: cli: Make the sandbox board_run_command the default If CONFIG_CMDLINE=n, common/cli.c calls board_run_command. This fails to link on most architectures. However, the sandbox architecture has an implementation which we can use. Signed-off-by: Sean Anderson --- arch/sandbox/cpu/start.c | 7 ------- common/cli.c | 7 +++++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index fff9cbd..5b7d548 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -319,13 +319,6 @@ static int sandbox_cmdline_cb_show_of_platdata(struct sandbox_state *state, } SANDBOX_CMDLINE_OPT(show_of_platdata, 0, "Show of-platdata in SPL"); -int board_run_command(const char *cmdline) -{ - printf("## Commands are disabled. Please enable CONFIG_CMDLINE.\n"); - - return 1; -} - static void setup_ram_buf(struct sandbox_state *state) { /* Zero the RAM buffer if we didn't read it, to keep valgrind happy */ diff --git a/common/cli.c b/common/cli.c index 7ffe902..38bba17 100644 --- a/common/cli.c +++ b/common/cli.c @@ -71,6 +71,13 @@ int run_command_repeatable(const char *cmd, int flag) return 0; #endif } +#else +__weak int board_run_command(const char *cmdline) +{ + printf("## Commands are disabled. Please enable CONFIG_CMDLINE.\n"); + + return 1; +} #endif /* CONFIG_CMDLINE */ int run_command_list(const char *cmd, int len, int flag) -- cgit v1.1 From 8d73be7a8e47ee57efe57ee17ed393bac1011fce Mon Sep 17 00:00:00 2001 From: Thirupathaiah Annapureddy Date: Sun, 12 Jan 2020 23:34:22 -0800 Subject: tpm2: ftpm: A driver for firmware TPM running inside TEE Add a driver for a firmware TPM running inside TEE. Documentation of the firmware TPM: https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/ Implementation of the firmware TPM: https://github.com/Microsoft/ms-tpm-20-ref/tree/master/Samples/ARM32-FirmwareTPM Signed-off-by: Thirupathaiah Annapureddy --- drivers/tpm/Kconfig | 6 ++ drivers/tpm/Makefile | 1 + drivers/tpm/tpm2_ftpm_tee.c | 250 ++++++++++++++++++++++++++++++++++++++++++++ drivers/tpm/tpm2_ftpm_tee.h | 35 +++++++ 4 files changed, 292 insertions(+) create mode 100644 drivers/tpm/tpm2_ftpm_tee.c create mode 100644 drivers/tpm/tpm2_ftpm_tee.h diff --git a/drivers/tpm/Kconfig b/drivers/tpm/Kconfig index 94629df..81bbffc 100644 --- a/drivers/tpm/Kconfig +++ b/drivers/tpm/Kconfig @@ -145,6 +145,12 @@ config TPM2_TIS_SPI to the device using the standard TPM Interface Specification (TIS) protocol. +config TPM2_FTPM_TEE + bool "TEE based fTPM Interface" + depends on TEE && OPTEE && TPM_V2 + help + This driver supports firmware TPM running in TEE. + endif # TPM_V2 endmenu diff --git a/drivers/tpm/Makefile b/drivers/tpm/Makefile index 94c337b..b1be3fe 100644 --- a/drivers/tpm/Makefile +++ b/drivers/tpm/Makefile @@ -12,3 +12,4 @@ obj-$(CONFIG_TPM_ST33ZP24_SPI) += tpm_tis_st33zp24_spi.o obj-$(CONFIG_TPM2_TIS_SANDBOX) += tpm2_tis_sandbox.o obj-$(CONFIG_TPM2_TIS_SPI) += tpm2_tis_spi.o +obj-$(CONFIG_TPM2_FTPM_TEE) += tpm2_ftpm_tee.o diff --git a/drivers/tpm/tpm2_ftpm_tee.c b/drivers/tpm/tpm2_ftpm_tee.c new file mode 100644 index 0000000..4b79d4a --- /dev/null +++ b/drivers/tpm/tpm2_ftpm_tee.c @@ -0,0 +1,250 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) Microsoft Corporation + * + * Authors: + * Thirupathaiah Annapureddy + * + * Description: + * Device Driver for a firmware TPM as described here: + * https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/ + * + * A reference implementation is available here: + * https://github.com/microsoft/ms-tpm-20-ref/tree/master/Samples/ARM32-FirmwareTPM/optee_ta/fTPM + */ + +#include +#include +#include +#include + +#include "tpm_tis.h" +#include "tpm2_ftpm_tee.h" + +/** + * ftpm_tee_transceive() - send fTPM commands and retrieve fTPM response. + * @sendbuf - address of the data to send, byte by byte + * @send_size - length of the data to send + * @recvbuf - address where to read the response, byte by byte. + * @recv_len - pointer to the size of buffer + * + * Return: + * In case of success, returns 0. + * On failure, -errno + */ +static int ftpm_tee_transceive(struct udevice *dev, const u8 *sendbuf, + size_t send_size, u8 *recvbuf, + size_t *recv_len) +{ + struct ftpm_tee_private *context = dev_get_priv(dev); + int rc = 0; + size_t resp_len; + u8 *resp_buf; + struct tpm_output_header *resp_header; + struct tee_invoke_arg transceive_args; + struct tee_param command_params[4]; + struct tee_shm *shm; + + if (send_size > MAX_COMMAND_SIZE) { + debug("%s:send_size=%zd exceeds MAX_COMMAND_SIZE\n", + __func__, send_size); + return -EIO; + } + + shm = context->shm; + memset(&transceive_args, 0, sizeof(transceive_args)); + memset(command_params, 0, sizeof(command_params)); + + /* Invoke FTPM_OPTEE_TA_SUBMIT_COMMAND function of fTPM TA */ + transceive_args = (struct tee_invoke_arg) { + .func = FTPM_OPTEE_TA_SUBMIT_COMMAND, + .session = context->session, + }; + + /* Fill FTPM_OPTEE_TA_SUBMIT_COMMAND parameters */ + /* request */ + command_params[0] = (struct tee_param) { + .attr = TEE_PARAM_ATTR_TYPE_MEMREF_INPUT, + .u.memref = { + .shm = shm, + .size = send_size, + .shm_offs = 0, + }, + }; + memset(command_params[0].u.memref.shm->addr, 0, + (MAX_COMMAND_SIZE + MAX_RESPONSE_SIZE)); + memcpy(command_params[0].u.memref.shm->addr, sendbuf, send_size); + + /* response */ + command_params[1] = (struct tee_param) { + .attr = TEE_PARAM_ATTR_TYPE_MEMREF_INOUT, + .u.memref = { + .shm = shm, + .size = MAX_RESPONSE_SIZE, + .shm_offs = MAX_COMMAND_SIZE, + }, + }; + + rc = tee_invoke_func(context->tee_dev, &transceive_args, 4, + command_params); + if ((rc < 0) || (transceive_args.ret != 0)) { + debug("%s:SUBMIT_COMMAND invoke error: 0x%x\n", + __func__, transceive_args.ret); + return (rc < 0) ? rc : transceive_args.ret; + } + + resp_buf = command_params[1].u.memref.shm->addr + + command_params[1].u.memref.shm_offs; + resp_header = (struct tpm_output_header *)resp_buf; + resp_len = be32_to_cpu(resp_header->length); + + /* sanity check resp_len*/ + if (resp_len < TPM_HEADER_SIZE) { + debug("%s:tpm response header too small\n", __func__); + return -EIO; + } + if (resp_len > MAX_RESPONSE_SIZE) { + debug("%s:resp_len=%zd exceeds MAX_RESPONSE_SIZE\n", + __func__, resp_len); + return -EIO; + } + if (resp_len > *recv_len) { + debug("%s:response length is bigger than receive buffer\n", + __func__); + return -EIO; + } + + /* sanity checks look good, copy the response */ + memcpy(recvbuf, resp_buf, resp_len); + *recv_len = resp_len; + + return 0; +} + +static int ftpm_tee_open(struct udevice *dev) +{ + struct ftpm_tee_private *context = dev_get_priv(dev); + + if (context->is_open) + return -EBUSY; + + context->is_open = 1; + + return 0; +} + +static int ftpm_tee_close(struct udevice *dev) +{ + struct ftpm_tee_private *context = dev_get_priv(dev); + + if (context->is_open) + context->is_open = 0; + + return 0; +} + +static int ftpm_tee_desc(struct udevice *dev, char *buf, int size) +{ + if (size < 32) + return -ENOSPC; + + return snprintf(buf, size, "Microsoft OP-TEE fTPM"); +} + +static int ftpm_tee_match(struct tee_version_data *vers, const void *data) +{ + debug("%s:vers->gen_caps =0x%x\n", __func__, vers->gen_caps); + + /* + * Currently this driver only support GP Complaint OPTEE based fTPM TA + */ + return vers->gen_caps & TEE_GEN_CAP_GP; +} + +static int ftpm_tee_probe(struct udevice *dev) +{ + int rc; + struct tpm_chip_priv *priv = dev_get_uclass_priv(dev); + struct ftpm_tee_private *context = dev_get_priv(dev); + struct tee_open_session_arg sess_arg; + const struct tee_optee_ta_uuid uuid = TA_FTPM_UUID; + + memset(context, 0, sizeof(*context)); + + /* Use the TPM v2 stack */ + priv->version = TPM_V2; + priv->pcr_count = 24; + priv->pcr_select_min = 3; + + /* Find TEE device */ + context->tee_dev = tee_find_device(NULL, ftpm_tee_match, NULL, NULL); + if (!context->tee_dev) { + debug("%s:tee_find_device failed\n", __func__); + return -ENODEV; + } + + /* Open a session with the fTPM TA */ + memset(&sess_arg, 0, sizeof(sess_arg)); + tee_optee_ta_uuid_to_octets(sess_arg.uuid, &uuid); + + rc = tee_open_session(context->tee_dev, &sess_arg, 0, NULL); + if ((rc < 0) || (sess_arg.ret != 0)) { + debug("%s:tee_open_session failed, err=%x\n", + __func__, sess_arg.ret); + return -EIO; + } + context->session = sess_arg.session; + + /* Allocate dynamic shared memory with fTPM TA */ + rc = tee_shm_alloc(context->tee_dev, + MAX_COMMAND_SIZE + MAX_RESPONSE_SIZE, + 0, &context->shm); + if (rc) { + debug("%s:tee_shm_alloc failed with rc = %d\n", __func__, rc); + goto out_shm_alloc; + } + + return 0; + +out_shm_alloc: + tee_close_session(context->tee_dev, context->session); + + return rc; +} + +static int ftpm_tee_remove(struct udevice *dev) +{ + struct ftpm_tee_private *context = dev_get_priv(dev); + int rc; + + /* tee_pre_remove frees any leftover TEE shared memory */ + + /* close the existing session with fTPM TA*/ + rc = tee_close_session(context->tee_dev, context->session); + debug("%s: tee_close_session - rc =%d\n", __func__, rc); + + return 0; +} + +static const struct tpm_ops ftpm_tee_ops = { + .open = ftpm_tee_open, + .close = ftpm_tee_close, + .get_desc = ftpm_tee_desc, + .xfer = ftpm_tee_transceive, +}; + +static const struct udevice_id ftpm_tee_ids[] = { + { .compatible = "microsoft,ftpm" }, + { } +}; + +U_BOOT_DRIVER(ftpm_tee) = { + .name = "ftpm_tee", + .id = UCLASS_TPM, + .of_match = ftpm_tee_ids, + .ops = &ftpm_tee_ops, + .probe = ftpm_tee_probe, + .remove = ftpm_tee_remove, + .flags = DM_FLAG_OS_PREPARE, + .priv_auto_alloc_size = sizeof(struct ftpm_tee_private), +}; diff --git a/drivers/tpm/tpm2_ftpm_tee.h b/drivers/tpm/tpm2_ftpm_tee.h new file mode 100644 index 0000000..44f9598 --- /dev/null +++ b/drivers/tpm/tpm2_ftpm_tee.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) Microsoft Corporation + */ + +#ifndef __TPM2_FTPM_TEE_H__ +#define __TPM2_FTPM_TEE_H__ + +/* This UUID is generated with uuidgen */ +#define TA_FTPM_UUID { 0xBC50D971, 0xD4C9, 0x42C4, \ + {0x82, 0xCB, 0x34, 0x3F, 0xB7, 0xF3, 0x78, 0x96} } + +/* The TAFs ID implemented in this TA */ +#define FTPM_OPTEE_TA_SUBMIT_COMMAND (0) +#define FTPM_OPTEE_TA_EMULATE_PPI (1) + +/* max. buffer size supported by fTPM */ +#define MAX_COMMAND_SIZE 4096 +#define MAX_RESPONSE_SIZE 4096 + +/** + * struct ftpm_tee_private - fTPM's private context + * @tee_dev: struct udevice for TEE. + * @session: fTPM TA session identifier. + * @is_open: Indicates whether the driver is already opened by client or not. + * @shm: Memory pool shared with fTPM TA in TEE. + */ +struct ftpm_tee_private { + struct udevice *tee_dev; + u32 session; + int is_open; + struct tee_shm *shm; +}; + +#endif /* __TPM2_FTPM_TEE_H__ */ -- cgit v1.1 From 2f7c53cbd3e8094d2c4398b293a68304b7af721c Mon Sep 17 00:00:00 2001 From: Matthias Brugger Date: Fri, 17 Jan 2020 10:53:37 +0100 Subject: buildman: Enable buildman on aarch64 hosts At kernel.org aarch64 toolchains are published in folder arm64. Fix the URL for that case, so that we can fetch toolchains on aarch64 machines. Signed-off-by: Matthias Brugger Reviewed-by: Simon Glass --- tools/buildman/toolchain.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py index 4f39bfd..89c54d6 100644 --- a/tools/buildman/toolchain.py +++ b/tools/buildman/toolchain.py @@ -487,6 +487,8 @@ class Toolchains: URL containing this toolchain, if avaialble, else None """ arch = command.OutputOneLine('uname', '-m') + if arch == 'aarch64': + arch = 'arm64' base = 'https://www.kernel.org/pub/tools/crosstool/files/bin' versions = ['7.3.0', '6.4.0', '4.9.4'] links = [] -- cgit v1.1 From 7b9d60fc1ff67b3959a7db394084b27268a7686d Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Fri, 17 Jan 2020 14:48:09 -0500 Subject: cmd: Add command to dump drivers and compatible strings This adds a subcommand to dm to dump out what drivers are installed, and their compatible strings. I have found this useful in ensuring that I have the correct drivers compiled, and that I have put in the correct compatible strings. Signed-off-by Sean Anderson Reviewed-by: Simon Glass --- cmd/dm.c | 12 +++++++++++- drivers/core/dump.c | 19 +++++++++++++++++++ include/dm/util.h | 3 +++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/cmd/dm.c b/cmd/dm.c index 7b271db..108707c 100644 --- a/cmd/dm.c +++ b/cmd/dm.c @@ -40,10 +40,19 @@ static int do_dm_dump_devres(cmd_tbl_t *cmdtp, int flag, int argc, return 0; } +static int do_dm_dump_drivers(cmd_tbl_t *cmdtp, int flag, int argc, + char * const argv[]) +{ + dm_dump_drivers(); + + return 0; +} + static cmd_tbl_t test_commands[] = { U_BOOT_CMD_MKENT(tree, 0, 1, do_dm_dump_all, "", ""), U_BOOT_CMD_MKENT(uclass, 1, 1, do_dm_dump_uclass, "", ""), U_BOOT_CMD_MKENT(devres, 1, 1, do_dm_dump_devres, "", ""), + U_BOOT_CMD_MKENT(drivers, 1, 1, do_dm_dump_drivers, "", ""), }; static __maybe_unused void dm_reloc(void) @@ -84,5 +93,6 @@ U_BOOT_CMD( "Driver model low level access", "tree Dump driver model tree ('*' = activated)\n" "dm uclass Dump list of instances for each uclass\n" - "dm devres Dump list of device resources for each device" + "dm devres Dump list of device resources for each device\n" + "dm drivers Dump list of drivers and their compatible strings\n" ); diff --git a/drivers/core/dump.c b/drivers/core/dump.c index 4704049..e73ebea 100644 --- a/drivers/core/dump.c +++ b/drivers/core/dump.c @@ -96,3 +96,22 @@ void dm_dump_uclass(void) puts("\n"); } } + +void dm_dump_drivers(void) +{ + struct driver *d = ll_entry_start(struct driver, driver); + const int n_ents = ll_entry_count(struct driver, driver); + struct driver *entry; + const struct udevice_id *match; + + puts("Driver Compatible\n"); + puts("--------------------------------\n"); + for (entry = d; entry < d + n_ents; entry++) { + for (match = entry->of_match; match->compatible; match++) + printf("%-20.20s %s\n", + match == entry->of_match ? entry->name : "", + match->compatible); + if (match == entry->of_match) + printf("%-20.20s\n", entry->name); + } +} diff --git a/include/dm/util.h b/include/dm/util.h index 348c2ac..0ccb3fb 100644 --- a/include/dm/util.h +++ b/include/dm/util.h @@ -39,6 +39,9 @@ static inline void dm_dump_devres(void) } #endif +/* Dump out a list of drivers */ +void dm_dump_drivers(void); + /** * Check if an of node should be or was bound before relocation. * -- cgit v1.1 From 5ed2dc5623b45ebd51d71f7daffd0cbcbc441186 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 21 Jan 2020 10:23:17 +0000 Subject: dtc: add ability to make nodes conditional on them being referenced This is needed when importing mainline DTs into U-Boot, as some started using this /omit-if-no-ref/ tag, so won't compile with U-Boot's current dtc copy. This is just a cherry-pick of the patch introducing this feature. Original commit message from Maxime: ------------------ A number of platforms have a need to reduce the number of DT nodes, mostly because of two similar constraints: the size of the DT blob, and the time it takes to parse it. As the DT is used in more and more SoCs, and by more projects, some constraints start to appear in bootloaders running from SRAM with an order of magnitude of 10kB. A typical DT is in the same order of magnitude, so any effort to reduce the blob size is welcome in such an environment. Some platforms also want to reach very fast boot time, and the time it takes to parse a typical DT starts to be noticeable. Both of these issues can be mitigated by reducing the number of nodes in the DT. The biggest provider of nodes is usually the pin controller and its subnodes, usually one for each valid pin configuration in a given SoC. Obviously, a single, fixed, set of these nodes will be used by a given board, so we can introduce a node property that will tell the DT compiler to drop the nodes when they are not referenced in the tree, and as such wouldn't be useful in the targetted system. Signed-off-by: Maxime Ripard Reviewed-by: Rob Herring Signed-off-by: Andre Przywara Reviewed-by: Simon Glass --- scripts/dtc/checks.c | 13 +++++++++++++ scripts/dtc/dtc-lexer.l | 7 +++++++ scripts/dtc/dtc-parser.y | 17 +++++++++++++++++ scripts/dtc/dtc.h | 4 ++++ scripts/dtc/livetree.c | 14 ++++++++++++++ 5 files changed, 55 insertions(+) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c index c07ba4d..4087967 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -579,6 +579,8 @@ static void fixup_phandle_references(struct check *c, struct dt_info *dti, phandle = get_node_phandle(dt, refnode); *((fdt32_t *)(prop->val.val + m->offset)) = cpu_to_fdt32(phandle); + + reference_node(refnode); } } } @@ -609,11 +611,21 @@ static void fixup_path_references(struct check *c, struct dt_info *dti, path = refnode->fullpath; prop->val = data_insert_at_marker(prop->val, m, path, strlen(path) + 1); + + reference_node(refnode); } } } ERROR(path_references, fixup_path_references, NULL, &duplicate_node_names); +static void fixup_omit_unused_nodes(struct check *c, struct dt_info *dti, + struct node *node) +{ + if (node->omit_if_unused && !node->is_referenced) + delete_node(node); +} +ERROR(omit_unused_nodes, fixup_omit_unused_nodes, NULL, &phandle_references, &path_references); + /* * Semantic checks */ @@ -1367,6 +1379,7 @@ static struct check *check_table[] = { &explicit_phandles, &phandle_references, &path_references, + &omit_unused_nodes, &address_cells_is_cell, &size_cells_is_cell, &interrupt_cells_is_cell, &device_type_is_string, &model_is_string, &status_is_string, diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l index 24af549..d3694d6 100644 --- a/scripts/dtc/dtc-lexer.l +++ b/scripts/dtc/dtc-lexer.l @@ -152,6 +152,13 @@ static void PRINTF(1, 2) lexical_error(const char *fmt, ...); return DT_DEL_NODE; } +<*>"/omit-if-no-ref/" { + DPRINT("Keyword: /omit-if-no-ref/\n"); + DPRINT("\n"); + BEGIN(PROPNODENAME); + return DT_OMIT_NO_REF; + } + <*>{LABEL}: { DPRINT("Label: %s\n", yytext); yylval.labelref = xstrdup(yytext); diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y index 44af170..66ff7f7 100644 --- a/scripts/dtc/dtc-parser.y +++ b/scripts/dtc/dtc-parser.y @@ -63,6 +63,7 @@ extern bool treesource_error; %token DT_BITS %token DT_DEL_PROP %token DT_DEL_NODE +%token DT_OMIT_NO_REF %token DT_PROPNODENAME %token DT_LITERAL %token DT_CHAR_LITERAL @@ -219,6 +220,18 @@ devicetree: $$ = $1; } + | devicetree DT_OMIT_NO_REF DT_REF ';' + { + struct node *target = get_node_by_ref($1, $3); + + if (target) + omit_node_if_unused(target); + else + ERROR(&@3, "Label or path %s not found", $3); + + + $$ = $1; + } ; nodedef: @@ -523,6 +536,10 @@ subnode: { $$ = name_node(build_node_delete(), $2); } + | DT_OMIT_NO_REF subnode + { + $$ = omit_node_if_unused($2); + } | DT_LABEL subnode { add_label(&$2->labels, $1); diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h index 3b18a42..6d66770 100644 --- a/scripts/dtc/dtc.h +++ b/scripts/dtc/dtc.h @@ -168,6 +168,8 @@ struct node { struct label *labels; const struct bus_type *bus; + + bool omit_if_unused, is_referenced; }; #define for_each_label_withdel(l0, l) \ @@ -202,6 +204,8 @@ struct property *reverse_properties(struct property *first); struct node *build_node(struct property *proplist, struct node *children); struct node *build_node_delete(void); struct node *name_node(struct node *node, char *name); +struct node *omit_node_if_unused(struct node *node); +struct node *reference_node(struct node *node); struct node *chain_node(struct node *first, struct node *list); struct node *merge_nodes(struct node *old_node, struct node *new_node); struct node *add_orphan_node(struct node *old_node, struct node *new_node, char *ref); diff --git a/scripts/dtc/livetree.c b/scripts/dtc/livetree.c index 57b7db2..81b6c48 100644 --- a/scripts/dtc/livetree.c +++ b/scripts/dtc/livetree.c @@ -134,6 +134,20 @@ struct node *name_node(struct node *node, char *name) return node; } +struct node *omit_node_if_unused(struct node *node) +{ + node->omit_if_unused = 1; + + return node; +} + +struct node *reference_node(struct node *node) +{ + node->is_referenced = 1; + + return node; +} + struct node *merge_nodes(struct node *old_node, struct node *new_node) { struct property *new_prop, *old_prop; -- cgit v1.1 From 1d6a0c9503f221df0e46564bfcf96a16095a0ca7 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Wed, 29 Jan 2020 14:45:33 -0300 Subject: doc: dm: debugging: Fix the steps for activating debug Following the recommendation of adding '#define DEBUG' at the top of drivers/core/lists.c does not cause the debug messages to be shown. Change it to '#define LOG_DEBUG' instead, which actually makes it work as per doc/README.log. While at it, provide the full path to lists.c to in order to make the instructions clearer. Signed-off-by: Fabio Estevam Reviewed-by: Simon Glass --- doc/driver-model/debugging.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/driver-model/debugging.rst b/doc/driver-model/debugging.rst index 4f4a8d4..c59bf67 100644 --- a/doc/driver-model/debugging.rst +++ b/doc/driver-model/debugging.rst @@ -58,5 +58,5 @@ If you are using of-platdata (e.g. CONFIG_SPL_OF_PLATDATA), check that the driver name is the same as the first compatible string in the device tree (with invalid-variable characters converted to underscore). -If you are really stuck, #define DEBUG at the top of lists.c should show you -what is going on. +If you are really stuck, putting '#define LOG_DEBUG' at the top of +drivers/core/lists.c should show you what is going on. -- cgit v1.1 From 4209be3eaec4484b56c8926ff694979cf1d08823 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:47 -0700 Subject: sandbox: Sort the help options At present options are presented in essentially random order. It is easier to browse them if they are sorted into alphabetical order. Adjust the help function to handle this. Signed-off-by: Simon Glass --- arch/sandbox/cpu/start.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 5b7d548..01adaeb 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -9,13 +9,45 @@ #include #include #include +#include #include #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; +/* Compare two options so that they can be sorted into alphabetical order */ +static int h_compare_opt(const void *p1, const void *p2) +{ + const struct sandbox_cmdline_option *opt1 = p1; + const struct sandbox_cmdline_option *opt2 = p2; + const char *str1, *str2; + char flag1[2], flag2[2]; + + opt1 = *(struct sandbox_cmdline_option **)p1; + opt2 = *(struct sandbox_cmdline_option **)p2; + flag1[1] = '\0'; + flag2[1] = '\0'; + + *flag1 = opt1->flag_short < 0x100 ? opt1->flag_short : '\0'; + *flag2 = opt2->flag_short < 0x100 ? opt2->flag_short : '\0'; + + str1 = *flag1 ? flag1 : opt1->flag; + str2 = *flag2 ? flag2 : opt2->flag; + + /* + * Force lower-case flags to come before upper-case ones. We only + * support upper-case for short flags. + */ + if (isalpha(*str1) && isalpha(*str2) && + tolower(*str1) == tolower(*str2)) + return isupper(*str1) - isupper(*str2); + + return strcasecmp(str1, str2); +} + int sandbox_early_getopt_check(void) { struct sandbox_state *state = state_get_current(); @@ -23,6 +55,8 @@ int sandbox_early_getopt_check(void) size_t num_options = __u_boot_sandbox_option_count(); size_t i; int max_arg_len, max_noarg_len; + struct sandbox_cmdline_option **sorted_opt; + int size; /* parse_err will be a string of the faulting option */ if (!state->parse_err) @@ -45,8 +79,18 @@ int sandbox_early_getopt_check(void) max_arg_len = max((int)strlen(sb_opt[i]->flag), max_arg_len); max_noarg_len = max_arg_len + 7; + /* Sort the options */ + size = sizeof(*sorted_opt) * num_options; + sorted_opt = malloc(size); + if (!sorted_opt) { + printf("No memory to sort options\n"); + os_exit(1); + } + memcpy(sorted_opt, sb_opt, size); + qsort(sorted_opt, num_options, sizeof(*sorted_opt), h_compare_opt); + for (i = 0; i < num_options; ++i) { - struct sandbox_cmdline_option *opt = sb_opt[i]; + struct sandbox_cmdline_option *opt = sorted_opt[i]; /* first output the short flag if it has one */ if (opt->flag_short >= 0x100) -- cgit v1.1 From 51973ccc412b23bf51533858003e3c7e0dd07ae9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:48 -0700 Subject: video: Support truetype fonts on a 32-bit display At present only a 16bpp display is supported for Truetype fonts. Add support for 32bpp also since this is quite common. Signed-off-by: Simon Glass Reviewed-by: Anatolij Gustschin --- drivers/video/console_truetype.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 3008660..0a725c5 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -287,6 +287,27 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, break; } #endif +#ifdef CONFIG_VIDEO_BPP32 + case VIDEO_BPP32: { + u32 *dst = (u32 *)line + xoff; + int i; + + for (i = 0; i < width; i++) { + int val = *bits; + int out; + + if (vid_priv->colour_bg) + val = 255 - val; + out = val | val << 8 | val << 16; + if (vid_priv->colour_fg) + *dst++ |= out; + else + *dst++ &= out; + bits++; + } + break; + } +#endif default: free(data); return -ENOSYS; -- cgit v1.1 From 3b85ce8ec32910b7576e816243cde7c6740fd68a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:49 -0700 Subject: video: sandbox: Enable all colour depths For sandbox we want to have the maximum possible build coverage, so enable all colour depths for video. Signed-off-by: Simon Glass Reviewed-by: Anatolij Gustschin --- configs/sandbox64_defconfig | 1 - configs/sandbox_defconfig | 1 - configs/sandbox_flattree_defconfig | 1 - configs/sandbox_spl_defconfig | 1 - drivers/video/Kconfig | 4 +++- 5 files changed, 3 insertions(+), 5 deletions(-) diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 7b80033..941b1fd 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -189,7 +189,6 @@ CONFIG_DM_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y CONFIG_DM_VIDEO=y -CONFIG_VIDEO_BPP16=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 790dcb0..7b02b8d 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -210,7 +210,6 @@ CONFIG_DM_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y CONFIG_DM_VIDEO=y -CONFIG_VIDEO_BPP16=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index 2c90639..0049da3 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -168,7 +168,6 @@ CONFIG_DM_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y CONFIG_DM_VIDEO=y -CONFIG_VIDEO_BPP16=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig index b78115a..f55692c 100644 --- a/configs/sandbox_spl_defconfig +++ b/configs/sandbox_spl_defconfig @@ -188,7 +188,6 @@ CONFIG_DM_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y CONFIG_DM_VIDEO=y -CONFIG_VIDEO_BPP16=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 50ab365..d7e62be 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -38,6 +38,7 @@ config BACKLIGHT_GPIO config VIDEO_BPP8 bool "Support 8-bit-per-pixel displays" depends on DM_VIDEO + default y if SANDBOX || X86 help Support drawing text and bitmaps onto a 8-bit-per-pixel display. Enabling this will include code to support this display. Without @@ -47,6 +48,7 @@ config VIDEO_BPP8 config VIDEO_BPP16 bool "Support 16-bit-per-pixel displays" depends on DM_VIDEO + default y if SANDBOX || X86 help Support drawing text and bitmaps onto a 16-bit-per-pixel display. Enabling this will include code to support this display. Without @@ -56,7 +58,7 @@ config VIDEO_BPP16 config VIDEO_BPP32 bool "Support 32-bit-per-pixel displays" depends on DM_VIDEO - default y if X86 + default y if SANDBOX || X86 help Support drawing text and bitmaps onto a 32-bit-per-pixel display. Enabling this will include code to support this display. Without -- cgit v1.1 From cc92c3cc68a9053f53b2814e9233d86553cc998e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:50 -0700 Subject: mailbox: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass --- drivers/mailbox/k3-sec-proxy.c | 2 +- drivers/mailbox/mailbox-uclass.c | 4 ++-- drivers/mailbox/sandbox-mbox.c | 2 +- drivers/mailbox/stm32-ipcc.c | 2 +- drivers/mailbox/tegra-hsp.c | 2 +- include/mailbox-uclass.h | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/mailbox/k3-sec-proxy.c b/drivers/mailbox/k3-sec-proxy.c index b07b56c..1194c6f 100644 --- a/drivers/mailbox/k3-sec-proxy.c +++ b/drivers/mailbox/k3-sec-proxy.c @@ -291,7 +291,7 @@ static int k3_sec_proxy_recv(struct mbox_chan *chan, void *data) struct mbox_ops k3_sec_proxy_mbox_ops = { .of_xlate = k3_sec_proxy_of_xlate, .request = k3_sec_proxy_request, - .free = k3_sec_proxy_free, + .rfree = k3_sec_proxy_free, .send = k3_sec_proxy_send, .recv = k3_sec_proxy_recv, }; diff --git a/drivers/mailbox/mailbox-uclass.c b/drivers/mailbox/mailbox-uclass.c index 5968c9b..a6d2d1f 100644 --- a/drivers/mailbox/mailbox-uclass.c +++ b/drivers/mailbox/mailbox-uclass.c @@ -105,8 +105,8 @@ int mbox_free(struct mbox_chan *chan) debug("%s(chan=%p)\n", __func__, chan); - if (ops->free) - return ops->free(chan); + if (ops->rfree) + return ops->rfree(chan); return 0; } diff --git a/drivers/mailbox/sandbox-mbox.c b/drivers/mailbox/sandbox-mbox.c index bc917b3..442ca63 100644 --- a/drivers/mailbox/sandbox-mbox.c +++ b/drivers/mailbox/sandbox-mbox.c @@ -87,7 +87,7 @@ static const struct udevice_id sandbox_mbox_ids[] = { struct mbox_ops sandbox_mbox_mbox_ops = { .request = sandbox_mbox_request, - .free = sandbox_mbox_free, + .rfree = sandbox_mbox_free, .send = sandbox_mbox_send, .recv = sandbox_mbox_recv, }; diff --git a/drivers/mailbox/stm32-ipcc.c b/drivers/mailbox/stm32-ipcc.c index c3df967..d4035a8 100644 --- a/drivers/mailbox/stm32-ipcc.c +++ b/drivers/mailbox/stm32-ipcc.c @@ -152,7 +152,7 @@ static const struct udevice_id stm32_ipcc_ids[] = { struct mbox_ops stm32_ipcc_mbox_ops = { .request = stm32_ipcc_request, - .free = stm32_ipcc_free, + .rfree = stm32_ipcc_free, .send = stm32_ipcc_send, .recv = stm32_ipcc_recv, }; diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c index 9bee886..c463e6a 100644 --- a/drivers/mailbox/tegra-hsp.c +++ b/drivers/mailbox/tegra-hsp.c @@ -175,7 +175,7 @@ static const struct udevice_id tegra_hsp_ids[] = { struct mbox_ops tegra_hsp_mbox_ops = { .of_xlate = tegra_hsp_of_xlate, .request = tegra_hsp_request, - .free = tegra_hsp_free, + .rfree = tegra_hsp_free, .send = tegra_hsp_send, .recv = tegra_hsp_recv, }; diff --git a/include/mailbox-uclass.h b/include/mailbox-uclass.h index e0618aa..3c60c76 100644 --- a/include/mailbox-uclass.h +++ b/include/mailbox-uclass.h @@ -49,14 +49,14 @@ struct mbox_ops { */ int (*request)(struct mbox_chan *chan); /** - * free - Free a previously requested channel. + * rfree - Free a previously requested channel. * * This is the implementation of the client mbox_free() API. * * @chan: The channel to free. * @return 0 if OK, or a negative error code. */ - int (*free)(struct mbox_chan *chan); + int (*rfree)(struct mbox_chan *chan); /** * send - Send a message over a mailbox channel * -- cgit v1.1 From 4f51188e47921b17e6b3ce9606c8e71234c9f2df Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:51 -0700 Subject: power-domain: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass Reviewed-by: Anatolij Gustschin --- drivers/power/domain/bcm6328-power-domain.c | 2 +- drivers/power/domain/imx8-power-domain-legacy.c | 2 +- drivers/power/domain/imx8-power-domain.c | 2 +- drivers/power/domain/imx8m-power-domain.c | 2 +- drivers/power/domain/meson-ee-pwrc.c | 2 +- drivers/power/domain/meson-gx-pwrc-vpu.c | 2 +- drivers/power/domain/mtk-power-domain.c | 2 +- drivers/power/domain/power-domain-uclass.c | 2 +- drivers/power/domain/sandbox-power-domain.c | 2 +- drivers/power/domain/tegra186-power-domain.c | 2 +- drivers/power/domain/ti-sci-power-domain.c | 2 +- include/power-domain-uclass.h | 4 ++-- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/power/domain/bcm6328-power-domain.c b/drivers/power/domain/bcm6328-power-domain.c index a90b2c8..425451e 100644 --- a/drivers/power/domain/bcm6328-power-domain.c +++ b/drivers/power/domain/bcm6328-power-domain.c @@ -62,7 +62,7 @@ static const struct udevice_id bcm6328_power_domain_ids[] = { }; struct power_domain_ops bcm6328_power_domain_ops = { - .free = bcm6328_power_domain_free, + .rfree = bcm6328_power_domain_free, .off = bcm6328_power_domain_off, .on = bcm6328_power_domain_on, .request = bcm6328_power_domain_request, diff --git a/drivers/power/domain/imx8-power-domain-legacy.c b/drivers/power/domain/imx8-power-domain-legacy.c index d51dbaa..74fcb05 100644 --- a/drivers/power/domain/imx8-power-domain-legacy.c +++ b/drivers/power/domain/imx8-power-domain-legacy.c @@ -296,7 +296,7 @@ static const struct udevice_id imx8_power_domain_ids[] = { struct power_domain_ops imx8_power_domain_ops = { .request = imx8_power_domain_request, - .free = imx8_power_domain_free, + .rfree = imx8_power_domain_free, .on = imx8_power_domain_on, .off = imx8_power_domain_off, .of_xlate = imx8_power_domain_of_xlate, diff --git a/drivers/power/domain/imx8-power-domain.c b/drivers/power/domain/imx8-power-domain.c index aa76836..8e328f0 100644 --- a/drivers/power/domain/imx8-power-domain.c +++ b/drivers/power/domain/imx8-power-domain.c @@ -73,7 +73,7 @@ static const struct udevice_id imx8_power_domain_ids[] = { struct power_domain_ops imx8_power_domain_ops_v2 = { .request = imx8_power_domain_request, - .free = imx8_power_domain_free, + .rfree = imx8_power_domain_free, .on = imx8_power_domain_on, .off = imx8_power_domain_off, }; diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c index 40ece9e..fbfd177 100644 --- a/drivers/power/domain/imx8m-power-domain.c +++ b/drivers/power/domain/imx8m-power-domain.c @@ -121,7 +121,7 @@ static const struct udevice_id imx8m_power_domain_ids[] = { struct power_domain_ops imx8m_power_domain_ops = { .request = imx8m_power_domain_request, - .free = imx8m_power_domain_free, + .rfree = imx8m_power_domain_free, .on = imx8m_power_domain_on, .off = imx8m_power_domain_off, .of_xlate = imx8m_power_domain_of_xlate, diff --git a/drivers/power/domain/meson-ee-pwrc.c b/drivers/power/domain/meson-ee-pwrc.c index 21d4c9d..7f5d13e 100644 --- a/drivers/power/domain/meson-ee-pwrc.c +++ b/drivers/power/domain/meson-ee-pwrc.c @@ -352,7 +352,7 @@ static int meson_ee_pwrc_of_xlate(struct power_domain *power_domain, } struct power_domain_ops meson_ee_pwrc_ops = { - .free = meson_ee_pwrc_free, + .rfree = meson_ee_pwrc_free, .off = meson_ee_pwrc_off, .on = meson_ee_pwrc_on, .request = meson_ee_pwrc_request, diff --git a/drivers/power/domain/meson-gx-pwrc-vpu.c b/drivers/power/domain/meson-gx-pwrc-vpu.c index f44e33b..bd69aea 100644 --- a/drivers/power/domain/meson-gx-pwrc-vpu.c +++ b/drivers/power/domain/meson-gx-pwrc-vpu.c @@ -269,7 +269,7 @@ static int meson_pwrc_vpu_of_xlate(struct power_domain *power_domain, } struct power_domain_ops meson_gx_pwrc_vpu_ops = { - .free = meson_pwrc_vpu_free, + .rfree = meson_pwrc_vpu_free, .off = meson_pwrc_vpu_off, .on = meson_pwrc_vpu_on, .request = meson_pwrc_vpu_request, diff --git a/drivers/power/domain/mtk-power-domain.c b/drivers/power/domain/mtk-power-domain.c index 0bf8a16..6ea4fe9 100644 --- a/drivers/power/domain/mtk-power-domain.c +++ b/drivers/power/domain/mtk-power-domain.c @@ -396,7 +396,7 @@ static const struct udevice_id mtk_power_domain_ids[] = { }; struct power_domain_ops mtk_power_domain_ops = { - .free = scpsys_power_free, + .rfree = scpsys_power_free, .off = scpsys_power_off, .on = scpsys_power_on, .request = scpsys_power_request, diff --git a/drivers/power/domain/power-domain-uclass.c b/drivers/power/domain/power-domain-uclass.c index 80df5af..be0a802 100644 --- a/drivers/power/domain/power-domain-uclass.c +++ b/drivers/power/domain/power-domain-uclass.c @@ -87,7 +87,7 @@ int power_domain_free(struct power_domain *power_domain) debug("%s(power_domain=%p)\n", __func__, power_domain); - return ops->free(power_domain); + return ops->rfree(power_domain); } int power_domain_on(struct power_domain *power_domain) diff --git a/drivers/power/domain/sandbox-power-domain.c b/drivers/power/domain/sandbox-power-domain.c index 74db2eb..a5ae235 100644 --- a/drivers/power/domain/sandbox-power-domain.c +++ b/drivers/power/domain/sandbox-power-domain.c @@ -75,7 +75,7 @@ static const struct udevice_id sandbox_power_domain_ids[] = { struct power_domain_ops sandbox_power_domain_ops = { .request = sandbox_power_domain_request, - .free = sandbox_power_domain_free, + .rfree = sandbox_power_domain_free, .on = sandbox_power_domain_on, .off = sandbox_power_domain_off, }; diff --git a/drivers/power/domain/tegra186-power-domain.c b/drivers/power/domain/tegra186-power-domain.c index f344558..d2a25ca 100644 --- a/drivers/power/domain/tegra186-power-domain.c +++ b/drivers/power/domain/tegra186-power-domain.c @@ -71,7 +71,7 @@ static int tegra186_power_domain_off(struct power_domain *power_domain) struct power_domain_ops tegra186_power_domain_ops = { .request = tegra186_power_domain_request, - .free = tegra186_power_domain_free, + .rfree = tegra186_power_domain_free, .on = tegra186_power_domain_on, .off = tegra186_power_domain_off, }; diff --git a/drivers/power/domain/ti-sci-power-domain.c b/drivers/power/domain/ti-sci-power-domain.c index 4c4351d..b59af2b 100644 --- a/drivers/power/domain/ti-sci-power-domain.c +++ b/drivers/power/domain/ti-sci-power-domain.c @@ -120,7 +120,7 @@ static const struct udevice_id ti_sci_power_domain_of_match[] = { static struct power_domain_ops ti_sci_power_domain_ops = { .request = ti_sci_power_domain_request, - .free = ti_sci_power_domain_free, + .rfree = ti_sci_power_domain_free, .on = ti_sci_power_domain_on, .off = ti_sci_power_domain_off, .of_xlate = ti_sci_power_domain_of_xlate, diff --git a/include/power-domain-uclass.h b/include/power-domain-uclass.h index bd9906b..acf749b 100644 --- a/include/power-domain-uclass.h +++ b/include/power-domain-uclass.h @@ -54,14 +54,14 @@ struct power_domain_ops { */ int (*request)(struct power_domain *power_domain); /** - * free - Free a previously requested power domain. + * rfree - Free a previously requested power domain. * * This is the implementation of the client power_domain_free() API. * * @power_domain: The power domain to free. * @return 0 if OK, or a negative error code. */ - int (*free)(struct power_domain *power_domain); + int (*rfree)(struct power_domain *power_domain); /** * on - Power on a power domain. * -- cgit v1.1 From 94474b25c3a60a746bf641a975c3db239dae29b9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:52 -0700 Subject: reset: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass --- drivers/reset/reset-bcm6345.c | 2 +- drivers/reset/reset-hisilicon.c | 2 +- drivers/reset/reset-hsdk.c | 2 +- drivers/reset/reset-imx7.c | 2 +- drivers/reset/reset-mediatek.c | 2 +- drivers/reset/reset-meson.c | 2 +- drivers/reset/reset-mtmips.c | 2 +- drivers/reset/reset-rockchip.c | 2 +- drivers/reset/reset-socfpga.c | 2 +- drivers/reset/reset-sunxi.c | 2 +- drivers/reset/reset-ti-sci.c | 2 +- drivers/reset/reset-uclass.c | 2 +- drivers/reset/reset-uniphier.c | 2 +- drivers/reset/sandbox-reset.c | 2 +- drivers/reset/sti-reset.c | 2 +- drivers/reset/stm32-reset.c | 2 +- drivers/reset/tegra-car-reset.c | 2 +- drivers/reset/tegra186-reset.c | 2 +- include/reset-uclass.h | 4 ++-- 19 files changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/reset/reset-bcm6345.c b/drivers/reset/reset-bcm6345.c index 753c110..bbaaea9 100644 --- a/drivers/reset/reset-bcm6345.c +++ b/drivers/reset/reset-bcm6345.c @@ -52,7 +52,7 @@ static int bcm6345_reset_request(struct reset_ctl *rst) } struct reset_ops bcm6345_reset_reset_ops = { - .free = bcm6345_reset_free, + .rfree = bcm6345_reset_free, .request = bcm6345_reset_request, .rst_assert = bcm6345_reset_assert, .rst_deassert = bcm6345_reset_deassert, diff --git a/drivers/reset/reset-hisilicon.c b/drivers/reset/reset-hisilicon.c index a9f052a..d449e3d 100644 --- a/drivers/reset/reset-hisilicon.c +++ b/drivers/reset/reset-hisilicon.c @@ -72,7 +72,7 @@ static int hisi_reset_of_xlate(struct reset_ctl *rst, static const struct reset_ops hisi_reset_reset_ops = { .of_xlate = hisi_reset_of_xlate, .request = hisi_reset_request, - .free = hisi_reset_free, + .rfree = hisi_reset_free, .rst_assert = hisi_reset_assert, .rst_deassert = hisi_reset_deassert, }; diff --git a/drivers/reset/reset-hsdk.c b/drivers/reset/reset-hsdk.c index 213d6c8..f9a432a 100644 --- a/drivers/reset/reset-hsdk.c +++ b/drivers/reset/reset-hsdk.c @@ -81,7 +81,7 @@ static int hsdk_reset_noop(struct reset_ctl *rst_ctl) static const struct reset_ops hsdk_reset_ops = { .request = hsdk_reset_noop, - .free = hsdk_reset_noop, + .rfree = hsdk_reset_noop, .rst_assert = hsdk_reset_noop, .rst_deassert = hsdk_reset_reset, }; diff --git a/drivers/reset/reset-imx7.c b/drivers/reset/reset-imx7.c index f2ca5cf..a2bad65 100644 --- a/drivers/reset/reset-imx7.c +++ b/drivers/reset/reset-imx7.c @@ -272,7 +272,7 @@ static int imx7_reset_request(struct reset_ctl *rst) static const struct reset_ops imx7_reset_reset_ops = { .request = imx7_reset_request, - .free = imx7_reset_free, + .rfree = imx7_reset_free, .rst_assert = imx7_reset_assert, .rst_deassert = imx7_reset_deassert, }; diff --git a/drivers/reset/reset-mediatek.c b/drivers/reset/reset-mediatek.c index e3614e6..cfbf2af 100644 --- a/drivers/reset/reset-mediatek.c +++ b/drivers/reset/reset-mediatek.c @@ -55,7 +55,7 @@ static int mediatek_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops mediatek_reset_ops = { .request = mediatek_reset_request, - .free = mediatek_reset_free, + .rfree = mediatek_reset_free, .rst_assert = mediatek_reset_assert, .rst_deassert = mediatek_reset_deassert, }; diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c index 31aa4d4..9026e03 100644 --- a/drivers/reset/reset-meson.c +++ b/drivers/reset/reset-meson.c @@ -62,7 +62,7 @@ static int meson_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops meson_reset_ops = { .request = meson_reset_request, - .free = meson_reset_free, + .rfree = meson_reset_free, .rst_assert = meson_reset_assert, .rst_deassert = meson_reset_deassert, }; diff --git a/drivers/reset/reset-mtmips.c b/drivers/reset/reset-mtmips.c index 5973456..71254a9 100644 --- a/drivers/reset/reset-mtmips.c +++ b/drivers/reset/reset-mtmips.c @@ -45,7 +45,7 @@ static int mtmips_reset_deassert(struct reset_ctl *reset_ctl) static const struct reset_ops mtmips_reset_ops = { .request = mtmips_reset_request, - .free = mtmips_reset_free, + .rfree = mtmips_reset_free, .rst_assert = mtmips_reset_assert, .rst_deassert = mtmips_reset_deassert, }; diff --git a/drivers/reset/reset-rockchip.c b/drivers/reset/reset-rockchip.c index 3871fc0..4fb9571 100644 --- a/drivers/reset/reset-rockchip.c +++ b/drivers/reset/reset-rockchip.c @@ -76,7 +76,7 @@ static int rockchip_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops rockchip_reset_ops = { .request = rockchip_reset_request, - .free = rockchip_reset_free, + .rfree = rockchip_reset_free, .rst_assert = rockchip_reset_assert, .rst_deassert = rockchip_reset_deassert, }; diff --git a/drivers/reset/reset-socfpga.c b/drivers/reset/reset-socfpga.c index 93ec9cf..98524eb 100644 --- a/drivers/reset/reset-socfpga.c +++ b/drivers/reset/reset-socfpga.c @@ -101,7 +101,7 @@ static int socfpga_reset_free(struct reset_ctl *reset_ctl) static const struct reset_ops socfpga_reset_ops = { .request = socfpga_reset_request, - .free = socfpga_reset_free, + .rfree = socfpga_reset_free, .rst_assert = socfpga_reset_assert, .rst_deassert = socfpga_reset_deassert, }; diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c index 364dc52..1c717b2 100644 --- a/drivers/reset/reset-sunxi.c +++ b/drivers/reset/reset-sunxi.c @@ -81,7 +81,7 @@ static int sunxi_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops sunxi_reset_ops = { .request = sunxi_reset_request, - .free = sunxi_reset_free, + .rfree = sunxi_reset_free, .rst_assert = sunxi_reset_assert, .rst_deassert = sunxi_reset_deassert, }; diff --git a/drivers/reset/reset-ti-sci.c b/drivers/reset/reset-ti-sci.c index c8a76df..7b6f736 100644 --- a/drivers/reset/reset-ti-sci.c +++ b/drivers/reset/reset-ti-sci.c @@ -190,7 +190,7 @@ static const struct udevice_id ti_sci_reset_of_match[] = { static struct reset_ops ti_sci_reset_ops = { .of_xlate = ti_sci_reset_of_xlate, .request = ti_sci_reset_request, - .free = ti_sci_reset_free, + .rfree = ti_sci_reset_free, .rst_assert = ti_sci_reset_assert, .rst_deassert = ti_sci_reset_deassert, .rst_status = ti_sci_reset_status, diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c index ee1a423..bf1cba4 100644 --- a/drivers/reset/reset-uclass.c +++ b/drivers/reset/reset-uclass.c @@ -164,7 +164,7 @@ int reset_free(struct reset_ctl *reset_ctl) debug("%s(reset_ctl=%p)\n", __func__, reset_ctl); - return ops->free(reset_ctl); + return ops->rfree(reset_ctl); } int reset_assert(struct reset_ctl *reset_ctl) diff --git a/drivers/reset/reset-uniphier.c b/drivers/reset/reset-uniphier.c index 39d684b..97f7b0e 100644 --- a/drivers/reset/reset-uniphier.c +++ b/drivers/reset/reset-uniphier.c @@ -234,7 +234,7 @@ static int uniphier_reset_deassert(struct reset_ctl *reset_ctl) static const struct reset_ops uniphier_reset_ops = { .request = uniphier_reset_request, - .free = uniphier_reset_free, + .rfree = uniphier_reset_free, .rst_assert = uniphier_reset_assert, .rst_deassert = uniphier_reset_deassert, }; diff --git a/drivers/reset/sandbox-reset.c b/drivers/reset/sandbox-reset.c index 40f2654..c03fce3 100644 --- a/drivers/reset/sandbox-reset.c +++ b/drivers/reset/sandbox-reset.c @@ -79,7 +79,7 @@ static const struct udevice_id sandbox_reset_ids[] = { struct reset_ops sandbox_reset_reset_ops = { .request = sandbox_reset_request, - .free = sandbox_reset_free, + .rfree = sandbox_reset_free, .rst_assert = sandbox_reset_assert, .rst_deassert = sandbox_reset_deassert, }; diff --git a/drivers/reset/sti-reset.c b/drivers/reset/sti-reset.c index d8cc485..614da9d 100644 --- a/drivers/reset/sti-reset.c +++ b/drivers/reset/sti-reset.c @@ -298,7 +298,7 @@ static int sti_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops sti_reset_ops = { .request = sti_reset_request, - .free = sti_reset_free, + .rfree = sti_reset_free, .rst_assert = sti_reset_assert, .rst_deassert = sti_reset_deassert, }; diff --git a/drivers/reset/stm32-reset.c b/drivers/reset/stm32-reset.c index 16d3dba..4d7745a 100644 --- a/drivers/reset/stm32-reset.c +++ b/drivers/reset/stm32-reset.c @@ -64,7 +64,7 @@ static int stm32_reset_deassert(struct reset_ctl *reset_ctl) static const struct reset_ops stm32_reset_ops = { .request = stm32_reset_request, - .free = stm32_reset_free, + .rfree = stm32_reset_free, .rst_assert = stm32_reset_assert, .rst_deassert = stm32_reset_deassert, }; diff --git a/drivers/reset/tegra-car-reset.c b/drivers/reset/tegra-car-reset.c index 2594782..886ea04 100644 --- a/drivers/reset/tegra-car-reset.c +++ b/drivers/reset/tegra-car-reset.c @@ -51,7 +51,7 @@ static int tegra_car_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops tegra_car_reset_ops = { .request = tegra_car_reset_request, - .free = tegra_car_reset_free, + .rfree = tegra_car_reset_free, .rst_assert = tegra_car_reset_assert, .rst_deassert = tegra_car_reset_deassert, }; diff --git a/drivers/reset/tegra186-reset.c b/drivers/reset/tegra186-reset.c index 9927c06..84ed77b 100644 --- a/drivers/reset/tegra186-reset.c +++ b/drivers/reset/tegra186-reset.c @@ -60,7 +60,7 @@ static int tegra186_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops tegra186_reset_ops = { .request = tegra186_reset_request, - .free = tegra186_reset_free, + .rfree = tegra186_reset_free, .rst_assert = tegra186_reset_assert, .rst_deassert = tegra186_reset_deassert, }; diff --git a/include/reset-uclass.h b/include/reset-uclass.h index 7b5cc3c..9a0696d 100644 --- a/include/reset-uclass.h +++ b/include/reset-uclass.h @@ -51,14 +51,14 @@ struct reset_ops { */ int (*request)(struct reset_ctl *reset_ctl); /** - * free - Free a previously requested reset control. + * rfree - Free a previously requested reset control. * * This is the implementation of the client reset_free() API. * * @reset_ctl: The reset control to free. * @return 0 if OK, or a negative error code. */ - int (*free)(struct reset_ctl *reset_ctl); + int (*rfree)(struct reset_ctl *reset_ctl); /** * rst_assert - Assert a reset signal. * -- cgit v1.1 From 093152f275e036e54d48b3d9fc0adbc1ca4cc5b0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 4 Feb 2020 20:15:17 -0700 Subject: gpio: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass --- drivers/gpio/gpio-rcar.c | 2 +- drivers/gpio/gpio-uclass.c | 8 ++++---- include/asm-generic/gpio.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c index 594e0a4..a8c5b7f 100644 --- a/drivers/gpio/gpio-rcar.c +++ b/drivers/gpio/gpio-rcar.c @@ -128,7 +128,7 @@ static int rcar_gpio_free(struct udevice *dev, unsigned offset) static const struct dm_gpio_ops rcar_gpio_ops = { .request = rcar_gpio_request, - .free = rcar_gpio_free, + .rfree = rcar_gpio_free, .direction_input = rcar_gpio_direction_input, .direction_output = rcar_gpio_direction_output, .get_value = rcar_gpio_get_value, diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c index 90fbed4..0a22441 100644 --- a/drivers/gpio/gpio-uclass.c +++ b/drivers/gpio/gpio-uclass.c @@ -364,8 +364,8 @@ int _dm_gpio_free(struct udevice *dev, uint offset) uc_priv = dev_get_uclass_priv(dev); if (!uc_priv->name[offset]) return -ENXIO; - if (gpio_get_ops(dev)->free) { - ret = gpio_get_ops(dev)->free(dev, offset); + if (gpio_get_ops(dev)->rfree) { + ret = gpio_get_ops(dev)->rfree(dev, offset); if (ret) return ret; } @@ -1043,8 +1043,8 @@ static int gpio_post_bind(struct udevice *dev) if (!reloc_done) { if (ops->request) ops->request += gd->reloc_off; - if (ops->free) - ops->free += gd->reloc_off; + if (ops->rfree) + ops->rfree += gd->reloc_off; if (ops->direction_input) ops->direction_input += gd->reloc_off; if (ops->direction_output) diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index d6cf187..05777e6 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h @@ -248,7 +248,7 @@ int gpio_xlate_offs_flags(struct udevice *dev, struct gpio_desc *desc, */ struct dm_gpio_ops { int (*request)(struct udevice *dev, unsigned offset, const char *label); - int (*free)(struct udevice *dev, unsigned offset); + int (*rfree)(struct udevice *dev, unsigned int offset); int (*direction_input)(struct udevice *dev, unsigned offset); int (*direction_output)(struct udevice *dev, unsigned offset, int value); -- cgit v1.1 From fb8c0d595f1ad83bee5dd398b59b0ee16d8d15a9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:54 -0700 Subject: clk: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass --- drivers/clk/clk-ti-sci.c | 2 +- drivers/clk/clk-uclass.c | 4 ++-- drivers/clk/clk_sandbox.c | 2 +- drivers/clk/tegra/tegra-car-clk.c | 2 +- include/clk-uclass.h | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/clk/clk-ti-sci.c b/drivers/clk/clk-ti-sci.c index ed1facb..8212435 100644 --- a/drivers/clk/clk-ti-sci.c +++ b/drivers/clk/clk-ti-sci.c @@ -203,7 +203,7 @@ static const struct udevice_id ti_sci_clk_of_match[] = { static struct clk_ops ti_sci_clk_ops = { .of_xlate = ti_sci_clk_of_xlate, .request = ti_sci_clk_request, - .free = ti_sci_clk_free, + .rfree = ti_sci_clk_free, .get_rate = ti_sci_clk_get_rate, .set_rate = ti_sci_clk_set_rate, .set_parent = ti_sci_clk_set_parent, diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index 0df38bd..49fa60e 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -423,10 +423,10 @@ int clk_free(struct clk *clk) return 0; ops = clk_dev_ops(clk->dev); - if (!ops->free) + if (!ops->rfree) return 0; - return ops->free(clk); + return ops->rfree(clk); } ulong clk_get_rate(struct clk *clk) diff --git a/drivers/clk/clk_sandbox.c b/drivers/clk/clk_sandbox.c index de6b2f7..cc084b0 100644 --- a/drivers/clk/clk_sandbox.c +++ b/drivers/clk/clk_sandbox.c @@ -107,7 +107,7 @@ static struct clk_ops sandbox_clk_ops = { .enable = sandbox_clk_enable, .disable = sandbox_clk_disable, .request = sandbox_clk_request, - .free = sandbox_clk_free, + .rfree = sandbox_clk_free, }; static int sandbox_clk_probe(struct udevice *dev) diff --git a/drivers/clk/tegra/tegra-car-clk.c b/drivers/clk/tegra/tegra-car-clk.c index 98be760..07e8734 100644 --- a/drivers/clk/tegra/tegra-car-clk.c +++ b/drivers/clk/tegra/tegra-car-clk.c @@ -80,7 +80,7 @@ static int tegra_car_clk_disable(struct clk *clk) static struct clk_ops tegra_car_clk_ops = { .request = tegra_car_clk_request, - .free = tegra_car_clk_free, + .rfree = tegra_car_clk_free, .get_rate = tegra_car_clk_get_rate, .set_rate = tegra_car_clk_set_rate, .enable = tegra_car_clk_enable, diff --git a/include/clk-uclass.h b/include/clk-uclass.h index e76d98e..dac42da 100644 --- a/include/clk-uclass.h +++ b/include/clk-uclass.h @@ -53,14 +53,14 @@ struct clk_ops { */ int (*request)(struct clk *clock); /** - * free - Free a previously requested clock. + * rfree - Free a previously requested clock. * * This is the implementation of the client clk_free() API. * * @clock: The clock to free. * @return 0 if OK, or a negative error code. */ - int (*free)(struct clk *clock); + int (*rfree)(struct clk *clock); /** * get_rate() - Get current clock rate. * -- cgit v1.1 From aae95882232a24ee49c89d0356febf3685a87c8a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:55 -0700 Subject: dma: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass --- drivers/dma/dma-uclass.c | 4 ++-- drivers/dma/sandbox-dma-test.c | 4 ++-- drivers/dma/ti/k3-udma.c | 4 ++-- include/dma-uclass.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c index 5598bca..a0159d7 100644 --- a/drivers/dma/dma-uclass.c +++ b/drivers/dma/dma-uclass.c @@ -122,10 +122,10 @@ int dma_free(struct dma *dma) debug("%s(dma=%p)\n", __func__, dma); - if (!ops->free) + if (!ops->rfree) return 0; - return ops->free(dma); + return ops->rfree(dma); } int dma_enable(struct dma *dma) diff --git a/drivers/dma/sandbox-dma-test.c b/drivers/dma/sandbox-dma-test.c index 8fcef18..d009bb2 100644 --- a/drivers/dma/sandbox-dma-test.c +++ b/drivers/dma/sandbox-dma-test.c @@ -88,7 +88,7 @@ static int sandbox_dma_request(struct dma *dma) return 0; } -static int sandbox_dma_free(struct dma *dma) +static int sandbox_dma_rfree(struct dma *dma) { struct sandbox_dma_dev *ud = dev_get_priv(dma->dev); struct sandbox_dma_chan *uc; @@ -229,7 +229,7 @@ static const struct dma_ops sandbox_dma_ops = { .transfer = sandbox_dma_transfer, .of_xlate = sandbox_dma_of_xlate, .request = sandbox_dma_request, - .free = sandbox_dma_free, + .rfree = sandbox_dma_rfree, .enable = sandbox_dma_enable, .disable = sandbox_dma_disable, .send = sandbox_dma_send, diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index 95f6b5a..5820c82 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -1551,7 +1551,7 @@ static int udma_request(struct dma *dma) return 0; } -static int udma_free(struct dma *dma) +static int udma_rfree(struct dma *dma) { struct udma_dev *ud = dev_get_priv(dma->dev); struct udma_chan *uc; @@ -1846,7 +1846,7 @@ static const struct dma_ops udma_ops = { .transfer = udma_transfer, .of_xlate = udma_of_xlate, .request = udma_request, - .free = udma_free, + .rfree = udma_rfree, .enable = udma_enable, .disable = udma_disable, .send = udma_send, diff --git a/include/dma-uclass.h b/include/dma-uclass.h index a1d9d26..340437a 100644 --- a/include/dma-uclass.h +++ b/include/dma-uclass.h @@ -58,14 +58,14 @@ struct dma_ops { */ int (*request)(struct dma *dma); /** - * free - Free a previously requested dma. + * rfree - Free a previously requested dma. * * This is the implementation of the client dma_free() API. * * @dma: The DMA to free. * @return 0 if OK, or a negative error code. */ - int (*free)(struct dma *dma); + int (*rfree)(struct dma *dma); /** * enable() - Enable a DMA Channel. * -- cgit v1.1 From 8d38a8459b0de45f5ff41f3e11c278a5cf395fd0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:56 -0700 Subject: mtd: Rename free() to rfree() This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree(). Signed-off-by: Simon Glass --- drivers/mtd/mtdcore.c | 4 ++-- drivers/mtd/nand/raw/denali.c | 2 +- drivers/mtd/nand/spi/core.c | 2 +- drivers/mtd/nand/spi/gigadevice.c | 2 +- drivers/mtd/nand/spi/macronix.c | 2 +- drivers/mtd/nand/spi/micron.c | 2 +- drivers/mtd/nand/spi/winbond.c | 2 +- include/linux/mtd/mtd.h | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index dd04d67..838c288 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -1179,10 +1179,10 @@ int mtd_ooblayout_free(struct mtd_info *mtd, int section, if (!mtd || section < 0) return -EINVAL; - if (!mtd->ooblayout || !mtd->ooblayout->free) + if (!mtd->ooblayout || !mtd->ooblayout->rfree) return -ENOTSUPP; - return mtd->ooblayout->free(mtd, section, oobfree); + return mtd->ooblayout->rfree(mtd, section, oobfree); } EXPORT_SYMBOL_GPL(mtd_ooblayout_free); diff --git a/drivers/mtd/nand/raw/denali.c b/drivers/mtd/nand/raw/denali.c index be1b362..b5a98f5 100644 --- a/drivers/mtd/nand/raw/denali.c +++ b/drivers/mtd/nand/raw/denali.c @@ -1156,7 +1156,7 @@ static int denali_ooblayout_free(struct mtd_info *mtd, int section, static const struct mtd_ooblayout_ops denali_ooblayout_ops = { .ecc = denali_ooblayout_ecc, - .free = denali_ooblayout_free, + .rfree = denali_ooblayout_free, }; static int denali_multidev_fixup(struct denali_nand_info *denali) diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index cb8ffa3..fba8cc0 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -1021,7 +1021,7 @@ static int spinand_noecc_ooblayout_free(struct mtd_info *mtd, int section, static const struct mtd_ooblayout_ops spinand_noecc_ooblayout = { .ecc = spinand_noecc_ooblayout_ecc, - .free = spinand_noecc_ooblayout_free, + .rfree = spinand_noecc_ooblayout_free, }; static int spinand_init(struct spinand_device *spinand) diff --git a/drivers/mtd/nand/spi/gigadevice.c b/drivers/mtd/nand/spi/gigadevice.c index 3681c5e..e329c3c 100644 --- a/drivers/mtd/nand/spi/gigadevice.c +++ b/drivers/mtd/nand/spi/gigadevice.c @@ -103,7 +103,7 @@ static int gd5fxgq4xexxg_ecc_get_status(struct spinand_device *spinand, static const struct mtd_ooblayout_ops gd5fxgq4xexxg_ooblayout = { .ecc = gd5fxgq4xexxg_ooblayout_ecc, - .free = gd5fxgq4xexxg_ooblayout_free, + .rfree = gd5fxgq4xexxg_ooblayout_free, }; static const struct spinand_info gigadevice_spinand_table[] = { diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c index 662c561..1119677 100644 --- a/drivers/mtd/nand/spi/macronix.c +++ b/drivers/mtd/nand/spi/macronix.c @@ -47,7 +47,7 @@ static int mx35lfxge4ab_ooblayout_free(struct mtd_info *mtd, int section, static const struct mtd_ooblayout_ops mx35lfxge4ab_ooblayout = { .ecc = mx35lfxge4ab_ooblayout_ecc, - .free = mx35lfxge4ab_ooblayout_free, + .rfree = mx35lfxge4ab_ooblayout_free, }; static int mx35lf1ge4ab_get_eccsr(struct spinand_device *spinand, u8 *eccsr) diff --git a/drivers/mtd/nand/spi/micron.c b/drivers/mtd/nand/spi/micron.c index 83951c5..9c24542 100644 --- a/drivers/mtd/nand/spi/micron.c +++ b/drivers/mtd/nand/spi/micron.c @@ -63,7 +63,7 @@ static int mt29f2g01abagd_ooblayout_free(struct mtd_info *mtd, int section, static const struct mtd_ooblayout_ops mt29f2g01abagd_ooblayout = { .ecc = mt29f2g01abagd_ooblayout_ecc, - .free = mt29f2g01abagd_ooblayout_free, + .rfree = mt29f2g01abagd_ooblayout_free, }; static int mt29f2g01abagd_ecc_get_status(struct spinand_device *spinand, diff --git a/drivers/mtd/nand/spi/winbond.c b/drivers/mtd/nand/spi/winbond.c index 6ba8bc5..de9352e 100644 --- a/drivers/mtd/nand/spi/winbond.c +++ b/drivers/mtd/nand/spi/winbond.c @@ -59,7 +59,7 @@ static int w25m02gv_ooblayout_free(struct mtd_info *mtd, int section, static const struct mtd_ooblayout_ops w25m02gv_ooblayout = { .ecc = w25m02gv_ooblayout_ecc, - .free = w25m02gv_ooblayout_free, + .rfree = w25m02gv_ooblayout_free, }; static int w25m02gv_select_target(struct spinand_device *spinand, diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index ceffd99..1b91517 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -129,8 +129,8 @@ struct mtd_oob_region { struct mtd_ooblayout_ops { int (*ecc)(struct mtd_info *mtd, int section, struct mtd_oob_region *oobecc); - int (*free)(struct mtd_info *mtd, int section, - struct mtd_oob_region *oobfree); + int (*rfree)(struct mtd_info *mtd, int section, + struct mtd_oob_region *oobfree); }; /* -- cgit v1.1 From cf23c7c1dd11ca8f47bb7146c72729efc81eafd0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:57 -0700 Subject: sandbox: Rename 'free' variable This name conflicts with our desire to #define free() to something else on sandbox. Rename it. Signed-off-by: Simon Glass --- arch/sandbox/cpu/state.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/sandbox/cpu/state.c b/arch/sandbox/cpu/state.c index cd46e00..ef2e63f 100644 --- a/arch/sandbox/cpu/state.c +++ b/arch/sandbox/cpu/state.c @@ -16,14 +16,14 @@ static struct sandbox_state *state; /* Pointer to current state record */ static int state_ensure_space(int extra_size) { void *blob = state->state_fdt; - int used, size, free; + int used, size, free_bytes; void *buf; int ret; used = fdt_off_dt_strings(blob) + fdt_size_dt_strings(blob); size = fdt_totalsize(blob); - free = size - used; - if (free > extra_size) + free_bytes = size - used; + if (free_bytes > extra_size) return 0; size = used + extra_size; -- cgit v1.1 From cfda60f99ae237494e9341aad9676152d3bac3c9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:58 -0700 Subject: sandbox: Use a prefix for all allocation functions In order to allow use of both U-Boot's malloc() and the C library's version, set a prefix for the allocation functions so that they can co-exist. This is only done for sandbox. For other archs everything remains the same. Signed-off-by: Simon Glass --- include/malloc.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/include/malloc.h b/include/malloc.h index 5efa692..f66c2e8 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -788,8 +788,13 @@ struct mallinfo { */ -/* #define USE_DL_PREFIX */ - +/* + * Rename the U-Boot alloc functions so that sandbox can still use the system + * ones + */ +#ifdef CONFIG_SANDBOX +#define USE_DL_PREFIX +#endif /* @@ -892,6 +897,21 @@ void malloc_simple_info(void); # define pvALLOc dlpvalloc # define mALLINFo dlmallinfo # define mALLOPt dlmallopt + +/* Ensure that U-Boot actually uses these too */ +#define calloc dlcalloc +#define free(ptr) dlfree(ptr) +#define malloc(x) dlmalloc(x) +#define memalign dlmemalign +#define realloc dlrealloc +#define valloc dlvalloc +#define pvalloc dlpvalloc +#define mallinfo() dlmallinfo() +#define mallopt dlmallopt +#define malloc_trim dlmalloc_trim +#define malloc_usable_size dlmalloc_usable_size +#define malloc_stats dlmalloc_stats + # else /* USE_DL_PREFIX */ # define cALLOc calloc # define fREe free -- cgit v1.1 From 1f6510c4cf92b6056c333c9e0316c5bdbe061f1a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:35:59 -0700 Subject: exports: Add the malloc.h header This file should include the malloc.h header since it references malloc(). Fix it. Signed-off-by: Simon Glass --- common/exports.c | 1 + 1 file changed, 1 insertion(+) diff --git a/common/exports.c b/common/exports.c index b4f1f7a..18af38a 100644 --- a/common/exports.c +++ b/common/exports.c @@ -1,5 +1,6 @@ #include #include +#include #include #include -- cgit v1.1 From 1ea1c7d80f9dd7a4827cddf25fba71d0034510e4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:00 -0700 Subject: string: Allow arch override of strndup() also At present architectures can override strdup() but not strndup(). Use the same option for both. Signed-off-by: Simon Glass --- include/linux/string.h | 2 +- lib/string.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/string.h b/include/linux/string.h index 5d63be4..bb1d5ab 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -93,8 +93,8 @@ size_t strcspn(const char *s, const char *reject); #ifndef __HAVE_ARCH_STRDUP extern char * strdup(const char *); -#endif extern char * strndup(const char *, size_t); +#endif #ifndef __HAVE_ARCH_STRSWAB extern char * strswab(const char *); #endif diff --git a/lib/string.c b/lib/string.c index 9b779dd..ae7835f 100644 --- a/lib/string.c +++ b/lib/string.c @@ -324,7 +324,6 @@ char * strdup(const char *s) strcpy (new, s); return new; } -#endif char * strndup(const char *s, size_t n) { @@ -348,6 +347,7 @@ char * strndup(const char *s, size_t n) return new; } +#endif #ifndef __HAVE_ARCH_STRSPN /** -- cgit v1.1 From f72bdc60b230f5e5d77eaad0b2defe07a46c02a9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:01 -0700 Subject: sandbox: Rename strdup() functions These functions include calls to a memory-allocation routine and so need to use the system routine when called from a library. To preserve access to these functions for libraries that need it, such as SDL, rename these functions within U-Boot. Signed-off-by: Simon Glass --- include/linux/string.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/string.h b/include/linux/string.h index bb1d5ab..d67998e 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -91,6 +91,11 @@ extern __kernel_size_t strnlen(const char *,__kernel_size_t); size_t strcspn(const char *s, const char *reject); #endif +#ifdef CONFIG_SANDBOX +# define strdup sandbox_strdup +# define strndup sandbox_strndup +#endif + #ifndef __HAVE_ARCH_STRDUP extern char * strdup(const char *); extern char * strndup(const char *, size_t); -- cgit v1.1 From 0db1b4305ad5ba8ef9c41d2f07697c77a04787e2 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:02 -0700 Subject: sandbox: Drop use of special os_malloc() where possible Some sandbox files are not built with U-Boot headers, so with the renamed malloc functions there is now no need to use the special os_... allocation functions to access the system routines. Instead we can just call them directly. Update the affected files accordingly. Signed-off-by: Simon Glass --- arch/sandbox/cpu/eth-raw-os.c | 6 +++--- arch/sandbox/cpu/os.c | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/arch/sandbox/cpu/eth-raw-os.c b/arch/sandbox/cpu/eth-raw-os.c index 8d05bc2..da01d1a 100644 --- a/arch/sandbox/cpu/eth-raw-os.c +++ b/arch/sandbox/cpu/eth-raw-os.c @@ -74,7 +74,7 @@ static int _raw_packet_start(struct eth_sandbox_raw_priv *priv, /* Prepare device struct */ priv->local_bind_sd = -1; - priv->device = os_malloc(sizeof(struct sockaddr_ll)); + priv->device = malloc(sizeof(struct sockaddr_ll)); if (priv->device == NULL) return -ENOMEM; device = priv->device; @@ -147,7 +147,7 @@ static int _local_inet_start(struct eth_sandbox_raw_priv *priv) /* Prepare device struct */ priv->local_bind_sd = -1; priv->local_bind_udp_port = 0; - priv->device = os_malloc(sizeof(struct sockaddr_in)); + priv->device = malloc(sizeof(struct sockaddr_in)); if (priv->device == NULL) return -ENOMEM; device = priv->device; @@ -282,7 +282,7 @@ int sandbox_eth_raw_os_recv(void *packet, int *length, void sandbox_eth_raw_os_stop(struct eth_sandbox_raw_priv *priv) { - os_free(priv->device); + free(priv->device); priv->device = NULL; close(priv->sd); priv->sd = -1; diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index 79094fb..d5e5b56 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -137,7 +137,7 @@ int os_read_file(const char *fname, void **bufp, int *sizep) printf("Cannot seek to start of file '%s'\n", fname); goto err; } - *bufp = os_malloc(size); + *bufp = malloc(size); if (!*bufp) { printf("Not enough memory to read file '%s'\n", fname); ret = -ENOMEM; @@ -306,8 +306,8 @@ int os_parse_args(struct sandbox_state *state, int argc, char *argv[]) state->argv = argv; /* dynamically construct the arguments to the system getopt_long */ - short_opts = os_malloc(sizeof(*short_opts) * num_options * 2 + 1); - long_opts = os_malloc(sizeof(*long_opts) * num_options); + short_opts = malloc(sizeof(*short_opts) * num_options * 2 + 1); + long_opts = malloc(sizeof(*long_opts) * num_options); if (!short_opts || !long_opts) return 1; @@ -385,7 +385,7 @@ void os_dirent_free(struct os_dirent_node *node) while (node) { next = node->next; - os_free(node); + free(node); node = next; } } @@ -410,7 +410,7 @@ int os_dirent_ls(const char *dirname, struct os_dirent_node **headp) /* Create a buffer upfront, with typically sufficient size */ dirlen = strlen(dirname) + 2; len = dirlen + 256; - fname = os_malloc(len); + fname = malloc(len); if (!fname) { ret = -ENOMEM; goto done; @@ -423,7 +423,7 @@ int os_dirent_ls(const char *dirname, struct os_dirent_node **headp) ret = errno; break; } - next = os_malloc(sizeof(*node) + strlen(entry->d_name) + 1); + next = malloc(sizeof(*node) + strlen(entry->d_name) + 1); if (!next) { os_dirent_free(head); ret = -ENOMEM; @@ -432,10 +432,10 @@ int os_dirent_ls(const char *dirname, struct os_dirent_node **headp) if (dirlen + strlen(entry->d_name) > len) { len = dirlen + strlen(entry->d_name); old_fname = fname; - fname = os_realloc(fname, len); + fname = realloc(fname, len); if (!fname) { - os_free(old_fname); - os_free(next); + free(old_fname); + free(next); os_dirent_free(head); ret = -ENOMEM; goto done; @@ -469,7 +469,7 @@ int os_dirent_ls(const char *dirname, struct os_dirent_node **headp) done: closedir(dir); - os_free(fname); + free(fname); return ret; } @@ -586,7 +586,7 @@ static int add_args(char ***argvp, char *add_args[], int count) for (argc = 0; (*argvp)[argc]; argc++) ; - argv = os_malloc((argc + count + 1) * sizeof(char *)); + argv = malloc((argc + count + 1) * sizeof(char *)); if (!argv) { printf("Out of memory for %d argv\n", count); return -ENOMEM; @@ -669,7 +669,7 @@ static int os_jump_to_file(const char *fname) os_exit(2); err = execv(fname, argv); - os_free(argv); + free(argv); if (err) { perror("Unable to run image"); printf("Image filename '%s'\n", fname); -- cgit v1.1 From 89cdb0b583b9bd98e9d73b1a56d097ed494c3046 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:03 -0700 Subject: sandbox: Drop os_realloc() Due to recent changes this function is no-longer used. Drop it. Signed-off-by: Simon Glass --- arch/sandbox/cpu/os.c | 23 ----------------------- include/os.h | 22 +--------------------- 2 files changed, 1 insertion(+), 44 deletions(-) diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index d5e5b56..60011f7 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -238,29 +238,6 @@ void os_free(void *ptr) } } -void *os_realloc(void *ptr, size_t length) -{ - int page_size = getpagesize(); - struct os_mem_hdr *hdr; - void *buf = NULL; - - if (length) { - buf = os_malloc(length); - if (!buf) - return buf; - if (ptr) { - hdr = ptr - page_size; - if (length > hdr->length) - length = hdr->length; - memcpy(buf, ptr, length); - } - } - if (ptr) - os_free(ptr); - - return buf; -} - void os_usleep(unsigned long usec) { usleep(usec); diff --git a/include/os.h b/include/os.h index 7a4f78b..1874ae6 100644 --- a/include/os.h +++ b/include/os.h @@ -119,7 +119,7 @@ void os_fd_restore(void); void *os_malloc(size_t length); /** - * Free memory previous allocated with os_malloc()/os_realloc() + * Free memory previous allocated with os_malloc() * * This returns the memory to the OS. * @@ -128,26 +128,6 @@ void *os_malloc(size_t length); void os_free(void *ptr); /** - * Reallocate previously-allocated memory to increase/decrease space - * - * This works in a similar way to the C library realloc() function. If - * length is 0, then ptr is freed. Otherwise the space used by ptr is - * expanded or reduced depending on whether length is larger or smaller - * than before. - * - * If ptr is NULL, then this is similar to calling os_malloc(). - * - * This function may need to move the memory block to make room for any - * extra space, in which case the new pointer is returned. - * - * \param ptr Pointer to memory block to reallocate - * \param length New length for memory block - * \return pointer to new memory block, or NULL on failure or if length - * is 0. - */ -void *os_realloc(void *ptr, size_t length); - -/** * Access to the usleep function of the os * * \param usec Time to sleep in micro seconds -- cgit v1.1 From 1c8c47ec802af33acf02acb6c7b09e317c850711 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:04 -0700 Subject: sandbox: Ensure that long-options array is terminated The last member of this array is supposed to be all zeroes according to the getopt_long() man page. Fix the function to do this. Signed-off-by: Simon Glass --- arch/sandbox/cpu/os.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index 60011f7..f7c73e3 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -284,7 +284,7 @@ int os_parse_args(struct sandbox_state *state, int argc, char *argv[]) /* dynamically construct the arguments to the system getopt_long */ short_opts = malloc(sizeof(*short_opts) * num_options * 2 + 1); - long_opts = malloc(sizeof(*long_opts) * num_options); + long_opts = malloc(sizeof(*long_opts) * (num_options + 1)); if (!short_opts || !long_opts) return 1; @@ -314,6 +314,7 @@ int os_parse_args(struct sandbox_state *state, int argc, char *argv[]) /* we need to handle output ourselves since u-boot provides printf */ opterr = 0; + memset(&long_opts[num_options], '\0', sizeof(*long_opts)); /* * walk all of the options the user gave us on the command line, * figure out what u-boot option structure they belong to (via -- cgit v1.1 From 3ff6fe5fab11a99d4b3ec94a8a4a238d6f96f5ba Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:05 -0700 Subject: sandbox: Add a new header for the system malloc() Some files use U-Boot headers but still need to access the system malloc(). Allow this by creating a new asm/malloc.h which can be used so long as U-Boot's malloc.h has not been included. Signed-off-by: Simon Glass --- arch/sandbox/cpu/start.c | 6 +++--- arch/sandbox/cpu/state.c | 17 +++++++++-------- arch/sandbox/include/asm/malloc.h | 26 ++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 arch/sandbox/include/asm/malloc.h diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 01adaeb..4760731 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -8,10 +8,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -181,7 +181,7 @@ static int sandbox_cmdline_cb_default_fdt(struct sandbox_state *state, int len; len = strlen(state->argv[0]) + strlen(fmt) + 1; - fname = os_malloc(len); + fname = malloc(len); if (!fname) return -ENOMEM; snprintf(fname, len, fmt, state->argv[0]); @@ -201,7 +201,7 @@ static int sandbox_cmdline_cb_test_fdt(struct sandbox_state *state, int len; len = strlen(state->argv[0]) + strlen(fmt) + 1; - fname = os_malloc(len); + fname = malloc(len); if (!fname) return -ENOMEM; strcpy(fname, state->argv[0]); diff --git a/arch/sandbox/cpu/state.c b/arch/sandbox/cpu/state.c index ef2e63f..a347cec 100644 --- a/arch/sandbox/cpu/state.c +++ b/arch/sandbox/cpu/state.c @@ -7,6 +7,7 @@ #include #include #include +#include #include /* Main state record for the sandbox */ @@ -27,17 +28,17 @@ static int state_ensure_space(int extra_size) return 0; size = used + extra_size; - buf = os_malloc(size); + buf = malloc(size); if (!buf) return -ENOMEM; ret = fdt_open_into(blob, buf, size); if (ret) { - os_free(buf); + free(buf); return -EIO; } - os_free(blob); + free(blob); state->state_fdt = buf; return 0; } @@ -53,7 +54,7 @@ static int state_read_file(struct sandbox_state *state, const char *fname) printf("Cannot find sandbox state file '%s'\n", fname); return -ENOENT; } - state->state_fdt = os_malloc(size); + state->state_fdt = malloc(size); if (!state->state_fdt) { puts("No memory to read sandbox state\n"); return -ENOMEM; @@ -75,7 +76,7 @@ static int state_read_file(struct sandbox_state *state, const char *fname) err_read: os_close(fd); err_open: - os_free(state->state_fdt); + free(state->state_fdt); state->state_fdt = NULL; return ret; @@ -242,7 +243,7 @@ int sandbox_write_state(struct sandbox_state *state, const char *fname) /* Create a state FDT if we don't have one */ if (!state->state_fdt) { size = 0x4000; - state->state_fdt = os_malloc(size); + state->state_fdt = malloc(size); if (!state->state_fdt) { puts("No memory to create FDT\n"); return -ENOMEM; @@ -300,7 +301,7 @@ int sandbox_write_state(struct sandbox_state *state, const char *fname) err_write: os_close(fd); err_create: - os_free(state->state_fdt); + free(state->state_fdt); return ret; } @@ -418,7 +419,7 @@ int state_uninit(void) os_unlink(state->jumped_fname); if (state->state_fdt) - os_free(state->state_fdt); + free(state->state_fdt); memset(state, '\0', sizeof(*state)); return 0; diff --git a/arch/sandbox/include/asm/malloc.h b/arch/sandbox/include/asm/malloc.h new file mode 100644 index 0000000..a1467b5 --- /dev/null +++ b/arch/sandbox/include/asm/malloc.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Sandbox access to system malloc (i.e. not U-Boot's) + * + * Copyright 2020 Google LLC + */ + +#ifndef __ASM_MALLOC_H + +void *malloc(size_t size); +void free(void *ptr); +void *calloc(size_t nmemb, size_t size); +void *realloc(void *ptr, size_t size); +void *reallocarray(void *ptr, size_t nmemb, size_t size); + +/* + * This header allows calling the system allocation routines. It makes no + * sense to also include U-Boot's malloc.h since that redfines malloc to + * have a 'dl' prefix. These two implementations cannot be mixed and matched + * in the same file. + */ +#ifdef __MALLOC_H__ +#error "This sandbox header file cannot be included with malloc.h" +#endif + +#endif -- cgit v1.1 From 3062cd17af35b691582230c382dd125625d3b7ca Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:06 -0700 Subject: sound: Add a new stop_play() method At present there is no positive indication that U-Boot has finished sending sound data. This means that it is not possible to power down an audio codec, for example. Add a new method that is called once all sound data has been sent. Add a new method for this, called when the sound_play() call is done. Signed-off-by: Simon Glass --- arch/sandbox/include/asm/test.h | 7 +++++++ drivers/sound/sandbox.c | 21 ++++++++++++++++++++- drivers/sound/sound-uclass.c | 11 +++++++++++ include/sound.h | 12 ++++++++++++ test/dm/sound.c | 1 + 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/include/asm/test.h b/arch/sandbox/include/asm/test.h index 2421922..92ff494 100644 --- a/arch/sandbox/include/asm/test.h +++ b/arch/sandbox/include/asm/test.h @@ -166,6 +166,13 @@ int sandbox_get_i2s_sum(struct udevice *dev); int sandbox_get_setup_called(struct udevice *dev); /** + * sandbox_get_sound_active() - Returns whether sound play is in progress + * + * @return true if active, false if not + */ +int sandbox_get_sound_active(struct udevice *dev); + +/** * sandbox_get_sound_sum() - Read back the sum of the sound data so far * * This data is provided to the sandbox driver by the sound play() method. diff --git a/drivers/sound/sandbox.c b/drivers/sound/sandbox.c index 363c687..9034a83 100644 --- a/drivers/sound/sandbox.c +++ b/drivers/sound/sandbox.c @@ -26,7 +26,8 @@ struct sandbox_i2s_priv { }; struct sandbox_sound_priv { - int setup_called; + int setup_called; /* Incremented when setup() method is called */ + bool active; /* TX data is being sent */ int sum; /* Use to sum the provided audio data */ bool allow_beep; /* true to allow the start_beep() interface */ int frequency_hz; /* Beep frequency if active, else 0 */ @@ -59,6 +60,13 @@ int sandbox_get_setup_called(struct udevice *dev) return priv->setup_called; } +int sandbox_get_sound_active(struct udevice *dev) +{ + struct sandbox_sound_priv *priv = dev_get_priv(dev); + + return priv->active; +} + int sandbox_get_sound_sum(struct udevice *dev) { struct sandbox_sound_priv *priv = dev_get_priv(dev); @@ -163,6 +171,16 @@ static int sandbox_sound_play(struct udevice *dev, void *data, uint data_size) return i2s_tx_data(uc_priv->i2s, data, data_size); } +static int sandbox_sound_stop_play(struct udevice *dev) +{ + struct sandbox_sound_priv *priv = dev_get_priv(dev); + + sandbox_sdl_sound_stop(); + priv->active = false; + + return 0; +} + int sandbox_sound_start_beep(struct udevice *dev, int frequency_hz) { struct sandbox_sound_priv *priv = dev_get_priv(dev); @@ -228,6 +246,7 @@ U_BOOT_DRIVER(sandbox_i2s) = { static const struct sound_ops sandbox_sound_ops = { .setup = sandbox_sound_setup, .play = sandbox_sound_play, + .stop_play = sandbox_sound_stop_play, .start_beep = sandbox_sound_start_beep, .stop_beep = sandbox_sound_stop_beep, }; diff --git a/drivers/sound/sound-uclass.c b/drivers/sound/sound-uclass.c index d49f29b..c213472 100644 --- a/drivers/sound/sound-uclass.c +++ b/drivers/sound/sound-uclass.c @@ -31,6 +31,16 @@ int sound_play(struct udevice *dev, void *data, uint data_size) return ops->play(dev, data, data_size); } +int sound_stop_play(struct udevice *dev) +{ + struct sound_ops *ops = sound_get_ops(dev); + + if (!ops->play) + return -ENOSYS; + + return ops->stop_play(dev); +} + int sound_start_beep(struct udevice *dev, int frequency_hz) { struct sound_ops *ops = sound_get_ops(dev); @@ -97,6 +107,7 @@ int sound_beep(struct udevice *dev, int msecs, int frequency_hz) ret = sound_play(dev, data, size); } + sound_stop_play(dev); free(data); diff --git a/include/sound.h b/include/sound.h index 47de9fa..71bd850 100644 --- a/include/sound.h +++ b/include/sound.h @@ -69,6 +69,18 @@ struct sound_ops { int (*play)(struct udevice *dev, void *data, uint data_size); /** + * stop_play() - Indicate that there is no more data coming + * + * This is called once play() has finished sending all the data to the + * output device. This may be used to tell the hardware to turn off the + * codec, for example. + * + * @dev: Sound device + * @return 0 if OK, -ve on error + */ + int (*stop_play)(struct udevice *dev); + + /** * start_beep() - Start beeping (optional) * * This tells the sound hardware to start a beep. It will continue until diff --git a/test/dm/sound.c b/test/dm/sound.c index 3767abb..aa5368f 100644 --- a/test/dm/sound.c +++ b/test/dm/sound.c @@ -28,6 +28,7 @@ static int dm_test_sound(struct unit_test_state *uts) ut_asserteq(4560, sandbox_get_sound_sum(dev)); ut_assertok(sound_beep(dev, 1, 100)); ut_asserteq(9120, sandbox_get_sound_sum(dev)); + ut_asserteq(false, sandbox_get_sound_active(dev)); return 0; } -- cgit v1.1 From 02662480a88413eade86e271671108edecafd01d Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:07 -0700 Subject: sandbox: sound: Handle errors better in sound_beep() At present an error does not stop the sound-output loop. This is incorrect since nothing can be gained by trying to continue. Fix it. Signed-off-by: Simon Glass --- drivers/sound/sound-uclass.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/sound/sound-uclass.c b/drivers/sound/sound-uclass.c index c213472..bada0c2 100644 --- a/drivers/sound/sound-uclass.c +++ b/drivers/sound/sound-uclass.c @@ -97,11 +97,14 @@ int sound_beep(struct udevice *dev, int msecs, int frequency_hz) sound_create_square_wave(i2s_uc_priv->samplingrate, data, data_size, frequency_hz, i2s_uc_priv->channels); + ret = 0; while (msecs >= 1000) { ret = sound_play(dev, data, data_size); + if (ret) + break; msecs -= 1000; } - if (msecs) { + if (!ret && msecs) { unsigned long size = (data_size * msecs) / (sizeof(int) * 1000); -- cgit v1.1 From c127f191a8dbfddc480a425bbca14730dfc4d441 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:08 -0700 Subject: sandbox: Add comments to the sdl struct Add comments for each struct member. Drop frequency since it is not used. Signed-off-by: Simon Glass --- arch/sandbox/cpu/sdl.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c index 080c7c8..dad059f 100644 --- a/arch/sandbox/cpu/sdl.c +++ b/arch/sandbox/cpu/sdl.c @@ -24,13 +24,28 @@ struct buf_info { uint8_t *data; }; +/** + * struct sdl_info - Information about our use of the SDL library + * + * @screen: Surface used to draw on the screen + * @width: Width of simulated LCD display + * @height: Height of simulated LCD display + * @depth: Depth of the display in bits per pixel (16 or 32) + * @pitch: Number of bytes per line of the display + * @sample_rate: Current sample rate for audio + * @audio_active: true if audio can be used + * @inited: true if this module is initialised + * @cur_buf: Current audio buffer being used by sandbox_sdl_fill_audio (0 or 1) + * @buf: The two available audio buffers. SDL can be reading from one while we + * are setting up the next + * @running: true if audio is running + */ static struct sdl_info { SDL_Surface *screen; int width; int height; int depth; int pitch; - uint frequency; uint sample_rate; bool audio_active; bool inited; -- cgit v1.1 From 5f736f8eca06c8c5e4f18750355ff01338141ae5 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:09 -0700 Subject: sandbox: sdl: Improve error handling A few errors are not checked. Fix these and use my preferred spelling for init. Signed-off-by: Simon Glass --- arch/sandbox/cpu/sdl.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c index dad059f..ee62da2 100644 --- a/arch/sandbox/cpu/sdl.c +++ b/arch/sandbox/cpu/sdl.c @@ -77,7 +77,7 @@ static int sandbox_sdl_ensure_init(void) { if (!sdl.inited) { if (SDL_Init(0) < 0) { - printf("Unable to initialize SDL: %s\n", + printf("Unable to initialise SDL: %s\n", SDL_GetError()); return -EIO; } @@ -100,7 +100,7 @@ int sandbox_sdl_init_display(int width, int height, int log2_bpp) if (err) return err; if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) { - printf("Unable to initialize SDL LCD: %s\n", SDL_GetError()); + printf("Unable to initialise SDL LCD: %s\n", SDL_GetError()); return -EPERM; } SDL_WM_SetCaption("U-Boot", "U-Boot"); @@ -298,7 +298,7 @@ void sandbox_sdl_fill_audio(void *udata, Uint8 *stream, int len) int sandbox_sdl_sound_init(int rate, int channels) { - SDL_AudioSpec wanted; + SDL_AudioSpec wanted, have; int i; if (sandbox_sdl_ensure_init()) @@ -331,15 +331,19 @@ int sandbox_sdl_sound_init(int rate, int channels) } if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) { - printf("Unable to initialize SDL audio: %s\n", SDL_GetError()); + printf("Unable to initialise SDL audio: %s\n", SDL_GetError()); goto err; } /* Open the audio device, forcing the desired format */ - if (SDL_OpenAudio(&wanted, NULL) < 0) { + if (SDL_OpenAudio(&wanted, &have) < 0) { printf("Couldn't open audio: %s\n", SDL_GetError()); goto err; } + if (have.format != wanted.format) { + printf("Couldn't select required audio format\n"); + goto err; + } sdl.audio_active = true; sdl.sample_rate = wanted.freq; sdl.cur_buf = 0; -- cgit v1.1 From ac7b73020150d5703d21870b09c9591092e01d68 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:10 -0700 Subject: sandbox: sdl: Support waiting for audio to complete At present when audio stops, any in-progress output is cut off. Fix this by waiting for output to finish. Also use booleans for the boolean variables. Signed-off-by: Simon Glass --- arch/sandbox/cpu/sdl.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c index ee62da2..dedf00e 100644 --- a/arch/sandbox/cpu/sdl.c +++ b/arch/sandbox/cpu/sdl.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -39,6 +40,7 @@ struct buf_info { * @buf: The two available audio buffers. SDL can be reading from one while we * are setting up the next * @running: true if audio is running + * @stopping: true if audio will stop once it runs out of data */ static struct sdl_info { SDL_Surface *screen; @@ -52,6 +54,7 @@ static struct sdl_info { int cur_buf; struct buf_info buf[2]; bool running; + bool stopping; } sdl; static void sandbox_sdl_poll_events(void) @@ -271,6 +274,7 @@ void sandbox_sdl_fill_audio(void *udata, Uint8 *stream, int len) { struct buf_info *buf; int avail; + bool have_data = false; int i; for (i = 0; i < 2; i++) { @@ -282,6 +286,7 @@ void sandbox_sdl_fill_audio(void *udata, Uint8 *stream, int len) } if (avail > len) avail = len; + have_data = true; SDL_MixAudio(stream, buf->data + buf->pos, avail, SDL_MIX_MAXVOLUME); @@ -294,6 +299,7 @@ void sandbox_sdl_fill_audio(void *udata, Uint8 *stream, int len) else break; } + sdl.stopping = !have_data; } int sandbox_sdl_sound_init(int rate, int channels) @@ -347,7 +353,7 @@ int sandbox_sdl_sound_init(int rate, int channels) sdl.audio_active = true; sdl.sample_rate = wanted.freq; sdl.cur_buf = 0; - sdl.running = 0; + sdl.running = false; return 0; @@ -378,7 +384,8 @@ int sandbox_sdl_sound_play(const void *data, uint size) buf->pos = 0; if (!sdl.running) { SDL_PauseAudio(0); - sdl.running = 1; + sdl.running = true; + sdl.stopping = false; } return 0; @@ -387,8 +394,12 @@ int sandbox_sdl_sound_play(const void *data, uint size) int sandbox_sdl_sound_stop(void) { if (sdl.running) { + while (!sdl.stopping) + SDL_Delay(100); + SDL_PauseAudio(1); sdl.running = 0; + sdl.stopping = false; } return 0; -- cgit v1.1 From af800722eb718bec51c5943cfb69231acf15178f Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:11 -0700 Subject: gitlab: Disable SDL when building sandbox I am not sure how to add libsdl2-dev to the gitlab image, so disable building sandbox with SDL for now. Signed-off-by: Simon Glass --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c7ca596..303e6b0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,7 +32,8 @@ stages: # use clang only do one configuration. - if [[ "${BUILDMAN}" != "" ]]; then ret=0; - tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?; + NO_SDL=1 tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} + ${OVERRIDE}|| ret=$?; if [[ $ret -ne 0 && $ret -ne 129 ]]; then tools/buildman/buildman -o /tmp -sdeP ${BUILDMAN}; exit $ret; @@ -164,7 +165,7 @@ Run binman, buildman, dtoc and patman testsuites: export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/sandbox_spl; export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; - ./tools/buildman/buildman -o /tmp -P sandbox_spl; + NO_SDL=1 ./tools/buildman/buildman -o /tmp -P sandbox_spl; ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test; ./tools/buildman/buildman -t; ./tools/dtoc/dtoc -t; -- cgit v1.1 From 96d0cd460430f18d0f22eead5409ed3dc53b4c4e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:12 -0700 Subject: sandbox: sdl: Move to use SDL2 Sandbox currently uses SDL1.2. SDL2 has been around for quite a while and is widely supported. It has a number of useful features. It seems appropriate to move sandbox over. Update the code to use SDL2 instead of SDL1.2. Signed-off-by: Simon Glass --- .travis.yml | 2 +- arch/sandbox/config.mk | 2 +- arch/sandbox/cpu/sdl.c | 279 +++++++++++++++++++++++++++---------------------- doc/arch/sandbox.rst | 2 +- 4 files changed, 158 insertions(+), 127 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3991eb7..44e5390 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ addons: - sparse - bc - build-essential - - libsdl1.2-dev + - libsdl2-dev - python - python-pyelftools - python3-virtualenv diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk index a225c9c..189e9c2 100644 --- a/arch/sandbox/config.mk +++ b/arch/sandbox/config.mk @@ -5,7 +5,7 @@ PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE PLATFORM_CPPFLAGS += -DCONFIG_ARCH_MAP_SYSMEM PLATFORM_CPPFLAGS += -fPIC PLATFORM_LIBS += -lrt -SDL_CONFIG ?= sdl-config +SDL_CONFIG ?= sdl2-config # Define this to avoid linking with SDL, which requires SDL libraries # This can solve 'sdl-config: Command not found' errors diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c index dedf00e..58a9cc8 100644 --- a/arch/sandbox/cpu/sdl.c +++ b/arch/sandbox/cpu/sdl.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include /** @@ -28,7 +28,6 @@ struct buf_info { /** * struct sdl_info - Information about our use of the SDL library * - * @screen: Surface used to draw on the screen * @width: Width of simulated LCD display * @height: Height of simulated LCD display * @depth: Depth of the display in bits per pixel (16 or 32) @@ -41,9 +40,10 @@ struct buf_info { * are setting up the next * @running: true if audio is running * @stopping: true if audio will stop once it runs out of data + * @texture: SDL texture to use for U-Boot display contents + * @renderer: SDL renderer to use */ static struct sdl_info { - SDL_Surface *screen; int width; int height; int depth; @@ -55,6 +55,8 @@ static struct sdl_info { struct buf_info buf[2]; bool running; bool stopping; + SDL_Texture *texture; + SDL_Renderer *renderer; } sdl; static void sandbox_sdl_poll_events(void) @@ -106,13 +108,41 @@ int sandbox_sdl_init_display(int width, int height, int log2_bpp) printf("Unable to initialise SDL LCD: %s\n", SDL_GetError()); return -EPERM; } - SDL_WM_SetCaption("U-Boot", "U-Boot"); - sdl.width = width; sdl.height = height; sdl.depth = 1 << log2_bpp; sdl.pitch = sdl.width * sdl.depth / 8; - sdl.screen = SDL_SetVideoMode(width, height, 0, 0); + SDL_Window *screen = SDL_CreateWindow("U-Boot", SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, + sdl.width, sdl.height, 0); + if (!screen) { + printf("Unable to initialise SDL screen: %s\n", + SDL_GetError()); + return -EIO; + } + if (log2_bpp != 4 && log2_bpp != 5) { + printf("U-Boot SDL does not support depth %d\n", log2_bpp); + return -EINVAL; + } + sdl.renderer = SDL_CreateRenderer(screen, -1, + SDL_RENDERER_ACCELERATED | + SDL_RENDERER_PRESENTVSYNC); + if (!sdl.renderer) { + printf("Unable to initialise SDL renderer: %s\n", + SDL_GetError()); + return -EIO; + } + + sdl.texture = SDL_CreateTexture(sdl.renderer, log2_bpp == 4 ? + SDL_PIXELFORMAT_RGB565 : + SDL_PIXELFORMAT_RGB888, + SDL_TEXTUREACCESS_STREAMING, + width, height); + if (!sdl.texture) { + printf("Unable to initialise SDL texture: %s\n", + SDL_GetError()); + return -EBADF; + } sandbox_sdl_poll_events(); return 0; @@ -120,136 +150,137 @@ int sandbox_sdl_init_display(int width, int height, int log2_bpp) int sandbox_sdl_sync(void *lcd_base) { - SDL_Surface *frame; - - frame = SDL_CreateRGBSurfaceFrom(lcd_base, sdl.width, sdl.height, - sdl.depth, sdl.pitch, - 0x1f << 11, 0x3f << 5, 0x1f << 0, 0); - SDL_BlitSurface(frame, NULL, sdl.screen, NULL); - SDL_FreeSurface(frame); - SDL_UpdateRect(sdl.screen, 0, 0, 0, 0); + SDL_UpdateTexture(sdl.texture, NULL, lcd_base, sdl.pitch); + SDL_RenderCopy(sdl.renderer, sdl.texture, NULL, NULL); + SDL_RenderPresent(sdl.renderer); sandbox_sdl_poll_events(); return 0; } -#define NONE (-1) -#define NUM_SDL_CODES (SDLK_UNDO + 1) - -static int16_t sdl_to_keycode[NUM_SDL_CODES] = { - /* 0 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, KEY_BACKSPACE, KEY_TAB, - NONE, NONE, NONE, KEY_ENTER, NONE, - NONE, NONE, NONE, NONE, KEY_POWER, /* use PAUSE as POWER */ - - /* 20 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, KEY_ESC, NONE, NONE, - NONE, NONE, KEY_SPACE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 40 */ - NONE, NONE, NONE, NONE, KEY_COMMA, - KEY_MINUS, KEY_DOT, KEY_SLASH, KEY_0, KEY_1, - KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, - KEY_7, KEY_8, KEY_9, NONE, KEY_SEMICOLON, - - /* 60 */ - NONE, KEY_EQUAL, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 80 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, KEY_BACKSLASH, NONE, NONE, - NONE, KEY_GRAVE, KEY_A, KEY_B, KEY_C, - - /* 100 */ - KEY_D, KEY_E, KEY_F, KEY_G, KEY_H, - KEY_I, KEY_J, KEY_K, KEY_L, KEY_M, - KEY_N, KEY_O, KEY_P, KEY_Q, KEY_R, - KEY_S, KEY_T, KEY_U, KEY_V, KEY_W, - - /* 120 */ - KEY_X, KEY_Y, KEY_Z, NONE, NONE, - NONE, NONE, KEY_DELETE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 140 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 160 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 180 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 200 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 220 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 240 */ - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, NONE, - NONE, KEY_KP0, KEY_KP1, KEY_KP2, KEY_KP3, - - /* 260 */ - KEY_KP4, KEY_KP5, KEY_KP6, KEY_KP7, KEY_KP8, - KEY_KP9, KEY_KPDOT, KEY_KPSLASH, KEY_KPASTERISK, KEY_KPMINUS, - KEY_KPPLUS, KEY_KPENTER, KEY_KPEQUAL, KEY_UP, KEY_DOWN, - KEY_RIGHT, KEY_LEFT, KEY_INSERT, KEY_HOME, KEY_END, - - /* 280 */ - KEY_PAGEUP, KEY_PAGEDOWN, KEY_F1, KEY_F2, KEY_F3, - KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, - KEY_F9, KEY_F10, KEY_F11, KEY_F12, NONE, - NONE, NONE, NONE, NONE, NONE, - - /* 300 */ - KEY_NUMLOCK, KEY_CAPSLOCK, KEY_SCROLLLOCK, KEY_RIGHTSHIFT, - KEY_LEFTSHIFT, - KEY_RIGHTCTRL, KEY_LEFTCTRL, KEY_RIGHTALT, KEY_LEFTALT, KEY_RIGHTMETA, - KEY_LEFTMETA, NONE, KEY_FN, NONE, KEY_COMPOSE, - NONE, KEY_PRINT, KEY_SYSRQ, KEY_PAUSE, NONE, - - /* 320 */ - NONE, NONE, NONE, +static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = { + [SDL_SCANCODE_A] = KEY_A, + [SDL_SCANCODE_B] = KEY_B, + [SDL_SCANCODE_C] = KEY_C, + [SDL_SCANCODE_D] = KEY_D, + [SDL_SCANCODE_E] = KEY_E, + [SDL_SCANCODE_F] = KEY_F, + [SDL_SCANCODE_G] = KEY_G, + [SDL_SCANCODE_H] = KEY_H, + [SDL_SCANCODE_I] = KEY_I, + [SDL_SCANCODE_J] = KEY_J, + [SDL_SCANCODE_K] = KEY_K, + [SDL_SCANCODE_L] = KEY_L, + [SDL_SCANCODE_M] = KEY_M, + [SDL_SCANCODE_N] = KEY_N, + [SDL_SCANCODE_O] = KEY_O, + [SDL_SCANCODE_P] = KEY_P, + [SDL_SCANCODE_Q] = KEY_Q, + [SDL_SCANCODE_R] = KEY_R, + [SDL_SCANCODE_S] = KEY_S, + [SDL_SCANCODE_T] = KEY_T, + [SDL_SCANCODE_U] = KEY_U, + [SDL_SCANCODE_V] = KEY_V, + [SDL_SCANCODE_W] = KEY_W, + [SDL_SCANCODE_X] = KEY_X, + [SDL_SCANCODE_Y] = KEY_Y, + [SDL_SCANCODE_Z] = KEY_Z, + + [SDL_SCANCODE_1] = KEY_1, + [SDL_SCANCODE_2] = KEY_2, + [SDL_SCANCODE_3] = KEY_3, + [SDL_SCANCODE_4] = KEY_4, + [SDL_SCANCODE_5] = KEY_5, + [SDL_SCANCODE_6] = KEY_6, + [SDL_SCANCODE_7] = KEY_7, + [SDL_SCANCODE_8] = KEY_8, + [SDL_SCANCODE_9] = KEY_9, + [SDL_SCANCODE_0] = KEY_0, + + [SDL_SCANCODE_RETURN] = KEY_ENTER, + [SDL_SCANCODE_ESCAPE] = KEY_ESC, + [SDL_SCANCODE_BACKSPACE] = KEY_BACKSPACE, + [SDL_SCANCODE_TAB] = KEY_TAB, + [SDL_SCANCODE_SPACE] = KEY_SPACE, + + [SDL_SCANCODE_MINUS] = KEY_MINUS, + [SDL_SCANCODE_EQUALS] = KEY_EQUAL, + [SDL_SCANCODE_BACKSLASH] = KEY_BACKSLASH, + [SDL_SCANCODE_SEMICOLON] = KEY_SEMICOLON, + [SDL_SCANCODE_APOSTROPHE] = KEY_APOSTROPHE, + [SDL_SCANCODE_GRAVE] = KEY_GRAVE, + [SDL_SCANCODE_COMMA] = KEY_COMMA, + [SDL_SCANCODE_PERIOD] = KEY_DOT, + [SDL_SCANCODE_SLASH] = KEY_SLASH, + + [SDL_SCANCODE_CAPSLOCK] = KEY_CAPSLOCK, + + [SDL_SCANCODE_F1] = KEY_F1, + [SDL_SCANCODE_F2] = KEY_F2, + [SDL_SCANCODE_F3] = KEY_F3, + [SDL_SCANCODE_F4] = KEY_F4, + [SDL_SCANCODE_F5] = KEY_F5, + [SDL_SCANCODE_F6] = KEY_F6, + [SDL_SCANCODE_F7] = KEY_F7, + [SDL_SCANCODE_F8] = KEY_F8, + [SDL_SCANCODE_F9] = KEY_F9, + [SDL_SCANCODE_F10] = KEY_F10, + [SDL_SCANCODE_F11] = KEY_F11, + [SDL_SCANCODE_F12] = KEY_F12, + + [SDL_SCANCODE_PRINTSCREEN] = KEY_PRINT, + [SDL_SCANCODE_SCROLLLOCK] = KEY_SCROLLLOCK, + [SDL_SCANCODE_PAUSE] = KEY_PAUSE, + [SDL_SCANCODE_INSERT] = KEY_INSERT, + [SDL_SCANCODE_HOME] = KEY_HOME, + [SDL_SCANCODE_PAGEUP] = KEY_PAGEUP, + [SDL_SCANCODE_DELETE] = KEY_DELETE, + [SDL_SCANCODE_END] = KEY_END, + [SDL_SCANCODE_PAGEDOWN] = KEY_PAGEDOWN, + [SDL_SCANCODE_RIGHT] = KEY_RIGHT, + [SDL_SCANCODE_LEFT] = KEY_LEFT, + [SDL_SCANCODE_DOWN] = KEY_DOWN, + [SDL_SCANCODE_UP] = KEY_UP, + + [SDL_SCANCODE_NUMLOCKCLEAR] = KEY_NUMLOCK, + [SDL_SCANCODE_KP_DIVIDE] = KEY_KPSLASH, + [SDL_SCANCODE_KP_MULTIPLY] = KEY_KPASTERISK, + [SDL_SCANCODE_KP_MINUS] = KEY_KPMINUS, + [SDL_SCANCODE_KP_PLUS] = KEY_KPPLUS, + [SDL_SCANCODE_KP_ENTER] = KEY_KPENTER, + [SDL_SCANCODE_KP_1] = KEY_KP1, + [SDL_SCANCODE_KP_2] = KEY_KP2, + [SDL_SCANCODE_KP_3] = KEY_KP3, + [SDL_SCANCODE_KP_4] = KEY_KP4, + [SDL_SCANCODE_KP_5] = KEY_KP5, + [SDL_SCANCODE_KP_6] = KEY_KP6, + [SDL_SCANCODE_KP_7] = KEY_KP7, + [SDL_SCANCODE_KP_8] = KEY_KP8, + [SDL_SCANCODE_KP_9] = KEY_KP9, + [SDL_SCANCODE_KP_0] = KEY_KP0, + [SDL_SCANCODE_KP_PERIOD] = KEY_KPDOT, + + [SDL_SCANCODE_KP_EQUALS] = KEY_KPEQUAL, + [SDL_SCANCODE_KP_COMMA] = KEY_KPCOMMA, + + [SDL_SCANCODE_SYSREQ] = KEY_SYSRQ, }; int sandbox_sdl_scan_keys(int key[], int max_keys) { - Uint8 *keystate; + const Uint8 *keystate; + int num_keys; int i, count; sandbox_sdl_poll_events(); - keystate = SDL_GetKeyState(NULL); - for (i = count = 0; i < NUM_SDL_CODES; i++) { - if (count >= max_keys) - break; - else if (keystate[i]) - key[count++] = sdl_to_keycode[i]; + keystate = SDL_GetKeyboardState(&num_keys); + for (i = count = 0; i < num_keys; i++) { + if (count < max_keys && keystate[i]) { + int keycode = sdl_to_keycode[i]; + + if (keycode) + key[count++] = keycode; + } } return count; diff --git a/doc/arch/sandbox.rst b/doc/arch/sandbox.rst index e1f4dde..e577a95 100644 --- a/doc/arch/sandbox.rst +++ b/doc/arch/sandbox.rst @@ -43,7 +43,7 @@ To run sandbox U-Boot use something like:: ./u-boot Note: If you get errors about 'sdl-config: Command not found' you may need to -install libsdl1.2-dev or similar to get SDL support. Alternatively you can +install libsdl2.0-dev or similar to get SDL support. Alternatively you can build sandbox without SDL (i.e. no display/keyboard support) by removing the CONFIG_SANDBOX_SDL line in include/configs/sandbox.h or using:: -- cgit v1.1 From 6be88c72828923f2df8c441ee12f5829e0d06f32 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:13 -0700 Subject: sandbox: sdl: Add an option to double the screen size On high-DPI displays U-Boot's LCD window can look very small. Add a -K flag to expand it to make things easier to read, while still using the existing resolution internally. Signed-off-by: Simon Glass Reviewed-by: Anatolij Gustschin --- arch/sandbox/cpu/sdl.c | 17 +++++++++++++++-- arch/sandbox/cpu/start.c | 10 ++++++++++ arch/sandbox/include/asm/sdl.h | 9 ++++++--- arch/sandbox/include/asm/state.h | 1 + drivers/video/sandbox_sdl.c | 5 ++++- 5 files changed, 36 insertions(+), 6 deletions(-) diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c index 58a9cc8..6416cab 100644 --- a/arch/sandbox/cpu/sdl.c +++ b/arch/sandbox/cpu/sdl.c @@ -30,6 +30,8 @@ struct buf_info { * * @width: Width of simulated LCD display * @height: Height of simulated LCD display + * @vis_width: Visible width (may be larger to allow for scaling up) + * @vis_height: Visible height (may be larger to allow for scaling up) * @depth: Depth of the display in bits per pixel (16 or 32) * @pitch: Number of bytes per line of the display * @sample_rate: Current sample rate for audio @@ -46,6 +48,8 @@ struct buf_info { static struct sdl_info { int width; int height; + int vis_width; + int vis_height; int depth; int pitch; uint sample_rate; @@ -94,7 +98,8 @@ static int sandbox_sdl_ensure_init(void) return 0; } -int sandbox_sdl_init_display(int width, int height, int log2_bpp) +int sandbox_sdl_init_display(int width, int height, int log2_bpp, + bool double_size) { struct sandbox_state *state = state_get_current(); int err; @@ -110,11 +115,19 @@ int sandbox_sdl_init_display(int width, int height, int log2_bpp) } sdl.width = width; sdl.height = height; + if (double_size) { + sdl.vis_width = sdl.width * 2; + sdl.vis_height = sdl.height * 2; + } else { + sdl.vis_width = sdl.width; + sdl.vis_height = sdl.height; + } + sdl.depth = 1 << log2_bpp; sdl.pitch = sdl.width * sdl.depth / 8; SDL_Window *screen = SDL_CreateWindow("U-Boot", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, - sdl.width, sdl.height, 0); + sdl.vis_width, sdl.vis_height, 0); if (!screen) { printf("Unable to initialise SDL screen: %s\n", SDL_GetError()); diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 4760731..b6ff5c3 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -308,6 +308,16 @@ static int sandbox_cmdline_cb_show_lcd(struct sandbox_state *state, SANDBOX_CMDLINE_OPT_SHORT(show_lcd, 'l', 0, "Show the sandbox LCD display"); +static int sandbox_cmdline_cb_double_lcd(struct sandbox_state *state, + const char *arg) +{ + state->double_lcd = true; + + return 0; +} +SANDBOX_CMDLINE_OPT_SHORT(double_lcd, 'K', 0, + "Double the LCD display size in each direction"); + static const char *term_args[STATE_TERM_COUNT] = { "raw-with-sigs", "raw", diff --git a/arch/sandbox/include/asm/sdl.h b/arch/sandbox/include/asm/sdl.h index c45dbdd..47fc488 100644 --- a/arch/sandbox/include/asm/sdl.h +++ b/arch/sandbox/include/asm/sdl.h @@ -17,10 +17,13 @@ * @height Window height in pixels * @log2_bpp: Log to base 2 of the number of bits per pixel. So a 32bpp * display will pass 5, since 2*5 = 32 + * @double_size: true to double the visible size in each direction for high-DPI + * displays * @return 0 if OK, -ENODEV if no device, -EIO if SDL failed to initialize * and -EPERM if the video failed to come up. */ -int sandbox_sdl_init_display(int width, int height, int log2_bpp); +int sandbox_sdl_init_display(int width, int height, int log2_bpp, + bool double_size); /** * sandbox_sdl_sync() - Sync current U-Boot LCD frame buffer to SDL @@ -78,8 +81,8 @@ int sandbox_sdl_sound_stop(void); int sandbox_sdl_sound_init(int rate, int channels); #else -static inline int sandbox_sdl_init_display(int width, int height, - int log2_bpp) +static inline int sandbox_sdl_init_display(int width, int height, int log2_bpp, + bool double_size) { return -ENODEV; } diff --git a/arch/sandbox/include/asm/state.h b/arch/sandbox/include/asm/state.h index ad3e94b..705645d 100644 --- a/arch/sandbox/include/asm/state.h +++ b/arch/sandbox/include/asm/state.h @@ -83,6 +83,7 @@ struct sandbox_state { bool write_state; /* Write sandbox state on exit */ bool ignore_missing_state_on_read; /* No error if state missing */ bool show_lcd; /* Show LCD on start-up */ + bool double_lcd; /* Double display size for high-DPI */ enum sysreset_t last_sysreset; /* Last system reset type */ bool sysreset_allowed[SYSRESET_COUNT]; /* Allowed system reset types */ enum state_terminal_raw term_raw; /* Terminal raw/cooked */ diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c index 913651c..d1272d0 100644 --- a/drivers/video/sandbox_sdl.c +++ b/drivers/video/sandbox_sdl.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -23,9 +24,11 @@ static int sandbox_sdl_probe(struct udevice *dev) { struct sandbox_sdl_plat *plat = dev_get_platdata(dev); struct video_priv *uc_priv = dev_get_uclass_priv(dev); + struct sandbox_state *state = state_get_current(); int ret; - ret = sandbox_sdl_init_display(plat->xres, plat->yres, plat->bpix); + ret = sandbox_sdl_init_display(plat->xres, plat->yres, plat->bpix, + state->double_lcd); if (ret) { puts("LCD init failed\n"); return ret; -- cgit v1.1 From a466db5adb58e486fbd8ae63536b03a70d69f68d Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:14 -0700 Subject: sandbox: Support changing the LCD colour depth Add a new device-tree property to control the colour depth. At present we support 16bpp and 32bpp. While we are here, update the code to use livetree. Signed-off-by: Simon Glass Reviewed-by: Anatolij Gustschin --- arch/sandbox/dts/sandbox.dtsi | 1 + doc/device-tree-bindings/video/sandbox-fb.txt | 6 +++++- drivers/video/sandbox_sdl.c | 8 +++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/arch/sandbox/dts/sandbox.dtsi b/arch/sandbox/dts/sandbox.dtsi index 7bf144f..7cd56c1 100644 --- a/arch/sandbox/dts/sandbox.dtsi +++ b/arch/sandbox/dts/sandbox.dtsi @@ -83,6 +83,7 @@ compatible = "sandbox,lcd-sdl"; xres = <1366>; yres = <768>; + log2-depth = <5>; }; leds { diff --git a/doc/device-tree-bindings/video/sandbox-fb.txt b/doc/device-tree-bindings/video/sandbox-fb.txt index eb91b30..230d25c 100644 --- a/doc/device-tree-bindings/video/sandbox-fb.txt +++ b/doc/device-tree-bindings/video/sandbox-fb.txt @@ -2,7 +2,10 @@ Sandbox LCD =========== This uses the displaymode.txt binding except that only xres and yres are -required properties. +required properties. Also an additional optional property is defined: + +log2-depth: Log base 2 of the U-Boot display buffer depth (4=16bpp, 5=32bpp). + If not provided, a value of 4 is used. Example: @@ -10,4 +13,5 @@ Example: compatible = "sandbox,lcd-sdl"; xres = <800>; yres = <600>; + log2-depth = <5>; }; diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c index d1272d0..1196e6c 100644 --- a/drivers/video/sandbox_sdl.c +++ b/drivers/video/sandbox_sdl.c @@ -47,13 +47,11 @@ static int sandbox_sdl_bind(struct udevice *dev) { struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev); struct sandbox_sdl_plat *plat = dev_get_platdata(dev); - const void *blob = gd->fdt_blob; - int node = dev_of_offset(dev); int ret = 0; - plat->xres = fdtdec_get_int(blob, node, "xres", LCD_MAX_WIDTH); - plat->yres = fdtdec_get_int(blob, node, "yres", LCD_MAX_HEIGHT); - plat->bpix = VIDEO_BPP16; + plat->xres = dev_read_u32_default(dev, "xres", LCD_MAX_WIDTH); + plat->yres = dev_read_u32_default(dev, "yres", LCD_MAX_HEIGHT); + plat->bpix = dev_read_u32_default(dev, "log2-depth", VIDEO_BPP16); uc_plat->size = plat->xres * plat->yres * (1 << plat->bpix) / 8; debug("%s: Frame buffer size %x\n", __func__, uc_plat->size); -- cgit v1.1 From 61b29b82683863a970fd4609a7c58512872616bc Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:15 -0700 Subject: dm: core: Require users of devres to include the header At present devres.h is included in all files that include dm.h but few make use of it. Also this pulls in linux/compat which adds several more headers. Drop the automatic inclusion and require files to include devres themselves. This provides a good indication of which files use devres. Signed-off-by: Simon Glass Reviewed-by: Anatolij Gustschin --- arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 1 + arch/arm/mach-imx/cmd_nandbcb.c | 1 + arch/arm/mach-meson/board-info.c | 1 + arch/arm/mach-meson/sm.c | 1 + arch/arm/mach-rockchip/px30/clk_px30.c | 1 + arch/arm/mach-rockchip/rk3036/clk_rk3036.c | 1 + arch/arm/mach-rockchip/rk3128/clk_rk3128.c | 1 + arch/arm/mach-rockchip/rk3188/clk_rk3188.c | 1 + arch/arm/mach-rockchip/rk3188/rk3188.c | 1 + arch/arm/mach-rockchip/rk322x/clk_rk322x.c | 1 + arch/arm/mach-rockchip/rk3288/clk_rk3288.c | 1 + arch/arm/mach-rockchip/rk3288/rk3288.c | 1 + arch/arm/mach-rockchip/rk3308/clk_rk3308.c | 1 + arch/arm/mach-rockchip/rk3328/clk_rk3328.c | 1 + arch/arm/mach-rockchip/rk3368/clk_rk3368.c | 1 + arch/arm/mach-rockchip/rk3399/clk_rk3399.c | 1 + arch/arm/mach-rockchip/rv1108/clk_rv1108.c | 1 + arch/arm/mach-stm32mp/pwr_regulator.c | 1 + arch/riscv/lib/andes_plic.c | 1 + arch/riscv/lib/andes_plmt.c | 1 + arch/riscv/lib/sifive_clint.c | 1 + board/google/veyron/veyron.c | 1 + board/st/stm32mp1/stm32mp1.c | 1 + cmd/gpio.c | 1 + cmd/gpt.c | 1 + cmd/mtd.c | 2 ++ cmd/ubi.c | 1 + drivers/adc/rockchip-saradc.c | 1 + drivers/block/blk-uclass.c | 1 + drivers/clk/altera/clk-arria10.c | 1 + drivers/clk/aspeed/clk_ast2500.c | 1 + drivers/clk/at91/clk-generated.c | 1 + drivers/clk/at91/clk-usb.c | 1 + drivers/clk/clk-composite.c | 2 ++ drivers/clk/clk-divider.c | 2 ++ drivers/clk/clk-fixed-factor.c | 2 ++ drivers/clk/clk-gate.c | 2 ++ drivers/clk/clk-mux.c | 2 ++ drivers/clk/clk-ti-sci.c | 1 + drivers/clk/clk-uclass.c | 4 +++- drivers/clk/clk_fixed_factor.c | 1 + drivers/clk/clk_sandbox_ccf.c | 2 ++ drivers/clk/clk_sandbox_test.c | 1 + drivers/clk/clk_versal.c | 1 + drivers/clk/clk_zynqmp.c | 1 + drivers/clk/imx/clk-composite-8m.c | 2 ++ drivers/clk/imx/clk-gate2.c | 2 ++ drivers/clk/imx/clk-pfd.c | 2 ++ drivers/clk/imx/clk-pll14xx.c | 2 ++ drivers/clk/imx/clk-pllv3.c | 2 ++ drivers/clk/meson/axg.c | 1 + drivers/clk/meson/g12a.c | 1 + drivers/clk/meson/gxbb.c | 1 + drivers/clk/rockchip/clk_rk3188.c | 1 + drivers/clk/rockchip/clk_rk3288.c | 1 + drivers/clk/sifive/fu540-prci.c | 1 + drivers/core/devres.c | 1 + drivers/dfu/dfu_mtd.c | 1 + drivers/dma/ti/k3-udma.c | 3 ++- drivers/firmware/ti_sci.c | 1 + drivers/gpio/dwapb_gpio.c | 1 + drivers/gpio/mscc_sgpio.c | 1 + drivers/i2c/ast_i2c.c | 1 + drivers/i2c/designware_i2c.c | 1 + drivers/i2c/meson_i2c.c | 1 + drivers/i2c/muxes/i2c-mux-gpio.c | 1 + drivers/i2c/tegra_i2c.c | 1 + drivers/misc/microchip_flexcom.c | 1 + drivers/misc/tegra186_bpmp.c | 1 + drivers/mmc/am654_sdhci.c | 1 + drivers/mmc/aspeed_sdhci.c | 1 + drivers/mmc/fsl_esdhc_imx.c | 1 + drivers/mmc/omap_hsmmc.c | 2 ++ drivers/mmc/rockchip_sdhci.c | 1 + drivers/mmc/tegra_mmc.c | 1 + drivers/mmc/zynq_sdhci.c | 1 + drivers/mtd/mtd_uboot.c | 1 + drivers/mtd/mtdconcat.c | 1 + drivers/mtd/mtdcore.c | 1 + drivers/mtd/mtdpart.c | 1 + drivers/mtd/nand/bbt.c | 1 + drivers/mtd/nand/raw/atmel_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/brcmnand.c | 2 ++ drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c | 1 + drivers/mtd/nand/raw/denali.c | 2 ++ drivers/mtd/nand/raw/fsl_elbc_nand.c | 1 + drivers/mtd/nand/raw/fsl_ifc_nand.c | 1 + drivers/mtd/nand/raw/mxs_nand_spl.c | 1 + drivers/mtd/nand/raw/nand_base.c | 1 + drivers/mtd/nand/raw/nand_bbt.c | 1 + drivers/mtd/nand/raw/nand_bch.c | 1 + drivers/mtd/nand/raw/nand_timings.c | 1 + drivers/mtd/nand/raw/nand_util.c | 1 + drivers/mtd/nand/raw/pxa3xx_nand.c | 2 ++ drivers/mtd/nand/raw/stm32_fmc2_nand.c | 1 + drivers/mtd/nand/raw/sunxi_nand.c | 2 ++ drivers/mtd/nand/spi/core.c | 1 + drivers/mtd/onenand/onenand_base.c | 1 + drivers/mtd/spi/spi-nor-core.c | 1 + drivers/mtd/ubi/attach.c | 1 + drivers/mtd/ubi/build.c | 1 + drivers/mtd/ubi/debug.c | 1 + drivers/mtd/ubi/eba.c | 1 + drivers/mtd/ubi/fastmap.c | 2 ++ drivers/mtd/ubi/io.c | 1 + drivers/mtd/ubi/kapi.c | 1 + drivers/mtd/ubi/vmt.c | 1 + drivers/mtd/ubi/vtbl.c | 1 + drivers/mtd/ubi/wl.c | 1 + drivers/net/designware.c | 1 + drivers/net/dwmac_socfpga.c | 1 + drivers/net/mvneta.c | 1 + drivers/net/mvpp2.c | 2 ++ drivers/net/phy/dp83867.c | 1 + drivers/net/sni_ave.c | 1 + drivers/net/zynq_gem.c | 1 + drivers/pci/pcie_dw_ti.c | 1 + drivers/pci/pcie_mediatek.c | 1 + drivers/phy/allwinner/phy-sun4i-usb.c | 1 + drivers/phy/marvell/comphy_core.c | 1 + drivers/phy/omap-usb2-phy.c | 1 + drivers/phy/phy-mtk-tphy.c | 1 + drivers/phy/phy-ti-am654.c | 1 + drivers/phy/ti-pipe3-phy.c | 1 + drivers/pinctrl/intel/pinctrl.c | 1 + drivers/pinctrl/mscc/mscc-common.c | 1 + drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 1 + drivers/pinctrl/nxp/pinctrl-imx.c | 1 + drivers/pinctrl/nxp/pinctrl-mxs.c | 1 + drivers/pinctrl/pinctrl_stm32.c | 1 + drivers/pinctrl/renesas/pfc.c | 1 + drivers/power/domain/meson-ee-pwrc.c | 1 + drivers/power/domain/meson-gx-pwrc-vpu.c | 1 + drivers/power/domain/mtk-power-domain.c | 1 + drivers/power/domain/ti-sci-power-domain.c | 1 + drivers/power/regulator/pbias_regulator.c | 1 + drivers/ram/rockchip/dmc-rk3368.c | 1 + drivers/remoteproc/rproc-elf-loader.c | 1 + drivers/remoteproc/stm32_copro.c | 1 + drivers/remoteproc/ti_k3_arm64_rproc.c | 1 + drivers/remoteproc/ti_k3_dsp_rproc.c | 1 + drivers/remoteproc/ti_k3_r5f_rproc.c | 1 + drivers/reset/reset-mediatek.c | 1 + drivers/reset/reset-ti-sci.c | 1 + drivers/reset/reset-uclass.c | 1 + drivers/serial/ns16550.c | 1 + drivers/serial/serial_mtk.c | 3 ++- drivers/serial/serial_omap.c | 1 + drivers/serial/serial_sifive.c | 1 + drivers/serial/serial_zynq.c | 1 + drivers/smem/msm_smem.c | 2 ++ drivers/soc/ti/k3-navss-ringacc.c | 2 ++ drivers/spi/atmel-quadspi.c | 1 + drivers/spi/cadence_qspi.c | 1 + drivers/spi/spi-mem.c | 1 + drivers/spi/ti_qspi.c | 1 + drivers/spi/zynqmp_gqspi.c | 1 + drivers/sysreset/sysreset-ti-sci.c | 1 + drivers/sysreset/sysreset_syscon.c | 1 + drivers/tee/optee/core.c | 1 + drivers/timer/ast_timer.c | 1 + drivers/timer/cadence-ttc.c | 1 + drivers/timer/timer-uclass.c | 1 + drivers/ufs/cdns-platform.c | 1 + drivers/ufs/ti-j721e-ufs.c | 1 + drivers/ufs/ufs.c | 1 + drivers/usb/cdns3/core.c | 1 + drivers/usb/cdns3/gadget.c | 2 ++ drivers/usb/cdns3/host.c | 1 + drivers/usb/dwc3/core.c | 2 ++ drivers/usb/dwc3/dwc3-omap.c | 1 + drivers/usb/dwc3/gadget.c | 1 + drivers/usb/dwc3/ti_usb_phy.c | 1 + drivers/usb/gadget/at91_udc.c | 2 ++ drivers/usb/gadget/composite.c | 1 + drivers/usb/gadget/dwc2_udc_otg.c | 1 + drivers/usb/gadget/f_mass_storage.c | 1 + drivers/usb/gadget/pxa25x_udc.c | 1 + drivers/usb/gadget/udc/udc-core.c | 1 + drivers/usb/host/ehci-generic.c | 1 + drivers/usb/host/ohci-da8xx.c | 1 + drivers/usb/host/ohci-generic.c | 1 + drivers/usb/musb-new/am35x.c | 1 + drivers/usb/musb-new/musb_core.c | 1 + drivers/usb/musb-new/musb_dsps.c | 1 + drivers/usb/musb-new/musb_gadget.c | 1 + drivers/usb/musb-new/musb_host.c | 1 + drivers/usb/musb-new/musb_uboot.c | 1 + drivers/usb/musb-new/omap2430.c | 1 + drivers/video/exynos/exynos_mipi_dsi.c | 1 + drivers/video/mipi_dsi.c | 1 + drivers/video/rockchip/rk3288_mipi.c | 1 + drivers/video/rockchip/rk3399_mipi.c | 1 + drivers/video/rockchip/rk_vop.c | 1 + drivers/video/tegra124/sor.c | 1 + drivers/virtio/virtio_mmio.c | 1 + drivers/virtio/virtio_pci_legacy.c | 1 + drivers/virtio/virtio_pci_modern.c | 1 + drivers/virtio/virtio_sandbox.c | 1 + drivers/watchdog/ast_wdt.c | 1 + drivers/watchdog/cdns_wdt.c | 1 + drivers/watchdog/sp805_wdt.c | 1 + drivers/watchdog/xilinx_tb_wdt.c | 1 + fs/ubifs/debug.c | 1 + fs/ubifs/gc.c | 1 + fs/ubifs/io.c | 1 + fs/ubifs/log.c | 1 + fs/ubifs/lpt.c | 1 + fs/ubifs/lpt_commit.c | 1 + fs/ubifs/master.c | 1 + fs/ubifs/orphan.c | 1 + fs/ubifs/recovery.c | 1 + fs/ubifs/replay.c | 1 + fs/ubifs/sb.c | 1 + fs/ubifs/scan.c | 1 + fs/ubifs/super.c | 1 + fs/ubifs/tnc.c | 1 + fs/ubifs/tnc_misc.c | 1 + fs/ubifs/ubifs.c | 1 + fs/yaffs2/yaffs_allocator.c | 1 + fs/yaffs2/yaffs_checkptrw.c | 1 + fs/yaffs2/yaffs_guts.c | 1 + fs/yaffs2/yaffs_summary.c | 1 + fs/yaffs2/yaffs_yaffs1.c | 1 + fs/yaffs2/yaffs_yaffs2.c | 1 + fs/yaffs2/yaffsfs.c | 1 + include/dm/device.h | 2 -- include/dm/devres.h | 4 ++++ lib/bch.c | 1 + lib/crypto/asymmetric_type.c | 2 ++ lib/crypto/pkcs7_parser.c | 1 + lib/crypto/public_key.c | 2 ++ lib/crypto/x509_cert_parser.c | 1 + lib/crypto/x509_public_key.c | 2 ++ lib/list_sort.c | 1 + test/dm/devres.c | 1 + test/dm/regmap.c | 1 + test/dm/syscon.c | 1 + test/dm/test-fdt.c | 1 + 242 files changed, 275 insertions(+), 5 deletions(-) diff --git a/arch/arm/mach-aspeed/ast2500/clk_ast2500.c b/arch/arm/mach-aspeed/ast2500/clk_ast2500.c index 7d864a4..3e9f5e5 100644 --- a/arch/arm/mach-aspeed/ast2500/clk_ast2500.c +++ b/arch/arm/mach-aspeed/ast2500/clk_ast2500.c @@ -7,6 +7,7 @@ #include #include #include +#include int ast_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-imx/cmd_nandbcb.c b/arch/arm/mach-imx/cmd_nandbcb.c index 334cc07..a1c265f 100644 --- a/arch/arm/mach-imx/cmd_nandbcb.c +++ b/arch/arm/mach-imx/cmd_nandbcb.c @@ -11,6 +11,7 @@ #include #include +#include #include #include diff --git a/arch/arm/mach-meson/board-info.c b/arch/arm/mach-meson/board-info.c index 0d3b40a..4b88afa 100644 --- a/arch/arm/mach-meson/board-info.c +++ b/arch/arm/mach-meson/board-info.c @@ -10,6 +10,7 @@ #include #include #include +#include #define AO_SEC_SD_CFG8 0xe0 #define AO_SEC_SOCINFO_OFFSET AO_SEC_SD_CFG8 diff --git a/arch/arm/mach-meson/sm.c b/arch/arm/mach-meson/sm.c index fabcb3b..fac286b 100644 --- a/arch/arm/mach-meson/sm.c +++ b/arch/arm/mach-meson/sm.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/arch/arm/mach-rockchip/px30/clk_px30.c b/arch/arm/mach-rockchip/px30/clk_px30.c index 0bd6b47..98a1bcd 100644 --- a/arch/arm/mach-rockchip/px30/clk_px30.c +++ b/arch/arm/mach-rockchip/px30/clk_px30.c @@ -8,6 +8,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3036/clk_rk3036.c b/arch/arm/mach-rockchip/rk3036/clk_rk3036.c index 20e2ed6..5d0def3 100644 --- a/arch/arm/mach-rockchip/rk3036/clk_rk3036.c +++ b/arch/arm/mach-rockchip/rk3036/clk_rk3036.c @@ -9,6 +9,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3128/clk_rk3128.c b/arch/arm/mach-rockchip/rk3128/clk_rk3128.c index 827750b..f9ce1f7 100644 --- a/arch/arm/mach-rockchip/rk3128/clk_rk3128.c +++ b/arch/arm/mach-rockchip/rk3128/clk_rk3128.c @@ -8,6 +8,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3188/clk_rk3188.c b/arch/arm/mach-rockchip/rk3188/clk_rk3188.c index 9d4fc37..a0dcac3 100644 --- a/arch/arm/mach-rockchip/rk3188/clk_rk3188.c +++ b/arch/arm/mach-rockchip/rk3188/clk_rk3188.c @@ -9,6 +9,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c index 61d410d..e52466f 100644 --- a/arch/arm/mach-rockchip/rk3188/rk3188.c +++ b/arch/arm/mach-rockchip/rk3188/rk3188.c @@ -11,6 +11,7 @@ #include #include #include +#include #define GRF_BASE 0x20008000 diff --git a/arch/arm/mach-rockchip/rk322x/clk_rk322x.c b/arch/arm/mach-rockchip/rk322x/clk_rk322x.c index 958c7b8..fc5abd7 100644 --- a/arch/arm/mach-rockchip/rk322x/clk_rk322x.c +++ b/arch/arm/mach-rockchip/rk322x/clk_rk322x.c @@ -8,6 +8,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3288/clk_rk3288.c b/arch/arm/mach-rockchip/rk3288/clk_rk3288.c index 1730f12..e05bd06 100644 --- a/arch/arm/mach-rockchip/rk3288/clk_rk3288.c +++ b/arch/arm/mach-rockchip/rk3288/clk_rk3288.c @@ -9,6 +9,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c b/arch/arm/mach-rockchip/rk3288/rk3288.c index 18ea7f3..6088911 100644 --- a/arch/arm/mach-rockchip/rk3288/rk3288.c +++ b/arch/arm/mach-rockchip/rk3288/rk3288.c @@ -17,6 +17,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/arch/arm/mach-rockchip/rk3308/clk_rk3308.c b/arch/arm/mach-rockchip/rk3308/clk_rk3308.c index 51b4315..1feb237 100644 --- a/arch/arm/mach-rockchip/rk3308/clk_rk3308.c +++ b/arch/arm/mach-rockchip/rk3308/clk_rk3308.c @@ -8,6 +8,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3328/clk_rk3328.c b/arch/arm/mach-rockchip/rk3328/clk_rk3328.c index f64f0cb..e537551 100644 --- a/arch/arm/mach-rockchip/rk3328/clk_rk3328.c +++ b/arch/arm/mach-rockchip/rk3328/clk_rk3328.c @@ -7,6 +7,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3368/clk_rk3368.c b/arch/arm/mach-rockchip/rk3368/clk_rk3368.c index 55e5dd7..9a33c67 100644 --- a/arch/arm/mach-rockchip/rk3368/clk_rk3368.c +++ b/arch/arm/mach-rockchip/rk3368/clk_rk3368.c @@ -9,6 +9,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rk3399/clk_rk3399.c b/arch/arm/mach-rockchip/rk3399/clk_rk3399.c index a80a46f..d23a5e9 100644 --- a/arch/arm/mach-rockchip/rk3399/clk_rk3399.c +++ b/arch/arm/mach-rockchip/rk3399/clk_rk3399.c @@ -9,6 +9,7 @@ #include #include #include +#include static int rockchip_get_cruclk(struct udevice **devp) { diff --git a/arch/arm/mach-rockchip/rv1108/clk_rv1108.c b/arch/arm/mach-rockchip/rv1108/clk_rv1108.c index 58a7e88..b37ae1c 100644 --- a/arch/arm/mach-rockchip/rv1108/clk_rv1108.c +++ b/arch/arm/mach-rockchip/rv1108/clk_rv1108.c @@ -9,6 +9,7 @@ #include #include #include +#include int rockchip_get_clk(struct udevice **devp) { diff --git a/arch/arm/mach-stm32mp/pwr_regulator.c b/arch/arm/mach-stm32mp/pwr_regulator.c index 9484645..977cc7d 100644 --- a/arch/arm/mach-stm32mp/pwr_regulator.c +++ b/arch/arm/mach-stm32mp/pwr_regulator.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/arch/riscv/lib/andes_plic.c b/arch/riscv/lib/andes_plic.c index 3868569..20529ab 100644 --- a/arch/riscv/lib/andes_plic.c +++ b/arch/riscv/lib/andes_plic.c @@ -17,6 +17,7 @@ #include #include #include +#include /* pending register */ #define PENDING_REG(base, hart) ((ulong)(base) + 0x1000 + ((hart) / 4) * 4) diff --git a/arch/riscv/lib/andes_plmt.c b/arch/riscv/lib/andes_plmt.c index 84f4607..a7e90ca 100644 --- a/arch/riscv/lib/andes_plmt.c +++ b/arch/riscv/lib/andes_plmt.c @@ -13,6 +13,7 @@ #include #include #include +#include /* mtime register */ #define MTIME_REG(base) ((ulong)(base)) diff --git a/arch/riscv/lib/sifive_clint.c b/arch/riscv/lib/sifive_clint.c index d7899d1..5e0d257 100644 --- a/arch/riscv/lib/sifive_clint.c +++ b/arch/riscv/lib/sifive_clint.c @@ -13,6 +13,7 @@ #include #include #include +#include /* MSIP registers */ #define MSIP_REG(base, hart) ((ulong)(base) + (hart) * 4) diff --git a/board/google/veyron/veyron.c b/board/google/veyron/veyron.c index dd2c014..6b9c348 100644 --- a/board/google/veyron/veyron.c +++ b/board/google/veyron/veyron.c @@ -8,6 +8,7 @@ #include #include #include +#include #include /* diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c index e82a430..9ee2e0b 100644 --- a/board/st/stm32mp1/stm32mp1.c +++ b/board/st/stm32mp1/stm32mp1.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include diff --git a/cmd/gpio.c b/cmd/gpio.c index eff36ab..5f4c7ff 100644 --- a/cmd/gpio.c +++ b/cmd/gpio.c @@ -11,6 +11,7 @@ #include #include #include +#include __weak int name_to_gpio(const char *name) { diff --git a/cmd/gpt.c b/cmd/gpt.c index 964702b..efaf1bc 100644 --- a/cmd/gpt.c +++ b/cmd/gpt.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include diff --git a/cmd/mtd.c b/cmd/mtd.c index a559b5a..f407c5e 100644 --- a/cmd/mtd.c +++ b/cmd/mtd.c @@ -14,6 +14,8 @@ #include #include #include +#include +#include #include diff --git a/cmd/ubi.c b/cmd/ubi.c index 22ba5b1..7fb4cdf 100644 --- a/cmd/ubi.c +++ b/cmd/ubi.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/adc/rockchip-saradc.c b/drivers/adc/rockchip-saradc.c index ed773b9..850142c 100644 --- a/drivers/adc/rockchip-saradc.c +++ b/drivers/adc/rockchip-saradc.c @@ -11,6 +11,7 @@ #include #include #include +#include #define SARADC_CTRL_CHN_MASK GENMASK(2, 0) #define SARADC_CTRL_POWER_CTRL BIT(3) diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c index ca8978f..7771114 100644 --- a/drivers/block/blk-uclass.c +++ b/drivers/block/blk-uclass.c @@ -10,6 +10,7 @@ #include #include #include +#include static const char *if_typename_str[IF_TYPE_COUNT] = { [IF_TYPE_IDE] = "ide", diff --git a/drivers/clk/altera/clk-arria10.c b/drivers/clk/altera/clk-arria10.c index 179869d..a39cd34 100644 --- a/drivers/clk/altera/clk-arria10.c +++ b/drivers/clk/altera/clk-arria10.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include diff --git a/drivers/clk/aspeed/clk_ast2500.c b/drivers/clk/aspeed/clk_ast2500.c index b3a3f3d..f4a441a 100644 --- a/drivers/clk/aspeed/clk_ast2500.c +++ b/drivers/clk/aspeed/clk_ast2500.c @@ -10,6 +10,7 @@ #include #include #include +#include /* * MAC Clock Delay settings, taken from Aspeed SDK diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c index 70b277e..d8562e1 100644 --- a/drivers/clk/at91/clk-generated.c +++ b/drivers/clk/at91/clk-generated.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include "pmc.h" diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c index 24af183..c3cb2ba 100644 --- a/drivers/clk/at91/clk-usb.c +++ b/drivers/clk/at91/clk-usb.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include "pmc.h" diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c index a5626c3..4141850 100644 --- a/drivers/clk/clk-composite.c +++ b/drivers/clk/clk-composite.c @@ -9,8 +9,10 @@ #include #include #include +#include #include #include +#include #include "clk.h" diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c index 822e09b..d79ae36 100644 --- a/drivers/clk/clk-divider.c +++ b/drivers/clk/clk-divider.c @@ -14,10 +14,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include diff --git a/drivers/clk/clk-fixed-factor.c b/drivers/clk/clk-fixed-factor.c index 711b058..2ceb6bb 100644 --- a/drivers/clk/clk-fixed-factor.c +++ b/drivers/clk/clk-fixed-factor.c @@ -9,10 +9,12 @@ #include #include #include +#include #include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_IMX_FIXED_FACTOR "ccf_clk_fixed_factor" diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c index 70b8794..6415c2f 100644 --- a/drivers/clk/clk-gate.c +++ b/drivers/clk/clk-gate.c @@ -12,9 +12,11 @@ #include #include #include +#include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_GATE "clk_gate" diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c index 5acc0b8..b9d2ae6 100644 --- a/drivers/clk/clk-mux.c +++ b/drivers/clk/clk-mux.c @@ -26,9 +26,11 @@ #include #include #include +#include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_CCF_MUX "ccf_clk_mux" diff --git a/drivers/clk/clk-ti-sci.c b/drivers/clk/clk-ti-sci.c index 8212435..b085a4f 100644 --- a/drivers/clk/clk-ti-sci.c +++ b/drivers/clk/clk-ti-sci.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index 49fa60e..6787d25 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -10,10 +10,12 @@ #include #include #include -#include #include #include +#include +#include #include +#include static inline const struct clk_ops *clk_dev_ops(struct udevice *dev) { diff --git a/drivers/clk/clk_fixed_factor.c b/drivers/clk/clk_fixed_factor.c index dcdb6dd..cf9c4ae 100644 --- a/drivers/clk/clk_fixed_factor.c +++ b/drivers/clk/clk_fixed_factor.c @@ -9,6 +9,7 @@ #include #include #include +#include struct clk_fixed_factor { struct clk parent; diff --git a/drivers/clk/clk_sandbox_ccf.c b/drivers/clk/clk_sandbox_ccf.c index 9fa2722..0903c81 100644 --- a/drivers/clk/clk_sandbox_ccf.c +++ b/drivers/clk/clk_sandbox_ccf.c @@ -11,8 +11,10 @@ #include #include #include +#include #include #include +#include /* * Sandbox implementation of CCF primitives necessary for clk-uclass testing diff --git a/drivers/clk/clk_sandbox_test.c b/drivers/clk/clk_sandbox_test.c index 4195466..628110d 100644 --- a/drivers/clk/clk_sandbox_test.c +++ b/drivers/clk/clk_sandbox_test.c @@ -7,6 +7,7 @@ #include #include #include +#include struct sandbox_clk_test { struct clk clks[SANDBOX_CLK_TEST_NON_DEVM_COUNT]; diff --git a/drivers/clk/clk_versal.c b/drivers/clk/clk_versal.c index 7e97b0c..66cbef1 100644 --- a/drivers/clk/clk_versal.c +++ b/drivers/clk/clk_versal.c @@ -13,6 +13,7 @@ #include #include #include +#include #define MAX_PARENT 100 #define MAX_NODES 6 diff --git a/drivers/clk/clk_zynqmp.c b/drivers/clk/clk_zynqmp.c index 72fc39f..a365b56 100644 --- a/drivers/clk/clk_zynqmp.c +++ b/drivers/clk/clk_zynqmp.c @@ -11,6 +11,7 @@ #include #include #include +#include static const resource_size_t zynqmp_crf_apb_clkc_base = 0xfd1a0020; static const resource_size_t zynqmp_crl_apb_clkc_base = 0xff5e0020; diff --git a/drivers/clk/imx/clk-composite-8m.c b/drivers/clk/imx/clk-composite-8m.c index 95120d6..3e99c52 100644 --- a/drivers/clk/imx/clk-composite-8m.c +++ b/drivers/clk/imx/clk-composite-8m.c @@ -8,9 +8,11 @@ #include #include #include +#include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_IMX_COMPOSITE "imx_clk_composite" diff --git a/drivers/clk/imx/clk-gate2.c b/drivers/clk/imx/clk-gate2.c index 1b9db6e..b38890d 100644 --- a/drivers/clk/imx/clk-gate2.c +++ b/drivers/clk/imx/clk-gate2.c @@ -19,9 +19,11 @@ #include #include #include +#include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_IMX_GATE2 "imx_clk_gate2" diff --git a/drivers/clk/imx/clk-pfd.c b/drivers/clk/imx/clk-pfd.c index 4ae55f5..b8be316 100644 --- a/drivers/clk/imx/clk-pfd.c +++ b/drivers/clk/imx/clk-pfd.c @@ -19,10 +19,12 @@ #include #include #include +#include #include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_IMX_PFD "imx_clk_pfd" diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c index 2246beb..1673eb2 100644 --- a/drivers/clk/imx/clk-pll14xx.c +++ b/drivers/clk/imx/clk-pll14xx.c @@ -10,7 +10,9 @@ #include #include #include +#include #include +#include #include #include #include diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c index 0cdb9df..525442d 100644 --- a/drivers/clk/imx/clk-pllv3.c +++ b/drivers/clk/imx/clk-pllv3.c @@ -10,9 +10,11 @@ #include #include #include +#include #include #include #include "clk.h" +#include #define UBOOT_DM_CLK_IMX_PLLV3_GENERIC "imx_clk_pllv3_generic" #define UBOOT_DM_CLK_IMX_PLLV3_SYS "imx_clk_pllv3_sys" diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c index 32cbf75..7035b59 100644 --- a/drivers/clk/meson/axg.c +++ b/drivers/clk/meson/axg.c @@ -15,6 +15,7 @@ #include #include #include "clk_meson.h" +#include #define XTAL_RATE 24000000 diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c index 1b2523b..686d94e 100644 --- a/drivers/clk/meson/g12a.c +++ b/drivers/clk/meson/g12a.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "clk_meson.h" diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index abb5337..e781e08 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -15,6 +15,7 @@ #include #include #include "clk_meson.h" +#include /* This driver support only basic clock tree operations : * - Can calculate clock frequency on a limited tree diff --git a/drivers/clk/rockchip/clk_rk3188.c b/drivers/clk/rockchip/clk_rk3188.c index 3ea9a81..82eea40 100644 --- a/drivers/clk/rockchip/clk_rk3188.c +++ b/drivers/clk/rockchip/clk_rk3188.c @@ -20,6 +20,7 @@ #include #include #include +#include #include enum rk3188_clk_type { diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c index cc1c1e8..2d42f6f 100644 --- a/drivers/clk/rockchip/clk_rk3288.c +++ b/drivers/clk/rockchip/clk_rk3288.c @@ -21,6 +21,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prci.c index ce0769f..8847178 100644 --- a/drivers/clk/sifive/fu540-prci.c +++ b/drivers/clk/sifive/fu540-prci.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include diff --git a/drivers/core/devres.c b/drivers/core/devres.c index 237b426..d98e80d 100644 --- a/drivers/core/devres.c +++ b/drivers/core/devres.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include diff --git a/drivers/dfu/dfu_mtd.c b/drivers/dfu/dfu_mtd.c index 9528a7b..36cd4e9 100644 --- a/drivers/dfu/dfu_mtd.c +++ b/drivers/dfu/dfu_mtd.c @@ -11,6 +11,7 @@ #include #include #include +#include static bool mtd_is_aligned_with_block_size(struct mtd_info *mtd, u64 size) { diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index 5820c82..ab516b5 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include #include @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c index 62b1dc2..5e37ee0 100644 --- a/drivers/firmware/ti_sci.c +++ b/drivers/firmware/ti_sci.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpio/dwapb_gpio.c b/drivers/gpio/dwapb_gpio.c index 2eb1547..58e3e7b 100644 --- a/drivers/gpio/dwapb_gpio.c +++ b/drivers/gpio/dwapb_gpio.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpio/mscc_sgpio.c b/drivers/gpio/mscc_sgpio.c index c899454..3378ebb 100644 --- a/drivers/gpio/mscc_sgpio.c +++ b/drivers/gpio/mscc_sgpio.c @@ -13,6 +13,7 @@ #include #include #include +#include #define MSCC_SGPIOS_PER_BANK 32 #define MSCC_SGPIO_BANK_DEPTH 4 diff --git a/drivers/i2c/ast_i2c.c b/drivers/i2c/ast_i2c.c index 35dc234..c84d75a 100644 --- a/drivers/i2c/ast_i2c.c +++ b/drivers/i2c/ast_i2c.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "ast_i2c.h" diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c index c8c5d2c..ae9cf16 100644 --- a/drivers/i2c/designware_i2c.c +++ b/drivers/i2c/designware_i2c.c @@ -12,6 +12,7 @@ #include #include #include "designware_i2c.h" +#include #ifdef CONFIG_SYS_I2C_DW_ENABLE_STATUS_UNSUPPORTED static int dw_i2c_enable(struct i2c_regs *i2c_base, bool enable) diff --git a/drivers/i2c/meson_i2c.c b/drivers/i2c/meson_i2c.c index ee59bac..bcf4516 100644 --- a/drivers/i2c/meson_i2c.c +++ b/drivers/i2c/meson_i2c.c @@ -7,6 +7,7 @@ #include #include #include +#include #define I2C_TIMEOUT_MS 100 diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c index e8b124f..29e283c 100644 --- a/drivers/i2c/muxes/i2c-mux-gpio.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/i2c/tegra_i2c.c b/drivers/i2c/tegra_i2c.c index 4be41dd..f37db31 100644 --- a/drivers/i2c/tegra_i2c.c +++ b/drivers/i2c/tegra_i2c.c @@ -18,6 +18,7 @@ #endif #include #include +#include enum i2c_type { TYPE_114, diff --git a/drivers/misc/microchip_flexcom.c b/drivers/misc/microchip_flexcom.c index 1bc19ed..4cff160 100644 --- a/drivers/misc/microchip_flexcom.c +++ b/drivers/misc/microchip_flexcom.c @@ -9,6 +9,7 @@ #include #include #include +#include struct microchip_flexcom_regs { u32 cr; diff --git a/drivers/misc/tegra186_bpmp.c b/drivers/misc/tegra186_bpmp.c index 89e27dd..489337c 100644 --- a/drivers/misc/tegra186_bpmp.c +++ b/drivers/misc/tegra186_bpmp.c @@ -12,6 +12,7 @@ #include #include #include +#include #define BPMP_IVC_FRAME_COUNT 1 #define BPMP_IVC_FRAME_SIZE 128 diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c index 41a9083..6053d3d 100644 --- a/drivers/mmc/am654_sdhci.c +++ b/drivers/mmc/am654_sdhci.c @@ -12,6 +12,7 @@ #include #include #include +#include /* CTL_CFG Registers */ #define CTL_CFG_2 0x14 diff --git a/drivers/mmc/aspeed_sdhci.c b/drivers/mmc/aspeed_sdhci.c index 1321ec3..8929e60 100644 --- a/drivers/mmc/aspeed_sdhci.c +++ b/drivers/mmc/aspeed_sdhci.c @@ -9,6 +9,7 @@ #include #include #include +#include struct aspeed_sdhci_plat { struct mmc_config cfg; diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index 462ad28..7cbd6e4 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index 5d0cfb2..5334723 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -47,6 +47,8 @@ #include #endif #include +#include +#include #include #include diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c index dd3d557..b440996 100644 --- a/drivers/mmc/rockchip_sdhci.c +++ b/drivers/mmc/rockchip_sdhci.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c index 22990fa..f022e93 100644 --- a/drivers/mmc/tegra_mmc.c +++ b/drivers/mmc/tegra_mmc.c @@ -14,6 +14,7 @@ #include #include #include +#include struct tegra_mmc_plat { struct mmc_config cfg; diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index 529eec9..83c32a3 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -10,6 +10,7 @@ #include #include #include "mmc_private.h" +#include #include #include #include diff --git a/drivers/mtd/mtd_uboot.c b/drivers/mtd/mtd_uboot.c index 8aeccb0..17df8b0 100644 --- a/drivers/mtd/mtd_uboot.c +++ b/drivers/mtd/mtd_uboot.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/mtdconcat.c b/drivers/mtd/mtdconcat.c index 592f58d..5621c3f 100644 --- a/drivers/mtd/mtdconcat.c +++ b/drivers/mtd/mtdconcat.c @@ -10,6 +10,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index 838c288..f8d3f4d 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index fd8d8e5..56acdbf 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/nand/bbt.c b/drivers/mtd/nand/bbt.c index f3d05e6..133670c 100644 --- a/drivers/mtd/nand/bbt.c +++ b/drivers/mtd/nand/bbt.c @@ -10,6 +10,7 @@ #define pr_fmt(fmt) "nand-bbt: " fmt #include +#include #include #ifndef __UBOOT__ #include diff --git a/drivers/mtd/nand/raw/atmel_nand.c b/drivers/mtd/nand/raw/atmel_nand.c index 31ad2cf..3526585 100644 --- a/drivers/mtd/nand/raw/atmel_nand.c +++ b/drivers/mtd/nand/raw/atmel_nand.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c index 16b0d44..ea7c65a 100644 --- a/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c +++ b/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c index ece9444..3a13615 100644 --- a/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c +++ b/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c index 3586baa..6aca011 100644 --- a/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c +++ b/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index 0745929..d3e3966 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -17,6 +17,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c b/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c index 8839483..bb8aea2 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c @@ -2,6 +2,7 @@ #include #include "brcmnand_compat.h" +#include static char *devm_kvasprintf(struct udevice *dev, gfp_t gfp, const char *fmt, va_list ap) diff --git a/drivers/mtd/nand/raw/denali.c b/drivers/mtd/nand/raw/denali.c index b5a98f5..235a5fc 100644 --- a/drivers/mtd/nand/raw/denali.c +++ b/drivers/mtd/nand/raw/denali.c @@ -8,8 +8,10 @@ #include #include #include +#include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c b/drivers/mtd/nand/raw/fsl_elbc_nand.c index cbf689a..0c1bd7b 100644 --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c index e2419e1..cf20238 100644 --- a/drivers/mtd/nand/raw/fsl_ifc_nand.c +++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/mxs_nand_spl.c b/drivers/mtd/nand/raw/mxs_nand_spl.c index 975a91a..a653dfa 100644 --- a/drivers/mtd/nand/raw/mxs_nand_spl.c +++ b/drivers/mtd/nand/raw/mxs_nand_spl.c @@ -7,6 +7,7 @@ #include #include #include +#include static struct mtd_info *mtd; static struct nand_chip nand_chip; diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index aba8ac0..49d5e26 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -34,6 +34,7 @@ #endif #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/nand_bbt.c b/drivers/mtd/nand/raw/nand_bbt.c index ba785c5..a6e6e0e 100644 --- a/drivers/mtd/nand/raw/nand_bbt.c +++ b/drivers/mtd/nand/raw/nand_bbt.c @@ -59,6 +59,7 @@ #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/nand_bch.c b/drivers/mtd/nand/raw/nand_bch.c index afa0418..11a22e0 100644 --- a/drivers/mtd/nand/raw/nand_bch.c +++ b/drivers/mtd/nand/raw/nand_bch.c @@ -8,6 +8,7 @@ */ #include +#include /*#include */ #include diff --git a/drivers/mtd/nand/raw/nand_timings.c b/drivers/mtd/nand/raw/nand_timings.c index c0545a4..e6aa790 100644 --- a/drivers/mtd/nand/raw/nand_timings.c +++ b/drivers/mtd/nand/raw/nand_timings.c @@ -9,6 +9,7 @@ * */ #include +#include #include #include diff --git a/drivers/mtd/nand/raw/nand_util.c b/drivers/mtd/nand/raw/nand_util.c index fc2235c..f3c8f7f 100644 --- a/drivers/mtd/nand/raw/nand_util.c +++ b/drivers/mtd/nand/raw/nand_util.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c index 4d2712d..e179a78 100644 --- a/drivers/mtd/nand/raw/pxa3xx_nand.c +++ b/drivers/mtd/nand/raw/pxa3xx_nand.c @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c index f3179cc..1c212da 100644 --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/sunxi_nand.c b/drivers/mtd/nand/raw/sunxi_nand.c index 3ccb168..cd5c31e 100644 --- a/drivers/mtd/nand/raw/sunxi_nand.c +++ b/drivers/mtd/nand/raw/sunxi_nand.c @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include #include diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index fba8cc0..d976c19 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #endif diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index 371e2ec..693bb78 100644 --- a/drivers/mtd/onenand/onenand_base.c +++ b/drivers/mtd/onenand/onenand_base.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include "linux/mtd/flashchip.h" diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c index d7020c1..b27e442 100644 --- a/drivers/mtd/spi/spi-nor-core.c +++ b/drivers/mtd/spi/spi-nor-core.c @@ -10,6 +10,7 @@ */ #include +#include #include #include #include diff --git a/drivers/mtd/ubi/attach.c b/drivers/mtd/ubi/attach.c index 19defd8..f02a06f 100644 --- a/drivers/mtd/ubi/attach.c +++ b/drivers/mtd/ubi/attach.c @@ -70,6 +70,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index 42c5270..7de65bc 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -17,6 +17,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/debug.c b/drivers/mtd/ubi/debug.c index f3d348d..aec2613 100644 --- a/drivers/mtd/ubi/debug.c +++ b/drivers/mtd/ubi/debug.c @@ -10,6 +10,7 @@ #include "ubi.h" #ifndef __UBOOT__ #include +#include #include #include #endif diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c index 0c8b998..8428278 100644 --- a/drivers/mtd/ubi/eba.c +++ b/drivers/mtd/ubi/eba.c @@ -29,6 +29,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c index 646c778..a3f5e3e 100644 --- a/drivers/mtd/ubi/fastmap.c +++ b/drivers/mtd/ubi/fastmap.c @@ -7,7 +7,9 @@ */ #ifndef __UBOOT__ +#include #include +#include #include #else #include diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c index 608dede..8ba22d8 100644 --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c @@ -74,6 +74,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/kapi.c b/drivers/mtd/ubi/kapi.c index bcea71b..41680cd 100644 --- a/drivers/mtd/ubi/kapi.c +++ b/drivers/mtd/ubi/kapi.c @@ -8,6 +8,7 @@ /* This file mostly implements UBI kernel API functions */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index a2ff1b5..2114abb 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c @@ -11,6 +11,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/vtbl.c b/drivers/mtd/ubi/vtbl.c index 9c46ef6..123c2f3 100644 --- a/drivers/mtd/ubi/vtbl.c +++ b/drivers/mtd/ubi/vtbl.c @@ -46,6 +46,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index 89ca90f..4038b7f 100644 --- a/drivers/mtd/ubi/wl.c +++ b/drivers/mtd/ubi/wl.c @@ -86,6 +86,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 19fc34f..aa33fd5 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/dwmac_socfpga.c b/drivers/net/dwmac_socfpga.c index b7bf5db..66a5f95 100644 --- a/drivers/net/dwmac_socfpga.c +++ b/drivers/net/dwmac_socfpga.c @@ -14,6 +14,7 @@ #include #include #include "designware.h" +#include #include diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c index 5fe8500..505fabd 100644 --- a/drivers/net/mvneta.c +++ b/drivers/net/mvneta.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c index b234b41..105fdc9 100644 --- a/drivers/net/mvpp2.c +++ b/drivers/net/mvpp2.c @@ -17,12 +17,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c index a43793c..08935d9 100644 --- a/drivers/net/phy/dp83867.c +++ b/drivers/net/phy/dp83867.c @@ -5,6 +5,7 @@ */ #include #include +#include #include #include diff --git a/drivers/net/sni_ave.c b/drivers/net/sni_ave.c index 6d333e2..64e92ab 100644 --- a/drivers/net/sni_ave.c +++ b/drivers/net/sni_ave.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c index c3fe8e3..3d9d520 100644 --- a/drivers/net/zynq_gem.c +++ b/drivers/net/zynq_gem.c @@ -25,6 +25,7 @@ #include #include #include +#include #include /* Bit/mask specification */ diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c index 433640d..8cfd071 100644 --- a/drivers/pci/pcie_dw_ti.c +++ b/drivers/pci/pcie_dw_ti.c @@ -12,6 +12,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/pci/pcie_mediatek.c b/drivers/pci/pcie_mediatek.c index 0b412ac..eabcb66 100644 --- a/drivers/pci/pcie_mediatek.c +++ b/drivers/pci/pcie_mediatek.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index f730905..2c12fa6 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -21,6 +21,7 @@ #include #include #include +#include #define REG_ISCR 0x00 #define REG_PHYCTL_A10 0x04 diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c index 9c24692..d52f42d 100644 --- a/drivers/phy/marvell/comphy_core.c +++ b/drivers/phy/marvell/comphy_core.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/phy/omap-usb2-phy.c b/drivers/phy/omap-usb2-phy.c index 923f2c1..160a386 100644 --- a/drivers/phy/omap-usb2-phy.c +++ b/drivers/phy/omap-usb2-phy.c @@ -13,6 +13,7 @@ #include #include #include +#include #define OMAP_USB2_CALIBRATE_FALSE_DISCONNECT BIT(0) diff --git a/drivers/phy/phy-mtk-tphy.c b/drivers/phy/phy-mtk-tphy.c index fd33062..255d722 100644 --- a/drivers/phy/phy-mtk-tphy.c +++ b/drivers/phy/phy-mtk-tphy.c @@ -11,6 +11,7 @@ #include #include #include +#include #include diff --git a/drivers/phy/phy-ti-am654.c b/drivers/phy/phy-ti-am654.c index 3949012..1c7db0d 100644 --- a/drivers/phy/phy-ti-am654.c +++ b/drivers/phy/phy-ti-am654.c @@ -18,6 +18,7 @@ #include #include #include +#include #define CMU_R07C 0x7c #define CMU_MASTER_CDN_O BIT(24) diff --git a/drivers/phy/ti-pipe3-phy.c b/drivers/phy/ti-pipe3-phy.c index 0c59552..7fc3631 100644 --- a/drivers/phy/ti-pipe3-phy.c +++ b/drivers/phy/ti-pipe3-phy.c @@ -12,6 +12,7 @@ #include #include #include +#include /* PLLCTRL Registers */ #define PLL_STATUS 0x00000004 diff --git a/drivers/pinctrl/intel/pinctrl.c b/drivers/pinctrl/intel/pinctrl.c index 5bf5d8b..42618cf 100644 --- a/drivers/pinctrl/intel/pinctrl.c +++ b/drivers/pinctrl/intel/pinctrl.c @@ -28,6 +28,7 @@ #include #include #include +#include #define GPIO_DW_SIZE(x) (sizeof(u32) * (x)) #define PAD_CFG_OFFSET(x, dw_num) ((x) + GPIO_DW_SIZE(dw_num)) diff --git a/drivers/pinctrl/mscc/mscc-common.c b/drivers/pinctrl/mscc/mscc-common.c index bd3e6ea..2d76c41 100644 --- a/drivers/pinctrl/mscc/mscc-common.c +++ b/drivers/pinctrl/mscc/mscc-common.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c index f197f4a..da1f091 100644 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c index 69c4144..77a8a53 100644 --- a/drivers/pinctrl/nxp/pinctrl-imx.c +++ b/drivers/pinctrl/nxp/pinctrl-imx.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/pinctrl/nxp/pinctrl-mxs.c b/drivers/pinctrl/nxp/pinctrl-mxs.c index 6f6ca84..5147bdc 100644 --- a/drivers/pinctrl/nxp/pinctrl-mxs.c +++ b/drivers/pinctrl/nxp/pinctrl-mxs.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c index 3a235ae..e0380c3 100644 --- a/drivers/pinctrl/pinctrl_stm32.c +++ b/drivers/pinctrl/pinctrl_stm32.c @@ -6,6 +6,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/pinctrl/renesas/pfc.c b/drivers/pinctrl/renesas/pfc.c index 5ec560e..5ee1161 100644 --- a/drivers/pinctrl/renesas/pfc.c +++ b/drivers/pinctrl/renesas/pfc.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/power/domain/meson-ee-pwrc.c b/drivers/power/domain/meson-ee-pwrc.c index 7f5d13e..aa11866 100644 --- a/drivers/power/domain/meson-ee-pwrc.c +++ b/drivers/power/domain/meson-ee-pwrc.c @@ -13,6 +13,7 @@ #include #include #include +#include /* AO Offsets */ diff --git a/drivers/power/domain/meson-gx-pwrc-vpu.c b/drivers/power/domain/meson-gx-pwrc-vpu.c index bd69aea..02f7354 100644 --- a/drivers/power/domain/meson-gx-pwrc-vpu.c +++ b/drivers/power/domain/meson-gx-pwrc-vpu.c @@ -13,6 +13,7 @@ #include #include #include +#include enum { VPU_PWRC_COMPATIBLE_GX = 0, diff --git a/drivers/power/domain/mtk-power-domain.c b/drivers/power/domain/mtk-power-domain.c index 6ea4fe9..789fc5a 100644 --- a/drivers/power/domain/mtk-power-domain.c +++ b/drivers/power/domain/mtk-power-domain.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include diff --git a/drivers/power/domain/ti-sci-power-domain.c b/drivers/power/domain/ti-sci-power-domain.c index b59af2b..3866db5 100644 --- a/drivers/power/domain/ti-sci-power-domain.c +++ b/drivers/power/domain/ti-sci-power-domain.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include diff --git a/drivers/power/regulator/pbias_regulator.c b/drivers/power/regulator/pbias_regulator.c index 88dc9f2..60255ee 100644 --- a/drivers/power/regulator/pbias_regulator.c +++ b/drivers/power/regulator/pbias_regulator.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/ram/rockchip/dmc-rk3368.c b/drivers/ram/rockchip/dmc-rk3368.c index 8addee8..2d82a17 100644 --- a/drivers/ram/rockchip/dmc-rk3368.c +++ b/drivers/ram/rockchip/dmc-rk3368.c @@ -19,6 +19,7 @@ #include #include #include +#include struct dram_info { struct ram_info info; diff --git a/drivers/remoteproc/rproc-elf-loader.c b/drivers/remoteproc/rproc-elf-loader.c index d234592..bf44beb 100644 --- a/drivers/remoteproc/rproc-elf-loader.c +++ b/drivers/remoteproc/rproc-elf-loader.c @@ -7,6 +7,7 @@ #include #include #include +#include /** * struct resource_table - firmware resource table header diff --git a/drivers/remoteproc/stm32_copro.c b/drivers/remoteproc/stm32_copro.c index c25488f..80e8dff 100644 --- a/drivers/remoteproc/stm32_copro.c +++ b/drivers/remoteproc/stm32_copro.c @@ -12,6 +12,7 @@ #include #include #include +#include #define RCC_GCR_HOLD_BOOT 0 #define RCC_GCR_RELEASE_BOOT 1 diff --git a/drivers/remoteproc/ti_k3_arm64_rproc.c b/drivers/remoteproc/ti_k3_arm64_rproc.c index 3e35293..d048cf4 100644 --- a/drivers/remoteproc/ti_k3_arm64_rproc.c +++ b/drivers/remoteproc/ti_k3_arm64_rproc.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "ti_sci_proc.h" diff --git a/drivers/remoteproc/ti_k3_dsp_rproc.c b/drivers/remoteproc/ti_k3_dsp_rproc.c index c5dc6b2..913aca3 100644 --- a/drivers/remoteproc/ti_k3_dsp_rproc.c +++ b/drivers/remoteproc/ti_k3_dsp_rproc.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "ti_sci_proc.h" diff --git a/drivers/remoteproc/ti_k3_r5f_rproc.c b/drivers/remoteproc/ti_k3_r5f_rproc.c index ae1e4b9..cecfb0e 100644 --- a/drivers/remoteproc/ti_k3_r5f_rproc.c +++ b/drivers/remoteproc/ti_k3_r5f_rproc.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include "ti_sci_proc.h" diff --git a/drivers/reset/reset-mediatek.c b/drivers/reset/reset-mediatek.c index cfbf2af..4684cbf 100644 --- a/drivers/reset/reset-mediatek.c +++ b/drivers/reset/reset-mediatek.c @@ -12,6 +12,7 @@ #include #include #include +#include struct mediatek_reset_priv { struct regmap *regmap; diff --git a/drivers/reset/reset-ti-sci.c b/drivers/reset/reset-ti-sci.c index 7b6f736..99e3d9a 100644 --- a/drivers/reset/reset-ti-sci.c +++ b/drivers/reset/reset-ti-sci.c @@ -12,6 +12,7 @@ #include #include #include +#include #include /** diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c index bf1cba4..8e6c0a4 100644 --- a/drivers/reset/reset-uclass.c +++ b/drivers/reset/reset-uclass.c @@ -8,6 +8,7 @@ #include #include #include +#include static inline struct reset_ops *reset_dev_ops(struct udevice *dev) { diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 31f6cfe..1fcbc35 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/drivers/serial/serial_mtk.c b/drivers/serial/serial_mtk.c index 18530a4..e63f230 100644 --- a/drivers/serial/serial_mtk.c +++ b/drivers/serial/serial_mtk.c @@ -15,6 +15,7 @@ #include #include #include +#include struct mtk_serial_regs { u32 rbr; @@ -454,4 +455,4 @@ static inline void _debug_uart_putc(int ch) DEBUG_UART_FUNCS -#endif \ No newline at end of file +#endif diff --git a/drivers/serial/serial_omap.c b/drivers/serial/serial_omap.c index a31d737..4d4d919 100644 --- a/drivers/serial/serial_omap.c +++ b/drivers/serial/serial_omap.c @@ -12,6 +12,7 @@ #include #include #include +#include #ifndef CONFIG_SYS_NS16550_CLK #define CONFIG_SYS_NS16550_CLK 0 diff --git a/drivers/serial/serial_sifive.c b/drivers/serial/serial_sifive.c index c142ccd..5a02f0c 100644 --- a/drivers/serial/serial_sifive.c +++ b/drivers/serial/serial_sifive.c @@ -13,6 +13,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/serial/serial_zynq.c b/drivers/serial/serial_zynq.c index 7e486a6..c073759 100644 --- a/drivers/serial/serial_zynq.c +++ b/drivers/serial/serial_zynq.c @@ -14,6 +14,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/smem/msm_smem.c b/drivers/smem/msm_smem.c index 9fa653a..711ce62 100644 --- a/drivers/smem/msm_smem.c +++ b/drivers/smem/msm_smem.c @@ -8,9 +8,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include diff --git a/drivers/soc/ti/k3-navss-ringacc.c b/drivers/soc/ti/k3-navss-ringacc.c index 17949d2..97c046b 100644 --- a/drivers/soc/ti/k3-navss-ringacc.c +++ b/drivers/soc/ti/k3-navss-ringacc.c @@ -12,9 +12,11 @@ #include #include #include +#include #include #include #include +#include #include #include diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c index 7d9a540..195ea5f 100644 --- a/drivers/spi/atmel-quadspi.c +++ b/drivers/spi/atmel-quadspi.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c index f8b6940..0b503dd 100644 --- a/drivers/spi/cadence_qspi.c +++ b/drivers/spi/cadence_qspi.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include "cadence_qspi.h" diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c index cc358bd..b8cf8dd 100644 --- a/drivers/spi/spi-mem.c +++ b/drivers/spi/spi-mem.c @@ -7,6 +7,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include "internals.h" diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c index 664b9ca..e3750b0 100644 --- a/drivers/spi/ti_qspi.c +++ b/drivers/spi/ti_qspi.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/zynqmp_gqspi.c b/drivers/spi/zynqmp_gqspi.c index 4cca418..c05d46e 100644 --- a/drivers/spi/zynqmp_gqspi.c +++ b/drivers/spi/zynqmp_gqspi.c @@ -16,6 +16,7 @@ #include #include #include +#include #define GQSPI_GFIFO_STRT_MODE_MASK BIT(29) #define GQSPI_CONFIG_MODE_EN_MASK (3 << 30) diff --git a/drivers/sysreset/sysreset-ti-sci.c b/drivers/sysreset/sysreset-ti-sci.c index 890a607..6caea3a 100644 --- a/drivers/sysreset/sysreset-ti-sci.c +++ b/drivers/sysreset/sysreset-ti-sci.c @@ -10,6 +10,7 @@ #include #include #include +#include #include /** diff --git a/drivers/sysreset/sysreset_syscon.c b/drivers/sysreset/sysreset_syscon.c index d0e586f..f64701a 100644 --- a/drivers/sysreset/sysreset_syscon.c +++ b/drivers/sysreset/sysreset_syscon.c @@ -13,6 +13,7 @@ #include #include #include +#include struct syscon_reboot_priv { struct regmap *regmap; diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c index 7f870f2..a7b175e 100644 --- a/drivers/tee/optee/core.c +++ b/drivers/tee/optee/core.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include "optee_smc.h" diff --git a/drivers/timer/ast_timer.c b/drivers/timer/ast_timer.c index 21ffdbf..3838601 100644 --- a/drivers/timer/ast_timer.c +++ b/drivers/timer/ast_timer.c @@ -9,6 +9,7 @@ #include #include #include +#include #define AST_TICK_TIMER 1 #define AST_TMC_RELOAD_VAL 0xffffffff diff --git a/drivers/timer/cadence-ttc.c b/drivers/timer/cadence-ttc.c index 75263c5..ed48a14 100644 --- a/drivers/timer/cadence-ttc.c +++ b/drivers/timer/cadence-ttc.c @@ -8,6 +8,7 @@ #include #include #include +#include #define CNT_CNTRL_RESET BIT(4) diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c index 97a4c74..b619200 100644 --- a/drivers/timer/timer-uclass.c +++ b/drivers/timer/timer-uclass.c @@ -11,6 +11,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/ufs/cdns-platform.c b/drivers/ufs/cdns-platform.c index c80f425..5bd0c1e 100644 --- a/drivers/ufs/cdns-platform.c +++ b/drivers/ufs/cdns-platform.c @@ -9,6 +9,7 @@ #include #include #include +#include #include "ufs.h" diff --git a/drivers/ufs/ti-j721e-ufs.c b/drivers/ufs/ti-j721e-ufs.c index 24ec3eb..6e4d0cd 100644 --- a/drivers/ufs/ti-j721e-ufs.c +++ b/drivers/ufs/ti-j721e-ufs.c @@ -7,6 +7,7 @@ #include #include #include +#include #define UFS_SS_CTRL 0x4 #define UFS_SS_RST_N_PCS BIT(0) diff --git a/drivers/ufs/ufs.c b/drivers/ufs/ufs.c index 2330686..512c63a 100644 --- a/drivers/ufs/ufs.c +++ b/drivers/ufs/ufs.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c index 8c8e021..6f5e5af 100644 --- a/drivers/usb/cdns3/core.c +++ b/drivers/usb/cdns3/core.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c index 0e02b77..e095760 100644 --- a/drivers/usb/cdns3/gadget.c +++ b/drivers/usb/cdns3/gadget.c @@ -57,6 +57,8 @@ */ #include +#include +#include #include #include #include diff --git a/drivers/usb/cdns3/host.c b/drivers/usb/cdns3/host.c index 425d9d0..b44e7df 100644 --- a/drivers/usb/cdns3/host.c +++ b/drivers/usb/cdns3/host.c @@ -9,6 +9,7 @@ * Pawel Laszczak */ #include +#include #include #include #include diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 77c555e..cbf21d3 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -18,6 +18,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index 8b19140..7ffec12 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 4353dff..677607a 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/dwc3/ti_usb_phy.c b/drivers/usb/dwc3/ti_usb_phy.c index e7ea12c..a908682 100644 --- a/drivers/usb/dwc3/ti_usb_phy.c +++ b/drivers/usb/dwc3/ti_usb_phy.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c index 2a6626b..13dec51 100644 --- a/drivers/usb/gadget/at91_udc.c +++ b/drivers/usb/gadget/at91_udc.c @@ -14,6 +14,8 @@ #undef PACKET_TRACE #include +#include +#include #include #include #include diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 4a6f427..b2b2793 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -7,6 +7,7 @@ */ #undef DEBUG +#include #include #include diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index 49f342e..b834a1c 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c index c1e6506..5250fc8 100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@ -245,6 +245,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c index 09c0a30..6e1e57f 100644 --- a/drivers/usb/gadget/pxa25x_udc.c +++ b/drivers/usb/gadget/pxa25x_udc.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/gadget/udc/udc-core.c b/drivers/usb/gadget/udc/udc-core.c index 8d1d90e..52384b9 100644 --- a/drivers/usb/gadget/udc/udc-core.c +++ b/drivers/usb/gadget/udc/udc-core.c @@ -13,6 +13,7 @@ * usb_ */ +#include #include #include #include diff --git a/drivers/usb/host/ehci-generic.c b/drivers/usb/host/ehci-generic.c index 682a070..80ac876 100644 --- a/drivers/usb/host/ehci-generic.c +++ b/drivers/usb/host/ehci-generic.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c index 233df57..29a7020 100644 --- a/drivers/usb/host/ohci-da8xx.c +++ b/drivers/usb/host/ohci-da8xx.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/host/ohci-generic.c b/drivers/usb/host/ohci-generic.c index 916ea0b..7b6ec51 100644 --- a/drivers/usb/host/ohci-generic.c +++ b/drivers/usb/host/ohci-generic.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/musb-new/am35x.c b/drivers/usb/musb-new/am35x.c index bda099c..58cde22 100644 --- a/drivers/usb/musb-new/am35x.c +++ b/drivers/usb/musb-new/am35x.c @@ -12,6 +12,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_core.c b/drivers/usb/musb-new/musb_core.c index ab5e3aa..cc6e0a7 100644 --- a/drivers/usb/musb-new/musb_core.c +++ b/drivers/usb/musb-new/musb_core.c @@ -65,6 +65,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_dsps.c b/drivers/usb/musb-new/musb_dsps.c index 0c794b3..d342eeb 100644 --- a/drivers/usb/musb-new/musb_dsps.c +++ b/drivers/usb/musb-new/musb_dsps.c @@ -15,6 +15,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_gadget.c b/drivers/usb/musb-new/musb_gadget.c index b35d33f..74b6457 100644 --- a/drivers/usb/musb-new/musb_gadget.c +++ b/drivers/usb/musb-new/musb_gadget.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_host.c b/drivers/usb/musb-new/musb_host.c index 8e92ade..55ad8ea 100644 --- a/drivers/usb/musb-new/musb_host.c +++ b/drivers/usb/musb-new/musb_host.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_uboot.c b/drivers/usb/musb-new/musb_uboot.c index 9eb5934..f4d0e1f 100644 --- a/drivers/usb/musb-new/musb_uboot.c +++ b/drivers/usb/musb-new/musb_uboot.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c index 05059ce..8a45b05 100644 --- a/drivers/usb/musb-new/omap2430.c +++ b/drivers/usb/musb-new/omap2430.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/exynos/exynos_mipi_dsi.c b/drivers/video/exynos/exynos_mipi_dsi.c index 74a66e8..ad5ef93 100644 --- a/drivers/video/exynos/exynos_mipi_dsi.c +++ b/drivers/video/exynos/exynos_mipi_dsi.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/mipi_dsi.c b/drivers/video/mipi_dsi.c index cdc3ef5..ecacea1 100644 --- a/drivers/video/mipi_dsi.c +++ b/drivers/video/mipi_dsi.c @@ -38,6 +38,7 @@ #include #include #include +#include /** * DOC: dsi helpers diff --git a/drivers/video/rockchip/rk3288_mipi.c b/drivers/video/rockchip/rk3288_mipi.c index 65891ce..f4444b9 100644 --- a/drivers/video/rockchip/rk3288_mipi.c +++ b/drivers/video/rockchip/rk3288_mipi.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/rockchip/rk3399_mipi.c b/drivers/video/rockchip/rk3399_mipi.c index a5b7ba6..74ebe77 100644 --- a/drivers/video/rockchip/rk3399_mipi.c +++ b/drivers/video/rockchip/rk3399_mipi.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c index b56c3f3..e91d4df 100644 --- a/drivers/video/rockchip/rk_vop.c +++ b/drivers/video/rockchip/rk_vop.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "rk_vop.h" diff --git a/drivers/video/tegra124/sor.c b/drivers/video/tegra124/sor.c index 172bb14..8dc3df6 100644 --- a/drivers/video/tegra124/sor.c +++ b/drivers/video/tegra124/sor.c @@ -15,6 +15,7 @@ #include #include "displayport.h" #include "sor.h" +#include #define DEBUG_SOR 0 diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index a67b354..60ece13 100644 --- a/drivers/virtio/virtio_mmio.c +++ b/drivers/virtio/virtio_mmio.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "virtio_mmio.h" diff --git a/drivers/virtio/virtio_pci_legacy.c b/drivers/virtio/virtio_pci_legacy.c index 202e5ab..d9be260 100644 --- a/drivers/virtio/virtio_pci_legacy.c +++ b/drivers/virtio/virtio_pci_legacy.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "virtio_pci.h" diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c index da76aea..4673f4a 100644 --- a/drivers/virtio/virtio_pci_modern.c +++ b/drivers/virtio/virtio_pci_modern.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "virtio_pci.h" diff --git a/drivers/virtio/virtio_sandbox.c b/drivers/virtio/virtio_sandbox.c index 2addb1e..61f6a96 100644 --- a/drivers/virtio/virtio_sandbox.c +++ b/drivers/virtio/virtio_sandbox.c @@ -11,6 +11,7 @@ #include #include #include +#include #include struct virtio_sandbox_priv { diff --git a/drivers/watchdog/ast_wdt.c b/drivers/watchdog/ast_wdt.c index d344d54..fe2f6be 100644 --- a/drivers/watchdog/ast_wdt.c +++ b/drivers/watchdog/ast_wdt.c @@ -9,6 +9,7 @@ #include #include #include +#include #define WDT_AST2500 2500 #define WDT_AST2400 2400 diff --git a/drivers/watchdog/cdns_wdt.c b/drivers/watchdog/cdns_wdt.c index 6a608b6..13952e1 100644 --- a/drivers/watchdog/cdns_wdt.c +++ b/drivers/watchdog/cdns_wdt.c @@ -11,6 +11,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c index f1e781e..ca3ccbe 100644 --- a/drivers/watchdog/sp805_wdt.c +++ b/drivers/watchdog/sp805_wdt.c @@ -13,6 +13,7 @@ #include #include #include +#include #define WDTLOAD 0x000 #define WDTCONTROL 0x008 diff --git a/drivers/watchdog/xilinx_tb_wdt.c b/drivers/watchdog/xilinx_tb_wdt.c index 929c8e6..5580764 100644 --- a/drivers/watchdog/xilinx_tb_wdt.c +++ b/drivers/watchdog/xilinx_tb_wdt.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #define XWT_CSR0_WRS_MASK 0x00000008 /* Reset status Mask */ diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c index 782aa9a..6835f86 100644 --- a/fs/ubifs/debug.c +++ b/fs/ubifs/debug.c @@ -16,6 +16,7 @@ */ #include +#include #ifndef __UBOOT__ #include diff --git a/fs/ubifs/gc.c b/fs/ubifs/gc.c index 42f22a4..f923d07 100644 --- a/fs/ubifs/gc.c +++ b/fs/ubifs/gc.c @@ -41,6 +41,7 @@ * good, and GC takes extra care when moving them. */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c index 7fe94e1..8148055 100644 --- a/fs/ubifs/io.c +++ b/fs/ubifs/io.c @@ -59,6 +59,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/log.c b/fs/ubifs/log.c index 331a891..5cbb8aa 100644 --- a/fs/ubifs/log.c +++ b/fs/ubifs/log.c @@ -16,6 +16,7 @@ */ #ifdef __UBOOT__ +#include #include #endif #include "ubifs.h" diff --git a/fs/ubifs/lpt.c b/fs/ubifs/lpt.c index c0076bd..ebfb1d4 100644 --- a/fs/ubifs/lpt.c +++ b/fs/ubifs/lpt.c @@ -33,6 +33,7 @@ #include "ubifs.h" #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/lpt_commit.c b/fs/ubifs/lpt_commit.c index 2602162..aa5956c 100644 --- a/fs/ubifs/lpt_commit.c +++ b/fs/ubifs/lpt_commit.c @@ -14,6 +14,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/master.c b/fs/ubifs/master.c index 5654d45..2740aae 100644 --- a/fs/ubifs/master.c +++ b/fs/ubifs/master.c @@ -12,6 +12,7 @@ #include "ubifs.h" #ifdef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/orphan.c b/fs/ubifs/orphan.c index c807ff1..a67b3ee 100644 --- a/fs/ubifs/orphan.c +++ b/fs/ubifs/orphan.c @@ -7,6 +7,7 @@ * Author: Adrian Hunter */ +#include #include #include "ubifs.h" diff --git a/fs/ubifs/recovery.c b/fs/ubifs/recovery.c index b568012..3388efe 100644 --- a/fs/ubifs/recovery.c +++ b/fs/ubifs/recovery.c @@ -36,6 +36,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/replay.c b/fs/ubifs/replay.c index 4064157..3a9fa41 100644 --- a/fs/ubifs/replay.c +++ b/fs/ubifs/replay.c @@ -21,6 +21,7 @@ */ #ifdef __UBOOT__ +#include #include #include #endif diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c index 52db611..599e1a3 100644 --- a/fs/ubifs/sb.c +++ b/fs/ubifs/sb.c @@ -16,6 +16,7 @@ #include "ubifs.h" #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/scan.c b/fs/ubifs/scan.c index 8ff668e..876a6ee 100644 --- a/fs/ubifs/scan.c +++ b/fs/ubifs/scan.c @@ -17,6 +17,7 @@ #ifdef __UBOOT__ #include +#include #include #endif #include "ubifs.h" diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index 9939b44..b385136 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c @@ -15,6 +15,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/tnc.c b/fs/ubifs/tnc.c index 8afc08a..fc6fdaf 100644 --- a/fs/ubifs/tnc.c +++ b/fs/ubifs/tnc.c @@ -19,6 +19,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/fs/ubifs/tnc_misc.c b/fs/ubifs/tnc_misc.c index b8ea7e9..dfa9e91 100644 --- a/fs/ubifs/tnc_misc.c +++ b/fs/ubifs/tnc_misc.c @@ -16,6 +16,7 @@ */ #ifdef __UBOOT__ +#include #include #endif #include "ubifs.h" diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c index 1ffdfe0..3884515 100644 --- a/fs/ubifs/ubifs.c +++ b/fs/ubifs/ubifs.c @@ -16,6 +16,7 @@ #include #include #include "ubifs.h" +#include #include #include diff --git a/fs/yaffs2/yaffs_allocator.c b/fs/yaffs2/yaffs_allocator.c index 611061f..961dc22 100644 --- a/fs/yaffs2/yaffs_allocator.c +++ b/fs/yaffs2/yaffs_allocator.c @@ -15,6 +15,7 @@ #include "yaffs_guts.h" #include "yaffs_trace.h" #include "yportenv.h" +#include /* * Each entry in yaffs_tnode_list and yaffs_obj_list hold blocks diff --git a/fs/yaffs2/yaffs_checkptrw.c b/fs/yaffs2/yaffs_checkptrw.c index 997a618..628f02b 100644 --- a/fs/yaffs2/yaffs_checkptrw.c +++ b/fs/yaffs2/yaffs_checkptrw.c @@ -13,6 +13,7 @@ #include "yaffs_checkptrw.h" #include "yaffs_getblockinfo.h" +#include static int yaffs2_checkpt_space_ok(struct yaffs_dev *dev) { diff --git a/fs/yaffs2/yaffs_guts.c b/fs/yaffs2/yaffs_guts.c index c8b27ad..e13a732 100644 --- a/fs/yaffs2/yaffs_guts.c +++ b/fs/yaffs2/yaffs_guts.c @@ -13,6 +13,7 @@ #include "yportenv.h" #include "yaffs_trace.h" +#include #include "yaffs_guts.h" #include "yaffs_getblockinfo.h" diff --git a/fs/yaffs2/yaffs_summary.c b/fs/yaffs2/yaffs_summary.c index e9e1b5d..4f9449a 100644 --- a/fs/yaffs2/yaffs_summary.c +++ b/fs/yaffs2/yaffs_summary.c @@ -28,6 +28,7 @@ #include "yaffs_nand.h" #include "yaffs_getblockinfo.h" #include "yaffs_bitmap.h" +#include /* * The summary is built up in an array of summary tags. diff --git a/fs/yaffs2/yaffs_yaffs1.c b/fs/yaffs2/yaffs_yaffs1.c index 357d8f7..8c176b9 100644 --- a/fs/yaffs2/yaffs_yaffs1.c +++ b/fs/yaffs2/yaffs_yaffs1.c @@ -18,6 +18,7 @@ #include "yaffs_getblockinfo.h" #include "yaffs_nand.h" #include "yaffs_attribs.h" +#include int yaffs1_scan(struct yaffs_dev *dev) { diff --git a/fs/yaffs2/yaffs_yaffs2.c b/fs/yaffs2/yaffs_yaffs2.c index f76dcae..14d497e 100644 --- a/fs/yaffs2/yaffs_yaffs2.c +++ b/fs/yaffs2/yaffs_yaffs2.c @@ -21,6 +21,7 @@ #include "yaffs_verify.h" #include "yaffs_attribs.h" #include "yaffs_summary.h" +#include /* * Checkpoints are really no benefit on very small partitions. diff --git a/fs/yaffs2/yaffsfs.c b/fs/yaffs2/yaffsfs.c index 47abc6b..510faae 100644 --- a/fs/yaffs2/yaffsfs.c +++ b/fs/yaffs2/yaffsfs.c @@ -17,6 +17,7 @@ #include "yaffscfg.h" #include "yportenv.h" #include "yaffs_trace.h" +#include #define YAFFSFS_MAX_SYMLINK_DEREFERENCES 5 diff --git a/include/dm/device.h b/include/dm/device.h index 517ae7f..2d8b716 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -803,8 +803,6 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev) */ int dm_scan_fdt_dev(struct udevice *dev); -#include - /* * REVISIT: * remove the following after resolving conflicts with diff --git a/include/dm/devres.h b/include/dm/devres.h index 9c69196..17bb1ee 100644 --- a/include/dm/devres.h +++ b/include/dm/devres.h @@ -11,6 +11,10 @@ #ifndef _DM_DEVRES_H #define _DM_DEVRES_H +#include + +struct udevice; + /* device resource management */ typedef void (*dr_release_t)(struct udevice *dev, void *res); typedef int (*dr_match_t)(struct udevice *dev, void *res, void *match_data); diff --git a/lib/bch.c b/lib/bch.c index c4fac77..86709cc 100644 --- a/lib/bch.c +++ b/lib/bch.c @@ -56,6 +56,7 @@ #ifndef USE_HOSTCC #include #include +#include #include #else diff --git a/lib/crypto/asymmetric_type.c b/lib/crypto/asymmetric_type.c index e04666c..7aa5509 100644 --- a/lib/crypto/asymmetric_type.c +++ b/lib/crypto/asymmetric_type.c @@ -7,6 +7,7 @@ * Written by David Howells (dhowells@redhat.com) */ #ifndef __UBOOT__ +#include #include #include #endif @@ -14,6 +15,7 @@ #ifdef __UBOOT__ #include #include +#include #include #else #include diff --git a/lib/crypto/pkcs7_parser.c b/lib/crypto/pkcs7_parser.c index bf9e7e8..f5dda11 100644 --- a/lib/crypto/pkcs7_parser.c +++ b/lib/crypto/pkcs7_parser.c @@ -7,6 +7,7 @@ #define pr_fmt(fmt) "PKCS7: "fmt #ifdef __UBOOT__ +#include #include #include #endif diff --git a/lib/crypto/public_key.c b/lib/crypto/public_key.c index 6343774..8b48217 100644 --- a/lib/crypto/public_key.c +++ b/lib/crypto/public_key.c @@ -9,7 +9,9 @@ #define pr_fmt(fmt) "PKEY: "fmt #ifdef __UBOOT__ +#include #include +#include #else #include #include diff --git a/lib/crypto/x509_cert_parser.c b/lib/crypto/x509_cert_parser.c index e6d2a42..4e41cff 100644 --- a/lib/crypto/x509_cert_parser.c +++ b/lib/crypto/x509_cert_parser.c @@ -6,6 +6,7 @@ */ #define pr_fmt(fmt) "X.509: "fmt +#include #include #ifndef __UBOOT__ #include diff --git a/lib/crypto/x509_public_key.c b/lib/crypto/x509_public_key.c index 04bdb67..676c0df 100644 --- a/lib/crypto/x509_public_key.c +++ b/lib/crypto/x509_public_key.c @@ -8,7 +8,9 @@ #define pr_fmt(fmt) "X.509: "fmt #ifdef __UBOOT__ #include +#include #include +#include #include #else #include diff --git a/lib/list_sort.c b/lib/list_sort.c index e841da5..beb7273 100644 --- a/lib/list_sort.c +++ b/lib/list_sort.c @@ -1,4 +1,5 @@ #ifndef __UBOOT__ +#include #include #include #include diff --git a/test/dm/devres.c b/test/dm/devres.c index e733189..cbd0972 100644 --- a/test/dm/devres.c +++ b/test/dm/devres.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/test/dm/regmap.c b/test/dm/regmap.c index 6fd1f20..b21f667 100644 --- a/test/dm/regmap.c +++ b/test/dm/regmap.c @@ -10,6 +10,7 @@ #include #include #include +#include #include /* Base test of register maps */ diff --git a/test/dm/syscon.c b/test/dm/syscon.c index 0ff9da7..f1021f3 100644 --- a/test/dm/syscon.c +++ b/test/dm/syscon.c @@ -9,6 +9,7 @@ #include #include #include +#include #include /* Base test of system controllers */ diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c index cd65e42..f54db75 100644 --- a/test/dm/test-fdt.c +++ b/test/dm/test-fdt.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include -- cgit v1.1 From 336d4615f8fa774557d14f9b3245daa9e5fe3dbc Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:16 -0700 Subject: dm: core: Create a new header file for 'compat' features At present dm/device.h includes the linux-compatible features. This requires including linux/compat.h which in turn includes a lot of headers. One of these is malloc.h which we thus end up including in every file in U-Boot. Apart from the inefficiency of this, it is problematic for sandbox which needs to use the system malloc() in some files. Move the compatibility features into a separate header file. Signed-off-by: Simon Glass --- arch/arm/mach-imx/cmd_nandbcb.c | 1 + arch/arm/mach-imx/imx8/image.c | 1 + arch/arm/mach-mvebu/mbus.c | 1 + arch/arm/mach-rockchip/rk3288/rk3288.c | 1 + arch/arm/mach-rockchip/rk3308/rk3308.c | 1 + arch/arm/mach-socfpga/clock_manager_agilex.c | 1 + arch/arm/mach-socfpga/clock_manager_arria10.c | 1 + arch/arm/mach-stm32mp/pwr_regulator.c | 1 + arch/arm/mach-tegra/cboot.c | 1 + arch/arm/mach-zynq/clk.c | 1 + arch/arm/mach-zynq/timer.c | 1 + arch/mips/mach-mtmips/cpu.c | 1 + arch/mips/mach-pic32/cpu.c | 1 + arch/sandbox/cpu/cpu.c | 1 + arch/x86/cpu/apollolake/fsp_s.c | 1 + arch/x86/cpu/apollolake/spl.c | 1 + arch/x86/cpu/apollolake/uart.c | 1 + arch/x86/cpu/intel_common/itss.c | 1 + arch/x86/cpu/qemu/e820.c | 1 + arch/x86/cpu/qfw_cpu.c | 1 + arch/x86/lib/coreboot_table.c | 1 + arch/x86/lib/fsp1/fsp_common.c | 1 + arch/x86/lib/mrccache.c | 1 + arch/x86/lib/tables.c | 1 + board/compulab/common/common.c | 1 + board/corscience/tricorder/tricorder.c | 1 + board/gardena/smart-gateway-mt7688/board.c | 1 + board/ge/common/vpd_reader.c | 1 + board/isee/igep003x/board.c | 1 + board/isee/igep00x0/igep00x0.c | 1 + board/menlo/m53menlo/m53menlo.c | 1 + board/microchip/pic32mzda/pic32mzda.c | 1 + board/overo/overo.c | 1 + board/siemens/common/board.c | 1 + board/siemens/pxm2/board.c | 1 + board/siemens/rut/board.c | 1 + board/st/stm32mp1/stm32mp1.c | 1 + board/synopsys/hsdk/clk-lib.c | 1 + board/technexion/tao3530/tao3530.c | 1 + board/ti/am335x/board.c | 1 + board/ti/am57xx/board.c | 1 + board/timll/devkit8000/devkit8000.c | 1 + cmd/bootefi.c | 1 + cmd/gpio.c | 1 + cmd/host.c | 1 + cmd/rng.c | 1 + cmd/tpm-common.c | 1 + cmd/ubi.c | 1 + cmd/usb_mass_storage.c | 1 + cmd/ximg.c | 1 + common/android_ab.c | 1 + common/autoboot.c | 1 + common/image-fdt.c | 1 + common/image.c | 1 + common/usb.c | 1 + common/usb_hub.c | 1 + drivers/adc/stm32-adc-core.c | 1 + drivers/adc/stm32-adc.c | 1 + drivers/axi/sandbox_store.c | 1 + drivers/block/blk-uclass.c | 1 + drivers/block/sandbox.c | 1 + drivers/clk/altera/clk-arria10.c | 2 + drivers/clk/at91/clk-generated.c | 1 + drivers/clk/at91/clk-h32mx.c | 1 + drivers/clk/at91/clk-peripheral.c | 1 + drivers/clk/clk-cdce9xx.c | 1 + drivers/clk/clk-ti-sci.c | 2 + drivers/clk/clk-uclass.c | 1 + drivers/clk/clk_sandbox.c | 1 + drivers/clk/clk_sandbox_ccf.c | 1 + drivers/clk/clk_sandbox_test.c | 2 + drivers/clk/clk_versal.c | 1 + drivers/clk/clk_vexpress_osc.c | 1 + drivers/clk/clk_zynq.c | 1 + drivers/clk/clk_zynqmp.c | 2 + drivers/clk/imx/clk-imx8.c | 1 + drivers/clk/mvebu/armada-37xx-periph.c | 1 + drivers/clk/mvebu/armada-37xx-tbg.c | 1 + drivers/clk/rockchip/clk_px30.c | 1 + drivers/clk/rockchip/clk_rk3036.c | 1 + drivers/clk/rockchip/clk_rk3128.c | 1 + drivers/clk/rockchip/clk_rk3188.c | 1 + drivers/clk/rockchip/clk_rk322x.c | 1 + drivers/clk/rockchip/clk_rk3288.c | 1 + drivers/clk/rockchip/clk_rk3308.c | 1 + drivers/clk/rockchip/clk_rk3328.c | 1 + drivers/clk/rockchip/clk_rk3368.c | 1 + drivers/clk/rockchip/clk_rk3399.c | 1 + drivers/clk/rockchip/clk_rv1108.c | 1 + drivers/clk/tegra/tegra-car-clk.c | 1 + drivers/clk/uniphier/clk-uniphier-core.c | 1 + drivers/core/devres.c | 1 + drivers/core/of_access.c | 1 + drivers/core/ofnode.c | 1 + drivers/core/syscon-uclass.c | 1 + drivers/ddr/altera/sdram_gen5.c | 1 + drivers/ddr/altera/sdram_soc64.c | 1 + drivers/dma/bcm6348-iudma.c | 1 + drivers/dma/dma-uclass.c | 1 + drivers/dma/sandbox-dma-test.c | 1 + drivers/dma/ti/k3-udma.c | 1 + drivers/firmware/ti_sci.c | 2 + drivers/fpga/fpga.c | 1 + drivers/gpio/74x164_gpio.c | 1 + drivers/gpio/adi_gpio2.c | 1 + drivers/gpio/at91_gpio.c | 1 + drivers/gpio/atmel_pio4.c | 1 + drivers/gpio/da8xx_gpio.c | 1 + drivers/gpio/dwapb_gpio.c | 1 + drivers/gpio/gpio-rcar.c | 2 + drivers/gpio/kona_gpio.c | 1 + drivers/gpio/mpc83xx_gpio.c | 1 + drivers/gpio/mscc_sgpio.c | 1 + drivers/gpio/mvgpio.c | 1 + drivers/gpio/mxs_gpio.c | 1 + drivers/gpio/pca953x_gpio.c | 1 + drivers/gpio/pca9698.c | 1 + drivers/gpio/sh_pfc.c | 1 + drivers/gpio/spear_gpio.c | 1 + drivers/gpio/stm32_gpio.c | 1 + drivers/hwspinlock/hwspinlock-uclass.c | 2 + drivers/hwspinlock/stm32_hwspinlock.c | 1 + drivers/i2c/at91_i2c.c | 1 + drivers/i2c/designware_i2c.c | 2 + drivers/i2c/i2c-uniphier-f.c | 1 + drivers/i2c/i2c-uniphier.c | 1 + drivers/i2c/imx_lpi2c.c | 1 + drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 1 + drivers/i2c/muxes/i2c-mux-gpio.c | 1 + drivers/i2c/muxes/i2c-mux-uclass.c | 1 + drivers/i2c/muxes/pca954x.c | 1 + drivers/i2c/mxc_i2c.c | 1 + drivers/i2c/rcar_i2c.c | 1 + drivers/i2c/stm32f7_i2c.c | 1 + drivers/i2c/xilinx_xiic.c | 1 + drivers/led/led_gpio.c | 1 + drivers/mailbox/k3-sec-proxy.c | 2 + drivers/mailbox/mailbox-uclass.c | 1 + drivers/mailbox/sandbox-mbox-test.c | 1 + drivers/mailbox/sandbox-mbox.c | 1 + drivers/mailbox/stm32-ipcc.c | 2 + drivers/mailbox/tegra-hsp.c | 1 + drivers/mailbox/zynqmp-ipi.c | 1 + drivers/misc/imx8/scu_api.c | 1 + drivers/misc/k3_avs.c | 1 + drivers/misc/p2sb-uclass.c | 1 + drivers/misc/stm32_rcc.c | 1 + drivers/misc/tegra186_bpmp.c | 1 + drivers/misc/vexpress_config.c | 1 + drivers/mmc/am654_sdhci.c | 1 + drivers/mmc/arm_pl180_mmci.c | 1 + drivers/mmc/bcm2835_sdhost.c | 1 + drivers/mmc/fsl_esdhc.c | 1 + drivers/mmc/fsl_esdhc_imx.c | 1 + drivers/mmc/jz_mmc.c | 1 + drivers/mmc/mmc-uclass.c | 2 + drivers/mmc/msm_sdhci.c | 1 + drivers/mmc/mtk-sd.c | 1 + drivers/mmc/renesas-sdhi.c | 2 + drivers/mmc/sdhci-cadence.c | 1 + drivers/mmc/sh_mmcif.c | 1 + drivers/mmc/sh_sdhi.c | 1 + drivers/mmc/snps_dw_mmc.c | 1 + drivers/mmc/socfpga_dw_mmc.c | 1 + drivers/mmc/stm32_sdmmc2.c | 1 + drivers/mmc/tmio-common.c | 1 + drivers/mmc/uniphier-sd.c | 2 + drivers/mmc/zynq_sdhci.c | 1 + drivers/mtd/hbmc-am654.c | 1 + drivers/mtd/mtd_uboot.c | 1 + drivers/mtd/nand/core.c | 1 + drivers/mtd/nand/raw/atmel_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/brcmnand.c | 1 + drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c | 3 +- drivers/mtd/nand/raw/denali.c | 2 + drivers/mtd/nand/raw/denali_dt.c | 1 + drivers/mtd/nand/raw/pxa3xx_nand.c | 1 + drivers/mtd/nand/raw/sunxi_nand.c | 2 + drivers/mtd/nand/raw/tegra_nand.c | 1 + drivers/mtd/nand/raw/vf610_nfc.c | 1 + drivers/mtd/nand/spi/core.c | 1 + drivers/mtd/nand/spi/gigadevice.c | 1 + drivers/mtd/nand/spi/macronix.c | 1 + drivers/mtd/nand/spi/micron.c | 1 + drivers/mtd/nand/spi/winbond.c | 1 + drivers/mtd/renesas_rpc_hf.c | 2 + drivers/mtd/spi/sf-uclass.c | 1 + drivers/mtd/spi/spi-nor-core.c | 1 + drivers/mtd/spi/spi-nor-tiny.c | 1 + drivers/mtd/ubi/debug.c | 1 + drivers/mtd/ubi/misc.c | 1 + drivers/mtd/ubi/upd.c | 1 + drivers/net/bcm6348-eth.c | 1 + drivers/net/bcm6368-eth.c | 2 + drivers/net/designware.c | 1 + drivers/net/dwc_eth_qos.c | 1 + drivers/net/dwmac_socfpga.c | 1 + drivers/net/e1000.c | 1 + drivers/net/e1000_spi.c | 1 + drivers/net/fsl-mc/dpio/qbman_portal.c | 1 + drivers/net/fsl-mc/mc.c | 1 + drivers/net/fsl_enetc.c | 1 + drivers/net/ftgmac100.c | 2 + drivers/net/higmacv300.c | 1 + drivers/net/mscc_eswitch/jr2_switch.c | 1 + drivers/net/mscc_eswitch/luton_switch.c | 1 + drivers/net/mscc_eswitch/ocelot_switch.c | 1 + drivers/net/mscc_eswitch/serval_switch.c | 1 + drivers/net/mscc_eswitch/servalt_switch.c | 1 + drivers/net/mtk_eth.c | 1 + drivers/net/mvneta.c | 1 + drivers/net/mvpp2.c | 1 + drivers/net/pch_gbe.c | 1 + drivers/net/pfe_eth/pfe_driver.c | 1 + drivers/net/pfe_eth/pfe_eth.c | 1 + drivers/net/pfe_eth/pfe_firmware.c | 1 + drivers/net/pfe_eth/pfe_mdio.c | 1 + drivers/net/phy/fixed.c | 1 + drivers/net/pic32_eth.c | 1 + drivers/net/sandbox-raw-bus.c | 1 + drivers/net/sni_ave.c | 8 ++- drivers/net/sun8i_emac.c | 1 + drivers/net/sunxi_emac.c | 1 + drivers/net/ti/am65-cpsw-nuss.c | 2 + drivers/net/ti/cpsw-common.c | 1 + drivers/net/ti/cpsw.c | 1 + drivers/net/ti/cpsw_mdio.c | 1 + drivers/net/zynq_gem.c | 1 + drivers/nvme/nvme.c | 2 + drivers/pci/pci-aardvark.c | 1 + drivers/pci/pci-uclass.c | 1 + drivers/pci/pci_mvebu.c | 1 + drivers/pci/pcie_dw_ti.c | 1 + drivers/pci/pcie_fsl.c | 1 + drivers/pci/pcie_imx.c | 1 + drivers/pci/pcie_intel_fpga.c | 1 + drivers/pci/pcie_mediatek.c | 1 + drivers/phy/allwinner/phy-sun4i-usb.c | 1 + drivers/phy/bcm6318-usbh-phy.c | 1 + drivers/phy/bcm6348-usbh-phy.c | 1 + drivers/phy/bcm6358-usbh-phy.c | 1 + drivers/phy/bcm6368-usbh-phy.c | 1 + drivers/phy/marvell/comphy_core.c | 1 + drivers/phy/meson-g12a-usb2.c | 1 + drivers/phy/meson-g12a-usb3-pcie.c | 1 + drivers/phy/meson-gxl-usb2.c | 1 + drivers/phy/meson-gxl-usb3.c | 1 + drivers/phy/phy-mtk-tphy.c | 2 + drivers/phy/phy-rcar-gen2.c | 2 + drivers/phy/phy-rcar-gen3.c | 1 + drivers/phy/phy-stm32-usbphyc.c | 1 + drivers/phy/phy-ti-am654.c | 1 + drivers/pinctrl/broadcom/pinctrl-bcm6838.c | 1 + drivers/pinctrl/intel/pinctrl.c | 1 + drivers/pinctrl/meson/pinctrl-meson.c | 2 + drivers/pinctrl/mscc/mscc-common.c | 1 + drivers/pinctrl/mtmips/pinctrl-mtmips-common.c | 1 + drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 2 + drivers/pinctrl/nxp/pinctrl-imx.c | 2 + drivers/pinctrl/nxp/pinctrl-mxs.c | 1 + drivers/pinctrl/pinctrl-generic.c | 1 + drivers/pinctrl/pinctrl-single.c | 1 + drivers/pinctrl/pinctrl-stmfx.c | 1 + drivers/pinctrl/pinctrl-uclass.c | 2 + drivers/pinctrl/pinctrl_stm32.c | 2 + drivers/pinctrl/renesas/pfc.c | 1 + drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 1 + drivers/power/domain/bcm6328-power-domain.c | 1 + drivers/power/domain/imx8-power-domain-legacy.c | 1 + drivers/power/domain/imx8-power-domain.c | 1 + drivers/power/domain/imx8m-power-domain.c | 1 + drivers/power/domain/meson-ee-pwrc.c | 1 + drivers/power/domain/meson-gx-pwrc-vpu.c | 1 + drivers/power/domain/mtk-power-domain.c | 1 + drivers/power/domain/power-domain-uclass.c | 1 + drivers/power/domain/sandbox-power-domain-test.c | 1 + drivers/power/domain/sandbox-power-domain.c | 1 + drivers/power/domain/tegra186-power-domain.c | 1 + drivers/power/domain/ti-sci-power-domain.c | 2 + drivers/power/pmic/fan53555.c | 1 + drivers/power/pmic/i2c_pmic_emul.c | 1 + drivers/power/pmic/stpmic1.c | 1 + drivers/power/regulator/pwm_regulator.c | 1 + drivers/power/regulator/stm32-vrefbuf.c | 1 + drivers/power/regulator/tps62360_regulator.c | 1 + drivers/ram/k3-am654-ddrss.c | 1 + drivers/ram/k3-j721e/k3-j721e-ddrss.c | 1 + drivers/ram/stm32_sdram.c | 1 + drivers/remoteproc/k3_system_controller.c | 1 + drivers/remoteproc/rproc-elf-loader.c | 3 +- drivers/remoteproc/stm32_copro.c | 1 + drivers/remoteproc/ti_k3_arm64_rproc.c | 1 + drivers/remoteproc/ti_k3_dsp_rproc.c | 2 + drivers/remoteproc/ti_k3_r5f_rproc.c | 2 + drivers/reset/reset-bcm6345.c | 1 + drivers/reset/reset-hisilicon.c | 1 + drivers/reset/reset-imx7.c | 1 + drivers/reset/reset-mediatek.c | 1 + drivers/reset/reset-meson.c | 1 + drivers/reset/reset-mtmips.c | 1 + drivers/reset/reset-rockchip.c | 1 + drivers/reset/reset-socfpga.c | 1 + drivers/reset/reset-sunxi.c | 1 + drivers/reset/reset-ti-sci.c | 2 + drivers/reset/reset-uclass.c | 1 + drivers/reset/reset-uniphier.c | 2 + drivers/reset/sandbox-reset-test.c | 1 + drivers/reset/sandbox-reset.c | 1 + drivers/reset/sti-reset.c | 1 + drivers/reset/stm32-reset.c | 1 + drivers/reset/tegra-car-reset.c | 1 + drivers/reset/tegra186-reset.c | 1 + drivers/rtc/ds3232.c | 1 + drivers/rtc/rv3029.c | 1 + drivers/rtc/stm32_rtc.c | 2 + drivers/serial/atmel_usart.c | 1 + drivers/serial/serial-uclass.c | 1 + drivers/serial/serial_bcm6345.c | 1 + drivers/serial/serial_lpuart.c | 1 + drivers/serial/serial_msm.c | 1 + drivers/serial/serial_pic32.c | 1 + drivers/serial/serial_stm32.c | 1 + drivers/serial/serial_zynq.c | 1 + drivers/smem/msm_smem.c | 1 + drivers/soc/ti/k3-navss-ringacc.c | 1 + drivers/sound/sound-uclass.c | 1 + drivers/spi/atmel-quadspi.c | 2 + drivers/spi/bcm63xx_hsspi.c | 1 + drivers/spi/bcm63xx_spi.c | 1 + drivers/spi/cadence_qspi.c | 1 + drivers/spi/designware_spi.c | 1 + drivers/spi/mvebu_a3700_spi.c | 1 + drivers/spi/mxc_spi.c | 1 + drivers/spi/spi-mem-nodm.c | 1 + drivers/spi/spi-mem.c | 1 + drivers/spi/spi-sunxi.c | 1 + drivers/spi/stm32_qspi.c | 1 + drivers/spi/stm32_spi.c | 2 + drivers/spi/uniphier_spi.c | 1 + drivers/spi/zynqmp_gqspi.c | 1 + drivers/spmi/spmi-msm.c | 1 + drivers/sysreset/sysreset-ti-sci.c | 1 + drivers/tee/optee/core.c | 1 + drivers/tee/optee/rpmb.c | 1 + drivers/tee/optee/supplicant.c | 1 + drivers/tee/tee-uclass.c | 3 +- drivers/timer/dw-apb-timer.c | 2 + drivers/timer/ostm_timer.c | 1 + drivers/timer/stm32_timer.c | 1 + drivers/ufs/cdns-platform.c | 1 + drivers/ufs/ti-j721e-ufs.c | 1 + drivers/ufs/ufs.c | 1 + drivers/usb/cdns3/cdns3-ti.c | 1 + drivers/usb/cdns3/core.c | 1 + drivers/usb/cdns3/drd.c | 1 + drivers/usb/cdns3/ep0.c | 1 + drivers/usb/cdns3/gadget.c | 1 + drivers/usb/dwc3/core.c | 1 + drivers/usb/dwc3/dwc3-omap.c | 1 + drivers/usb/dwc3/dwc3-uniphier.c | 1 + drivers/usb/dwc3/ep0.c | 1 + drivers/usb/dwc3/gadget.c | 1 + drivers/usb/dwc3/ti_usb_phy.c | 1 + drivers/usb/gadget/dwc2_udc_otg.c | 1 + drivers/usb/gadget/storage_common.c | 1 + drivers/usb/gadget/udc/udc-core.c | 1 + drivers/usb/host/dwc2.c | 1 + drivers/usb/host/ehci-atmel.c | 1 + drivers/usb/host/ehci-generic.c | 1 + drivers/usb/host/ehci-hcd.c | 1 + drivers/usb/host/ohci-da8xx.c | 2 + drivers/usb/host/ohci-generic.c | 1 + drivers/usb/host/r8a66597-hcd.c | 1 + drivers/usb/host/xhci-rcar.c | 2 + drivers/usb/musb-new/am35x.c | 1 + drivers/usb/musb-new/da8xx.c | 1 + drivers/usb/musb-new/musb_core.c | 1 + drivers/usb/musb-new/musb_dsps.c | 1 + drivers/usb/musb-new/musb_gadget.c | 1 + drivers/usb/musb-new/musb_gadget_ep0.c | 1 + drivers/usb/musb-new/musb_host.c | 1 + drivers/usb/musb-new/musb_uboot.c | 1 + drivers/usb/musb-new/omap2430.c | 1 + drivers/usb/musb-new/pic32.c | 1 + drivers/usb/musb-new/sunxi.c | 2 + drivers/usb/musb-new/ti-musb.c | 1 + drivers/usb/phy/omap_usb_phy.c | 1 + drivers/video/atmel_hlcdfb.c | 1 + drivers/video/console_truetype.c | 1 + drivers/video/da8xx-fb.c | 1 + drivers/video/dw_mipi_dsi.c | 1 + drivers/video/hitachi_tx18d42vm_lcd.c | 1 + drivers/video/mali_dp.c | 2 + drivers/video/mvebu_lcd.c | 1 + drivers/video/mxsfb.c | 1 + drivers/video/orisetech_otm8009a.c | 1 + drivers/video/pwm_backlight.c | 1 + drivers/video/raydium-rm68200.c | 1 + drivers/video/rockchip/rk3288_hdmi.c | 1 + drivers/video/rockchip/rk_edp.c | 1 + drivers/video/sandbox_osd.c | 1 + drivers/video/scf0403_lcd.c | 1 + drivers/video/ssd2828.c | 1 + drivers/video/stm32/stm32_dsi.c | 1 + drivers/video/stm32/stm32_ltdc.c | 1 + drivers/video/video-uclass.c | 1 + drivers/virtio/virtio-uclass.c | 1 + drivers/virtio/virtio_ring.c | 1 + drivers/w1-eeprom/ds2502.c | 1 + drivers/w1/mxc_w1.c | 1 + drivers/watchdog/armada-37xx-wdt.c | 1 + drivers/watchdog/cdns_wdt.c | 1 + fs/ext4/ext4_write.c | 1 + fs/ext4/ext4fs.c | 1 + fs/fat/fat_write.c | 1 + fs/sandbox/sandboxfs.c | 1 + fs/ubifs/lprops.c | 1 + fs/ubifs/ubifs.c | 1 + fs/yaffs2/yaffs_nandif.c | 1 + fs/yaffs2/yaffs_uboot_glue.c | 1 + include/dm/device.h | 71 ------------------- include/dm/device_compat.h | 86 ++++++++++++++++++++++++ include/linux/clk-provider.h | 1 + lib/bch.c | 1 + lib/binman.c | 1 + lib/bzip2/bzlib.c | 1 + lib/crypto/rsa_helper.c | 1 + lib/efi/efi.c | 1 + lib/efi/efi_app.c | 1 + lib/efi/efi_stub.c | 1 + lib/efi_driver/efi_block_device.c | 1 + lib/efi_driver/efi_uclass.c | 1 + lib/efi_loader/efi_console.c | 1 + lib/efi_loader/efi_runtime.c | 1 + lib/fdtdec.c | 1 + lib/libavb/avb_cmdline.c | 1 + lib/libavb/avb_descriptor.c | 1 + lib/libavb/avb_rsa.c | 1 + lib/libavb/avb_slot_verify.c | 1 + lib/libavb/avb_sysdeps_posix.c | 1 + lib/libavb/avb_util.c | 1 + lib/linux_compat.c | 1 + lib/lmb.c | 1 + lib/rsa/rsa-sign.c | 1 + lib/rsa/rsa-verify.c | 1 + lib/zstd/decompress.c | 1 + lib/zstd/zstd_common.c | 1 + net/mdio-uclass.c | 3 + post/post.c | 1 + test/dm/clk.c | 1 + test/dm/dma.c | 1 + test/dm/gpio.c | 1 + test/dm/mailbox.c | 1 + test/dm/power-domain.c | 1 + test/dm/reset.c | 1 + test/dm/spmi.c | 1 + test/dm/tee.c | 1 + test/dm/video.c | 1 + test/lib/lmb.c | 1 + test/unicode_ut.c | 1 + 460 files changed, 593 insertions(+), 77 deletions(-) create mode 100644 include/dm/device_compat.h diff --git a/arch/arm/mach-imx/cmd_nandbcb.c b/arch/arm/mach-imx/cmd_nandbcb.c index a1c265f..b3e59b1 100644 --- a/arch/arm/mach-imx/cmd_nandbcb.c +++ b/arch/arm/mach-imx/cmd_nandbcb.c @@ -10,6 +10,7 @@ */ #include +#include #include #include diff --git a/arch/arm/mach-imx/imx8/image.c b/arch/arm/mach-imx/imx8/image.c index 58a29e8..c956a80 100644 --- a/arch/arm/mach-imx/imx8/image.c +++ b/arch/arm/mach-imx/imx8/image.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/arch/arm/mach-mvebu/mbus.c b/arch/arm/mach-mvebu/mbus.c index c68e93b..a95db5e 100644 --- a/arch/arm/mach-mvebu/mbus.c +++ b/arch/arm/mach-mvebu/mbus.c @@ -47,6 +47,7 @@ */ #include +#include #include #include #include diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c b/arch/arm/mach-rockchip/rk3288/rk3288.c index 6088911..812f3bd 100644 --- a/arch/arm/mach-rockchip/rk3288/rk3288.c +++ b/arch/arm/mach-rockchip/rk3288/rk3288.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/arm/mach-rockchip/rk3308/rk3308.c b/arch/arm/mach-rockchip/rk3308/rk3308.c index b6815dd..edf5994 100644 --- a/arch/arm/mach-rockchip/rk3308/rk3308.c +++ b/arch/arm/mach-rockchip/rk3308/rk3308.c @@ -3,6 +3,7 @@ *Copyright (c) 2018 Rockchip Electronics Co., Ltd */ #include +#include #include #include #include diff --git a/arch/arm/mach-socfpga/clock_manager_agilex.c b/arch/arm/mach-socfpga/clock_manager_agilex.c index 791066d..4ee2b7b 100644 --- a/arch/arm/mach-socfpga/clock_manager_agilex.c +++ b/arch/arm/mach-socfpga/clock_manager_agilex.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/arm/mach-socfpga/clock_manager_arria10.c b/arch/arm/mach-socfpga/clock_manager_arria10.c index 392f2eb..d7c8eaf 100644 --- a/arch/arm/mach-socfpga/clock_manager_arria10.c +++ b/arch/arm/mach-socfpga/clock_manager_arria10.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/arch/arm/mach-stm32mp/pwr_regulator.c b/arch/arm/mach-stm32mp/pwr_regulator.c index 977cc7d..4559ef5 100644 --- a/arch/arm/mach-stm32mp/pwr_regulator.c +++ b/arch/arm/mach-stm32mp/pwr_regulator.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/arm/mach-tegra/cboot.c b/arch/arm/mach-tegra/cboot.c index c5361ca..3902294 100644 --- a/arch/arm/mach-tegra/cboot.c +++ b/arch/arm/mach-tegra/cboot.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/arch/arm/mach-zynq/clk.c b/arch/arm/mach-zynq/clk.c index 1a6acd4..b578f65 100644 --- a/arch/arm/mach-zynq/clk.c +++ b/arch/arm/mach-zynq/clk.c @@ -6,6 +6,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/arch/arm/mach-zynq/timer.c b/arch/arm/mach-zynq/timer.c index 211ea15..d822e20 100644 --- a/arch/arm/mach-zynq/timer.c +++ b/arch/arm/mach-zynq/timer.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/mips/mach-mtmips/cpu.c b/arch/mips/mach-mtmips/cpu.c index cee3c0c..8976ef5 100644 --- a/arch/mips/mach-mtmips/cpu.c +++ b/arch/mips/mach-mtmips/cpu.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/mips/mach-pic32/cpu.c b/arch/mips/mach-pic32/cpu.c index 8bb12a5..8075d93 100644 --- a/arch/mips/mach-pic32/cpu.c +++ b/arch/mips/mach-pic32/cpu.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c index ff74303..56ee3f5 100644 --- a/arch/sandbox/cpu/cpu.c +++ b/arch/sandbox/cpu/cpu.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/cpu/apollolake/fsp_s.c b/arch/x86/cpu/apollolake/fsp_s.c index 9804227..92ecacf 100644 --- a/arch/x86/cpu/apollolake/fsp_s.c +++ b/arch/x86/cpu/apollolake/fsp_s.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/cpu/apollolake/spl.c b/arch/x86/cpu/apollolake/spl.c index 7ab7243..d32f2a9 100644 --- a/arch/x86/cpu/apollolake/spl.c +++ b/arch/x86/cpu/apollolake/spl.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/cpu/apollolake/uart.c b/arch/x86/cpu/apollolake/uart.c index f2b356e..f368f7d 100644 --- a/arch/x86/cpu/apollolake/uart.c +++ b/arch/x86/cpu/apollolake/uart.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/cpu/intel_common/itss.c b/arch/x86/cpu/intel_common/itss.c index 9df51ad..fb30984 100644 --- a/arch/x86/cpu/intel_common/itss.c +++ b/arch/x86/cpu/intel_common/itss.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c index a4136eb..0da36bd 100644 --- a/arch/x86/cpu/qemu/e820.c +++ b/arch/x86/cpu/qemu/e820.c @@ -8,6 +8,7 @@ #include #include +#include #include #include diff --git a/arch/x86/cpu/qfw_cpu.c b/arch/x86/cpu/qfw_cpu.c index 49e9dfc..349bab1 100644 --- a/arch/x86/cpu/qfw_cpu.c +++ b/arch/x86/cpu/qfw_cpu.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/lib/coreboot_table.c b/arch/x86/lib/coreboot_table.c index 8685aa3..2943e11 100644 --- a/arch/x86/lib/coreboot_table.c +++ b/arch/x86/lib/coreboot_table.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/arch/x86/lib/fsp1/fsp_common.c b/arch/x86/lib/fsp1/fsp_common.c index ec9c218..aee2a05 100644 --- a/arch/x86/lib/fsp1/fsp_common.c +++ b/arch/x86/lib/fsp1/fsp_common.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c index b9420a4..8914960 100644 --- a/arch/x86/lib/mrccache.c +++ b/arch/x86/lib/mrccache.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index 99f1429..7aea722 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include diff --git a/board/compulab/common/common.c b/board/compulab/common/common.c index cbac112..2f92c65 100644 --- a/board/compulab/common/common.c +++ b/board/compulab/common/common.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include diff --git a/board/corscience/tricorder/tricorder.c b/board/corscience/tricorder/tricorder.c index da33f84..cec819b 100644 --- a/board/corscience/tricorder/tricorder.c +++ b/board/corscience/tricorder/tricorder.c @@ -10,6 +10,7 @@ * Frederik Kriewitz */ #include +#include #include #include #include diff --git a/board/gardena/smart-gateway-mt7688/board.c b/board/gardena/smart-gateway-mt7688/board.c index ae03f0a..48cf309 100644 --- a/board/gardena/smart-gateway-mt7688/board.c +++ b/board/gardena/smart-gateway-mt7688/board.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/board/ge/common/vpd_reader.c b/board/ge/common/vpd_reader.c index 12410d9..94eeab9 100644 --- a/board/ge/common/vpd_reader.c +++ b/board/ge/common/vpd_reader.c @@ -4,6 +4,7 @@ */ #include "vpd_reader.h" +#include #include #include diff --git a/board/isee/igep003x/board.c b/board/isee/igep003x/board.c index bc9fdcd..b0f8d8a 100644 --- a/board/isee/igep003x/board.c +++ b/board/isee/igep003x/board.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c index 74fc5f0..1b871fd 100644 --- a/board/isee/igep00x0/igep00x0.c +++ b/board/isee/igep00x0/igep00x0.c @@ -5,6 +5,7 @@ */ #include #include +#include #include #include #include diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c index 065e6a2..70a13aa 100644 --- a/board/menlo/m53menlo/m53menlo.c +++ b/board/menlo/m53menlo/m53menlo.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/board/microchip/pic32mzda/pic32mzda.c b/board/microchip/pic32mzda/pic32mzda.c index 8bfdee9..aa8aab3 100644 --- a/board/microchip/pic32mzda/pic32mzda.c +++ b/board/microchip/pic32mzda/pic32mzda.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/board/overo/overo.c b/board/overo/overo.c index 442028a..baa7997 100644 --- a/board/overo/overo.c +++ b/board/overo/overo.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/board/siemens/common/board.c b/board/siemens/common/board.c index 5f5e2eb..24429d2 100644 --- a/board/siemens/common/board.c +++ b/board/siemens/common/board.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/board/siemens/pxm2/board.c b/board/siemens/pxm2/board.c index b5a10eb..58bb5ba 100644 --- a/board/siemens/pxm2/board.c +++ b/board/siemens/pxm2/board.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/board/siemens/rut/board.c b/board/siemens/rut/board.c index d7d9738..bd4eaa4 100644 --- a/board/siemens/rut/board.c +++ b/board/siemens/rut/board.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c index 9ee2e0b..ca76579 100644 --- a/board/st/stm32mp1/stm32mp1.c +++ b/board/st/stm32mp1/stm32mp1.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/board/synopsys/hsdk/clk-lib.c b/board/synopsys/hsdk/clk-lib.c index 6c75ce0..6b6bb70 100644 --- a/board/synopsys/hsdk/clk-lib.c +++ b/board/synopsys/hsdk/clk-lib.c @@ -5,6 +5,7 @@ */ #include +#include #include #include "clk-lib.h" diff --git a/board/technexion/tao3530/tao3530.c b/board/technexion/tao3530/tao3530.c index 22d26e5..7d7c427 100644 --- a/board/technexion/tao3530/tao3530.c +++ b/board/technexion/tao3530/tao3530.c @@ -4,6 +4,7 @@ * Tapani Utriainen */ #include +#include #include #include #include diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index 3d7f738..01b28e8 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index d70ab0c..7528de3 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c index 490d8cb..b037d72 100644 --- a/board/timll/devkit8000/devkit8000.c +++ b/board/timll/devkit8000/devkit8000.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/cmd/bootefi.c b/cmd/bootefi.c index 56bdff3..d347bd5 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/cmd/gpio.c b/cmd/gpio.c index 5f4c7ff..8ce8ba9 100644 --- a/cmd/gpio.c +++ b/cmd/gpio.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/cmd/host.c b/cmd/host.c index 98c4d2a..eefc4f2 100644 --- a/cmd/host.c +++ b/cmd/host.c @@ -8,6 +8,7 @@ #include #include #include +#include #include static int host_curr_device = -1; diff --git a/cmd/rng.c b/cmd/rng.c index 36ca7a1..76367fe 100644 --- a/cmd/rng.c +++ b/cmd/rng.c @@ -8,6 +8,7 @@ #include #include #include +#include #include static int do_rng(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) diff --git a/cmd/tpm-common.c b/cmd/tpm-common.c index 42882b1..3014255 100644 --- a/cmd/tpm-common.c +++ b/cmd/tpm-common.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/cmd/ubi.c b/cmd/ubi.c index 7fb4cdf..cecf251 100644 --- a/cmd/ubi.c +++ b/cmd/ubi.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c index 570cf3a..c5c6899 100644 --- a/cmd/usb_mass_storage.c +++ b/cmd/usb_mass_storage.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/cmd/ximg.c b/cmd/ximg.c index dccd114..770f6a3 100644 --- a/cmd/ximg.c +++ b/cmd/ximg.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #if defined(CONFIG_BZIP2) diff --git a/common/android_ab.c b/common/android_ab.c index 6c4df41..e0fe32d 100644 --- a/common/android_ab.c +++ b/common/android_ab.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include diff --git a/common/autoboot.c b/common/autoboot.c index 94a1b4a..4ea9be6 100644 --- a/common/autoboot.c +++ b/common/autoboot.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/common/image-fdt.c b/common/image-fdt.c index dbe8535..3002948 100644 --- a/common/image-fdt.c +++ b/common/image-fdt.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/common/image.c b/common/image.c index 2288cff..94873cb 100644 --- a/common/image.c +++ b/common/image.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/common/usb.c b/common/usb.c index d9bcb5a..349e838 100644 --- a/common/usb.c +++ b/common/usb.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/common/usb_hub.c b/common/usb_hub.c index 25c2ac4..c642b68 100644 --- a/common/usb_hub.c +++ b/common/usb_hub.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/adc/stm32-adc-core.c b/drivers/adc/stm32-adc-core.c index 04b6a8a..2ca0fb4 100644 --- a/drivers/adc/stm32-adc-core.c +++ b/drivers/adc/stm32-adc-core.c @@ -8,6 +8,7 @@ #include #include +#include #include #include "stm32-adc-core.h" diff --git a/drivers/adc/stm32-adc.c b/drivers/adc/stm32-adc.c index 029338e..ca1ac3e 100644 --- a/drivers/adc/stm32-adc.c +++ b/drivers/adc/stm32-adc.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include "stm32-adc-core.h" diff --git a/drivers/axi/sandbox_store.c b/drivers/axi/sandbox_store.c index d724f19..a6f483e 100644 --- a/drivers/axi/sandbox_store.c +++ b/drivers/axi/sandbox_store.c @@ -7,6 +7,7 @@ #include #include #include +#include /** * struct sandbox_store_priv - Private data structure of a AXI store device diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c index 7771114..7c39aa5 100644 --- a/drivers/block/blk-uclass.c +++ b/drivers/block/blk-uclass.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/block/sandbox.c b/drivers/block/sandbox.c index d3b1aaa..cca2237 100644 --- a/drivers/block/sandbox.c +++ b/drivers/block/sandbox.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include diff --git a/drivers/clk/altera/clk-arria10.c b/drivers/clk/altera/clk-arria10.c index a39cd34..affeb31 100644 --- a/drivers/clk/altera/clk-arria10.c +++ b/drivers/clk/altera/clk-arria10.c @@ -4,9 +4,11 @@ */ #include +#include #include #include #include +#include #include #include #include diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c index d8562e1..a80f259 100644 --- a/drivers/clk/at91/clk-generated.c +++ b/drivers/clk/at91/clk-generated.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/at91/clk-h32mx.c b/drivers/clk/at91/clk-h32mx.c index 8f02d73..86bb71f 100644 --- a/drivers/clk/at91/clk-h32mx.c +++ b/drivers/clk/at91/clk-h32mx.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/at91/clk-peripheral.c b/drivers/clk/at91/clk-peripheral.c index c880af8..c55e621 100644 --- a/drivers/clk/at91/clk-peripheral.c +++ b/drivers/clk/at91/clk-peripheral.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include "pmc.h" diff --git a/drivers/clk/clk-cdce9xx.c b/drivers/clk/clk-cdce9xx.c index 5d1489a..f1f76b0 100644 --- a/drivers/clk/clk-cdce9xx.c +++ b/drivers/clk/clk-cdce9xx.c @@ -13,6 +13,7 @@ #include #include #include +#include #define MAX_NUMBER_OF_PLLS 4 #define MAX_NUMER_OF_OUTPUTS 9 diff --git a/drivers/clk/clk-ti-sci.c b/drivers/clk/clk-ti-sci.c index b085a4f..82241d9 100644 --- a/drivers/clk/clk-ti-sci.c +++ b/drivers/clk/clk-ti-sci.c @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index 6787d25..7187847 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/clk_sandbox.c b/drivers/clk/clk_sandbox.c index cc084b0..768fbb7 100644 --- a/drivers/clk/clk_sandbox.c +++ b/drivers/clk/clk_sandbox.c @@ -7,6 +7,7 @@ #include #include #include +#include #include struct sandbox_clk_priv { diff --git a/drivers/clk/clk_sandbox_ccf.c b/drivers/clk/clk_sandbox_ccf.c index 0903c81..3543bea 100644 --- a/drivers/clk/clk_sandbox_ccf.c +++ b/drivers/clk/clk_sandbox_ccf.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/clk_sandbox_test.c b/drivers/clk/clk_sandbox_test.c index 628110d..8733838 100644 --- a/drivers/clk/clk_sandbox_test.c +++ b/drivers/clk/clk_sandbox_test.c @@ -6,7 +6,9 @@ #include #include #include +#include #include +#include #include struct sandbox_clk_test { diff --git a/drivers/clk/clk_versal.c b/drivers/clk/clk_versal.c index 66cbef1..9d4d214 100644 --- a/drivers/clk/clk_versal.c +++ b/drivers/clk/clk_versal.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/drivers/clk/clk_vexpress_osc.c b/drivers/clk/clk_vexpress_osc.c index c692a6d..82e589e 100644 --- a/drivers/clk/clk_vexpress_osc.c +++ b/drivers/clk/clk_vexpress_osc.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/clk_zynq.c b/drivers/clk/clk_zynq.c index b09c37d..4ca1cc0 100644 --- a/drivers/clk/clk_zynq.c +++ b/drivers/clk/clk_zynq.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/clk_zynqmp.c b/drivers/clk/clk_zynqmp.c index a365b56..e0eb897 100644 --- a/drivers/clk/clk_zynqmp.c +++ b/drivers/clk/clk_zynqmp.c @@ -6,6 +6,8 @@ */ #include +#include +#include #include #include #include diff --git a/drivers/clk/imx/clk-imx8.c b/drivers/clk/imx/clk-imx8.c index a755e26..671054d 100644 --- a/drivers/clk/imx/clk-imx8.c +++ b/drivers/clk/imx/clk-imx8.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/mvebu/armada-37xx-periph.c b/drivers/clk/mvebu/armada-37xx-periph.c index b1a3596..068e48e 100644 --- a/drivers/clk/mvebu/armada-37xx-periph.c +++ b/drivers/clk/mvebu/armada-37xx-periph.c @@ -15,6 +15,7 @@ #include #include #include +#include #define TBG_SEL 0x0 #define DIV_SEL0 0x4 diff --git a/drivers/clk/mvebu/armada-37xx-tbg.c b/drivers/clk/mvebu/armada-37xx-tbg.c index aa7ccd6..233926e 100644 --- a/drivers/clk/mvebu/armada-37xx-tbg.c +++ b/drivers/clk/mvebu/armada-37xx-tbg.c @@ -14,6 +14,7 @@ #include #include #include +#include #define NUM_TBG 4 diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c index 36764c1..b885341 100644 --- a/drivers/clk/rockchip/clk_px30.c +++ b/drivers/clk/rockchip/clk_px30.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3036.c b/drivers/clk/rockchip/clk_rk3036.c index 6d5ae3d..6e085c4 100644 --- a/drivers/clk/rockchip/clk_rk3036.c +++ b/drivers/clk/rockchip/clk_rk3036.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3128.c b/drivers/clk/rockchip/clk_rk3128.c index efda8c8..a6f7902 100644 --- a/drivers/clk/rockchip/clk_rk3128.c +++ b/drivers/clk/rockchip/clk_rk3128.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3188.c b/drivers/clk/rockchip/clk_rk3188.c index 82eea40..2b82a40 100644 --- a/drivers/clk/rockchip/clk_rk3188.c +++ b/drivers/clk/rockchip/clk_rk3188.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk322x.c b/drivers/clk/rockchip/clk_rk322x.c index 6e8a164..ef33adb 100644 --- a/drivers/clk/rockchip/clk_rk322x.c +++ b/drivers/clk/rockchip/clk_rk322x.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c index 2d42f6f..81cdb8e 100644 --- a/drivers/clk/rockchip/clk_rk3288.c +++ b/drivers/clk/rockchip/clk_rk3288.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3308.c b/drivers/clk/rockchip/clk_rk3308.c index f212c5f..c0f1285 100644 --- a/drivers/clk/rockchip/clk_rk3308.c +++ b/drivers/clk/rockchip/clk_rk3308.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3328.c b/drivers/clk/rockchip/clk_rk3328.c index e700a1b..8e867c5 100644 --- a/drivers/clk/rockchip/clk_rk3328.c +++ b/drivers/clk/rockchip/clk_rk3328.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3368.c b/drivers/clk/rockchip/clk_rk3368.c index b51d529..2cce1b9 100644 --- a/drivers/clk/rockchip/clk_rk3368.c +++ b/drivers/clk/rockchip/clk_rk3368.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c index 37fc142..865b80c 100644 --- a/drivers/clk/rockchip/clk_rk3399.c +++ b/drivers/clk/rockchip/clk_rk3399.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/rockchip/clk_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c index 97fdd09..da9c48b 100644 --- a/drivers/clk/rockchip/clk_rv1108.c +++ b/drivers/clk/rockchip/clk_rv1108.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/clk/tegra/tegra-car-clk.c b/drivers/clk/tegra/tegra-car-clk.c index 07e8734..6083f14 100644 --- a/drivers/clk/tegra/tegra-car-clk.c +++ b/drivers/clk/tegra/tegra-car-clk.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include diff --git a/drivers/clk/uniphier/clk-uniphier-core.c b/drivers/clk/uniphier/clk-uniphier-core.c index 1da6381..9f24050 100644 --- a/drivers/clk/uniphier/clk-uniphier-core.c +++ b/drivers/clk/uniphier/clk-uniphier-core.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/core/devres.c b/drivers/core/devres.c index d98e80d..457e130 100644 --- a/drivers/core/devres.c +++ b/drivers/core/devres.c @@ -10,6 +10,7 @@ #define LOG_CATEGORY LOGC_DEVRES #include +#include #include #include #include diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c index 945b814..acd745c 100644 --- a/drivers/core/of_access.c +++ b/drivers/core/of_access.c @@ -20,6 +20,7 @@ */ #include +#include #include #include #include diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index f55ef15..96a5dd2 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/core/syscon-uclass.c b/drivers/core/syscon-uclass.c index 5bb38e3..ac2de47 100644 --- a/drivers/core/syscon-uclass.c +++ b/drivers/core/syscon-uclass.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/ddr/altera/sdram_gen5.c b/drivers/ddr/altera/sdram_gen5.c index a3b914f..381b11b 100644 --- a/drivers/ddr/altera/sdram_gen5.c +++ b/drivers/ddr/altera/sdram_gen5.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "sequencer.h" diff --git a/drivers/ddr/altera/sdram_soc64.c b/drivers/ddr/altera/sdram_soc64.c index e0d04cc..1f7ead0 100644 --- a/drivers/ddr/altera/sdram_soc64.c +++ b/drivers/ddr/altera/sdram_soc64.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #define PGTABLE_OFF 0x4000 diff --git a/drivers/dma/bcm6348-iudma.c b/drivers/dma/bcm6348-iudma.c index 96250eb..d99460f 100644 --- a/drivers/dma/bcm6348-iudma.c +++ b/drivers/dma/bcm6348-iudma.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c index a0159d7..9d5a7fc 100644 --- a/drivers/dma/dma-uclass.c +++ b/drivers/dma/dma-uclass.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/dma/sandbox-dma-test.c b/drivers/dma/sandbox-dma-test.c index d009bb2..234a7d2 100644 --- a/drivers/dma/sandbox-dma-test.c +++ b/drivers/dma/sandbox-dma-test.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index ab516b5..f274100 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c index 5e37ee0..99b2e5d 100644 --- a/drivers/firmware/ti_sci.c +++ b/drivers/firmware/ti_sci.c @@ -11,7 +11,9 @@ #include #include #include +#include #include +#include #include #include #include diff --git a/drivers/fpga/fpga.c b/drivers/fpga/fpga.c index 7e8bd7e..0917871 100644 --- a/drivers/fpga/fpga.c +++ b/drivers/fpga/fpga.c @@ -9,6 +9,7 @@ #include /* xilinx specific definitions */ #include /* altera specific definitions */ #include +#include /* Local definitions */ #ifndef CONFIG_MAX_FPGA_DEVICES diff --git a/drivers/gpio/74x164_gpio.c b/drivers/gpio/74x164_gpio.c index dcb1c1b..64717a6 100644 --- a/drivers/gpio/74x164_gpio.c +++ b/drivers/gpio/74x164_gpio.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/drivers/gpio/adi_gpio2.c b/drivers/gpio/adi_gpio2.c index 1012f2d..9d293b6 100644 --- a/drivers/gpio/adi_gpio2.c +++ b/drivers/gpio/adi_gpio2.c @@ -8,6 +8,7 @@ */ #include +#include #include #include diff --git a/drivers/gpio/at91_gpio.c b/drivers/gpio/at91_gpio.c index 5ea3e77..3621cf2 100644 --- a/drivers/gpio/at91_gpio.c +++ b/drivers/gpio/at91_gpio.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpio/atmel_pio4.c b/drivers/gpio/atmel_pio4.c index 8e6f32d..a3f5e7a 100644 --- a/drivers/gpio/atmel_pio4.c +++ b/drivers/gpio/atmel_pio4.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpio/da8xx_gpio.c b/drivers/gpio/da8xx_gpio.c index ac88f0c..0d0e9d2 100644 --- a/drivers/gpio/da8xx_gpio.c +++ b/drivers/gpio/da8xx_gpio.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpio/dwapb_gpio.c b/drivers/gpio/dwapb_gpio.c index 58e3e7b..e3439ee 100644 --- a/drivers/gpio/dwapb_gpio.c +++ b/drivers/gpio/dwapb_gpio.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c index a8c5b7f..9dc4cd6 100644 --- a/drivers/gpio/gpio-rcar.c +++ b/drivers/gpio/gpio-rcar.c @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/drivers/gpio/kona_gpio.c b/drivers/gpio/kona_gpio.c index 912a4ca..2979188 100644 --- a/drivers/gpio/kona_gpio.c +++ b/drivers/gpio/kona_gpio.c @@ -4,6 +4,7 @@ */ #include +#include #include #include diff --git a/drivers/gpio/mpc83xx_gpio.c b/drivers/gpio/mpc83xx_gpio.c index dcd78e7..276a3b3 100644 --- a/drivers/gpio/mpc83xx_gpio.c +++ b/drivers/gpio/mpc83xx_gpio.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include diff --git a/drivers/gpio/mscc_sgpio.c b/drivers/gpio/mscc_sgpio.c index 3378ebb..c65ca81 100644 --- a/drivers/gpio/mscc_sgpio.c +++ b/drivers/gpio/mscc_sgpio.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #define MSCC_SGPIOS_PER_BANK 32 diff --git a/drivers/gpio/mvgpio.c b/drivers/gpio/mvgpio.c index ea2f689..12e7197 100644 --- a/drivers/gpio/mvgpio.c +++ b/drivers/gpio/mvgpio.c @@ -9,6 +9,7 @@ */ #include +#include #include #include #include "mvgpio.h" diff --git a/drivers/gpio/mxs_gpio.c b/drivers/gpio/mxs_gpio.c index 77778e9..405e9ac 100644 --- a/drivers/gpio/mxs_gpio.c +++ b/drivers/gpio/mxs_gpio.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include diff --git a/drivers/gpio/pca953x_gpio.c b/drivers/gpio/pca953x_gpio.c index 5c29440..d06b834 100644 --- a/drivers/gpio/pca953x_gpio.c +++ b/drivers/gpio/pca953x_gpio.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #define PCA953X_INPUT 0 diff --git a/drivers/gpio/pca9698.c b/drivers/gpio/pca9698.c index ab0c4c1..11274c7 100644 --- a/drivers/gpio/pca9698.c +++ b/drivers/gpio/pca9698.c @@ -10,6 +10,7 @@ #include #include +#include #include #include diff --git a/drivers/gpio/sh_pfc.c b/drivers/gpio/sh_pfc.c index ad8da9e..6320a62 100644 --- a/drivers/gpio/sh_pfc.c +++ b/drivers/gpio/sh_pfc.c @@ -10,6 +10,7 @@ */ #include +#include #include #include #include diff --git a/drivers/gpio/spear_gpio.c b/drivers/gpio/spear_gpio.c index 525aa3b..4e4cd12 100644 --- a/drivers/gpio/spear_gpio.c +++ b/drivers/gpio/spear_gpio.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include diff --git a/drivers/gpio/stm32_gpio.c b/drivers/gpio/stm32_gpio.c index 302a434..f55f834 100644 --- a/drivers/gpio/stm32_gpio.c +++ b/drivers/gpio/stm32_gpio.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include diff --git a/drivers/hwspinlock/hwspinlock-uclass.c b/drivers/hwspinlock/hwspinlock-uclass.c index 195f079..61d226b 100644 --- a/drivers/hwspinlock/hwspinlock-uclass.c +++ b/drivers/hwspinlock/hwspinlock-uclass.c @@ -8,6 +8,8 @@ #include #include #include +#include +#include static inline const struct hwspinlock_ops * hwspinlock_dev_ops(struct udevice *dev) diff --git a/drivers/hwspinlock/stm32_hwspinlock.c b/drivers/hwspinlock/stm32_hwspinlock.c index a32bde4..74afb4a 100644 --- a/drivers/hwspinlock/stm32_hwspinlock.c +++ b/drivers/hwspinlock/stm32_hwspinlock.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #define STM32_MUTEX_COREID BIT(8) diff --git a/drivers/i2c/at91_i2c.c b/drivers/i2c/at91_i2c.c index 846b3d5..c817ed6 100644 --- a/drivers/i2c/at91_i2c.c +++ b/drivers/i2c/at91_i2c.c @@ -5,6 +5,7 @@ * (C) Copyright 2016 Songjun Wu */ +#include #include #include #include diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c index ae9cf16..e1d5aeb 100644 --- a/drivers/i2c/designware_i2c.c +++ b/drivers/i2c/designware_i2c.c @@ -8,10 +8,12 @@ #include #include #include +#include #include #include #include #include "designware_i2c.h" +#include #include #ifdef CONFIG_SYS_I2C_DW_ENABLE_STATUS_UNSUPPORTED diff --git a/drivers/i2c/i2c-uniphier-f.c b/drivers/i2c/i2c-uniphier-f.c index 62acd28..d8b4a68 100644 --- a/drivers/i2c/i2c-uniphier-f.c +++ b/drivers/i2c/i2c-uniphier-f.c @@ -5,6 +5,7 @@ * Author: Masahiro Yamada */ +#include #include #include #include diff --git a/drivers/i2c/i2c-uniphier.c b/drivers/i2c/i2c-uniphier.c index 07a7e03..f06523a 100644 --- a/drivers/i2c/i2c-uniphier.c +++ b/drivers/i2c/i2c-uniphier.c @@ -5,6 +5,7 @@ * Author: Masahiro Yamada */ +#include #include #include #include diff --git a/drivers/i2c/imx_lpi2c.c b/drivers/i2c/imx_lpi2c.c index c9d3faa..62e6804 100644 --- a/drivers/i2c/imx_lpi2c.c +++ b/drivers/i2c/imx_lpi2c.c @@ -13,6 +13,7 @@ #include #include #include +#include #define LPI2C_FIFO_SIZE 4 #define LPI2C_NACK_TOUT_MS 1 diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c index 413aaa6..5029c71 100644 --- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c +++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c @@ -8,6 +8,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c index 29e283c..0575bd8 100644 --- a/drivers/i2c/muxes/i2c-mux-gpio.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/i2c/muxes/i2c-mux-uclass.c b/drivers/i2c/muxes/i2c-mux-uclass.c index 8b11499..9a3dd7e 100644 --- a/drivers/i2c/muxes/i2c-mux-uclass.c +++ b/drivers/i2c/muxes/i2c-mux-uclass.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c index bb2935f..be90a7b 100644 --- a/drivers/i2c/muxes/pca954x.c +++ b/drivers/i2c/muxes/pca954x.c @@ -9,6 +9,7 @@ #include #include #include +#include #include diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c index 6b7ce98..a03c465 100644 --- a/drivers/i2c/mxc_i2c.c +++ b/drivers/i2c/mxc_i2c.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/i2c/rcar_i2c.c b/drivers/i2c/rcar_i2c.c index 05d0dc6..b877602 100644 --- a/drivers/i2c/rcar_i2c.c +++ b/drivers/i2c/rcar_i2c.c @@ -17,6 +17,7 @@ #include #include #include +#include #define RCAR_I2C_ICSCR 0x00 /* slave ctrl */ #define RCAR_I2C_ICMCR 0x04 /* master ctrl */ diff --git a/drivers/i2c/stm32f7_i2c.c b/drivers/i2c/stm32f7_i2c.c index 21dfa50..7d046c1 100644 --- a/drivers/i2c/stm32f7_i2c.c +++ b/drivers/i2c/stm32f7_i2c.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include diff --git a/drivers/i2c/xilinx_xiic.c b/drivers/i2c/xilinx_xiic.c index 5ce0f86..149bd32 100644 --- a/drivers/i2c/xilinx_xiic.c +++ b/drivers/i2c/xilinx_xiic.c @@ -15,6 +15,7 @@ #include #include #include +#include struct xilinx_xiic_priv { void __iomem *base; diff --git a/drivers/led/led_gpio.c b/drivers/led/led_gpio.c index 93f6b91..af6b824 100644 --- a/drivers/led/led_gpio.c +++ b/drivers/led/led_gpio.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mailbox/k3-sec-proxy.c b/drivers/mailbox/k3-sec-proxy.c index 1194c6f..a560209 100644 --- a/drivers/mailbox/k3-sec-proxy.c +++ b/drivers/mailbox/k3-sec-proxy.c @@ -7,7 +7,9 @@ */ #include +#include #include +#include #include #include #include diff --git a/drivers/mailbox/mailbox-uclass.c b/drivers/mailbox/mailbox-uclass.c index a6d2d1f..291f5c2 100644 --- a/drivers/mailbox/mailbox-uclass.c +++ b/drivers/mailbox/mailbox-uclass.c @@ -7,6 +7,7 @@ #include #include #include +#include #include static inline struct mbox_ops *mbox_dev_ops(struct udevice *dev) diff --git a/drivers/mailbox/sandbox-mbox-test.c b/drivers/mailbox/sandbox-mbox-test.c index ba1bb1c..faca8fc 100644 --- a/drivers/mailbox/sandbox-mbox-test.c +++ b/drivers/mailbox/sandbox-mbox-test.c @@ -6,6 +6,7 @@ #include #include #include +#include #include struct sandbox_mbox_test { diff --git a/drivers/mailbox/sandbox-mbox.c b/drivers/mailbox/sandbox-mbox.c index 442ca63..25e23eb 100644 --- a/drivers/mailbox/sandbox-mbox.c +++ b/drivers/mailbox/sandbox-mbox.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mailbox/stm32-ipcc.c b/drivers/mailbox/stm32-ipcc.c index d4035a8..13e642a 100644 --- a/drivers/mailbox/stm32-ipcc.c +++ b/drivers/mailbox/stm32-ipcc.c @@ -7,7 +7,9 @@ #include #include #include +#include #include +#include /* * IPCC has one set of registers per CPU diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c index c463e6a..60f6a38 100644 --- a/drivers/mailbox/tegra-hsp.c +++ b/drivers/mailbox/tegra-hsp.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include diff --git a/drivers/mailbox/zynqmp-ipi.c b/drivers/mailbox/zynqmp-ipi.c index c181a7b..17b4654 100644 --- a/drivers/mailbox/zynqmp-ipi.c +++ b/drivers/mailbox/zynqmp-ipi.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/misc/imx8/scu_api.c b/drivers/misc/imx8/scu_api.c index b341917..3ad21c1 100644 --- a/drivers/misc/imx8/scu_api.c +++ b/drivers/misc/imx8/scu_api.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/drivers/misc/k3_avs.c b/drivers/misc/k3_avs.c index c19c3c0..47e4273 100644 --- a/drivers/misc/k3_avs.c +++ b/drivers/misc/k3_avs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #define AM6_VTM_DEVINFO(i) (priv->base + 0x100 + 0x20 * (i)) diff --git a/drivers/misc/p2sb-uclass.c b/drivers/misc/p2sb-uclass.c index a198700..9fe0aca 100644 --- a/drivers/misc/p2sb-uclass.c +++ b/drivers/misc/p2sb-uclass.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include diff --git a/drivers/misc/stm32_rcc.c b/drivers/misc/stm32_rcc.c index e7efcde..980b844 100644 --- a/drivers/misc/stm32_rcc.c +++ b/drivers/misc/stm32_rcc.c @@ -9,6 +9,7 @@ #include #include #include +#include #include struct stm32_rcc_clk stm32_rcc_clk_f42x = { diff --git a/drivers/misc/tegra186_bpmp.c b/drivers/misc/tegra186_bpmp.c index 489337c..ce2b925 100644 --- a/drivers/misc/tegra186_bpmp.c +++ b/drivers/misc/tegra186_bpmp.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/misc/vexpress_config.c b/drivers/misc/vexpress_config.c index 9f5baa5..53d7e1d 100644 --- a/drivers/misc/vexpress_config.c +++ b/drivers/misc/vexpress_config.c @@ -6,6 +6,7 @@ */ #include #include +#include #include #include #include diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c index 6053d3d..aad9d8b 100644 --- a/drivers/mmc/am654_sdhci.c +++ b/drivers/mmc/am654_sdhci.c @@ -12,6 +12,7 @@ #include #include #include +#include #include /* CTL_CFG Registers */ diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c index ea8eb0d..d396afc 100644 --- a/drivers/mmc/arm_pl180_mmci.c +++ b/drivers/mmc/arm_pl180_mmci.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c index 7f70aca..8cebf99 100644 --- a/drivers/mmc/bcm2835_sdhost.c +++ b/drivers/mmc/bcm2835_sdhost.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index 112f115..ab40019 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -22,6 +22,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index 7cbd6e4..4900498 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/jz_mmc.c b/drivers/mmc/jz_mmc.c index cb2a7c3..8d4f886 100644 --- a/drivers/mmc/jz_mmc.c +++ b/drivers/mmc/jz_mmc.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c index c7a832c..0b90a97 100644 --- a/drivers/mmc/mmc-uclass.c +++ b/drivers/mmc/mmc-uclass.c @@ -8,7 +8,9 @@ #include #include #include +#include #include +#include #include "mmc_private.h" int dm_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, diff --git a/drivers/mmc/msm_sdhci.c b/drivers/mmc/msm_sdhci.c index cae42ec..da3ae2e 100644 --- a/drivers/mmc/msm_sdhci.c +++ b/drivers/mmc/msm_sdhci.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/mtk-sd.c b/drivers/mmc/mtk-sd.c index d487081..bd1fb09 100644 --- a/drivers/mmc/mtk-sd.c +++ b/drivers/mmc/mtk-sd.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/renesas-sdhi.c b/drivers/mmc/renesas-sdhi.c index e01ac31..c3b1313 100644 --- a/drivers/mmc/renesas-sdhi.c +++ b/drivers/mmc/renesas-sdhi.c @@ -6,8 +6,10 @@ #include #include #include +#include #include #include +#include #include #include #include diff --git a/drivers/mmc/sdhci-cadence.c b/drivers/mmc/sdhci-cadence.c index 4736263..e9108da 100644 --- a/drivers/mmc/sdhci-cadence.c +++ b/drivers/mmc/sdhci-cadence.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/drivers/mmc/sh_mmcif.c b/drivers/mmc/sh_mmcif.c index c8875ce..29bbb4b 100644 --- a/drivers/mmc/sh_mmcif.c +++ b/drivers/mmc/sh_mmcif.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/sh_sdhi.c b/drivers/mmc/sh_sdhi.c index e38e8ab..2202158 100644 --- a/drivers/mmc/sh_sdhi.c +++ b/drivers/mmc/sh_sdhi.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/snps_dw_mmc.c b/drivers/mmc/snps_dw_mmc.c index 5a413f0..c606ef0 100644 --- a/drivers/mmc/snps_dw_mmc.c +++ b/drivers/mmc/snps_dw_mmc.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c index 568a3e7..786cdc7 100644 --- a/drivers/mmc/socfpga_dw_mmc.c +++ b/drivers/mmc/socfpga_dw_mmc.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/stm32_sdmmc2.c b/drivers/mmc/stm32_sdmmc2.c index 0a7a2fe..6f3b2ad 100644 --- a/drivers/mmc/stm32_sdmmc2.c +++ b/drivers/mmc/stm32_sdmmc2.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/tmio-common.c b/drivers/mmc/tmio-common.c index 5a8506d..092b740 100644 --- a/drivers/mmc/tmio-common.c +++ b/drivers/mmc/tmio-common.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 8f89bda..4dbe71f 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -7,8 +7,10 @@ #include #include #include +#include #include #include +#include #include #include #include diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index 83c32a3..24fabee 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -10,6 +10,7 @@ #include #include #include "mmc_private.h" +#include #include #include #include diff --git a/drivers/mtd/hbmc-am654.c b/drivers/mtd/hbmc-am654.c index 5a560f1..846b0e8 100644 --- a/drivers/mtd/hbmc-am654.c +++ b/drivers/mtd/hbmc-am654.c @@ -8,6 +8,7 @@ #include #include #include +#include #define FSS_SYSC_REG 0x4 diff --git a/drivers/mtd/mtd_uboot.c b/drivers/mtd/mtd_uboot.c index 17df8b0..db20a6b 100644 --- a/drivers/mtd/mtd_uboot.c +++ b/drivers/mtd/mtd_uboot.c @@ -5,6 +5,7 @@ */ #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/core.c b/drivers/mtd/nand/core.c index 3abaef2..bc0accf 100644 --- a/drivers/mtd/nand/core.c +++ b/drivers/mtd/nand/core.c @@ -11,6 +11,7 @@ #include #ifndef __UBOOT__ +#include #include #endif #include diff --git a/drivers/mtd/nand/raw/atmel_nand.c b/drivers/mtd/nand/raw/atmel_nand.c index 3526585..996d3db 100644 --- a/drivers/mtd/nand/raw/atmel_nand.c +++ b/drivers/mtd/nand/raw/atmel_nand.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index d3e3966..5232328 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c b/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c index bb8aea2..c586798 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-2.0+ #include -#include "brcmnand_compat.h" +#include #include +#include "brcmnand_compat.h" static char *devm_kvasprintf(struct udevice *dev, gfp_t gfp, const char *fmt, va_list ap) diff --git a/drivers/mtd/nand/raw/denali.c b/drivers/mtd/nand/raw/denali.c index 235a5fc..f51d3e2 100644 --- a/drivers/mtd/nand/raw/denali.c +++ b/drivers/mtd/nand/raw/denali.c @@ -7,7 +7,9 @@ #include #include +#include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/denali_dt.c b/drivers/mtd/nand/raw/denali_dt.c index 759ad40..41b93e6 100644 --- a/drivers/mtd/nand/raw/denali_dt.c +++ b/drivers/mtd/nand/raw/denali_dt.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c index e179a78..03f210b 100644 --- a/drivers/mtd/nand/raw/pxa3xx_nand.c +++ b/drivers/mtd/nand/raw/pxa3xx_nand.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/sunxi_nand.c b/drivers/mtd/nand/raw/sunxi_nand.c index cd5c31e..9b99be1 100644 --- a/drivers/mtd/nand/raw/sunxi_nand.c +++ b/drivers/mtd/nand/raw/sunxi_nand.c @@ -26,8 +26,10 @@ #include #include +#include #include #include +#include #include #include diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c index 74acdfb..ae699d1 100644 --- a/drivers/mtd/nand/raw/tegra_nand.c +++ b/drivers/mtd/nand/raw/tegra_nand.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/mtd/nand/raw/vf610_nfc.c b/drivers/mtd/nand/raw/vf610_nfc.c index 3326c2b..52c8a94 100644 --- a/drivers/mtd/nand/raw/vf610_nfc.c +++ b/drivers/mtd/nand/raw/vf610_nfc.c @@ -23,6 +23,7 @@ #include #include +#include #include #include diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index d976c19..cd624ec 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #endif diff --git a/drivers/mtd/nand/spi/gigadevice.c b/drivers/mtd/nand/spi/gigadevice.c index e329c3c..0b228dc 100644 --- a/drivers/mtd/nand/spi/gigadevice.c +++ b/drivers/mtd/nand/spi/gigadevice.c @@ -7,6 +7,7 @@ */ #ifndef __UBOOT__ +#include #include #include #endif diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c index 1119677..67d092b 100644 --- a/drivers/mtd/nand/spi/macronix.c +++ b/drivers/mtd/nand/spi/macronix.c @@ -6,6 +6,7 @@ */ #ifndef __UBOOT__ +#include #include #include #endif diff --git a/drivers/mtd/nand/spi/micron.c b/drivers/mtd/nand/spi/micron.c index 9c24542..687306e 100644 --- a/drivers/mtd/nand/spi/micron.c +++ b/drivers/mtd/nand/spi/micron.c @@ -7,6 +7,7 @@ */ #ifndef __UBOOT__ +#include #include #include #endif diff --git a/drivers/mtd/nand/spi/winbond.c b/drivers/mtd/nand/spi/winbond.c index de9352e..6ede98c 100644 --- a/drivers/mtd/nand/spi/winbond.c +++ b/drivers/mtd/nand/spi/winbond.c @@ -8,6 +8,7 @@ */ #ifndef __UBOOT__ +#include #include #include #endif diff --git a/drivers/mtd/renesas_rpc_hf.c b/drivers/mtd/renesas_rpc_hf.c index f5c6515..fc2aa22 100644 --- a/drivers/mtd/renesas_rpc_hf.c +++ b/drivers/mtd/renesas_rpc_hf.c @@ -8,9 +8,11 @@ */ #include +#include #include #include #include +#include #include #include #include diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c index c610752..5ebcca5 100644 --- a/drivers/mtd/spi/sf-uclass.c +++ b/drivers/mtd/spi/sf-uclass.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c index b27e442..7b6ad49 100644 --- a/drivers/mtd/spi/spi-nor-core.c +++ b/drivers/mtd/spi/spi-nor-core.c @@ -10,6 +10,7 @@ */ #include +#include #include #include #include diff --git a/drivers/mtd/spi/spi-nor-tiny.c b/drivers/mtd/spi/spi-nor-tiny.c index c19d468..ccc0ab0 100644 --- a/drivers/mtd/spi/spi-nor-tiny.c +++ b/drivers/mtd/spi/spi-nor-tiny.c @@ -10,6 +10,7 @@ */ #include +#include #include #include #include diff --git a/drivers/mtd/ubi/debug.c b/drivers/mtd/ubi/debug.c index aec2613..d2b7ca5 100644 --- a/drivers/mtd/ubi/debug.c +++ b/drivers/mtd/ubi/debug.c @@ -6,6 +6,7 @@ */ #include +#include #include #include "ubi.h" #ifndef __UBOOT__ diff --git a/drivers/mtd/ubi/misc.c b/drivers/mtd/ubi/misc.c index 685324d..3f7ee59 100644 --- a/drivers/mtd/ubi/misc.c +++ b/drivers/mtd/ubi/misc.c @@ -7,6 +7,7 @@ /* Here we keep miscellaneous functions which are used all over the UBI code */ +#include #include #include "ubi.h" diff --git a/drivers/mtd/ubi/upd.c b/drivers/mtd/ubi/upd.c index d0a6a1b..0f7951c 100644 --- a/drivers/mtd/ubi/upd.c +++ b/drivers/mtd/ubi/upd.c @@ -26,6 +26,7 @@ */ #ifndef __UBOOT__ +#include #include #else #include diff --git a/drivers/net/bcm6348-eth.c b/drivers/net/bcm6348-eth.c index 7100e68..fe35329 100644 --- a/drivers/net/bcm6348-eth.c +++ b/drivers/net/bcm6348-eth.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/bcm6368-eth.c b/drivers/net/bcm6368-eth.c index 110985e..1200049 100644 --- a/drivers/net/bcm6368-eth.c +++ b/drivers/net/bcm6368-eth.c @@ -10,11 +10,13 @@ #include #include #include +#include #include #include #include #include #include +#include #define ETH_PORT_STR "brcm,enetsw-port" diff --git a/drivers/net/designware.c b/drivers/net/designware.c index aa33fd5..baac277 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 4632111..0564beb 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/dwmac_socfpga.c b/drivers/net/dwmac_socfpga.c index 66a5f95..e93561d 100644 --- a/drivers/net/dwmac_socfpga.c +++ b/drivers/net/dwmac_socfpga.c @@ -14,6 +14,7 @@ #include #include #include "designware.h" +#include #include #include diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 0946011..9212920 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -33,6 +33,7 @@ tested on both gig copper and gig fiber boards #include #include #include +#include #include #include #include "e1000.h" diff --git a/drivers/net/e1000_spi.c b/drivers/net/e1000_spi.c index aecd290..52b3c79 100644 --- a/drivers/net/e1000_spi.c +++ b/drivers/net/e1000_spi.c @@ -1,6 +1,7 @@ #include #include #include "e1000.h" +#include #include /*----------------------------------------------------------------------- diff --git a/drivers/net/fsl-mc/dpio/qbman_portal.c b/drivers/net/fsl-mc/dpio/qbman_portal.c index c51354c..e161b4e 100644 --- a/drivers/net/fsl-mc/dpio/qbman_portal.c +++ b/drivers/net/fsl-mc/dpio/qbman_portal.c @@ -3,6 +3,7 @@ * Copyright (C) 2014 Freescale Semiconductor */ +#include #include #include "qbman_portal.h" diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index 8ff43a9..07bbcc9 100644 --- a/drivers/net/fsl-mc/mc.c +++ b/drivers/net/fsl-mc/mc.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/fsl_enetc.c b/drivers/net/fsl_enetc.c index f0d15fe..bee7315 100644 --- a/drivers/net/fsl_enetc.c +++ b/drivers/net/fsl_enetc.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c index ebb7433..40e6b3b 100644 --- a/drivers/net/ftgmac100.c +++ b/drivers/net/ftgmac100.c @@ -14,9 +14,11 @@ #include #include #include +#include #include #include #include +#include #include #include diff --git a/drivers/net/higmacv300.c b/drivers/net/higmacv300.c index 897741a..0c1dd68 100644 --- a/drivers/net/higmacv300.c +++ b/drivers/net/higmacv300.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include diff --git a/drivers/net/mscc_eswitch/jr2_switch.c b/drivers/net/mscc_eswitch/jr2_switch.c index 6655177..33dd002 100644 --- a/drivers/net/mscc_eswitch/jr2_switch.c +++ b/drivers/net/mscc_eswitch/jr2_switch.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mscc_eswitch/luton_switch.c b/drivers/net/mscc_eswitch/luton_switch.c index dffe81d..9d24c00 100644 --- a/drivers/net/mscc_eswitch/luton_switch.c +++ b/drivers/net/mscc_eswitch/luton_switch.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mscc_eswitch/ocelot_switch.c b/drivers/net/mscc_eswitch/ocelot_switch.c index 0ba84ab..fe48f37 100644 --- a/drivers/net/mscc_eswitch/ocelot_switch.c +++ b/drivers/net/mscc_eswitch/ocelot_switch.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mscc_eswitch/serval_switch.c b/drivers/net/mscc_eswitch/serval_switch.c index 1a21360..f05fa42 100644 --- a/drivers/net/mscc_eswitch/serval_switch.c +++ b/drivers/net/mscc_eswitch/serval_switch.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mscc_eswitch/servalt_switch.c b/drivers/net/mscc_eswitch/servalt_switch.c index d20ec49..bf95a38 100644 --- a/drivers/net/mscc_eswitch/servalt_switch.c +++ b/drivers/net/mscc_eswitch/servalt_switch.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mtk_eth.c b/drivers/net/mtk_eth.c index c22e590..77589b2 100644 --- a/drivers/net/mtk_eth.c +++ b/drivers/net/mtk_eth.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c index 505fabd..d737400 100644 --- a/drivers/net/mvneta.c +++ b/drivers/net/mvneta.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c index 105fdc9..fcd2486 100644 --- a/drivers/net/mvpp2.c +++ b/drivers/net/mvpp2.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/pch_gbe.c b/drivers/net/pch_gbe.c index e4507bf..b282370 100644 --- a/drivers/net/pch_gbe.c +++ b/drivers/net/pch_gbe.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/pfe_eth/pfe_driver.c b/drivers/net/pfe_eth/pfe_driver.c index 14a8c68..f70a235 100644 --- a/drivers/net/pfe_eth/pfe_driver.c +++ b/drivers/net/pfe_eth/pfe_driver.c @@ -4,6 +4,7 @@ * Copyright 2017 NXP */ +#include #include #include diff --git a/drivers/net/pfe_eth/pfe_eth.c b/drivers/net/pfe_eth/pfe_eth.c index c525674..1b5d11e 100644 --- a/drivers/net/pfe_eth/pfe_eth.c +++ b/drivers/net/pfe_eth/pfe_eth.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/drivers/net/pfe_eth/pfe_firmware.c b/drivers/net/pfe_eth/pfe_firmware.c index e4563f1..13112d9 100644 --- a/drivers/net/pfe_eth/pfe_firmware.c +++ b/drivers/net/pfe_eth/pfe_firmware.c @@ -10,6 +10,7 @@ * files. */ +#include #include #include #ifdef CONFIG_CHAIN_OF_TRUST diff --git a/drivers/net/pfe_eth/pfe_mdio.c b/drivers/net/pfe_eth/pfe_mdio.c index 6230967..b990e7f 100644 --- a/drivers/net/pfe_eth/pfe_mdio.c +++ b/drivers/net/pfe_eth/pfe_mdio.c @@ -5,6 +5,7 @@ */ #include #include +#include #include #include #include diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c index 0ae0edd..9d9f746 100644 --- a/drivers/net/phy/fixed.c +++ b/drivers/net/phy/fixed.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/drivers/net/pic32_eth.c b/drivers/net/pic32_eth.c index 3458440..e966be0 100644 --- a/drivers/net/pic32_eth.c +++ b/drivers/net/pic32_eth.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/sandbox-raw-bus.c b/drivers/net/sandbox-raw-bus.c index 0086f25..fb1ba5a 100644 --- a/drivers/net/sandbox-raw-bus.c +++ b/drivers/net/sandbox-raw-bus.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/net/sni_ave.c b/drivers/net/sni_ave.c index 64e92ab..5d66a63 100644 --- a/drivers/net/sni_ave.c +++ b/drivers/net/sni_ave.c @@ -8,14 +8,16 @@ #include #include #include -#include -#include -#include +#include #include #include #include #include #include +#include +#include +#include +#include #define AVE_GRST_DELAY_MSEC 40 #define AVE_MIN_XMITSIZE 60 diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c index 6f10578..1ae776b 100644 --- a/drivers/net/sun8i_emac.c +++ b/drivers/net/sun8i_emac.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/sunxi_emac.c b/drivers/net/sunxi_emac.c index 9a5f7fd..a9874e4 100644 --- a/drivers/net/sunxi_emac.c +++ b/drivers/net/sunxi_emac.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/ti/am65-cpsw-nuss.c b/drivers/net/ti/am65-cpsw-nuss.c index 2590486..2b77213 100644 --- a/drivers/net/ti/am65-cpsw-nuss.c +++ b/drivers/net/ti/am65-cpsw-nuss.c @@ -7,10 +7,12 @@ */ #include +#include #include #include #include #include +#include #include #include #include diff --git a/drivers/net/ti/cpsw-common.c b/drivers/net/ti/cpsw-common.c index 21b8bbd..ca93edb 100644 --- a/drivers/net/ti/cpsw-common.c +++ b/drivers/net/ti/cpsw-common.c @@ -10,6 +10,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/net/ti/cpsw.c b/drivers/net/ti/cpsw.c index 5762562..04b01a8 100644 --- a/drivers/net/ti/cpsw.c +++ b/drivers/net/ti/cpsw.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/net/ti/cpsw_mdio.c b/drivers/net/ti/cpsw_mdio.c index 6e8f652..1fa520b 100644 --- a/drivers/net/ti/cpsw_mdio.c +++ b/drivers/net/ti/cpsw_mdio.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c index 3d9d520..288037e 100644 --- a/drivers/net/zynq_gem.c +++ b/drivers/net/zynq_gem.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c index 2593eb1..ef4382d 100644 --- a/drivers/nvme/nvme.c +++ b/drivers/nvme/nvme.c @@ -8,10 +8,12 @@ #include #include #include +#include #include #include #include #include +#include #include "nvme.h" #define NVME_Q_DEPTH 2 diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c index f1527ac..d678e0b 100644 --- a/drivers/pci/pci-aardvark.c +++ b/drivers/pci/pci-aardvark.c @@ -29,6 +29,7 @@ #include #include #include +#include #include /* PCIe core registers */ diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 5f31812..e2882e3 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pci/pci_mvebu.c b/drivers/pci/pci_mvebu.c index 7d9ad34..483a87d 100644 --- a/drivers/pci/pci_mvebu.c +++ b/drivers/pci/pci_mvebu.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c index 8cfd071..f62264c 100644 --- a/drivers/pci/pcie_dw_ti.c +++ b/drivers/pci/pcie_dw_ti.c @@ -12,6 +12,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/pci/pcie_fsl.c b/drivers/pci/pcie_fsl.c index f516ec0..dc994b7 100644 --- a/drivers/pci/pcie_fsl.c +++ b/drivers/pci/pcie_fsl.c @@ -15,6 +15,7 @@ #include #include #include "pcie_fsl.h" +#include LIST_HEAD(fsl_pcie_list); diff --git a/drivers/pci/pcie_imx.c b/drivers/pci/pcie_imx.c index 8e1713a..f34a157 100644 --- a/drivers/pci/pcie_imx.c +++ b/drivers/pci/pcie_imx.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include diff --git a/drivers/pci/pcie_intel_fpga.c b/drivers/pci/pcie_intel_fpga.c index a1f6e95..6a9f29c 100644 --- a/drivers/pci/pcie_intel_fpga.c +++ b/drivers/pci/pcie_intel_fpga.c @@ -10,6 +10,7 @@ #include #include #include +#include #define RP_TX_REG0 0x2000 #define RP_TX_CNTRL 0x2004 diff --git a/drivers/pci/pcie_mediatek.c b/drivers/pci/pcie_mediatek.c index eabcb66..d8a32d5 100644 --- a/drivers/pci/pcie_mediatek.c +++ b/drivers/pci/pcie_mediatek.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 2c12fa6..612c428 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #define REG_ISCR 0x00 diff --git a/drivers/phy/bcm6318-usbh-phy.c b/drivers/phy/bcm6318-usbh-phy.c index de055a3..2de343d 100644 --- a/drivers/phy/bcm6318-usbh-phy.c +++ b/drivers/phy/bcm6318-usbh-phy.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/bcm6348-usbh-phy.c b/drivers/phy/bcm6348-usbh-phy.c index e7761e3..ed9f02b 100644 --- a/drivers/phy/bcm6348-usbh-phy.c +++ b/drivers/phy/bcm6348-usbh-phy.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/bcm6358-usbh-phy.c b/drivers/phy/bcm6358-usbh-phy.c index 189a1c1..f0fda02 100644 --- a/drivers/phy/bcm6358-usbh-phy.c +++ b/drivers/phy/bcm6358-usbh-phy.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/bcm6368-usbh-phy.c b/drivers/phy/bcm6368-usbh-phy.c index 99da97a..53d1f45 100644 --- a/drivers/phy/bcm6368-usbh-phy.c +++ b/drivers/phy/bcm6368-usbh-phy.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c index d52f42d..244beef 100644 --- a/drivers/phy/marvell/comphy_core.c +++ b/drivers/phy/marvell/comphy_core.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/meson-g12a-usb2.c b/drivers/phy/meson-g12a-usb2.c index ad1a77f..c23bc87 100644 --- a/drivers/phy/meson-g12a-usb2.c +++ b/drivers/phy/meson-g12a-usb2.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include diff --git a/drivers/phy/meson-g12a-usb3-pcie.c b/drivers/phy/meson-g12a-usb3-pcie.c index 920675d..82655f2 100644 --- a/drivers/phy/meson-g12a-usb3-pcie.c +++ b/drivers/phy/meson-g12a-usb3-pcie.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/meson-gxl-usb2.c b/drivers/phy/meson-gxl-usb2.c index 86e69c7..c98d12b 100644 --- a/drivers/phy/meson-gxl-usb2.c +++ b/drivers/phy/meson-gxl-usb2.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include diff --git a/drivers/phy/meson-gxl-usb3.c b/drivers/phy/meson-gxl-usb3.c index 5cbbd4d..c2a8593 100644 --- a/drivers/phy/meson-gxl-usb3.c +++ b/drivers/phy/meson-gxl-usb3.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include diff --git a/drivers/phy/phy-mtk-tphy.c b/drivers/phy/phy-mtk-tphy.c index 255d722..bd089b7 100644 --- a/drivers/phy/phy-mtk-tphy.c +++ b/drivers/phy/phy-mtk-tphy.c @@ -9,8 +9,10 @@ #include #include #include +#include #include #include +#include #include #include diff --git a/drivers/phy/phy-rcar-gen2.c b/drivers/phy/phy-rcar-gen2.c index ee70b81..e93130a 100644 --- a/drivers/phy/phy-rcar-gen2.c +++ b/drivers/phy/phy-rcar-gen2.c @@ -11,10 +11,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include diff --git a/drivers/phy/phy-rcar-gen3.c b/drivers/phy/phy-rcar-gen3.c index b662935..ce39cd8 100644 --- a/drivers/phy/phy-rcar-gen3.c +++ b/drivers/phy/phy-rcar-gen3.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/phy/phy-stm32-usbphyc.c b/drivers/phy/phy-stm32-usbphyc.c index 6f11190..6ba3721 100644 --- a/drivers/phy/phy-stm32-usbphyc.c +++ b/drivers/phy/phy-stm32-usbphyc.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/drivers/phy/phy-ti-am654.c b/drivers/phy/phy-ti-am654.c index 1c7db0d..0b2b241 100644 --- a/drivers/phy/phy-ti-am654.c +++ b/drivers/phy/phy-ti-am654.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/broadcom/pinctrl-bcm6838.c b/drivers/pinctrl/broadcom/pinctrl-bcm6838.c index 48c0b6b..6c8a990 100644 --- a/drivers/pinctrl/broadcom/pinctrl-bcm6838.c +++ b/drivers/pinctrl/broadcom/pinctrl-bcm6838.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #define BCM6838_CMD_LOAD_MUX 0x21 diff --git a/drivers/pinctrl/intel/pinctrl.c b/drivers/pinctrl/intel/pinctrl.c index 42618cf..168595a 100644 --- a/drivers/pinctrl/intel/pinctrl.c +++ b/drivers/pinctrl/intel/pinctrl.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c index f664d76..7fbe281 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -5,7 +5,9 @@ #include #include +#include #include +#include #include #include #include diff --git a/drivers/pinctrl/mscc/mscc-common.c b/drivers/pinctrl/mscc/mscc-common.c index 2d76c41..90c54b4 100644 --- a/drivers/pinctrl/mscc/mscc-common.c +++ b/drivers/pinctrl/mscc/mscc-common.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/mtmips/pinctrl-mtmips-common.c b/drivers/pinctrl/mtmips/pinctrl-mtmips-common.c index ee6a9d1..e361916 100644 --- a/drivers/pinctrl/mtmips/pinctrl-mtmips-common.c +++ b/drivers/pinctrl/mtmips/pinctrl-mtmips-common.c @@ -7,6 +7,7 @@ #include #include +#include #include #include diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c index da1f091..6e0bcae 100644 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c @@ -19,7 +19,9 @@ #include #include #include +#include #include +#include #include #include #include diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c index 77a8a53..474c38a 100644 --- a/drivers/pinctrl/nxp/pinctrl-imx.c +++ b/drivers/pinctrl/nxp/pinctrl-imx.c @@ -4,7 +4,9 @@ */ #include +#include #include +#include #include #include #include diff --git a/drivers/pinctrl/nxp/pinctrl-mxs.c b/drivers/pinctrl/nxp/pinctrl-mxs.c index 5147bdc..8d61dfe 100644 --- a/drivers/pinctrl/nxp/pinctrl-mxs.c +++ b/drivers/pinctrl/nxp/pinctrl-mxs.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/drivers/pinctrl/pinctrl-generic.c b/drivers/pinctrl/pinctrl-generic.c index eecf0f5..1098366 100644 --- a/drivers/pinctrl/pinctrl-generic.c +++ b/drivers/pinctrl/pinctrl-generic.c @@ -5,6 +5,7 @@ #include #include +#include #include #include diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index 1dfc97d..380b0da 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c index 0b5a043..c8e61e2 100644 --- a/drivers/pinctrl/pinctrl-stmfx.c +++ b/drivers/pinctrl/pinctrl-stmfx.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c index 3425ed1..aba8810 100644 --- a/drivers/pinctrl/pinctrl-uclass.c +++ b/drivers/pinctrl/pinctrl-uclass.c @@ -4,6 +4,8 @@ */ #include +#include +#include #include #include #include diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c index e0380c3..9926235 100644 --- a/drivers/pinctrl/pinctrl_stm32.c +++ b/drivers/pinctrl/pinctrl_stm32.c @@ -1,9 +1,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/renesas/pfc.c b/drivers/pinctrl/renesas/pfc.c index 5ee1161..ab64f4f 100644 --- a/drivers/pinctrl/renesas/pfc.c +++ b/drivers/pinctrl/renesas/pfc.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c index a5935e8..abeba96 100644 --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/bcm6328-power-domain.c b/drivers/power/domain/bcm6328-power-domain.c index 425451e..a6426be 100644 --- a/drivers/power/domain/bcm6328-power-domain.c +++ b/drivers/power/domain/bcm6328-power-domain.c @@ -5,6 +5,7 @@ #include #include +#include #include #include diff --git a/drivers/power/domain/imx8-power-domain-legacy.c b/drivers/power/domain/imx8-power-domain-legacy.c index 74fcb05..6f01a60 100644 --- a/drivers/power/domain/imx8-power-domain-legacy.c +++ b/drivers/power/domain/imx8-power-domain-legacy.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/imx8-power-domain.c b/drivers/power/domain/imx8-power-domain.c index 8e328f0..571146e 100644 --- a/drivers/power/domain/imx8-power-domain.c +++ b/drivers/power/domain/imx8-power-domain.c @@ -6,6 +6,7 @@ #define DEBUG #include #include +#include #include #include #include diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c index fbfd177..5b6467c 100644 --- a/drivers/power/domain/imx8m-power-domain.c +++ b/drivers/power/domain/imx8m-power-domain.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/meson-ee-pwrc.c b/drivers/power/domain/meson-ee-pwrc.c index aa11866..7082c80 100644 --- a/drivers/power/domain/meson-ee-pwrc.c +++ b/drivers/power/domain/meson-ee-pwrc.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/meson-gx-pwrc-vpu.c b/drivers/power/domain/meson-gx-pwrc-vpu.c index 02f7354..12cdfcd 100644 --- a/drivers/power/domain/meson-gx-pwrc-vpu.c +++ b/drivers/power/domain/meson-gx-pwrc-vpu.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/mtk-power-domain.c b/drivers/power/domain/mtk-power-domain.c index 789fc5a..3ff7ca1 100644 --- a/drivers/power/domain/mtk-power-domain.c +++ b/drivers/power/domain/mtk-power-domain.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/power/domain/power-domain-uclass.c b/drivers/power/domain/power-domain-uclass.c index be0a802..d9c623b 100644 --- a/drivers/power/domain/power-domain-uclass.c +++ b/drivers/power/domain/power-domain-uclass.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/sandbox-power-domain-test.c b/drivers/power/domain/sandbox-power-domain-test.c index 148b6b1..2191a94 100644 --- a/drivers/power/domain/sandbox-power-domain-test.c +++ b/drivers/power/domain/sandbox-power-domain-test.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/sandbox-power-domain.c b/drivers/power/domain/sandbox-power-domain.c index a5ae235..3a834a9 100644 --- a/drivers/power/domain/sandbox-power-domain.c +++ b/drivers/power/domain/sandbox-power-domain.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/tegra186-power-domain.c b/drivers/power/domain/tegra186-power-domain.c index d2a25ca..e872441 100644 --- a/drivers/power/domain/tegra186-power-domain.c +++ b/drivers/power/domain/tegra186-power-domain.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/power/domain/ti-sci-power-domain.c b/drivers/power/domain/ti-sci-power-domain.c index 3866db5..a586670 100644 --- a/drivers/power/domain/ti-sci-power-domain.c +++ b/drivers/power/domain/ti-sci-power-domain.c @@ -11,7 +11,9 @@ #include #include #include +#include #include +#include #include #include #include diff --git a/drivers/power/pmic/fan53555.c b/drivers/power/pmic/fan53555.c index 11304d2..a5f855c 100644 --- a/drivers/power/pmic/fan53555.c +++ b/drivers/power/pmic/fan53555.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/power/pmic/i2c_pmic_emul.c b/drivers/power/pmic/i2c_pmic_emul.c index b58c830..86d7b89 100644 --- a/drivers/power/pmic/i2c_pmic_emul.c +++ b/drivers/power/pmic/i2c_pmic_emul.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/power/pmic/stpmic1.c b/drivers/power/pmic/stpmic1.c index 2297af4..2c85410 100644 --- a/drivers/power/pmic/stpmic1.c +++ b/drivers/power/pmic/stpmic1.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/power/regulator/pwm_regulator.c b/drivers/power/regulator/pwm_regulator.c index cd05c9b..4030144 100644 --- a/drivers/power/regulator/pwm_regulator.c +++ b/drivers/power/regulator/pwm_regulator.c @@ -11,6 +11,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/power/regulator/stm32-vrefbuf.c b/drivers/power/regulator/stm32-vrefbuf.c index 645528e..08a10f0 100644 --- a/drivers/power/regulator/stm32-vrefbuf.c +++ b/drivers/power/regulator/stm32-vrefbuf.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/power/regulator/tps62360_regulator.c b/drivers/power/regulator/tps62360_regulator.c index 2c076c0..ce54495 100644 --- a/drivers/power/regulator/tps62360_regulator.c +++ b/drivers/power/regulator/tps62360_regulator.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #define TPS62360_REG_SET0 0 diff --git a/drivers/ram/k3-am654-ddrss.c b/drivers/ram/k3-am654-ddrss.c index 7015d8c..8cf7486 100644 --- a/drivers/ram/k3-am654-ddrss.c +++ b/drivers/ram/k3-am654-ddrss.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "k3-am654-ddrss.h" diff --git a/drivers/ram/k3-j721e/k3-j721e-ddrss.c b/drivers/ram/k3-j721e/k3-j721e-ddrss.c index a9b7d40..352483c 100644 --- a/drivers/ram/k3-j721e/k3-j721e-ddrss.c +++ b/drivers/ram/k3-j721e/k3-j721e-ddrss.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "lpddr4_obj_if.h" #include "lpddr4_if.h" diff --git a/drivers/ram/stm32_sdram.c b/drivers/ram/stm32_sdram.c index f6cac8e..2d03333 100644 --- a/drivers/ram/stm32_sdram.c +++ b/drivers/ram/stm32_sdram.c @@ -9,6 +9,7 @@ #include #include #include +#include #define MEM_MODE_MASK GENMASK(2, 0) #define SWP_FMC_OFFSET 10 diff --git a/drivers/remoteproc/k3_system_controller.c b/drivers/remoteproc/k3_system_controller.c index 44e56c7..8843029 100644 --- a/drivers/remoteproc/k3_system_controller.c +++ b/drivers/remoteproc/k3_system_controller.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #define K3_MSG_R5_TO_M3_M3FW 0x8105 diff --git a/drivers/remoteproc/rproc-elf-loader.c b/drivers/remoteproc/rproc-elf-loader.c index bf44beb..f2e033a 100644 --- a/drivers/remoteproc/rproc-elf-loader.c +++ b/drivers/remoteproc/rproc-elf-loader.c @@ -7,7 +7,8 @@ #include #include #include -#include +#include +#include /** * struct resource_table - firmware resource table header diff --git a/drivers/remoteproc/stm32_copro.c b/drivers/remoteproc/stm32_copro.c index 80e8dff..e9dce0d 100644 --- a/drivers/remoteproc/stm32_copro.c +++ b/drivers/remoteproc/stm32_copro.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #define RCC_GCR_HOLD_BOOT 0 diff --git a/drivers/remoteproc/ti_k3_arm64_rproc.c b/drivers/remoteproc/ti_k3_arm64_rproc.c index d048cf4..28c6ddb 100644 --- a/drivers/remoteproc/ti_k3_arm64_rproc.c +++ b/drivers/remoteproc/ti_k3_arm64_rproc.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include "ti_sci_proc.h" diff --git a/drivers/remoteproc/ti_k3_dsp_rproc.c b/drivers/remoteproc/ti_k3_dsp_rproc.c index 913aca3..09e050f 100644 --- a/drivers/remoteproc/ti_k3_dsp_rproc.c +++ b/drivers/remoteproc/ti_k3_dsp_rproc.c @@ -9,12 +9,14 @@ #include #include +#include #include #include #include #include #include #include +#include #include #include #include "ti_sci_proc.h" diff --git a/drivers/remoteproc/ti_k3_r5f_rproc.c b/drivers/remoteproc/ti_k3_r5f_rproc.c index cecfb0e..ea56689 100644 --- a/drivers/remoteproc/ti_k3_r5f_rproc.c +++ b/drivers/remoteproc/ti_k3_r5f_rproc.c @@ -8,11 +8,13 @@ #include #include +#include #include #include #include #include #include +#include #include #include #include diff --git a/drivers/reset/reset-bcm6345.c b/drivers/reset/reset-bcm6345.c index bbaaea9..c1f1e7f 100644 --- a/drivers/reset/reset-bcm6345.c +++ b/drivers/reset/reset-bcm6345.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include diff --git a/drivers/reset/reset-hisilicon.c b/drivers/reset/reset-hisilicon.c index d449e3d..a678b8f 100644 --- a/drivers/reset/reset-hisilicon.c +++ b/drivers/reset/reset-hisilicon.c @@ -3,6 +3,7 @@ * Copyright (c) 2019, Linaro Limited */ +#include #include #include #include diff --git a/drivers/reset/reset-imx7.c b/drivers/reset/reset-imx7.c index a2bad65..a61855e 100644 --- a/drivers/reset/reset-imx7.c +++ b/drivers/reset/reset-imx7.c @@ -3,6 +3,7 @@ * Copyright (c) 2017, Impinj, Inc. */ +#include #include #include #include diff --git a/drivers/reset/reset-mediatek.c b/drivers/reset/reset-mediatek.c index 4684cbf..6d17f52 100644 --- a/drivers/reset/reset-mediatek.c +++ b/drivers/reset/reset-mediatek.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c index 9026e03..70f9635 100644 --- a/drivers/reset/reset-meson.c +++ b/drivers/reset/reset-meson.c @@ -8,6 +8,7 @@ #include #include +#include #include #include diff --git a/drivers/reset/reset-mtmips.c b/drivers/reset/reset-mtmips.c index 71254a9..677de0a 100644 --- a/drivers/reset/reset-mtmips.c +++ b/drivers/reset/reset-mtmips.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/reset/reset-rockchip.c b/drivers/reset/reset-rockchip.c index 4fb9571..100afc8 100644 --- a/drivers/reset/reset-rockchip.c +++ b/drivers/reset/reset-rockchip.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/reset-socfpga.c b/drivers/reset/reset-socfpga.c index 98524eb..3ad5e35 100644 --- a/drivers/reset/reset-socfpga.c +++ b/drivers/reset/reset-socfpga.c @@ -14,6 +14,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c index 1c717b2..f21bf3b 100644 --- a/drivers/reset/reset-sunxi.c +++ b/drivers/reset/reset-sunxi.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/reset/reset-ti-sci.c b/drivers/reset/reset-ti-sci.c index 99e3d9a..f5d82b5 100644 --- a/drivers/reset/reset-ti-sci.c +++ b/drivers/reset/reset-ti-sci.c @@ -11,7 +11,9 @@ #include #include #include +#include #include +#include #include #include diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c index 8e6c0a4..8ec8e46 100644 --- a/drivers/reset/reset-uclass.c +++ b/drivers/reset/reset-uclass.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/reset/reset-uniphier.c b/drivers/reset/reset-uniphier.c index 97f7b0e..348f388 100644 --- a/drivers/reset/reset-uniphier.c +++ b/drivers/reset/reset-uniphier.c @@ -6,7 +6,9 @@ #include #include +#include #include +#include #include #include #include diff --git a/drivers/reset/sandbox-reset-test.c b/drivers/reset/sandbox-reset-test.c index 95ce2ca..ae79be0 100644 --- a/drivers/reset/sandbox-reset-test.c +++ b/drivers/reset/sandbox-reset-test.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/sandbox-reset.c b/drivers/reset/sandbox-reset.c index c03fce3..bdf53a3 100644 --- a/drivers/reset/sandbox-reset.c +++ b/drivers/reset/sandbox-reset.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/sti-reset.c b/drivers/reset/sti-reset.c index 614da9d..31b3e48 100644 --- a/drivers/reset/sti-reset.c +++ b/drivers/reset/sti-reset.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/stm32-reset.c b/drivers/reset/stm32-reset.c index 4d7745a..5dda522 100644 --- a/drivers/reset/stm32-reset.c +++ b/drivers/reset/stm32-reset.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/reset/tegra-car-reset.c b/drivers/reset/tegra-car-reset.c index 886ea04..23c6fac 100644 --- a/drivers/reset/tegra-car-reset.c +++ b/drivers/reset/tegra-car-reset.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/reset/tegra186-reset.c b/drivers/reset/tegra186-reset.c index 84ed77b..e85f42b 100644 --- a/drivers/reset/tegra186-reset.c +++ b/drivers/reset/tegra186-reset.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/rtc/ds3232.c b/drivers/rtc/ds3232.c index 09a106a..e3b3579 100644 --- a/drivers/rtc/ds3232.c +++ b/drivers/rtc/ds3232.c @@ -8,6 +8,7 @@ #include #include #include +#include /* * RTC register addresses diff --git a/drivers/rtc/rv3029.c b/drivers/rtc/rv3029.c index 2367062..87c4320 100644 --- a/drivers/rtc/rv3029.c +++ b/drivers/rtc/rv3029.c @@ -13,6 +13,7 @@ #include #include #include +#include #define RTC_RV3029_PAGE_LEN 7 diff --git a/drivers/rtc/stm32_rtc.c b/drivers/rtc/stm32_rtc.c index 2674714..3e12f57 100644 --- a/drivers/rtc/stm32_rtc.c +++ b/drivers/rtc/stm32_rtc.c @@ -5,8 +5,10 @@ #include #include #include +#include #include #include +#include #include #define STM32_RTC_TR 0x00 diff --git a/drivers/serial/atmel_usart.c b/drivers/serial/atmel_usart.c index c450a4e..98d2090 100644 --- a/drivers/serial/atmel_usart.c +++ b/drivers/serial/atmel_usart.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 0f5f1fa..30f9b8c 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/serial/serial_bcm6345.c b/drivers/serial/serial_bcm6345.c index 9ad8c77..5b963ce 100644 --- a/drivers/serial/serial_bcm6345.c +++ b/drivers/serial/serial_bcm6345.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index ccb3ce6..d7907a2 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/serial/serial_msm.c b/drivers/serial/serial_msm.c index c462394..0cc1aad 100644 --- a/drivers/serial/serial_msm.c +++ b/drivers/serial/serial_msm.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/serial/serial_pic32.c b/drivers/serial/serial_pic32.c index 84600b1..bac506e 100644 --- a/drivers/serial/serial_pic32.c +++ b/drivers/serial/serial_pic32.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/serial/serial_stm32.c b/drivers/serial/serial_stm32.c index 00a8e72..0160828 100644 --- a/drivers/serial/serial_stm32.c +++ b/drivers/serial/serial_stm32.c @@ -13,6 +13,7 @@ #include #include #include "serial_stm32.h" +#include static void _stm32_serial_setbrg(fdt_addr_t base, struct stm32_uart_info *uart_info, diff --git a/drivers/serial/serial_zynq.c b/drivers/serial/serial_zynq.c index c073759..e4e4c39 100644 --- a/drivers/serial/serial_zynq.c +++ b/drivers/serial/serial_zynq.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/smem/msm_smem.c b/drivers/smem/msm_smem.c index 711ce62..5557fd2 100644 --- a/drivers/smem/msm_smem.c +++ b/drivers/smem/msm_smem.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/soc/ti/k3-navss-ringacc.c b/drivers/soc/ti/k3-navss-ringacc.c index 97c046b..8cbfe2b 100644 --- a/drivers/soc/ti/k3-navss-ringacc.c +++ b/drivers/soc/ti/k3-navss-ringacc.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/sound/sound-uclass.c b/drivers/sound/sound-uclass.c index bada0c2..d9b3a38 100644 --- a/drivers/sound/sound-uclass.c +++ b/drivers/sound/sound-uclass.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #define SOUND_BITS_IN_BYTE 8 diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c index 195ea5f..a09bf88 100644 --- a/drivers/spi/atmel-quadspi.c +++ b/drivers/spi/atmel-quadspi.c @@ -9,12 +9,14 @@ * Author: Piotr Bugalski */ +#include #include #include #include #include #include #include +#include #include #include #include diff --git a/drivers/spi/bcm63xx_hsspi.c b/drivers/spi/bcm63xx_hsspi.c index 529adfb..f88702d 100644 --- a/drivers/spi/bcm63xx_hsspi.c +++ b/drivers/spi/bcm63xx_hsspi.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/bcm63xx_spi.c b/drivers/spi/bcm63xx_spi.c index 69f88c9..719f53d 100644 --- a/drivers/spi/bcm63xx_spi.c +++ b/drivers/spi/bcm63xx_spi.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c index 0b503dd..83b114f 100644 --- a/drivers/spi/cadence_qspi.c +++ b/drivers/spi/cadence_qspi.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/designware_spi.c b/drivers/spi/designware_spi.c index 66ff8ee..2dc1673 100644 --- a/drivers/spi/designware_spi.c +++ b/drivers/spi/designware_spi.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/mvebu_a3700_spi.c b/drivers/spi/mvebu_a3700_spi.c index 99ad505..1469771 100644 --- a/drivers/spi/mvebu_a3700_spi.c +++ b/drivers/spi/mvebu_a3700_spi.c @@ -12,6 +12,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c index d94aaf9..4d1317c 100644 --- a/drivers/spi/mxc_spi.c +++ b/drivers/spi/mxc_spi.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/spi-mem-nodm.c b/drivers/spi/spi-mem-nodm.c index 4447d44..83dde48 100644 --- a/drivers/spi/spi-mem-nodm.c +++ b/drivers/spi/spi-mem-nodm.c @@ -3,6 +3,7 @@ * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ */ +#include #include #include diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c index b8cf8dd..e900c99 100644 --- a/drivers/spi/spi-mem.c +++ b/drivers/spi/spi-mem.c @@ -12,6 +12,7 @@ #include #include "internals.h" #else +#include #include #include #endif diff --git a/drivers/spi/spi-sunxi.c b/drivers/spi/spi-sunxi.c index dbfeac7..c59fee1 100644 --- a/drivers/spi/spi-sunxi.c +++ b/drivers/spi/spi-sunxi.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/drivers/spi/stm32_qspi.c b/drivers/spi/stm32_qspi.c index 958c394..6857a87 100644 --- a/drivers/spi/stm32_qspi.c +++ b/drivers/spi/stm32_qspi.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/stm32_spi.c b/drivers/spi/stm32_spi.c index 75b6006..ebf2b98 100644 --- a/drivers/spi/stm32_spi.c +++ b/drivers/spi/stm32_spi.c @@ -8,8 +8,10 @@ #include #include #include +#include #include #include +#include #include #include diff --git a/drivers/spi/uniphier_spi.c b/drivers/spi/uniphier_spi.c index e47b969..153fbb2 100644 --- a/drivers/spi/uniphier_spi.c +++ b/drivers/spi/uniphier_spi.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/spi/zynqmp_gqspi.c b/drivers/spi/zynqmp_gqspi.c index c05d46e..02b78df 100644 --- a/drivers/spi/zynqmp_gqspi.c +++ b/drivers/spi/zynqmp_gqspi.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #define GQSPI_GFIFO_STRT_MODE_MASK BIT(29) diff --git a/drivers/spmi/spmi-msm.c b/drivers/spmi/spmi-msm.c index 6f11146..ed93faf 100644 --- a/drivers/spmi/spmi-msm.c +++ b/drivers/spmi/spmi-msm.c @@ -12,6 +12,7 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/sysreset/sysreset-ti-sci.c b/drivers/sysreset/sysreset-ti-sci.c index 6caea3a..e7fcfcd 100644 --- a/drivers/sysreset/sysreset-ti-sci.c +++ b/drivers/sysreset/sysreset-ti-sci.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c index a7b175e..9fb5e65 100644 --- a/drivers/tee/optee/core.c +++ b/drivers/tee/optee/core.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/tee/optee/rpmb.c b/drivers/tee/optee/rpmb.c index cf1ce77..0804fc9 100644 --- a/drivers/tee/optee/rpmb.c +++ b/drivers/tee/optee/rpmb.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "optee_msg.h" #include "optee_private.h" diff --git a/drivers/tee/optee/supplicant.c b/drivers/tee/optee/supplicant.c index c5726ec..ae042b9 100644 --- a/drivers/tee/optee/supplicant.c +++ b/drivers/tee/optee/supplicant.c @@ -5,6 +5,7 @@ #include #include +#include #include #include diff --git a/drivers/tee/tee-uclass.c b/drivers/tee/tee-uclass.c index abb88c0..1fb3c16 100644 --- a/drivers/tee/tee-uclass.c +++ b/drivers/tee/tee-uclass.c @@ -5,9 +5,10 @@ #include #include +#include +#include #include #include -#include /** * struct tee_uclass_priv - information of a TEE, stored by the uclass diff --git a/drivers/timer/dw-apb-timer.c b/drivers/timer/dw-apb-timer.c index fad22be..35271b2 100644 --- a/drivers/timer/dw-apb-timer.c +++ b/drivers/timer/dw-apb-timer.c @@ -8,8 +8,10 @@ #include #include #include +#include #include #include +#include #include #include diff --git a/drivers/timer/ostm_timer.c b/drivers/timer/ostm_timer.c index f0e2509..48a5055 100644 --- a/drivers/timer/ostm_timer.c +++ b/drivers/timer/ostm_timer.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include diff --git a/drivers/timer/stm32_timer.c b/drivers/timer/stm32_timer.c index 7631510..76d99a2 100644 --- a/drivers/timer/stm32_timer.c +++ b/drivers/timer/stm32_timer.c @@ -9,6 +9,7 @@ #include #include #include +#include #include diff --git a/drivers/ufs/cdns-platform.c b/drivers/ufs/cdns-platform.c index 5bd0c1e..41ee6a6 100644 --- a/drivers/ufs/cdns-platform.c +++ b/drivers/ufs/cdns-platform.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include "ufs.h" diff --git a/drivers/ufs/ti-j721e-ufs.c b/drivers/ufs/ti-j721e-ufs.c index 6e4d0cd..4990fba 100644 --- a/drivers/ufs/ti-j721e-ufs.c +++ b/drivers/ufs/ti-j721e-ufs.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #define UFS_SS_CTRL 0x4 diff --git a/drivers/ufs/ufs.c b/drivers/ufs/ufs.c index 512c63a..c9346c2 100644 --- a/drivers/ufs/ufs.c +++ b/drivers/ufs/ufs.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c index 2fa0104..652cd5c 100644 --- a/drivers/usb/cdns3/cdns3-ti.c +++ b/drivers/usb/cdns3/cdns3-ti.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c index 6f5e5af..f947e69 100644 --- a/drivers/usb/cdns3/core.c +++ b/drivers/usb/cdns3/core.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/cdns3/drd.c b/drivers/usb/cdns3/drd.c index 13eb489..47874fe 100644 --- a/drivers/usb/cdns3/drd.c +++ b/drivers/usb/cdns3/drd.c @@ -11,6 +11,7 @@ * */ #include +#include #include #include #include diff --git a/drivers/usb/cdns3/ep0.c b/drivers/usb/cdns3/ep0.c index f35a924..1957a3b 100644 --- a/drivers/usb/cdns3/ep0.c +++ b/drivers/usb/cdns3/ep0.c @@ -11,6 +11,7 @@ */ #include +#include #include #include diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c index e095760..22e90a5 100644 --- a/drivers/usb/cdns3/gadget.c +++ b/drivers/usb/cdns3/gadget.c @@ -57,6 +57,7 @@ */ #include +#include #include #include #include diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index cbf21d3..c506652 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index 7ffec12..9596bf1 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/dwc3/dwc3-uniphier.c b/drivers/usb/dwc3/dwc3-uniphier.c index 6e9c521..88317b1 100644 --- a/drivers/usb/dwc3/dwc3-uniphier.c +++ b/drivers/usb/dwc3/dwc3-uniphier.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index 0c8c11d..4af5894 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -14,6 +14,7 @@ */ #include #include +#include #include #include diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 677607a..1502d67 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/dwc3/ti_usb_phy.c b/drivers/usb/dwc3/ti_usb_phy.c index a908682..6b0166a 100644 --- a/drivers/usb/dwc3/ti_usb_phy.c +++ b/drivers/usb/dwc3/ti_usb_phy.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index b834a1c..496abf3 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/gadget/storage_common.c b/drivers/usb/gadget/storage_common.c index 4bbd030..f40779b 100644 --- a/drivers/usb/gadget/storage_common.c +++ b/drivers/usb/gadget/storage_common.c @@ -269,6 +269,7 @@ struct device_attribute { int i; }; #define ETOOSMALL 525 #include +#include /*-------------------------------------------------------------------------*/ diff --git a/drivers/usb/gadget/udc/udc-core.c b/drivers/usb/gadget/udc/udc-core.c index 52384b9..a33ab5c 100644 --- a/drivers/usb/gadget/udc/udc-core.c +++ b/drivers/usb/gadget/udc/udc-core.c @@ -13,6 +13,7 @@ * usb_ */ +#include #include #include #include diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c index b9c56f7..e4efaf1 100644 --- a/drivers/usb/host/dwc2.c +++ b/drivers/usb/host/dwc2.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c index 6900848..67eec0e 100644 --- a/drivers/usb/host/ehci-atmel.c +++ b/drivers/usb/host/ehci-atmel.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/host/ehci-generic.c b/drivers/usb/host/ehci-generic.c index 80ac876..0643681 100644 --- a/drivers/usb/host/ehci-generic.c +++ b/drivers/usb/host/ehci-generic.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index ef20c3c..1cc0205 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include "ehci.h" diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c index 29a7020..6920182 100644 --- a/drivers/usb/host/ohci-da8xx.c +++ b/drivers/usb/host/ohci-da8xx.c @@ -4,9 +4,11 @@ */ #include +#include #include #include #include +#include #include #include #include diff --git a/drivers/usb/host/ohci-generic.c b/drivers/usb/host/ohci-generic.c index 7b6ec51..04d5fdb 100644 --- a/drivers/usb/host/ohci-generic.c +++ b/drivers/usb/host/ohci-generic.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c index a37696d..8fc9d21 100644 --- a/drivers/usb/host/r8a66597-hcd.c +++ b/drivers/usb/host/r8a66597-hcd.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c index c4d8811..d86584b 100644 --- a/drivers/usb/host/xhci-rcar.c +++ b/drivers/usb/host/xhci-rcar.c @@ -9,8 +9,10 @@ #include #include #include +#include #include #include +#include #include #include "xhci-rcar-r8a779x_usb3_v3.h" diff --git a/drivers/usb/musb-new/am35x.c b/drivers/usb/musb-new/am35x.c index 58cde22..6e5be90 100644 --- a/drivers/usb/musb-new/am35x.c +++ b/drivers/usb/musb-new/am35x.c @@ -12,6 +12,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/da8xx.c b/drivers/usb/musb-new/da8xx.c index 899b30d..2ddcf33 100644 --- a/drivers/usb/musb-new/da8xx.c +++ b/drivers/usb/musb-new/da8xx.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_core.c b/drivers/usb/musb-new/musb_core.c index cc6e0a7..f678aa4 100644 --- a/drivers/usb/musb-new/musb_core.c +++ b/drivers/usb/musb-new/musb_core.c @@ -65,6 +65,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_dsps.c b/drivers/usb/musb-new/musb_dsps.c index d342eeb..eb59088 100644 --- a/drivers/usb/musb-new/musb_dsps.c +++ b/drivers/usb/musb-new/musb_dsps.c @@ -15,6 +15,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_gadget.c b/drivers/usb/musb-new/musb_gadget.c index 74b6457..35d2123 100644 --- a/drivers/usb/musb-new/musb_gadget.c +++ b/drivers/usb/musb-new/musb_gadget.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_gadget_ep0.c b/drivers/usb/musb-new/musb_gadget_ep0.c index 3ef8fe1..79e8222 100644 --- a/drivers/usb/musb-new/musb_gadget_ep0.c +++ b/drivers/usb/musb-new/musb_gadget_ep0.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_host.c b/drivers/usb/musb-new/musb_host.c index 55ad8ea..b98f0ed 100644 --- a/drivers/usb/musb-new/musb_host.c +++ b/drivers/usb/musb-new/musb_host.c @@ -9,6 +9,7 @@ */ #ifndef __UBOOT__ +#include #include #include #include diff --git a/drivers/usb/musb-new/musb_uboot.c b/drivers/usb/musb-new/musb_uboot.c index f4d0e1f..72f14b9 100644 --- a/drivers/usb/musb-new/musb_uboot.c +++ b/drivers/usb/musb-new/musb_uboot.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c index 8a45b05..0d34dcf 100644 --- a/drivers/usb/musb-new/omap2430.c +++ b/drivers/usb/musb-new/omap2430.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/musb-new/pic32.c b/drivers/usb/musb-new/pic32.c index 3a19900..c7867fe 100644 --- a/drivers/usb/musb-new/pic32.c +++ b/drivers/usb/musb-new/pic32.c @@ -10,6 +10,7 @@ */ #include +#include #include #include "linux-compat.h" #include "musb_core.h" diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index 45eecfe..98bf736 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -19,12 +19,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include diff --git a/drivers/usb/musb-new/ti-musb.c b/drivers/usb/musb-new/ti-musb.c index 20ca273..00759f3 100644 --- a/drivers/usb/musb-new/ti-musb.c +++ b/drivers/usb/musb-new/ti-musb.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/phy/omap_usb_phy.c b/drivers/usb/phy/omap_usb_phy.c index 897e6f1..9209942 100644 --- a/drivers/usb/phy/omap_usb_phy.c +++ b/drivers/usb/phy/omap_usb_phy.c @@ -10,6 +10,7 @@ #include #include +#include #include #include #include diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c index 734bc12..62accce 100644 --- a/drivers/video/atmel_hlcdfb.c +++ b/drivers/video/atmel_hlcdfb.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 0a725c5..6d7661d 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -5,6 +5,7 @@ #include #include +#include #include #include diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index 285633b..5fb6886 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c @@ -13,6 +13,7 @@ */ #include +#include #include #include #include diff --git a/drivers/video/dw_mipi_dsi.c b/drivers/video/dw_mipi_dsi.c index 83d7c7b..5dd75e7 100644 --- a/drivers/video/dw_mipi_dsi.c +++ b/drivers/video/dw_mipi_dsi.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/drivers/video/hitachi_tx18d42vm_lcd.c b/drivers/video/hitachi_tx18d42vm_lcd.c index 1629f55..a57abd2 100644 --- a/drivers/video/hitachi_tx18d42vm_lcd.c +++ b/drivers/video/hitachi_tx18d42vm_lcd.c @@ -6,6 +6,7 @@ */ #include +#include #include #include diff --git a/drivers/video/mali_dp.c b/drivers/video/mali_dp.c index 71151a8..87a75a9 100644 --- a/drivers/video/mali_dp.c +++ b/drivers/video/mali_dp.c @@ -6,6 +6,7 @@ */ #define DEBUG #include +#include #include #include #ifdef CONFIG_DISPLAY @@ -16,6 +17,7 @@ #include #include #include +#include #include #define MALIDP_CORE_ID 0x0018 diff --git a/drivers/video/mvebu_lcd.c b/drivers/video/mvebu_lcd.c index dc62545..3ff5b28 100644 --- a/drivers/video/mvebu_lcd.c +++ b/drivers/video/mvebu_lcd.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c index c529810..6f80fba 100644 --- a/drivers/video/mxsfb.c +++ b/drivers/video/mxsfb.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/orisetech_otm8009a.c b/drivers/video/orisetech_otm8009a.c index 89d9cfd..650ed07 100644 --- a/drivers/video/orisetech_otm8009a.c +++ b/drivers/video/orisetech_otm8009a.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #define OTM8009A_BACKLIGHT_DEFAULT 240 diff --git a/drivers/video/pwm_backlight.c b/drivers/video/pwm_backlight.c index ad20bf2..742579a 100644 --- a/drivers/video/pwm_backlight.c +++ b/drivers/video/pwm_backlight.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/raydium-rm68200.c b/drivers/video/raydium-rm68200.c index 91555e2..853dbc5 100644 --- a/drivers/video/raydium-rm68200.c +++ b/drivers/video/raydium-rm68200.c @@ -13,6 +13,7 @@ #include #include #include +#include #include /*** Manufacturer Command Set ***/ diff --git a/drivers/video/rockchip/rk3288_hdmi.c b/drivers/video/rockchip/rk3288_hdmi.c index 3d25ce9..51eb415 100644 --- a/drivers/video/rockchip/rk3288_hdmi.c +++ b/drivers/video/rockchip/rk3288_hdmi.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c index 4330725..8703df0 100644 --- a/drivers/video/rockchip/rk_edp.c +++ b/drivers/video/rockchip/rk_edp.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/sandbox_osd.c b/drivers/video/sandbox_osd.c index dd84489..7e72232 100644 --- a/drivers/video/sandbox_osd.c +++ b/drivers/video/sandbox_osd.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include "sandbox_osd.h" diff --git a/drivers/video/scf0403_lcd.c b/drivers/video/scf0403_lcd.c index 58564e8..60075a6 100644 --- a/drivers/video/scf0403_lcd.c +++ b/drivers/video/scf0403_lcd.c @@ -14,6 +14,7 @@ */ #include +#include #include #include diff --git a/drivers/video/ssd2828.c b/drivers/video/ssd2828.c index 4d40dca..83566bc 100644 --- a/drivers/video/ssd2828.c +++ b/drivers/video/ssd2828.c @@ -10,6 +10,7 @@ */ #include +#include #include #include #include diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c index 12895a8..ded03b1 100644 --- a/drivers/video/stm32/stm32_dsi.c +++ b/drivers/video/stm32/stm32_dsi.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/video/stm32/stm32_ltdc.c b/drivers/video/stm32/stm32_ltdc.c index 59ff692..be7e9bf 100644 --- a/drivers/video/stm32/stm32_ltdc.c +++ b/drivers/video/stm32/stm32_ltdc.c @@ -16,6 +16,7 @@ #include #include #include +#include struct stm32_ltdc_priv { void __iomem *regs; diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index 12057c8..3d658e6 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/virtio/virtio-uclass.c b/drivers/virtio/virtio-uclass.c index 436faa4..23f281c 100644 --- a/drivers/virtio/virtio-uclass.c +++ b/drivers/virtio/virtio-uclass.c @@ -17,6 +17,7 @@ #include #include +#include #include #include #include diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 0eeb350..45c48a9 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -12,6 +12,7 @@ #include #include #include +#include int virtqueue_add(struct virtqueue *vq, struct virtio_sg *sgs[], unsigned int out_sgs, unsigned int in_sgs) diff --git a/drivers/w1-eeprom/ds2502.c b/drivers/w1-eeprom/ds2502.c index 76ca460..19ee4b1 100644 --- a/drivers/w1-eeprom/ds2502.c +++ b/drivers/w1-eeprom/ds2502.c @@ -22,6 +22,7 @@ #include #include +#include #include #include #include diff --git a/drivers/w1/mxc_w1.c b/drivers/w1/mxc_w1.c index 9279ba3..08715c6 100644 --- a/drivers/w1/mxc_w1.c +++ b/drivers/w1/mxc_w1.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include diff --git a/drivers/watchdog/armada-37xx-wdt.c b/drivers/watchdog/armada-37xx-wdt.c index 91cd8a6..5da8e56 100644 --- a/drivers/watchdog/armada-37xx-wdt.c +++ b/drivers/watchdog/armada-37xx-wdt.c @@ -11,6 +11,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/watchdog/cdns_wdt.c b/drivers/watchdog/cdns_wdt.c index 13952e1..775f06a 100644 --- a/drivers/watchdog/cdns_wdt.c +++ b/drivers/watchdog/cdns_wdt.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include diff --git a/fs/ext4/ext4_write.c b/fs/ext4/ext4_write.c index 3368bd8..67aeba1 100644 --- a/fs/ext4/ext4_write.c +++ b/fs/ext4/ext4_write.c @@ -22,6 +22,7 @@ #include +#include #include #include #include diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c index 37b31d9..1c616a2 100644 --- a/fs/ext4/ext4fs.c +++ b/fs/ext4/ext4fs.c @@ -25,6 +25,7 @@ #include #include "ext4_common.h" #include +#include int ext4fs_symlinknest; struct ext_filesystem ext_fs; diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c index 729cf39..320a8a7 100644 --- a/fs/fat/fat_write.c +++ b/fs/fat/fat_write.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/fs/sandbox/sandboxfs.c b/fs/sandbox/sandboxfs.c index 1e25361..af47224 100644 --- a/fs/sandbox/sandboxfs.c +++ b/fs/sandbox/sandboxfs.c @@ -5,6 +5,7 @@ #include #include +#include #include int sandbox_fs_set_blk_dev(struct blk_desc *rbdd, disk_partition_t *info) diff --git a/fs/ubifs/lprops.c b/fs/ubifs/lprops.c index 5473d33..a7c45dd 100644 --- a/fs/ubifs/lprops.c +++ b/fs/ubifs/lprops.c @@ -17,6 +17,7 @@ */ #ifdef __UBOOT__ +#include #include #endif #include "ubifs.h" diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c index 3884515..e097d28 100644 --- a/fs/ubifs/ubifs.c +++ b/fs/ubifs/ubifs.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "ubifs.h" #include diff --git a/fs/yaffs2/yaffs_nandif.c b/fs/yaffs2/yaffs_nandif.c index 79b00ab..ee5a172 100644 --- a/fs/yaffs2/yaffs_nandif.c +++ b/fs/yaffs2/yaffs_nandif.c @@ -13,6 +13,7 @@ #include "yportenv.h" #include "yaffs_guts.h" +#include #include "yaffs_nandif.h" diff --git a/fs/yaffs2/yaffs_uboot_glue.c b/fs/yaffs2/yaffs_uboot_glue.c index 2a70e4a..7a15a02 100644 --- a/fs/yaffs2/yaffs_uboot_glue.c +++ b/fs/yaffs2/yaffs_uboot_glue.c @@ -21,6 +21,7 @@ #include #include +#include #include #include "nand.h" diff --git a/include/dm/device.h b/include/dm/device.h index 2d8b716..544da27 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -803,75 +803,4 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev) */ int dm_scan_fdt_dev(struct udevice *dev); -/* - * REVISIT: - * remove the following after resolving conflicts with - */ -#ifdef dev_dbg -#undef dev_dbg -#endif -#ifdef dev_vdbg -#undef dev_vdbg -#endif -#ifdef dev_info -#undef dev_info -#endif -#ifdef dev_err -#undef dev_err -#endif -#ifdef dev_warn -#undef dev_warn -#endif - -/* - * REVISIT: - * print device name like Linux - */ -#define dev_printk(dev, fmt, ...) \ -({ \ - printk(fmt, ##__VA_ARGS__); \ -}) - -#define __dev_printk(level, dev, fmt, ...) \ -({ \ - if (level < CONFIG_VAL(LOGLEVEL)) \ - dev_printk(dev, fmt, ##__VA_ARGS__); \ -}) - -#define dev_emerg(dev, fmt, ...) \ - __dev_printk(0, dev, fmt, ##__VA_ARGS__) -#define dev_alert(dev, fmt, ...) \ - __dev_printk(1, dev, fmt, ##__VA_ARGS__) -#define dev_crit(dev, fmt, ...) \ - __dev_printk(2, dev, fmt, ##__VA_ARGS__) -#define dev_err(dev, fmt, ...) \ - __dev_printk(3, dev, fmt, ##__VA_ARGS__) -#define dev_warn(dev, fmt, ...) \ - __dev_printk(4, dev, fmt, ##__VA_ARGS__) -#define dev_notice(dev, fmt, ...) \ - __dev_printk(5, dev, fmt, ##__VA_ARGS__) -#define dev_info(dev, fmt, ...) \ - __dev_printk(6, dev, fmt, ##__VA_ARGS__) - -#ifdef DEBUG -#define dev_dbg(dev, fmt, ...) \ - __dev_printk(7, dev, fmt, ##__VA_ARGS__) -#else -#define dev_dbg(dev, fmt, ...) \ -({ \ - if (0) \ - __dev_printk(7, dev, fmt, ##__VA_ARGS__); \ -}) -#endif - -#ifdef VERBOSE_DEBUG -#define dev_vdbg dev_dbg -#else -#define dev_vdbg(dev, fmt, ...) \ -({ \ - if (0) \ - __dev_printk(7, dev, fmt, ##__VA_ARGS__); \ -}) -#endif - #endif diff --git a/include/dm/device_compat.h b/include/dm/device_compat.h new file mode 100644 index 0000000..3d8cd09 --- /dev/null +++ b/include/dm/device_compat.h @@ -0,0 +1,86 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (c) 2013 Google, Inc + * + * (C) Copyright 2012 + * Pavel Herrmann + * Marek Vasut + */ + +#ifndef _DM_DEVICE_COMPAT_H +#define _DM_DEVICE_COMPAT_H + +#include + +/* + * REVISIT: + * remove the following after resolving conflicts with + */ +#ifdef dev_dbg +#undef dev_dbg +#endif +#ifdef dev_vdbg +#undef dev_vdbg +#endif +#ifdef dev_info +#undef dev_info +#endif +#ifdef dev_err +#undef dev_err +#endif +#ifdef dev_warn +#undef dev_warn +#endif + +/* + * REVISIT: + * print device name like Linux + */ +#define dev_printk(dev, fmt, ...) \ +({ \ + printk(fmt, ##__VA_ARGS__); \ +}) + +#define __dev_printk(level, dev, fmt, ...) \ +({ \ + if (level < CONFIG_VAL(LOGLEVEL)) \ + dev_printk(dev, fmt, ##__VA_ARGS__); \ +}) + +#define dev_emerg(dev, fmt, ...) \ + __dev_printk(0, dev, fmt, ##__VA_ARGS__) +#define dev_alert(dev, fmt, ...) \ + __dev_printk(1, dev, fmt, ##__VA_ARGS__) +#define dev_crit(dev, fmt, ...) \ + __dev_printk(2, dev, fmt, ##__VA_ARGS__) +#define dev_err(dev, fmt, ...) \ + __dev_printk(3, dev, fmt, ##__VA_ARGS__) +#define dev_warn(dev, fmt, ...) \ + __dev_printk(4, dev, fmt, ##__VA_ARGS__) +#define dev_notice(dev, fmt, ...) \ + __dev_printk(5, dev, fmt, ##__VA_ARGS__) +#define dev_info(dev, fmt, ...) \ + __dev_printk(6, dev, fmt, ##__VA_ARGS__) + +#ifdef DEBUG +#define dev_dbg(dev, fmt, ...) \ + __dev_printk(7, dev, fmt, ##__VA_ARGS__) +#else +#define dev_dbg(dev, fmt, ...) \ +({ \ + if (0) \ + __dev_printk(7, dev, fmt, ##__VA_ARGS__); \ +}) +#endif + +#ifdef VERBOSE_DEBUG +#define dev_vdbg dev_dbg +#else +#define dev_vdbg(dev, fmt, ...) \ +({ \ + if (0) \ + __dev_printk(7, dev, fmt, ##__VA_ARGS__); \ +}) +#endif + +#endif diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 0ef6e68..8a20743 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -13,6 +13,7 @@ #include #include #include +#include static inline void clk_dm(ulong id, struct clk *clk) { diff --git a/lib/bch.c b/lib/bch.c index 86709cc..8945d8d 100644 --- a/lib/bch.c +++ b/lib/bch.c @@ -55,6 +55,7 @@ #ifndef USE_HOSTCC #include +#include #include #include diff --git a/lib/binman.c b/lib/binman.c index 1774bdf..6cf6dcf 100644 --- a/lib/binman.c +++ b/lib/binman.c @@ -9,6 +9,7 @@ #include #include #include +#include struct binman_info { ofnode image; diff --git a/lib/bzip2/bzlib.c b/lib/bzip2/bzlib.c index 9262e40..377b269 100644 --- a/lib/bzip2/bzlib.c +++ b/lib/bzip2/bzlib.c @@ -1,5 +1,6 @@ #include #include +#include #include /* diff --git a/lib/crypto/rsa_helper.c b/lib/crypto/rsa_helper.c index aca627a..cc0c0d6 100644 --- a/lib/crypto/rsa_helper.c +++ b/lib/crypto/rsa_helper.c @@ -6,6 +6,7 @@ * Authors: Tadeusz Struk */ #ifndef __UBOOT__ +#include #include #include #endif diff --git a/lib/efi/efi.c b/lib/efi/efi.c index 7cba57b..0c16a5f 100644 --- a/lib/efi/efi.c +++ b/lib/efi/efi.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/efi/efi_app.c b/lib/efi/efi_app.c index af5a878..7c64077 100644 --- a/lib/efi/efi_app.c +++ b/lib/efi/efi_app.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c index 6dd93ff..7d650d5 100644 --- a/lib/efi/efi_stub.c +++ b/lib/efi/efi_stub.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/efi_driver/efi_block_device.c b/lib/efi_driver/efi_block_device.c index cf02341..33e66fc 100644 --- a/lib/efi_driver/efi_block_device.c +++ b/lib/efi_driver/efi_block_device.c @@ -29,6 +29,7 @@ */ #include +#include #include #include diff --git a/lib/efi_driver/efi_uclass.c b/lib/efi_driver/efi_uclass.c index 25b27ec..f8badad 100644 --- a/lib/efi_driver/efi_uclass.c +++ b/lib/efi_driver/efi_uclass.c @@ -18,6 +18,7 @@ */ #include +#include /** * check_node_type() - check node type diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c index 8494044..ac0dec1 100644 --- a/lib/efi_loader/efi_console.c +++ b/lib/efi_loader/efi_console.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c index df0485c..4b3c843 100644 --- a/lib/efi_loader/efi_runtime.c +++ b/lib/efi_loader/efi_runtime.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 7fbb4c7..eb11fc8 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/libavb/avb_cmdline.c b/lib/libavb/avb_cmdline.c index 684c512..dd859d3 100644 --- a/lib/libavb/avb_cmdline.c +++ b/lib/libavb/avb_cmdline.c @@ -7,6 +7,7 @@ #include "avb_sha.h" #include "avb_util.h" #include "avb_version.h" +#include #define NUM_GUIDS 3 diff --git a/lib/libavb/avb_descriptor.c b/lib/libavb/avb_descriptor.c index 9f03b97..86b8d1b 100644 --- a/lib/libavb/avb_descriptor.c +++ b/lib/libavb/avb_descriptor.c @@ -6,6 +6,7 @@ #include "avb_descriptor.h" #include "avb_util.h" #include "avb_vbmeta_image.h" +#include bool avb_descriptor_validate_and_byteswap(const AvbDescriptor* src, AvbDescriptor* dest) { diff --git a/lib/libavb/avb_rsa.c b/lib/libavb/avb_rsa.c index bbf1562..d7bf890 100644 --- a/lib/libavb/avb_rsa.c +++ b/lib/libavb/avb_rsa.c @@ -12,6 +12,7 @@ #include "avb_sha.h" #include "avb_util.h" #include "avb_vbmeta_image.h" +#include typedef struct IAvbKey { unsigned int len; /* Length of n[] in number of uint32_t */ diff --git a/lib/libavb/avb_slot_verify.c b/lib/libavb/avb_slot_verify.c index c0defdf..58baf52 100644 --- a/lib/libavb/avb_slot_verify.c +++ b/lib/libavb/avb_slot_verify.c @@ -14,6 +14,7 @@ #include "avb_util.h" #include "avb_vbmeta_image.h" #include "avb_version.h" +#include /* Maximum number of partitions that can be loaded with avb_slot_verify(). */ #define MAX_NUMBER_OF_LOADED_PARTITIONS 32 diff --git a/lib/libavb/avb_sysdeps_posix.c b/lib/libavb/avb_sysdeps_posix.c index 0bb0cc1..6ffdb0b 100644 --- a/lib/libavb/avb_sysdeps_posix.c +++ b/lib/libavb/avb_sysdeps_posix.c @@ -4,6 +4,7 @@ */ #include +#include #include #include diff --git a/lib/libavb/avb_util.c b/lib/libavb/avb_util.c index 405d625..94773b7 100644 --- a/lib/libavb/avb_util.c +++ b/lib/libavb/avb_util.c @@ -4,6 +4,7 @@ */ #include "avb_util.h" +#include #include diff --git a/lib/linux_compat.c b/lib/linux_compat.c index 3f440de..89a6fd6 100644 --- a/lib/linux_compat.c +++ b/lib/linux_compat.c @@ -1,5 +1,6 @@ #include +#include #include #include diff --git a/lib/lmb.c b/lib/lmb.c index b3b84e4..07b9308 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -8,6 +8,7 @@ #include #include +#include #define LMB_ALLOC_ANYWHERE 0 diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c index 5b5905a..6400ef6 100644 --- a/lib/rsa/rsa-sign.c +++ b/lib/rsa/rsa-sign.c @@ -4,6 +4,7 @@ */ #include "mkimage.h" +#include #include #include #include diff --git a/lib/rsa/rsa-verify.c b/lib/rsa/rsa-verify.c index 82dc513..326a5e4 100644 --- a/lib/rsa/rsa-verify.c +++ b/lib/rsa/rsa-verify.c @@ -6,6 +6,7 @@ #ifndef USE_HOSTCC #include #include +#include #include #include #include diff --git a/lib/zstd/decompress.c b/lib/zstd/decompress.c index ac5ab52..ae3be3f 100644 --- a/lib/zstd/decompress.c +++ b/lib/zstd/decompress.c @@ -23,6 +23,7 @@ #include "huf.h" #include "mem.h" /* low level memory routines */ #include "zstd_internal.h" +#include #include #include #include /* memcpy, memmove, memset */ diff --git a/lib/zstd/zstd_common.c b/lib/zstd/zstd_common.c index 9a217e1..6b2c79e 100644 --- a/lib/zstd/zstd_common.c +++ b/lib/zstd/zstd_common.c @@ -9,6 +9,7 @@ ***************************************/ #include "error_private.h" #include "zstd_internal.h" /* declaration of ZSTD_isError, ZSTD_getErrorName, ZSTD_getErrorCode, ZSTD_getErrorString, ZSTD_versionNumber */ +#include #include /*=************************************************************** diff --git a/net/mdio-uclass.c b/net/mdio-uclass.c index f75e4df..8e78721 100644 --- a/net/mdio-uclass.c +++ b/net/mdio-uclass.c @@ -6,9 +6,12 @@ #include #include +#include #include #include +#include #include +#include /* DT node properties for MAC-PHY interface */ #define PHY_MODE_STR_CNT 2 diff --git a/post/post.c b/post/post.c index f27138d..696a60f 100644 --- a/post/post.c +++ b/post/post.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/test/dm/clk.c b/test/dm/clk.c index 31335a5..003b789 100644 --- a/test/dm/clk.c +++ b/test/dm/clk.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/test/dm/dma.c b/test/dm/dma.c index b56d177..12cba57 100644 --- a/test/dm/dma.c +++ b/test/dm/dma.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include diff --git a/test/dm/gpio.c b/test/dm/gpio.c index bb4b20c..349123a 100644 --- a/test/dm/gpio.c +++ b/test/dm/gpio.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/test/dm/mailbox.c b/test/dm/mailbox.c index 4562d2a..e6c521b 100644 --- a/test/dm/mailbox.c +++ b/test/dm/mailbox.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/test/dm/power-domain.c b/test/dm/power-domain.c index 4831821..8baf5d0 100644 --- a/test/dm/power-domain.c +++ b/test/dm/power-domain.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/test/dm/reset.c b/test/dm/reset.c index c61daed..8370820 100644 --- a/test/dm/reset.c +++ b/test/dm/reset.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/test/dm/spmi.c b/test/dm/spmi.c index e6a9108..668b7e1 100644 --- a/test/dm/spmi.c +++ b/test/dm/spmi.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/test/dm/tee.c b/test/dm/tee.c index 22f05a4..d40f13d 100644 --- a/test/dm/tee.c +++ b/test/dm/tee.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/test/dm/video.c b/test/dm/video.c index 3151ebb..f72979f 100644 --- a/test/dm/video.c +++ b/test/dm/video.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/test/lib/lmb.c b/test/lib/lmb.c index ec68227..1336b54 100644 --- a/test/lib/lmb.c +++ b/test/lib/lmb.c @@ -5,6 +5,7 @@ #include #include +#include #include #include diff --git a/test/unicode_ut.c b/test/unicode_ut.c index 47532a6..4d99c20 100644 --- a/test/unicode_ut.c +++ b/test/unicode_ut.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include -- cgit v1.1 From f217651575f30256955f22a1691115a70e7f5934 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:17 -0700 Subject: dm: core: Drop the inclusion of linux/compat.h in dm.h Most files don't need this header and it pulls in quite of lots of stuff, malloc() in particular. Drop it. Signed-off-by: Simon Glass --- board/hisilicon/poplar/poplar.c | 2 +- drivers/ram/imxrt_sdram.c | 1 + drivers/spi/nxp_fspi.c | 1 + include/dm/device.h | 1 - include/linux/compat.h | 3 +++ include/phy.h | 1 + 6 files changed, 7 insertions(+), 2 deletions(-) diff --git a/board/hisilicon/poplar/poplar.c b/board/hisilicon/poplar/poplar.c index 36999bd..4937dc3 100644 --- a/board/hisilicon/poplar/poplar.c +++ b/board/hisilicon/poplar/poplar.c @@ -4,9 +4,9 @@ * Jorge Ramirez-Ortiz */ +#include #include #include -#include #include #include #include diff --git a/drivers/ram/imxrt_sdram.c b/drivers/ram/imxrt_sdram.c index af7400b..ac15e94 100644 --- a/drivers/ram/imxrt_sdram.c +++ b/drivers/ram/imxrt_sdram.c @@ -9,6 +9,7 @@ #include #include #include +#include /* SDRAM Command Code */ #define SD_CC_ARD 0x0 /* Master Bus (AXI) command - Read */ diff --git a/drivers/spi/nxp_fspi.c b/drivers/spi/nxp_fspi.c index a2fab7a..0e6c7be 100644 --- a/drivers/spi/nxp_fspi.c +++ b/drivers/spi/nxp_fspi.c @@ -44,6 +44,7 @@ #include #include #include +#include /* * The driver only uses one single LUT entry, that is updated on diff --git a/include/dm/device.h b/include/dm/device.h index 544da27..ab806d0 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include diff --git a/include/linux/compat.h b/include/linux/compat.h index d0f51ba..171188a 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -123,7 +123,10 @@ static inline void kmem_cache_destroy(struct kmem_cache *cachep) #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +/* This is also defined in ARMv8's mmu.h */ +#ifndef PAGE_SIZE #define PAGE_SIZE 4096 +#endif /* drivers/char/random.c */ #define get_random_bytes(...) diff --git a/include/phy.h b/include/phy.h index 6ace9b3..42cfc59 100644 --- a/include/phy.h +++ b/include/phy.h @@ -10,6 +10,7 @@ #define _PHY_H #include +#include #include #include #include -- cgit v1.1 From 21d651fb29cf268b1a5f64d080e3d352ee32c87f Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 3 Feb 2020 07:36:18 -0700 Subject: sandbox: Complete migration away from os_malloc() Now that we can use direct access to the system malloc() in sandbox, drop the remaining uses of os_malloc(). The only one remaining now is for the RAM buffer, which we do want to be at a known address, so this is intended. Signed-off-by: Simon Glass --- drivers/misc/cros_ec_sandbox.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/misc/cros_ec_sandbox.c b/drivers/misc/cros_ec_sandbox.c index 4fcb2d9..9dd6a18 100644 --- a/drivers/misc/cros_ec_sandbox.c +++ b/drivers/misc/cros_ec_sandbox.c @@ -11,10 +11,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -115,7 +115,7 @@ static int cros_ec_read_state(const void *blob, int node) prop = fdt_getprop(blob, node, "flash-data", &len); if (prop) { ec->flash_data_len = len; - ec->flash_data = os_malloc(len); + ec->flash_data = malloc(len); if (!ec->flash_data) return -ENOMEM; memcpy(ec->flash_data, prop, len); @@ -545,14 +545,14 @@ int cros_ec_probe(struct udevice *dev) ec->flash_data_len != ec->ec_config.flash.length) { printf("EC data length is %x, expected %x, discarding data\n", ec->flash_data_len, ec->ec_config.flash.length); - os_free(ec->flash_data); + free(ec->flash_data); ec->flash_data = NULL; } /* Otherwise allocate the memory */ if (!ec->flash_data) { ec->flash_data_len = ec->ec_config.flash.length; - ec->flash_data = os_malloc(ec->flash_data_len); + ec->flash_data = malloc(ec->flash_data_len); if (!ec->flash_data) return -ENOMEM; } -- cgit v1.1