aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/Makefile2
-rw-r--r--drivers/core/of_access.c2
-rw-r--r--drivers/core/of_addr.c2
-rw-r--r--drivers/core/of_extra.c2
-rw-r--r--drivers/core/ofnode.c2
-rw-r--r--drivers/core/regmap.c2
-rw-r--r--drivers/core/root.c2
-rw-r--r--drivers/core/util.c2
-rw-r--r--drivers/crypto/fsl/sec.c2
-rw-r--r--drivers/firmware/psci.c2
-rw-r--r--drivers/gpio/pca953x_gpio.c15
-rw-r--r--drivers/input/input.c5
-rw-r--r--drivers/misc/fsl_portals.c2
-rw-r--r--drivers/mmc/exynos_dw_mmc.c2
-rw-r--r--drivers/mmc/rockchip_sdhci.c2
-rw-r--r--drivers/mmc/s5p_sdhci.c2
-rw-r--r--drivers/mmc/sdhci-cadence.c2
-rw-r--r--drivers/mmc/socfpga_dw_mmc.c2
-rw-r--r--drivers/mmc/stm32_sdmmc2.c2
-rw-r--r--drivers/mmc/xenon_sdhci.c2
-rw-r--r--drivers/mmc/zynq_sdhci.c2
-rw-r--r--drivers/mtd/spi/sunxi_spi_spl.c2
-rw-r--r--drivers/net/fsl-mc/mc.c2
-rw-r--r--drivers/pci/fsl_pci_init.c2
-rw-r--r--drivers/pci/pci-emul-uclass.c2
-rw-r--r--drivers/pci/pcie_layerscape_fixup.c2
-rw-r--r--drivers/phy/sti_usb_phy.c2
-rw-r--r--drivers/pinctrl/Kconfig6
-rw-r--r--drivers/pinctrl/pinctrl-single.c2
-rw-r--r--drivers/pinctrl/pinctrl-uclass.c2
-rw-r--r--drivers/power/pmic/act8846.c2
-rw-r--r--drivers/power/pmic/rn5t567.c2
-rw-r--r--drivers/power/regulator/pwm_regulator.c2
-rw-r--r--drivers/qe/fdt.c2
-rw-r--r--drivers/sound/sound-i2s.c2
-rw-r--r--drivers/tpm/tpm_atmel_twi.c14
-rw-r--r--drivers/tpm/tpm_tis_infineon.c5
-rw-r--r--drivers/tpm/tpm_tis_st33zp24_i2c.c5
-rw-r--r--drivers/tpm/tpm_tis_st33zp24_spi.c5
-rw-r--r--drivers/usb/common/common.c2
-rw-r--r--drivers/usb/host/dwc3-sti-glue.c2
-rw-r--r--drivers/usb/host/ehci-exynos.c2
-rw-r--r--drivers/usb/host/ehci-msm.c2
-rw-r--r--drivers/usb/host/ehci-tegra.c2
-rw-r--r--drivers/usb/host/ehci-vf.c2
-rw-r--r--drivers/usb/host/xhci-exynos5.c2
-rw-r--r--drivers/usb/phy/rockchip_usb2_phy.c2
-rw-r--r--drivers/video/exynos/exynos_dp.c2
-rw-r--r--drivers/video/exynos/exynos_dp_lowlevel.c2
-rw-r--r--drivers/video/exynos/exynos_fb.c2
-rw-r--r--drivers/video/exynos/exynos_mipi_dsi.c2
51 files changed, 85 insertions, 58 deletions
diff --git a/drivers/Makefile b/drivers/Makefile
index e6062a5683..2673428cb6 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -35,7 +35,7 @@ obj-$(CONFIG_SPL_UBI) += mtd/ubispl/
obj-$(CONFIG_SPL_DMA_SUPPORT) += dma/
obj-$(CONFIG_SPL_ETH_SUPPORT) += net/
obj-$(CONFIG_SPL_ETH_SUPPORT) += net/phy/
-obj-$(CONFIG_SPL_USBETH_SUPPORT) += net/phy/
+obj-$(CONFIG_SPL_USB_ETHER) += net/phy/
obj-$(CONFIG_SPL_PCI_SUPPORT) += pci/
obj-$(CONFIG_SPL_PCH_SUPPORT) += pch/
obj-$(CONFIG_SPL_RTC_SUPPORT) += rtc/
diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c
index c31cba7fd6..9389199a2a 100644
--- a/drivers/core/of_access.c
+++ b/drivers/core/of_access.c
@@ -21,7 +21,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <dm/of_access.h>
#include <linux/ctype.h>
#include <linux/err.h>
diff --git a/drivers/core/of_addr.c b/drivers/core/of_addr.c
index 4757066967..7513ea2cf7 100644
--- a/drivers/core/of_addr.c
+++ b/drivers/core/of_addr.c
@@ -8,7 +8,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <dm/of_access.h>
#include <dm/of_addr.h>
#include <linux/err.h>
diff --git a/drivers/core/of_extra.c b/drivers/core/of_extra.c
index 0381909848..ca2e92b32b 100644
--- a/drivers/core/of_extra.c
+++ b/drivers/core/of_extra.c
@@ -6,7 +6,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <dm/of_access.h>
#include <dm/of_extra.h>
#include <dm/ofnode.h>
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index d0bdea08df..4e4532651f 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -9,7 +9,7 @@
#include <dm.h>
#include <fdtdec.h>
#include <fdt_support.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <dm/of_access.h>
#include <dm/of_addr.h>
#include <dm/ofnode.h>
diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
index 0f1d30820c..8a0e00ff9a 100644
--- a/drivers/core/regmap.c
+++ b/drivers/core/regmap.c
@@ -8,7 +8,7 @@
#include <common.h>
#include <dm.h>
#include <errno.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <mapmem.h>
#include <regmap.h>
diff --git a/drivers/core/root.c b/drivers/core/root.c
index 36336b65b6..3a426ab4b7 100644
--- a/drivers/core/root.c
+++ b/drivers/core/root.c
@@ -11,7 +11,7 @@
#include <errno.h>
#include <fdtdec.h>
#include <malloc.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <dm/device.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
diff --git a/drivers/core/util.c b/drivers/core/util.c
index aaaed4ec02..24abe1445b 100644
--- a/drivers/core/util.c
+++ b/drivers/core/util.c
@@ -6,7 +6,7 @@
#include <common.h>
#include <dm/util.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <vsprintf.h>
#ifdef CONFIG_DM_WARN
diff --git a/drivers/crypto/fsl/sec.c b/drivers/crypto/fsl/sec.c
index 0940faf768..470e662d8e 100644
--- a/drivers/crypto/fsl/sec.c
+++ b/drivers/crypto/fsl/sec.c
@@ -5,7 +5,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdt_support.h>
#if CONFIG_SYS_FSL_SEC_COMPAT == 2 || CONFIG_SYS_FSL_SEC_COMPAT >= 4
#include <fsl_sec.h>
diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
index cef8adc817..2875f2f8aa 100644
--- a/drivers/firmware/psci.c
+++ b/drivers/firmware/psci.c
@@ -10,7 +10,7 @@
#include <common.h>
#include <dm.h>
#include <dm/lists.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <linux/arm-smccc.h>
#include <linux/errno.h>
#include <linux/printk.h>
diff --git a/drivers/gpio/pca953x_gpio.c b/drivers/gpio/pca953x_gpio.c
index a8a5a89c05..08742f90c6 100644
--- a/drivers/gpio/pca953x_gpio.c
+++ b/drivers/gpio/pca953x_gpio.c
@@ -246,10 +246,12 @@ static int pca953x_probe(struct udevice *dev)
{
struct pca953x_info *info = dev_get_platdata(dev);
struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
- char name[32], *str;
+ char name[32], label[8], *str;
int addr;
ulong driver_data;
int ret;
+ int size;
+ const u8 *tmp;
addr = dev_read_addr(dev);
if (addr == 0)
@@ -285,7 +287,16 @@ static int pca953x_probe(struct udevice *dev)
return ret;
}
- snprintf(name, sizeof(name), "gpio@%x_", info->addr);
+ tmp = dev_read_prop(dev, "label", &size);
+
+ if (tmp) {
+ memcpy(label, tmp, sizeof(label) - 1);
+ label[sizeof(label) - 1] = '\0';
+ snprintf(name, sizeof(name), "%s@%x_", label, info->addr);
+ } else {
+ snprintf(name, sizeof(name), "gpio@%x_", info->addr);
+ }
+
str = strdup(name);
if (!str)
return -ENOMEM;
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 26da3a95ff..a33f7e94bf 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -83,6 +83,9 @@ static unsigned char kbd_ctrl_xlate[] = {
'\r', 0xff, '/', '*',
};
+/*
+ * German keymap. Special letters are mapped according to code page 437.
+ */
static const uchar kbd_plain_xlate_german[] = {
0xff, 0x1b, '1', '2', '3', '4', '5', '6', /* scan 00-07 */
'7', '8', '9', '0', 0xe1, '\'', 0x08, '\t', /* scan 08-0F */
@@ -124,7 +127,7 @@ static unsigned char kbd_shift_xlate_german[] = {
};
static unsigned char kbd_right_alt_xlate_german[] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 00-07 */
+ 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, /* scan 00-07 */
'{', '[', ']', '}', '\\', 0xff, 0xff, 0xff, /* scan 08-0F */
'@', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* scan 10-17 */
0xff, 0xff, 0xff, '~', 0xff, 0xff, 0xff, 0xff, /* scan 18-1F */
diff --git a/drivers/misc/fsl_portals.c b/drivers/misc/fsl_portals.c
index 3b3dd023bb..159dff8281 100644
--- a/drivers/misc/fsl_portals.c
+++ b/drivers/misc/fsl_portals.c
@@ -6,7 +6,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdt_support.h>
#include <asm/processor.h>
diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
index e40575e589..48643de3aa 100644
--- a/drivers/mmc/exynos_dw_mmc.c
+++ b/drivers/mmc/exynos_dw_mmc.c
@@ -8,7 +8,7 @@
#include <common.h>
#include <dwmmc.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <errno.h>
#include <asm/arch/dwmmc.h>
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c
index 0f31dfc3fd..be6edb2eae 100644
--- a/drivers/mmc/rockchip_sdhci.c
+++ b/drivers/mmc/rockchip_sdhci.c
@@ -9,7 +9,7 @@
#include <common.h>
#include <dm.h>
#include <dt-structs.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <mapmem.h>
#include <sdhci.h>
diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c
index 62817a0d07..96bac9d509 100644
--- a/drivers/mmc/s5p_sdhci.c
+++ b/drivers/mmc/s5p_sdhci.c
@@ -10,7 +10,7 @@
#include <malloc.h>
#include <sdhci.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <asm/gpio.h>
#include <asm/arch/mmc.h>
#include <asm/arch/clk.h>
diff --git a/drivers/mmc/sdhci-cadence.c b/drivers/mmc/sdhci-cadence.c
index 0b174fc44d..a07e43cc6d 100644
--- a/drivers/mmc/sdhci-cadence.c
+++ b/drivers/mmc/sdhci-cadence.c
@@ -11,7 +11,7 @@
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/sizes.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <mmc.h>
#include <sdhci.h>
diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c
index 759686ccd6..9ace505fe4 100644
--- a/drivers/mmc/socfpga_dw_mmc.c
+++ b/drivers/mmc/socfpga_dw_mmc.c
@@ -11,7 +11,7 @@
#include <dwmmc.h>
#include <errno.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <linux/err.h>
#include <malloc.h>
diff --git a/drivers/mmc/stm32_sdmmc2.c b/drivers/mmc/stm32_sdmmc2.c
index f3b77f512e..bd2200a05c 100644
--- a/drivers/mmc/stm32_sdmmc2.c
+++ b/drivers/mmc/stm32_sdmmc2.c
@@ -9,7 +9,7 @@
#include <clk.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <mmc.h>
#include <reset.h>
#include <asm/io.h>
diff --git a/drivers/mmc/xenon_sdhci.c b/drivers/mmc/xenon_sdhci.c
index 490a01f9bd..9427a2469d 100644
--- a/drivers/mmc/xenon_sdhci.c
+++ b/drivers/mmc/xenon_sdhci.c
@@ -18,7 +18,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <sdhci.h>
diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c
index 414778cc4a..9463a06ebc 100644
--- a/drivers/mmc/zynq_sdhci.c
+++ b/drivers/mmc/zynq_sdhci.c
@@ -10,7 +10,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <sdhci.h>
diff --git a/drivers/mtd/spi/sunxi_spi_spl.c b/drivers/mtd/spi/sunxi_spi_spl.c
index 35835c2798..fa22981316 100644
--- a/drivers/mtd/spi/sunxi_spi_spl.c
+++ b/drivers/mtd/spi/sunxi_spi_spl.c
@@ -8,7 +8,7 @@
#include <spl.h>
#include <asm/gpio.h>
#include <asm/io.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#ifdef CONFIG_SPL_OS_BOOT
#error CONFIG_SPL_OS_BOOT is not supported yet
diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
index 760a12488a..ea9ae5b609 100644
--- a/drivers/net/fsl-mc/mc.c
+++ b/drivers/net/fsl-mc/mc.c
@@ -8,7 +8,7 @@
#include <errno.h>
#include <linux/bug.h>
#include <asm/io.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <net.h>
#include <fdt_support.h>
#include <fsl-mc/fsl_mc.h>
diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c
index df76a94144..11104dcc69 100644
--- a/drivers/pci/fsl_pci_init.c
+++ b/drivers/pci/fsl_pci_init.c
@@ -886,7 +886,7 @@ int fsl_pcie_init_board(int busno)
#endif
#ifdef CONFIG_OF_BOARD_SETUP
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdt_support.h>
void ft_fsl_pci_setup(void *blob, const char *pci_compat,
diff --git a/drivers/pci/pci-emul-uclass.c b/drivers/pci/pci-emul-uclass.c
index 0f8e3c9fcb..dcea192418 100644
--- a/drivers/pci/pci-emul-uclass.c
+++ b/drivers/pci/pci-emul-uclass.c
@@ -8,7 +8,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <pci.h>
#include <dm/lists.h>
diff --git a/drivers/pci/pcie_layerscape_fixup.c b/drivers/pci/pcie_layerscape_fixup.c
index 3dae20103d..e2ea7c8750 100644
--- a/drivers/pci/pcie_layerscape_fixup.c
+++ b/drivers/pci/pcie_layerscape_fixup.c
@@ -12,7 +12,7 @@
#include <asm/io.h>
#include <errno.h>
#ifdef CONFIG_OF_BOARD_SETUP
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdt_support.h>
#ifdef CONFIG_ARM
#include <asm/arch/clock.h>
diff --git a/drivers/phy/sti_usb_phy.c b/drivers/phy/sti_usb_phy.c
index c671ac648c..727fb8b9ba 100644
--- a/drivers/phy/sti_usb_phy.c
+++ b/drivers/phy/sti_usb_phy.c
@@ -12,7 +12,7 @@
#include <errno.h>
#include <fdtdec.h>
#include <generic-phy.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <regmap.h>
#include <reset-uclass.h>
#include <syscon.h>
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 0a4dd3c0cf..ad0b8daba6 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -47,9 +47,9 @@ config PINMUX
default y
help
This option enables pin multiplexing through the generic pinctrl
- framework. Most SoCs have their own own multiplexing arrangement
- where a single pin can be used for several functions. An SoC pinctrl
- driver allows the required function to be selected for each pin.
+ framework. Most SoCs have their own multiplexing arrangement where
+ a single pin can be used for several functions. An SoC pinctrl driver
+ allows the required function to be selected for each pin.
The driver is typically controlled by the device tree.
config PINCONF
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index a38d774ddc..72f99be7e6 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -7,7 +7,7 @@
#include <common.h>
#include <dm.h>
#include <dm/pinctrl.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <asm/io.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
index 114952a1da..6a73a0679b 100644
--- a/drivers/pinctrl/pinctrl-uclass.c
+++ b/drivers/pinctrl/pinctrl-uclass.c
@@ -5,7 +5,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <linux/err.h>
#include <linux/list.h>
#include <dm.h>
diff --git a/drivers/power/pmic/act8846.c b/drivers/power/pmic/act8846.c
index a6b0940956..7d107f4427 100644
--- a/drivers/power/pmic/act8846.c
+++ b/drivers/power/pmic/act8846.c
@@ -9,7 +9,7 @@
#include <dm.h>
#include <errno.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <power/act8846_pmic.h>
#include <power/pmic.h>
diff --git a/drivers/power/pmic/rn5t567.c b/drivers/power/pmic/rn5t567.c
index 001e69553e..9e5b0b119b 100644
--- a/drivers/power/pmic/rn5t567.c
+++ b/drivers/power/pmic/rn5t567.c
@@ -9,7 +9,7 @@
#include <dm.h>
#include <errno.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <power/rn5t567_pmic.h>
#include <power/pmic.h>
diff --git a/drivers/power/regulator/pwm_regulator.c b/drivers/power/regulator/pwm_regulator.c
index b63f941990..169f09558d 100644
--- a/drivers/power/regulator/pwm_regulator.c
+++ b/drivers/power/regulator/pwm_regulator.c
@@ -13,7 +13,7 @@
#include <errno.h>
#include <pwm.h>
#include <power/regulator.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdt_support.h>
#include <fdtdec.h>
diff --git a/drivers/qe/fdt.c b/drivers/qe/fdt.c
index 4f48f984ab..9bbdc60353 100644
--- a/drivers/qe/fdt.c
+++ b/drivers/qe/fdt.c
@@ -8,7 +8,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdt_support.h>
#include <fsl_qe.h>
diff --git a/drivers/sound/sound-i2s.c b/drivers/sound/sound-i2s.c
index 749bbbd031..be69fb0b01 100644
--- a/drivers/sound/sound-i2s.c
+++ b/drivers/sound/sound-i2s.c
@@ -8,7 +8,7 @@
#include <malloc.h>
#include <common.h>
#include <asm/io.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdtdec.h>
#include <i2c.h>
#include <i2s.h>
diff --git a/drivers/tpm/tpm_atmel_twi.c b/drivers/tpm/tpm_atmel_twi.c
index eba654b15d..4fd772dc4f 100644
--- a/drivers/tpm/tpm_atmel_twi.c
+++ b/drivers/tpm/tpm_atmel_twi.c
@@ -106,13 +106,23 @@ static int tpm_atmel_twi_xfer(struct udevice *dev,
udelay(100);
}
if (!res) {
- *recv_len = get_unaligned_be32(recvbuf + 2);
- if (*recv_len > 10)
+ unsigned int hdr_recv_len;
+ hdr_recv_len = get_unaligned_be32(recvbuf + 2);
+ if (hdr_recv_len < 10) {
+ puts("tpm response header too small\n");
+ return -1;
+ } else if (hdr_recv_len > *recv_len) {
+ puts("tpm response length is bigger than receive buffer\n");
+ return -1;
+ } else {
+ *recv_len = hdr_recv_len;
#ifndef CONFIG_DM_I2C
res = i2c_read(0x29, 0, 0, recvbuf, *recv_len);
#else
res = dm_i2c_read(dev, 0, recvbuf, *recv_len);
#endif
+
+ }
}
if (res) {
printf("i2c_read returned %d (rlen=%d)\n", res, *recv_len);
diff --git a/drivers/tpm/tpm_tis_infineon.c b/drivers/tpm/tpm_tis_infineon.c
index e3e20d8996..41b748e7a2 100644
--- a/drivers/tpm/tpm_tis_infineon.c
+++ b/drivers/tpm/tpm_tis_infineon.c
@@ -374,7 +374,8 @@ static int tpm_tis_i2c_recv(struct udevice *dev, u8 *buf, size_t count)
{
struct tpm_chip *chip = dev_get_priv(dev);
int size = 0;
- int expected, status;
+ int status;
+ unsigned int expected;
int rc;
status = tpm_tis_i2c_status(dev);
@@ -394,7 +395,7 @@ static int tpm_tis_i2c_recv(struct udevice *dev, u8 *buf, size_t count)
}
expected = get_unaligned_be32(buf + TPM_RSP_SIZE_BYTE);
- if ((size_t)expected > count) {
+ if ((size_t)expected > count || (size_t)expected < TPM_HEADER_SIZE) {
debug("Error size=%x, expected=%x, count=%x\n", size, expected,
count);
return -ENOSPC;
diff --git a/drivers/tpm/tpm_tis_st33zp24_i2c.c b/drivers/tpm/tpm_tis_st33zp24_i2c.c
index c8d01254d2..245218fc07 100644
--- a/drivers/tpm/tpm_tis_st33zp24_i2c.c
+++ b/drivers/tpm/tpm_tis_st33zp24_i2c.c
@@ -303,7 +303,8 @@ static int st33zp24_i2c_recv_data(struct udevice *dev, u8 *buf, size_t count)
static int st33zp24_i2c_recv(struct udevice *dev, u8 *buf, size_t count)
{
struct tpm_chip *chip = dev_get_priv(dev);
- int size, expected;
+ int size;
+ unsigned int expected;
if (!chip)
return -ENODEV;
@@ -320,7 +321,7 @@ static int st33zp24_i2c_recv(struct udevice *dev, u8 *buf, size_t count)
}
expected = get_unaligned_be32(buf + 2);
- if (expected > count) {
+ if (expected > count || expected < TPM_HEADER_SIZE) {
size = -EIO;
goto out;
}
diff --git a/drivers/tpm/tpm_tis_st33zp24_spi.c b/drivers/tpm/tpm_tis_st33zp24_spi.c
index dcf55ee03a..c4c5e05286 100644
--- a/drivers/tpm/tpm_tis_st33zp24_spi.c
+++ b/drivers/tpm/tpm_tis_st33zp24_spi.c
@@ -431,7 +431,8 @@ static int st33zp24_spi_recv_data(struct udevice *dev, u8 *buf, size_t count)
static int st33zp24_spi_recv(struct udevice *dev, u8 *buf, size_t count)
{
struct tpm_chip *chip = dev_get_priv(dev);
- int size, expected;
+ int size;
+ unsigned int expected;
if (!chip)
return -ENODEV;
@@ -448,7 +449,7 @@ static int st33zp24_spi_recv(struct udevice *dev, u8 *buf, size_t count)
}
expected = get_unaligned_be32(buf + 2);
- if (expected > count) {
+ if (expected > count || expected < TPM_HEADER_SIZE) {
size = -EIO;
goto out;
}
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
index e8432bb016..69cf11cbf5 100644
--- a/drivers/usb/common/common.c
+++ b/drivers/usb/common/common.c
@@ -8,7 +8,7 @@
*/
#include <common.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <linux/usb/otg.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/usb/host/dwc3-sti-glue.c b/drivers/usb/host/dwc3-sti-glue.c
index 67b256140e..ce9335e476 100644
--- a/drivers/usb/host/dwc3-sti-glue.c
+++ b/drivers/usb/host/dwc3-sti-glue.c
@@ -12,7 +12,7 @@
#include <dm.h>
#include <errno.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <dm/lists.h>
#include <regmap.h>
#include <reset-uclass.h>
diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c
index 30297b02d3..a2c6d5abfb 100644
--- a/drivers/usb/host/ehci-exynos.c
+++ b/drivers/usb/host/ehci-exynos.c
@@ -10,7 +10,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <usb.h>
#include <asm/arch/cpu.h>
diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c
index f5320ca298..ea008bb184 100644
--- a/drivers/usb/host/ehci-msm.c
+++ b/drivers/usb/host/ehci-msm.c
@@ -12,7 +12,7 @@
#include <dm.h>
#include <errno.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <usb.h>
#include <usb/ehci-ci.h>
#include <usb/ulpi.h>
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index 1c72330b0c..f317cf00ea 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -16,7 +16,7 @@
#include <asm/arch-tegra/clk_rst.h>
#include <usb.h>
#include <usb/ulpi.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include "ehci.h"
diff --git a/drivers/usb/host/ehci-vf.c b/drivers/usb/host/ehci-vf.c
index 5bb3763814..3d63cfa193 100644
--- a/drivers/usb/host/ehci-vf.c
+++ b/drivers/usb/host/ehci-vf.c
@@ -20,7 +20,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/regs-usbphy.h>
#include <usb/ehci-ci.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <fdtdec.h>
#include "ehci.h"
diff --git a/drivers/usb/host/xhci-exynos5.c b/drivers/usb/host/xhci-exynos5.c
index bf7286554e..6f08d5d5a2 100644
--- a/drivers/usb/host/xhci-exynos5.c
+++ b/drivers/usb/host/xhci-exynos5.c
@@ -16,7 +16,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <usb.h>
#include <watchdog.h>
diff --git a/drivers/usb/phy/rockchip_usb2_phy.c b/drivers/usb/phy/rockchip_usb2_phy.c
index 1958478d62..01bda15bd6 100644
--- a/drivers/usb/phy/rockchip_usb2_phy.c
+++ b/drivers/usb/phy/rockchip_usb2_phy.c
@@ -6,7 +6,7 @@
#include <common.h>
#include <asm/io.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include "../gadget/dwc2_udc_otg_priv.h"
diff --git a/drivers/video/exynos/exynos_dp.c b/drivers/video/exynos/exynos_dp.c
index 2be230cb6b..30e4020686 100644
--- a/drivers/video/exynos/exynos_dp.c
+++ b/drivers/video/exynos/exynos_dp.c
@@ -11,7 +11,7 @@
#include <common.h>
#include <display.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <malloc.h>
#include <video_bridge.h>
#include <linux/compat.h>
diff --git a/drivers/video/exynos/exynos_dp_lowlevel.c b/drivers/video/exynos/exynos_dp_lowlevel.c
index aae78a8159..f84dd7097f 100644
--- a/drivers/video/exynos/exynos_dp_lowlevel.c
+++ b/drivers/video/exynos/exynos_dp_lowlevel.c
@@ -13,7 +13,7 @@
#include <asm/arch/dp_info.h>
#include <asm/arch/dp.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include "exynos_dp_lowlevel.h"
/* Declare global data pointer */
diff --git a/drivers/video/exynos/exynos_fb.c b/drivers/video/exynos/exynos_fb.c
index 6ca17f2db2..a2879a9c57 100644
--- a/drivers/video/exynos/exynos_fb.c
+++ b/drivers/video/exynos/exynos_fb.c
@@ -13,7 +13,7 @@
#include <div64.h>
#include <dm.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <panel.h>
#include <video.h>
#include <video_bridge.h>
diff --git a/drivers/video/exynos/exynos_mipi_dsi.c b/drivers/video/exynos/exynos_mipi_dsi.c
index a5d9b59218..724d08f7ae 100644
--- a/drivers/video/exynos/exynos_mipi_dsi.c
+++ b/drivers/video/exynos/exynos_mipi_dsi.c
@@ -10,7 +10,7 @@
#include <common.h>
#include <malloc.h>
#include <fdtdec.h>
-#include <libfdt.h>
+#include <linux/libfdt.h>
#include <linux/compat.h>
#include <linux/err.h>
#include <asm/arch/dsim.h>