]> git.sur5r.net Git - u-boot/commitdiff
Merge git://git.denx.de/u-boot-imx
authorTom Rini <trini@konsulko.com>
Fri, 9 Mar 2018 18:29:58 +0000 (13:29 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 9 Mar 2018 18:29:58 +0000 (13:29 -0500)
74 files changed:
MAINTAINERS
board/gdsys/a38x/MAINTAINERS
board/gdsys/common/adv7611.c
board/gdsys/common/fanctrl.c
board/gdsys/common/fpga.c
board/gdsys/common/ihs_mdio.c
board/gdsys/common/ioep-fpga.c
board/gdsys/common/miiphybb.c
board/gdsys/common/osd.c
board/gdsys/common/osd.h
board/gdsys/common/phy.c
board/gdsys/mpc8308/MAINTAINERS
board/gdsys/mpc8308/Makefile
board/gdsys/mpc8308/hrcon.c
board/gdsys/mpc8308/mpc8308.c
board/gdsys/mpc8308/strider.c
board/gdsys/p1022/MAINTAINERS
configs/am3517_crane_defconfig
configs/efi-x86_defconfig
configs/imx6qdl_icore_mipi_defconfig
configs/imx6qdl_icore_mmc_defconfig
configs/imx6qdl_icore_nand_defconfig
configs/imx6qdl_icore_rqs_defconfig
configs/omap3_pandora_defconfig
configs/thunderx_88xx_defconfig
configs/vct_platinumavc_defconfig
configs/vct_platinumavc_onenand_defconfig
configs/zynq_zc770_xm011_defconfig
configs/zynq_zc770_xm011_x16_defconfig
drivers/gpio/mpc8xxx_gpio.c
drivers/gpio/pca9698.c
drivers/i2c/ihs_i2c.c
drivers/serial/serial_bcm283x_mu.c
drivers/serial/serial_bcm283x_pl011.c
drivers/serial/serial_pl01x.c
drivers/serial/serial_pl01x_internal.h
drivers/tpm/tpm_atmel_twi.c
fs/ext4/ext4_common.c
fs/yaffs2/yaffs_guts.c
fs/yaffs2/yaffsfs.c
include/configs/at91rm9200ek.h
include/configs/at91sam9263ek.h
include/configs/at91sam9rlek.h
include/configs/dbau1x00.h
include/configs/draco.h
include/configs/edb93xx.h
include/configs/exynos5420-common.h
include/configs/h2200.h
include/configs/hrcon.h
include/configs/ipam390.h
include/configs/kzm9g.h
include/configs/omapl138_lcdk.h
include/configs/pb1x00.h
include/configs/picosam9g45.h
include/configs/platinum_picon.h
include/configs/platinum_titanium.h
include/configs/pm9261.h
include/configs/pm9263.h
include/configs/pm9g45.h
include/configs/pxm2.h
include/configs/qemu-arm.h
include/configs/rut.h
include/configs/smdkc100.h
include/configs/smdkv310.h
include/configs/stm32f429-discovery.h
include/configs/stm32f469-discovery.h
include/configs/strider.h
include/configs/stv0991.h
include/gdsys_fpga.h
include/pca9698.h
scripts/coccinelle/null/badzero.cocci [new file with mode: 0644]
scripts/coccinelle/null/kmerr.cocci [new file with mode: 0644]
scripts/config_whitelist.txt
tools/fit_image.c

index f42cb220ee9bacc8afb49fb5a7089151604314d8..d5059f611da9b7fbfa2a320c611b0b9f92c9e125 100644 (file)
@@ -59,12 +59,6 @@ S:   Maintained
 T:     git git://git.denx.de/u-boot-arc.git
 F:     arch/arc/
 
-ARC HSDK CREG GPIO
-M:     Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
-S:     Maintained
-L:     uboot-snps-arc@synopsys.com
-F:     drivers/gpio/hsdk-creg-gpio.c
-
 ARC HSDK CGU CLOCK
 M:     Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
 S:     Maintained
@@ -73,6 +67,12 @@ F:   drivers/clk/clk-hsdk-cgu.c
 F:     include/dt-bindings/clock/snps,hsdk-cgu.h
 F:     doc/device-tree-bindings/clock/snps,hsdk-cgu.txt
 
+ARC HSDK CREG GPIO
+M:     Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
+S:     Maintained
+L:     uboot-snps-arc@synopsys.com
+F:     drivers/gpio/hsdk-creg-gpio.c
+
 ARM
 M:     Albert Aribaud <albert.u.boot@aribaud.net>
 S:     Maintained
@@ -185,6 +185,12 @@ M: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
 S:     Maintained
 F:     arch/arm/mach-snapdragon/
 
+ARM STI
+M:     Patrice Chotard <patrice.chotard@st.com>
+S:     Maintained
+F:     arch/arm/mach-sti/
+F:     arch/arm/include/asm/arch-sti*/
+
 ARM STM SPEAR
 #M:    Vipin Kumar <vipin.kumar@st.com>
 S:     Orphaned (Since 2016-02)
@@ -198,12 +204,6 @@ S: Maintained
 F:     arch/arm/cpu/armv7/stv0991/
 F:     arch/arm/include/asm/arch-stv0991/
 
-ARM STI
-M:     Patrice Chotard <patrice.chotard@st.com>
-S:     Maintained
-F:     arch/arm/mach-sti/
-F:     arch/arm/include/asm/arch-sti*/
-
 ARM SUNXI
 M:     Jagan Teki <jagan@openedev.com>
 M:     Maxime Ripard <maxime.ripard@bootlin.com>
@@ -354,13 +354,6 @@ S: Maintained
 T:     git git://git.denx.de/u-boot-mmc.git
 F:     drivers/mmc/
 
-NETWORK
-M:     Joe Hershberger <joe.hershberger@ni.com>
-S:     Maintained
-T:     git git://git.denx.de/u-boot-net.git
-F:     drivers/net/
-F:     net/
-
 NAND FLASH
 M:     Scott Wood <oss@buserror.net>
 S:     Maintained
@@ -373,6 +366,13 @@ S: Maintained
 T:     git git://git.denx.de/u-boot-nds32.git
 F:     arch/nds32/
 
+NETWORK
+M:     Joe Hershberger <joe.hershberger@ni.com>
+S:     Maintained
+T:     git git://git.denx.de/u-boot-net.git
+F:     drivers/net/
+F:     net/
+
 NIOS
 M:     Thomas Chou <thomas@wytron.com.tw>
 S:     Maintained
index 3cb9b63ff0d59452ea76ad84b5146080bc49af40..d31e675ddce28fb107b0051e5beeb98c278d32e7 100644 (file)
@@ -1,6 +1,6 @@
 A38X BOARD
-M:     Dirk Eibach <eibach@gdsys.cc>
-M:     Mario Six <six@gdsys.de>
+M:     Dirk Eibach <dirk.eibach@gdsys.cc>
+M:     Mario Six <mario.six@gdsys.cc>
 S:     Maintained
 F:     board/gdsys/a38x/
 F:     include/configs/controlcenterdc.h
index b728274cce6d8eed98ecdb0cd0e6080d3fdab127..5355292280dd5fb78cf5a3b914daa901bf400056 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach, Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach, Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 44569bb1aba2e742838e7d5a2cc3ce3077cff2b6..52a4f33836d1baf515d4d3bd0b3eecdb03854730 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2015
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index e10c105feb136a6dbc034bac830c1c9d9d31e773..09c0446f903032f78087b7054a57da3d1335bfd6 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2013
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 262ead5516449fb38c87dbe14d8669c233c1f2d0..822517d4b284dd2f5e40e290fcfc0b0de72b24f2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index f72a01e5b267ee391c31c2ae92c45054b73feb1b..7ebce04a8a280186294af0b1713fe16fb029e399 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 310562902b26ee56699694b983aec4930ed805a3..09b62253cd7997d727b9ce2f1322f8ced9a87e09 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2010
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index add95743698f7b4c51a93d9a6f1b734b8b257ee7..454468ea3bccaa1467001dcf03856465c9d1c2af 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2010
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 5b3f14bf05eb30899955b5585b769dc17c249a27..a3b0e3d5ae8b8f4ca8de296a6634aa18d0f0f537 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2010
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index fb926581788fecad42e9c68a68771e8da6963f24..45d2b81f37c17aeec62771f13570a36f89a2f978 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 21470bf6b05b4dc4a954989c778189c26e2f33f3..755b9a23858a40bc5d1f25c332dd437ea7fcd04f 100644 (file)
@@ -1,5 +1,5 @@
 MPC8308 BOARD
-M:     Dirk Eibach <eibach@gdsys.de>
+M:     Dirk Eibach <dirk.eibach@gdsys.cc>
 S:     Maintained
 F:     board/gdsys/mpc8308/
 F:     include/configs/hrcon.h
index 42702fb967bd18755021ba2cd88d36f85dbdab09..f9671cfbd69740995ae9807ef7cd6755112702e8 100644 (file)
@@ -1,6 +1,6 @@
 #
 # (C) Copyright 2014
-# Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+# Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
 #
 # SPDX-License-Identifier:     GPL-2.0+
 #
index 96f60bef95b128f656f7f09882ebbf28f1d8fb5f..ed5cb332794ebfccb05533e408db6ae0b9065fad 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 86b257f4de64ea62b99ad1b27d40a9528fb39d1c..928f75a02f0e9399c2a7cce4f4fd12540053f413 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 88211050610cdfd3c3d37c3a67ad2b5cd6f23148..c8ea8a4ae0a8275d598888976a68eecd2bee30d9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 5119fbb1426e632224e97a783268c1c8a9f6c797..99f1200c0984ddc022f1de1c1e9fd58bbff856ed 100644 (file)
@@ -1,5 +1,5 @@
 P1022 BOARD
-M:     Dirk Eibach <eibach@gdsys.de>
+M:     Dirk Eibach <dirk.eibach@gdsys.cc>
 S:     Maintained
 F:     board/gdsys/p1022/
 F:     include/configs/controlcenterd.h
index b70e54d71408697f0b49e53efae1e948623b7ad4..9d092ef04871cb5677261be4385940d3e10b2738 100644 (file)
@@ -19,7 +19,6 @@ CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
-CONFIG_CMD_DHCP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_JFFS2=y
index 83850d478fb9089d7309463c89ad71974f94a0a0..7d162a8e048199428f0b1820774c86f6e9035d47 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_CMD_SF=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_NET is not set
-CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_EXT2=y
index 208fc89b7e55f07ddd9ecd51f80503a9f0fbd349..6dc8d2fe13ff79796f23fd0d8fe9cedc50f3e403 100644 (file)
@@ -15,11 +15,11 @@ CONFIG_DEBUG_UART=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_SPL_LOAD_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_SPL=y
-CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="icorem6qdl-mipi> "
index d386946df609cd8541291e0d6849759aeb5767f4..a3f5e8fc34f5a38786c34d864c558ea62e9c396e 100644 (file)
@@ -15,11 +15,11 @@ CONFIG_DEBUG_UART=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_SPL_LOAD_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_SPL=y
-CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="icorem6qdl> "
index 5e142272d6f00a372ab49aab0473a2bafa01fc99..2a8605922628588450b92ff2c64f92b0ed64d24c 100644 (file)
@@ -33,7 +33,6 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:2m(spl),2m(uboot),1m(env),8m(kernel),1m(dtb),-(rootfs)"
 CONFIG_CMD_UBI=y
-CONFIG_OF_LIST="imx6q-icore imx6dl-icore"
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_I2C_MXC=y
 CONFIG_NAND=y
index 13f345536979a58939e06abcd5a95d6416a09976..6c8fb85ca2b4af32020669ec6952e2c61a555a0d 100644 (file)
@@ -14,11 +14,11 @@ CONFIG_DEFAULT_DEVICE_TREE="imx6q-icore-rqs"
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_SPL_LOAD_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_SPL=y
-CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="icorem6qdl-rqs> "
index 649a57458fd2a86256475af8b7290eb517b4268c..a004f147441b8a2c6c946194e86a05444aad46f7 100644 (file)
@@ -31,5 +31,5 @@ CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_SYS_NS16550=y
 CONFIG_OMAP3_SPI=y
 CONFIG_FAT_WRITE=y
-CONFIG_OF_LIBFDT=y
 # CONFIG_REGEX is not set
+CONFIG_OF_LIBFDT=y
index 4b25c0814c8111215681433ec831709ad7309b51..891a4173d9c6569457f4a3341a80c97f8c130cc2 100644 (file)
@@ -27,4 +27,3 @@ CONFIG_DEBUG_UART_PL011=y
 CONFIG_DEBUG_UART_BASE=0x87e024000000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SKIP_INIT=y
-CONFIG_REGEX=y
index 57b30779390ba56fab19145473ddb16eb31f8005..174a840f391c6b9a4034f96bb332c5c9ac8a1abf 100644 (file)
@@ -10,7 +10,6 @@ CONFIG_CMD_EEPROM=y
 CONFIG_CMD_I2C=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
-CONFIG_CMD_DHCP=y
 # CONFIG_CMD_NFS is not set
 # CONFIG_ISO_PARTITION is not set
 CONFIG_ENV_IS_IN_FLASH=y
index de1c1e8589a80396b2e42cbe7529850d30299b69..c33dc0d4f9f51a1fb40f731794d9e512f967a438 100644 (file)
@@ -12,7 +12,6 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_ONENAND=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
-CONFIG_CMD_DHCP=y
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_JFFS2=y
 CONFIG_MTDIDS_DEFAULT="onenand0=onenand"
index eeff2c8260ac3197893b3c69cf0e274f145f00fe..b6ddf986c5403e4ad66735e5bd63e18c5b985330 100644 (file)
@@ -42,4 +42,3 @@ CONFIG_DEBUG_UART_BASE=0xe0001000
 CONFIG_DEBUG_UART_CLOCK=50000000
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ZYNQ_SERIAL=y
-CONFIG_REGEX=y
index 235d39f49f387c48629c821962dcf4b574ab3f1d..bd0ec7b33b784690b0fd1b08092b593c8b97aef9 100644 (file)
@@ -43,4 +43,3 @@ CONFIG_DEBUG_UART_BASE=0xe0001000
 CONFIG_DEBUG_UART_CLOCK=50000000
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ZYNQ_SERIAL=y
-CONFIG_REGEX=y
index 326fd1672d0e18fc764bebd7e34a9b9db2a6631f..c7acf116597336b189e57ba3e7a49cdd98b99922 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2016
- * Mario Six, Guntermann & Drunck GmbH, six@gdsys.de
+ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
  *
  * based on arch/powerpc/include/asm/mpc85xx_gpio.h, which is
  *
index d2663f7331aa5fa78bd25e6d11f4a4cb61a1563c..3995c496aeed67f405e8df5d572e81ce41a60884 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2011
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index ee96cd50d5bd432ffaa1413459673f3db1322e96..92985212200ea311362922e4c6beaca38cbb226b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2013
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 40029fadbcb4b7751078725be18d2ad502aac41c..d87b44e90266f526a51221c3e6b5d90ddff2d62b 100644 (file)
@@ -51,6 +51,8 @@ struct bcm283x_mu_priv {
        struct bcm283x_mu_regs *regs;
 };
 
+static int bcm283x_mu_serial_getc(struct udevice *dev);
+
 static int bcm283x_mu_serial_setbrg(struct udevice *dev, int baudrate)
 {
        struct bcm283x_mu_serial_platdata *plat = dev_get_platdata(dev);
@@ -59,13 +61,17 @@ static int bcm283x_mu_serial_setbrg(struct udevice *dev, int baudrate)
        u32 divider;
 
        if (plat->skip_init)
-               return 0;
+               goto out;
 
        divider = plat->clock / (baudrate * 8);
 
        writel(BCM283X_MU_LCR_DATA_SIZE_8, &regs->lcr);
        writel(divider - 1, &regs->baud);
 
+out:
+       /* Flush the RX queue - all data in there is bogus */
+       while (bcm283x_mu_serial_getc(dev) != -EAGAIN) ;
+
        return 0;
 }
 
index bfd39f84f359db784398957eb98468ff93e0cfe3..dad72368952028927dd7dbc6c27bf1528d153356 100644 (file)
@@ -9,6 +9,7 @@
 #include <asm/gpio.h>
 #include <dm/pinctrl.h>
 #include <dm/platform_data/serial_pl01x.h>
+#include <serial.h>
 #include "serial_pl01x_internal.h"
 
 /*
@@ -55,6 +56,28 @@ static int bcm283x_pl011_serial_ofdata_to_platdata(struct udevice *dev)
        return 0;
 }
 
+static int bcm283x_pl011_serial_setbrg(struct udevice *dev, int baudrate)
+{
+       int r;
+
+       r = pl01x_serial_setbrg(dev, baudrate);
+
+       /*
+        * We may have been muxed to a bogus line before. Drain the RX
+        * queue so we start at a clean slate.
+        */
+       while (pl01x_serial_getc(dev) != -EAGAIN) ;
+
+       return r;
+}
+
+static const struct dm_serial_ops bcm283x_pl011_serial_ops = {
+       .putc = pl01x_serial_putc,
+       .pending = pl01x_serial_pending,
+       .getc = pl01x_serial_getc,
+       .setbrg = bcm283x_pl011_serial_setbrg,
+};
+
 static const struct udevice_id bcm283x_pl011_serial_id[] = {
        {.compatible = "brcm,bcm2835-pl011", .data = TYPE_PL011},
        {}
@@ -67,7 +90,7 @@ U_BOOT_DRIVER(bcm283x_pl011_uart) = {
        .ofdata_to_platdata = of_match_ptr(bcm283x_pl011_serial_ofdata_to_platdata),
        .platdata_auto_alloc_size = sizeof(struct pl01x_serial_platdata),
        .probe  = pl01x_serial_probe,
-       .ops    = &pl01x_serial_ops,
+       .ops    = &bcm283x_pl011_serial_ops,
        .flags  = DM_FLAG_PRE_RELOC,
        .priv_auto_alloc_size = sizeof(struct pl01x_priv),
 };
index 23d9d839cbc1c249af6e0556ff11dbb8e03d4740..45f12827703ad0db222827dbc2da358603409072 100644 (file)
@@ -273,7 +273,7 @@ __weak struct serial_device *default_serial_console(void)
 
 #ifdef CONFIG_DM_SERIAL
 
-static int pl01x_serial_setbrg(struct udevice *dev, int baudrate)
+int pl01x_serial_setbrg(struct udevice *dev, int baudrate)
 {
        struct pl01x_serial_platdata *plat = dev_get_platdata(dev);
        struct pl01x_priv *priv = dev_get_priv(dev);
@@ -299,21 +299,21 @@ int pl01x_serial_probe(struct udevice *dev)
                return 0;
 }
 
-static int pl01x_serial_getc(struct udevice *dev)
+int pl01x_serial_getc(struct udevice *dev)
 {
        struct pl01x_priv *priv = dev_get_priv(dev);
 
        return pl01x_getc(priv->regs);
 }
 
-static int pl01x_serial_putc(struct udevice *dev, const char ch)
+int pl01x_serial_putc(struct udevice *dev, const char ch)
 {
        struct pl01x_priv *priv = dev_get_priv(dev);
 
        return pl01x_putc(priv->regs, ch);
 }
 
-static int pl01x_serial_pending(struct udevice *dev, bool input)
+int pl01x_serial_pending(struct udevice *dev, bool input)
 {
        struct pl01x_priv *priv = dev_get_priv(dev);
        unsigned int fr = readl(&priv->regs->fr);
@@ -324,7 +324,7 @@ static int pl01x_serial_pending(struct udevice *dev, bool input)
                return fr & UART_PL01x_FR_TXFF ? 0 : 1;
 }
 
-const struct dm_serial_ops pl01x_serial_ops = {
+static const struct dm_serial_ops pl01x_serial_ops = {
        .putc = pl01x_serial_putc,
        .pending = pl01x_serial_pending,
        .getc = pl01x_serial_getc,
index c56dd54c7b8ab0420d6b2db9fc2e3784db54ce58..d4605f24a39aa96b4ad28072c24c8508e0193069 100644 (file)
@@ -43,7 +43,12 @@ struct pl01x_regs {
 
 int pl01x_serial_ofdata_to_platdata(struct udevice *dev);
 int pl01x_serial_probe(struct udevice *dev);
-extern const struct dm_serial_ops pl01x_serial_ops;
+
+/* Needed for external pl01x_serial_ops drivers */
+int pl01x_serial_putc(struct udevice *dev, const char ch);
+int pl01x_serial_pending(struct udevice *dev, bool input);
+int pl01x_serial_getc(struct udevice *dev);
+int pl01x_serial_setbrg(struct udevice *dev, int baudrate);
 
 struct pl01x_priv {
        struct pl01x_regs *regs;
index 4fd772dc4fcb82aac741552204cbca52dffbb1b7..860848777d836b5048e04f936f94c28a517820cf 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2013 Guntermann & Drunck, GmbH
  *
- * Written by Dirk Eibach <eibach@gdsys.de>
+ * Written by Dirk Eibach <dirk.eibach@gdsys.cc>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index dac95453650c042ef2cc071b9a6ac94a8f007d5f..e3cc30a1e0ae73b3741d26662b90a5efb211ee98 100644 (file)
@@ -2343,7 +2343,7 @@ int ext4fs_mount(unsigned part_length)
 
        /* Make sure this is an ext2 filesystem. */
        if (le16_to_cpu(data->sblock.magic) != EXT2_MAGIC)
-               goto fail;
+               goto fail_noerr;
 
 
        if (le32_to_cpu(data->sblock.revision_level) == 0) {
@@ -2379,6 +2379,7 @@ int ext4fs_mount(unsigned part_length)
        return 1;
 fail:
        printf("Failed to mount ext2 filesystem...\n");
+fail_noerr:
        free(data);
        ext4fs_root = NULL;
 
index bbe0d700fb63e8d7754d37163dbbaef45745daa3..c8b27adda91dee49989013366bc3de98bc42868d 100644 (file)
@@ -1872,8 +1872,8 @@ static int yaffs_new_obj_id(struct yaffs_dev *dev)
                n += YAFFS_NOBJECT_BUCKETS;
                list_for_each(i, &dev->obj_bucket[bucket].list) {
                        /* If there is already one in the list */
-                       if (i && list_entry(i, struct yaffs_obj,
-                                           hash_link)->obj_id == n) {
+                       if (list_entry(i, struct yaffs_obj,
+                                      hash_link)->obj_id == n) {
                                found = 0;
                                break;
                        }
index ba76a5ccdbdb65ab9b5d6a410c81add5f919e7ef..47abc6bedae7bf85c7eaea34dfdf1705065f297b 100644 (file)
@@ -2847,12 +2847,9 @@ static void yaffsfs_RemoveObjectCallback(struct yaffs_obj *obj)
         * the next one to prevent a hanging ptr.
         */
        list_for_each(i, &search_contexts) {
-               if (i) {
-                       dsc = list_entry(i, struct yaffsfs_DirSearchContxt,
-                                        others);
-                       if (dsc->nextReturn == obj)
-                               yaffsfs_DirAdvance(dsc);
-               }
+               dsc = list_entry(i, struct yaffsfs_DirSearchContxt, others);
+               if (dsc->nextReturn == obj)
+                       yaffsfs_DirAdvance(dsc);
        }
 
 }
index 9ce0a8f9bf550e2a44f1a0f6f4240d437e4e7450..8c27122c002e4f4b798688f0a2e2566529ff5555 100644 (file)
@@ -44,7 +44,6 @@
 /* CPU configuration */
 #define CONFIG_AT91RM9200
 #define CONFIG_AT91RM9200EK
-#define CONFIG_CPUAT91
 #define USE_920T_MMU
 
 #include <asm/hardware.h>      /* needed for port definitions */
index b6691feb681c652930e9d9dd8dd3e6a96fc0dc52..7fe51c2c0b62fa4754ead6f6657eca2fc65409d5 100644 (file)
@@ -21,8 +21,6 @@
 #define CONFIG_SYS_AT91_MAIN_CLOCK     16367660 /* 16.367 MHz crystal */
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768
 
-#define CONFIG_AT91SAM9263EK   1       /* It's an AT91SAM9263EK Board */
-
 #define CONFIG_ARCH_CPU_INIT
 
 #define CONFIG_CMDLINE_TAG     1       /* enable passing of ATAGs      */
index 08c8f48bb581e28609c2f77c449a290b5a6634aa..6f8fd2a035ffc679622173682cd471ffb712d5cd 100644 (file)
@@ -17,8 +17,6 @@
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock xtal */
 #define CONFIG_SYS_AT91_MAIN_CLOCK     12000000        /* main clock xtal */
 
-#define CONFIG_AT91SAM9RLEK            1       /* It's an AT91SAM9RLEK Board */
-
 #define CONFIG_ARCH_CPU_INIT
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
index ebd2c239608365e362468e3b333cd8b0ccb2b464..f00111a8c402bc8ac7f3363e3ee9756175905202 100644 (file)
@@ -12,7 +12,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_DBAU1X00                1
 #define CONFIG_SOC_AU1X00      1  /* alchemy series cpu */
 
 #ifdef CONFIG_DBAU1000
index 3278196b3afb2c1f26e6574970a56f54c40dcda5..c1816409a986ef653da8146ab241637158bccb05 100644 (file)
@@ -13,7 +13,6 @@
 #ifndef __CONFIG_DRACO_H
 #define __CONFIG_DRACO_H
 
-#define CONFIG_SIEMENS_DRACO
 #define CONFIG_SIEMENS_MACH_TYPE       MACH_TYPE_DRACO
 
 #include "siemens-am33x-common.h"
index 6e024d1b2fd8282e2ebb3e246afdcc8f876f12ac..18ec6cb7583399499209050c978b666c749e8da6 100644 (file)
@@ -34,7 +34,6 @@
 #define CONFIG_SYS_LDSCRIPT    "board/cirrus/edb93xx/u-boot.lds"
 
 #ifdef CONFIG_EDB9301
-#define CONFIG_EP9301
 #define CONFIG_MACH_TYPE               MACH_TYPE_EDB9301
 #define CONFIG_ENV_SECT_SIZE           0x00020000
 #elif defined(CONFIG_EDB9302)
index ae9ead53f64a0b1aacd81fd1306c70757f4af680..e13092515ad14e8d97dbb2a688a999807e426a68 100644 (file)
@@ -10,8 +10,6 @@
 #define __CONFIG_EXYNOS5420_H
 
 #define CONFIG_EXYNOS5420
-/* A variant of Exynos5420 (Exynos5 Family) */
-#define CONFIG_EXYNOS5800
 
 #define CONFIG_EXYNOS5_DT
 
index 608f5eec32f4f056efe0b624d0b9225d2587cca9..4b380beee2720324976ed3f5a44568d0a1f23b19 100644 (file)
@@ -12,7 +12,6 @@
 #define CONFIG_MACH_TYPE               MACH_TYPE_H2200
 
 #define CONFIG_CPU_PXA25X              1
-#define CONFIG_BOARD_H2200
 
 #define CONFIG_NR_DRAM_BANKS           1
 #define PHYS_SDRAM_1                   0xa0000000 /* SDRAM Bank #1 */
index 44910859cc66632edb28b289bccde0cbdb4688f2..a8afb15ebae7d8bfb09a715bb7c6c9848d38e3e1 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  *
  * SPDX-License-Identifier:    GPL-2.0+
index 82ab24c688bfc5fc3aac6afac006b5caeb431284..c8e99513f0a0ba00c393dcacd70629fe72fb8baa 100644 (file)
@@ -19,7 +19,6 @@
  * Board
  */
 #define CONFIG_DRIVER_TI_EMAC
-#define CONFIG_BARIX_IPAM390
 
 /*
  * SoC Configuration
index 0d8de370dd969e7b65eb20882561946c9ff5f116..82984f4d17e6f48da8e8a2bccb4e8f57582d928a 100644 (file)
@@ -11,7 +11,6 @@
 #undef DEBUG
 
 #define CONFIG_SH73A0
-#define CONFIG_KZM_A9_GT
 #define CONFIG_ARCH_RMOBILE_BOARD_STRING       "KMC KZM-A9-GT"
 #define CONFIG_MACH_TYPE MACH_TYPE_KZM9G
 
index 837286bd784f014e52c027ea88df2041c5276f83..ea7bdf133d73a318431170792bc36ef97b4c1f2f 100644 (file)
@@ -23,7 +23,6 @@
  * SoC Configuration
  */
 #define CONFIG_MACH_OMAPL138_LCDK
-#define CONFIG_ARM926EJS               /* arm926ejs CPU core */
 #define CONFIG_SYS_CLK_FREQ            clk_get(DAVINCI_ARM_CLKID)
 #define CONFIG_SYS_OSCIN_FREQ          24000000
 #define CONFIG_SYS_TIMERBASE           DAVINCI_TIMER0_BASE
index 972c13a6251e93d69c321e140422fef5dc47ec0f..8adb7d7cfaef354da4dec89979a485da385dffd5 100644 (file)
@@ -12,7 +12,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_PB1X00          1
 #define CONFIG_SOC_AU1X00      1  /* alchemy series cpu */
 
 #ifdef CONFIG_PB1000
index 06ee8e7f9ef9805539e55b4bc91260d3fccf9c71..0d4fc119ac6e7b2b04b8dcf3f2ef12c35006bb7c 100644 (file)
@@ -22,8 +22,6 @@
 #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
 
-#define CONFIG_PICOSAM
-
 #define CONFIG_CMDLINE_TAG             /* enable passing of ATAGs      */
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
index 36795304195b837fa20f3175f9aa44570bbad8f2..20315546aae84f8114a404aaa6bfa3724bee83aa 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef __PLATINUM_PICON_CONFIG_H__
 #define __PLATINUM_PICON_CONFIG_H__
 
-#define CONFIG_PLATINUM_PICON
 #define CONFIG_PLATINUM_BOARD                  "Barco Picon"
 #define CONFIG_PLATINUM_PROJECT                        "picon"
 #define CONFIG_PLATINUM_CPU                    "imx6dl"
index 69406a4b65eed8b49cec3ee3b51f268b3e179695..09b9bd38ff458b42baaafc5f64949d7b958914f0 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef __PLATINUM_TITANIUM_CONFIG_H__
 #define __PLATINUM_TITANIUM_CONFIG_H__
 
-#define CONFIG_PLATINUM_TITANIUM
 #define CONFIG_PLATINUM_BOARD                  "Barco Titanium"
 #define CONFIG_PLATINUM_PROJECT                        "titanium"
 #define CONFIG_PLATINUM_CPU                    "imx6q"
index d2702b4f2d6382c36d6e35b35da2a312580e3d49..e1e9af07ec35d09808dde91b99fc3bfcf4127ed1 100644 (file)
@@ -27,7 +27,6 @@
 #define CONFIG_SYS_AT91_MAIN_CLOCK     18432000
 
 #define CONFIG_SYS_AT91_CPU_NAME       "AT91SAM9261"
-#define CONFIG_PM9261          1       /* on a Ronetix PM9261 Board    */
 #define CONFIG_ARCH_CPU_INIT
 
 #define CONFIG_MACH_TYPE       MACH_TYPE_PM9261
index c4990883af266945b6457623303ff0d6c1a0401a..880c3f118df300f46ed93776c931811495a3b563 100644 (file)
@@ -27,7 +27,6 @@
 #define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock xtal */
 
 #define CONFIG_SYS_AT91_CPU_NAME       "AT91SAM9263"
-#define CONFIG_PM9263          1       /* on a Ronetix PM9263 Board    */
 #define CONFIG_ARCH_CPU_INIT
 
 #define CONFIG_MACH_TYPE       MACH_TYPE_PM9263
index 21c31daadd52e2a30711e830de6f426b62df8b73..5612f5f358ebe128b4edd65d31608d18e3affe78 100644 (file)
@@ -22,7 +22,6 @@
  */
 #include <asm/hardware.h>
 
-#define CONFIG_PM9G45          1       /* It's an Ronetix PM9G45 */
 #define CONFIG_SYS_AT91_CPU_NAME       "AT91SAM9G45"
 
 #define CONFIG_MACH_TYPE       MACH_TYPE_PM9G45
index 157b32a6a43d1e48236fc1a47226c89cdafa3670..2ad0c3018e66c2bc877a33b968aa105d776e545b 100644 (file)
@@ -14,7 +14,6 @@
 #ifndef __CONFIG_PXM2_H
 #define __CONFIG_PXM2_H
 
-#define CONFIG_SIEMENS_PXM2
 #define CONFIG_SIEMENS_MACH_TYPE       MACH_TYPE_PXM2
 
 #include "siemens-am33x-common.h"
index c968aa76ac28597b84cee54aac8b0ab816dbd3b0..839bc10a184b58aa693b7f133b32e55ee067867a 100644 (file)
@@ -47,4 +47,6 @@
        "ramdisk_addr_r=0x44000000\0" \
        BOOTENV
 
+#define CONFIG_SYS_CBSIZE 512
+
 #endif /* __CONFIG_H */
index 71078e99806e4e8e94f812c7d0a1cf04ca6f0151..46f48009dd32e2ae3dd1787ef11c7d741ac10dd0 100644 (file)
@@ -14,7 +14,6 @@
 #ifndef __CONFIG_RUT_H
 #define __CONFIG_RUT_H
 
-#define CONFIG_SIEMENS_RUT
 #define CONFIG_SIEMENS_MACH_TYPE       MACH_TYPE_RUT
 
 #include "siemens-am33x-common.h"
index 8a0718e3de16ef93a44810909e903ad588df4462..5b3be6d53299b9d7d91195d8d0550bc39a55412f 100644 (file)
@@ -19,7 +19,6 @@
 #define CONFIG_SAMSUNG         1       /* in a SAMSUNG core */
 #define CONFIG_S5P             1       /* which is in a S5P Family */
 #define CONFIG_S5PC100         1       /* which is in a S5PC100 */
-#define CONFIG_SMDKC100                1       /* working with SMDKC100 */
 
 #include <asm/arch/cpu.h>              /* get chip and board defs */
 
index cce7cafdb491ff280572b7c7bacf65c442e31f96..d7e73c33e744a1445b801cba2048d74127b928e8 100644 (file)
@@ -17,7 +17,6 @@
 
 /* High Level Configuration Options */
 #define CONFIG_EXYNOS4210              1       /* which is a EXYNOS4210 SoC */
-#define CONFIG_SMDKV310                        1       /* working with SMDKV310*/
 
 /* Mach Type */
 #define CONFIG_MACH_TYPE               MACH_TYPE_SMDKV310
index 2f59f52ee15e4b26b5f1914142e4e0bcad4dd102..4c4e72763e128dfdfa5c0689678943d0c78d1859 100644 (file)
@@ -8,8 +8,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_STM32F4DISCOVERY
-
 #define CONFIG_MISC_INIT_R
 
 #define CONFIG_SYS_FLASH_BASE          0x08000000
index 3d4ca7ee5515b4f6922154c41f72d2d2d3777d5a..990653beb8f9ac1dbf0f5d0a7d2eb504fd0e9778 100644 (file)
@@ -8,8 +8,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_STM32F4DISCOVERY
-
 #define CONFIG_MISC_INIT_R
 
 #define CONFIG_SYS_FLASH_BASE          0x08000000
index 14b03c813b6423982251121cf64e58e0547aa0e8..9ba52d1303d20bebeb4d62c7b508f77fc629b25f 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2014
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  *
  * SPDX-License-Identifier:    GPL-2.0+
index 0c08556d211f85b4d83eec5fc6f7ad427c7dde10..2401dbd619ae2cd3d0ad167693ba3ce9c5f06b4d 100644 (file)
@@ -10,8 +10,6 @@
 #define CONFIG_SYS_DCACHE_OFF
 #define CONFIG_SYS_EXCEPTION_VECTORS_HIGH
 
-#define CONFIG_SYS_CORTEX_R4
-
 /* ram memory-related information */
 #define CONFIG_NR_DRAM_BANKS                   1
 #define PHYS_SDRAM_1                           0x00000000
index bb8e144e04900f41bd6dd94c85410763adcf7b39..10290509f502c6ce646dbe121b230bbb6eb94839 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2010
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
index 9732be661d20906b7973a29cb13066fbd91f1214..c7f3ddd50a2a0d020c67b1d05142cbdb6009cfe4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2011
- * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
+ * Dirk Eibach,  Guntermann & Drunck GmbH, dirk.eibach@gdsys.cc
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
diff --git a/scripts/coccinelle/null/badzero.cocci b/scripts/coccinelle/null/badzero.cocci
new file mode 100644 (file)
index 0000000..619b058
--- /dev/null
@@ -0,0 +1,241 @@
+/// Compare pointer-typed values to NULL rather than 0
+///
+//# This makes an effort to choose between !x and x == NULL.  !x is used
+//# if it has previously been used with the function used to initialize x.
+//# This relies on type information.  More type information can be obtained
+//# using the option -all_includes and the option -I to specify an
+//# include path.
+//
+// Confidence: High
+// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.  GPLv2.
+// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.  GPLv2.
+// URL: http://coccinelle.lip6.fr/
+// Requires: 1.0.0
+// Options:
+//
+// SPDX-License-Identifier:    GPL-2.0
+//
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+@initialize:ocaml@
+@@
+let negtable = Hashtbl.create 101
+
+@depends on patch@
+expression *E;
+identifier f;
+@@
+
+(
+  (E = f(...)) ==
+- 0
++ NULL
+|
+  (E = f(...)) !=
+- 0
++ NULL
+|
+- 0
++ NULL
+  == (E = f(...))
+|
+- 0
++ NULL
+  != (E = f(...))
+)
+
+
+@t1 depends on !patch@
+expression *E;
+identifier f;
+position p;
+@@
+
+(
+  (E = f(...)) ==
+* 0@p
+|
+  (E = f(...)) !=
+* 0@p
+|
+* 0@p
+  == (E = f(...))
+|
+* 0@p
+  != (E = f(...))
+)
+
+@script:python depends on org@
+p << t1.p;
+@@
+
+coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0")
+
+@script:python depends on report@
+p << t1.p;
+@@
+
+coccilib.report.print_report(p[0], "WARNING comparing pointer to 0")
+
+// Tests of returned values
+
+@s@
+identifier f;
+expression E,E1;
+@@
+
+ E = f(...)
+ ... when != E = E1
+ !E
+
+@script:ocaml depends on s@
+f << s.f;
+@@
+
+try let _ = Hashtbl.find negtable f in ()
+with Not_found -> Hashtbl.add negtable f ()
+
+@ r disable is_zero,isnt_zero exists @
+expression *E;
+identifier f;
+@@
+
+E = f(...)
+...
+(E == 0
+|E != 0
+|0 == E
+|0 != E
+)
+
+@script:ocaml@
+f << r.f;
+@@
+
+try let _ = Hashtbl.find negtable f in ()
+with Not_found -> include_match false
+
+// This rule may lead to inconsistent path problems, if E is defined in two
+// places
+@ depends on patch disable is_zero,isnt_zero @
+expression *E;
+expression E1;
+identifier r.f;
+@@
+
+E = f(...)
+<...
+(
+- E == 0
++ !E
+|
+- E != 0
++ E
+|
+- 0 == E
++ !E
+|
+- 0 != E
++ E
+)
+...>
+?E = E1
+
+@t2 depends on !patch disable is_zero,isnt_zero @
+expression *E;
+expression E1;
+identifier r.f;
+position p1;
+position p2;
+@@
+
+E = f(...)
+<...
+(
+* E == 0@p1
+|
+* E != 0@p2
+|
+* 0@p1 == E
+|
+* 0@p1 != E
+)
+...>
+?E = E1
+
+@script:python depends on org@
+p << t2.p1;
+@@
+
+coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0, suggest !E")
+
+@script:python depends on org@
+p << t2.p2;
+@@
+
+coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0")
+
+@script:python depends on report@
+p << t2.p1;
+@@
+
+coccilib.report.print_report(p[0], "WARNING comparing pointer to 0, suggest !E")
+
+@script:python depends on report@
+p << t2.p2;
+@@
+
+coccilib.report.print_report(p[0], "WARNING comparing pointer to 0")
+
+@ depends on patch disable is_zero,isnt_zero @
+expression *E;
+@@
+
+(
+  E ==
+- 0
++ NULL
+|
+  E !=
+- 0
++ NULL
+|
+- 0
++ NULL
+  == E
+|
+- 0
++ NULL
+  != E
+)
+
+@ t3 depends on !patch disable is_zero,isnt_zero @
+expression *E;
+position p;
+@@
+
+(
+* E == 0@p
+|
+* E != 0@p
+|
+* 0@p == E
+|
+* 0@p != E
+)
+
+@script:python depends on org@
+p << t3.p;
+@@
+
+coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0")
+
+@script:python depends on report@
+p << t3.p;
+@@
+
+coccilib.report.print_report(p[0], "WARNING comparing pointer to 0")
diff --git a/scripts/coccinelle/null/kmerr.cocci b/scripts/coccinelle/null/kmerr.cocci
new file mode 100644 (file)
index 0000000..a1e75e6
--- /dev/null
@@ -0,0 +1,75 @@
+/// This semantic patch looks for malloc etc that are not followed by a
+/// NULL check.  It only gives a report in the case where there is some
+/// error handling code later in the function, which may be helpful
+/// in determining what the error handling code for the call to malloc etc
+/// should be.
+///
+// Confidence: High
+// Copyright: (C) 2010 Nicolas Palix, DIKU.  GPLv2.
+// Copyright: (C) 2010 Julia Lawall, DIKU.  GPLv2.
+// Copyright: (C) 2010 Gilles Muller, INRIA/LiP6.  GPLv2.
+// URL: http://coccinelle.lip6.fr/
+// Comments:
+// Options: --no-includes --include-headers
+//
+// SPDX-License-Identifier:    GPL-2.0
+//
+
+virtual context
+virtual org
+virtual report
+
+@withtest@
+expression x;
+position p;
+identifier f,fld;
+@@
+
+x@p = f(...);
+... when != x->fld
+\(x == NULL \| x != NULL\)
+
+@fixed depends on context && !org && !report@
+expression x,x1;
+position p1 != withtest.p;
+statement S;
+position any withtest.p;
+identifier f;
+@@
+
+*x@p1 = \(malloc\|calloc\)(...);
+...
+*x1@p = f(...);
+if (!x1) S
+
+// ------------------------------------------------------------------------
+
+@rfixed depends on (org || report) && !context exists@
+expression x,x1;
+position p1 != withtest.p;
+position p2;
+statement S;
+position any withtest.p;
+identifier f;
+@@
+
+x@p1 = \(malloc\|calloc\)(...);
+...
+x1@p = f@p2(...);
+if (!x1) S
+
+@script:python depends on org@
+p1 << rfixed.p1;
+p2 << rfixed.p2;
+@@
+
+cocci.print_main("alloc call",p1)
+cocci.print_secs("possible model",p2)
+
+@script:python depends on report@
+p1 << rfixed.p1;
+p2 << rfixed.p2;
+@@
+
+msg = "alloc with no test, possible model on line %s" % (p2[0].line)
+coccilib.report.print_report(p1[0],msg)
index a42b64d209dfe3dd101470bcd39740f947c42acc..3606585c05c3c6845b6b3ace4771a7d9ea690fcb 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP
 CONFIG_ARC_MMU_VER
 CONFIG_ARC_SERIAL
 CONFIG_ARIES_M28_V10
-CONFIG_ARM926EJS
 CONFIG_ARMADA100
 CONFIG_ARMADA100_FEC
 CONFIG_ARMADA168
@@ -79,7 +78,6 @@ CONFIG_AT91RM9200
 CONFIG_AT91RM9200EK
 CONFIG_AT91SAM9260EK
 CONFIG_AT91SAM9261EK
-CONFIG_AT91SAM9263EK
 CONFIG_AT91SAM9G10
 CONFIG_AT91SAM9G10EK
 CONFIG_AT91SAM9G20EK
@@ -87,7 +85,6 @@ CONFIG_AT91SAM9G20EK_2MMC
 CONFIG_AT91SAM9G45EKES
 CONFIG_AT91SAM9G45_LCD_BASE
 CONFIG_AT91SAM9M10G45EK
-CONFIG_AT91SAM9RLEK
 CONFIG_AT91SAM9_WATCHDOG
 CONFIG_AT91_CAN
 CONFIG_AT91_EFLASH
@@ -110,7 +107,6 @@ CONFIG_ATMEL_SPI0
 CONFIG_AT_TRANS
 CONFIG_AUTO_ZRELADDR
 CONFIG_BACKSIDE_L2_CACHE
-CONFIG_BARIX_IPAM390
 CONFIG_BAT_PAIR
 CONFIG_BAT_RW
 CONFIG_BCH_CONST_M
@@ -133,7 +129,6 @@ CONFIG_BOARD_AXM
 CONFIG_BOARD_COMMON
 CONFIG_BOARD_EARLY_INIT_R
 CONFIG_BOARD_ECC_SUPPORT
-CONFIG_BOARD_H2200
 CONFIG_BOARD_IS_OPENRD_BASE
 CONFIG_BOARD_IS_OPENRD_CLIENT
 CONFIG_BOARD_IS_OPENRD_ULTIMATE
@@ -272,7 +267,6 @@ CONFIG_CORTINA_FW_LENGTH
 CONFIG_CPLD_BR_PRELIM
 CONFIG_CPLD_OR_PRELIM
 CONFIG_CPM2
-CONFIG_CPUAT91
 CONFIG_CPU_ARCHS34
 CONFIG_CPU_ARMV8
 CONFIG_CPU_CAVIUM_OCTEON
@@ -325,7 +319,6 @@ CONFIG_DA850_AM18X_EVM
 CONFIG_DA850_EVM_MAX_CPU_CLK
 CONFIG_DA8XX_GPIO
 CONFIG_DBAU1000
-CONFIG_DBAU1X00
 CONFIG_DBGU
 CONFIG_DBG_MONITOR
 CONFIG_DB_784MP_GP
@@ -547,7 +540,6 @@ CONFIG_ENV_UBI_MTD
 CONFIG_ENV_UBI_VOLUME_REDUND
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 CONFIG_ENV_VERSION
-CONFIG_EP9301
 CONFIG_EP9302
 CONFIG_EP9307
 CONFIG_EP9312
@@ -599,7 +591,6 @@ CONFIG_EXYNOS4210
 CONFIG_EXYNOS5
 CONFIG_EXYNOS5250
 CONFIG_EXYNOS5420
-CONFIG_EXYNOS5800
 CONFIG_EXYNOS5_DT
 CONFIG_EXYNOS7420
 CONFIG_EXYNOS_ACE_SHA
@@ -663,9 +654,7 @@ CONFIG_FORCE_DDR_DATA_BUS_WIDTH_32
 CONFIG_FORMIKE
 CONFIG_FPGA_COUNT
 CONFIG_FPGA_DELAY
-CONFIG_FPGA_SPARTAN3
 CONFIG_FPGA_STRATIX_V
-CONFIG_FPGA_ZYNQPL
 CONFIG_FSLDMAFEC
 CONFIG_FSL_CADMUS
 CONFIG_FSL_CORENET
@@ -1169,7 +1158,6 @@ CONFIG_KVM_GUEST
 CONFIG_KW88F6192
 CONFIG_KW88F6281
 CONFIG_KW88F6702
-CONFIG_KZM_A9_GT
 CONFIG_L1_INIT_RAM
 CONFIG_L2_CACHE
 CONFIG_LAN91C96_USE_32_BIT
@@ -1496,7 +1484,6 @@ CONFIG_PARAVIRT
 CONFIG_PB1000
 CONFIG_PB1100
 CONFIG_PB1500
-CONFIG_PB1X00
 CONFIG_PCA953X
 CONFIG_PCA9698
 CONFIG_PCI1
@@ -1566,7 +1553,6 @@ CONFIG_PHY_MAX_ADDR
 CONFIG_PHY_MODE_NEED_CHANGE
 CONFIG_PHY_RESET
 CONFIG_PHY_RESET_DELAY
-CONFIG_PICOSAM
 CONFIG_PIGGY_MAC_ADRESS_OFFSET
 CONFIG_PIXIS_BRDCFG0_SPI
 CONFIG_PIXIS_BRDCFG0_USB2
@@ -1583,15 +1569,10 @@ CONFIG_PL01x_PORTS
 CONFIG_PLATFORM_ENV_SETTINGS
 CONFIG_PLATINUM_BOARD
 CONFIG_PLATINUM_CPU
-CONFIG_PLATINUM_PICON
 CONFIG_PLATINUM_PROJECT
-CONFIG_PLATINUM_TITANIUM
 CONFIG_PLL1_CLK_FREQ
 CONFIG_PLL1_DIV2_CLK_FREQ
 CONFIG_PM
-CONFIG_PM9261
-CONFIG_PM9263
-CONFIG_PM9G45
 CONFIG_PMC_BR_PRELIM
 CONFIG_PMC_OR_PRELIM
 CONFIG_PMECC_CAP
@@ -1870,10 +1851,7 @@ CONFIG_SH_SDHI_FREQ
 CONFIG_SH_SDRAM_OFFSET
 CONFIG_SH_SPI_BASE
 CONFIG_SH_TMU_CLK_FREQ
-CONFIG_SIEMENS_DRACO
 CONFIG_SIEMENS_MACH_TYPE
-CONFIG_SIEMENS_PXM2
-CONFIG_SIEMENS_RUT
 CONFIG_SIMU
 CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION
 CONFIG_SKIP_LOWLEVEL_INIT
@@ -1888,8 +1866,6 @@ CONFIG_SMC_AUTONEG_TIMEOUT
 CONFIG_SMC_USE_32_BIT
 CONFIG_SMC_USE_IOFUNCS
 CONFIG_SMDK5420
-CONFIG_SMDKC100
-CONFIG_SMDKV310
 CONFIG_SMP_PEN_ADDR
 CONFIG_SMSC_LPC47M
 CONFIG_SMSC_SIO1007
@@ -2077,7 +2053,6 @@ CONFIG_STACKBASE
 CONFIG_STANDALONE_LOAD_ADDR
 CONFIG_STATIC_BOARD_REV
 CONFIG_STD_DEVICES_SETTINGS
-CONFIG_STM32F4DISCOVERY
 CONFIG_STM32_FLASH
 CONFIG_STM32_HZ
 CONFIG_STRIDER
@@ -2257,7 +2232,6 @@ CONFIG_SYS_CMXFCR_VALUE2
 CONFIG_SYS_CMXFCR_VALUE3
 CONFIG_SYS_CORE_SRAM
 CONFIG_SYS_CORE_SRAM_SIZE
-CONFIG_SYS_CORTEX_R4
 CONFIG_SYS_CORTINA_FW_IN_MMC
 CONFIG_SYS_CORTINA_FW_IN_NAND
 CONFIG_SYS_CORTINA_FW_IN_NOR
@@ -3302,9 +3276,6 @@ CONFIG_SYS_I2C_TCA642X_ADDR
 CONFIG_SYS_I2C_TCA642X_BUS_NUM
 CONFIG_SYS_I2C_TEGRA
 CONFIG_SYS_I2C_W83782G_ADDR
-CONFIG_SYS_I2C_ZYNQ
-CONFIG_SYS_I2C_ZYNQ_SLAVE
-CONFIG_SYS_I2C_ZYNQ_SPEED
 CONFIG_SYS_IBAT
 CONFIG_SYS_IBAT0L
 CONFIG_SYS_IBAT0U
@@ -3539,7 +3510,6 @@ CONFIG_SYS_MECR_VAL
 CONFIG_SYS_MEMAC_LITTLE_ENDIAN
 CONFIG_SYS_MEMORY_BASE
 CONFIG_SYS_MEMORY_SIZE
-CONFIG_SYS_MEMORY_TOP
 CONFIG_SYS_MEMTEST_END
 CONFIG_SYS_MEMTEST_SCRATCH
 CONFIG_SYS_MEMTEST_START
@@ -4413,7 +4383,6 @@ CONFIG_SYS_SUPPORT_64BIT_DATA
 CONFIG_SYS_SXCNFG_VAL
 CONFIG_SYS_TBIPA_VALUE
 CONFIG_SYS_TCLK
-CONFIG_SYS_TEXT_ADDR
 CONFIG_SYS_TEXT_BASE_NOR
 CONFIG_SYS_TEXT_BASE_SPL
 CONFIG_SYS_TIMERBASE
@@ -4859,7 +4828,6 @@ CONFIG_X86_MRC_ADDR
 CONFIG_X86_REFCODE_ADDR
 CONFIG_X86_REFCODE_RUN_ADDR
 CONFIG_XGI_XG22_BASE
-CONFIG_XILINX_GPIO
 CONFIG_XILINX_SPI_IDLE_VAL
 CONFIG_XILINX_TB_WATCHDOG
 CONFIG_XR16L2751
@@ -4883,12 +4851,7 @@ CONFIG_ZYNQMP_XHCI_LIST
 CONFIG_ZYNQ_EEPROM
 CONFIG_ZYNQ_EEPROM_BUS
 CONFIG_ZYNQ_GEM_EEPROM_ADDR
-CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET
 CONFIG_ZYNQ_HISPD_BROKEN
-CONFIG_ZYNQ_I2C0
-CONFIG_ZYNQ_I2C1
 CONFIG_ZYNQ_SDHCI0
 CONFIG_ZYNQ_SDHCI1
-CONFIG_ZYNQ_SDHCI_MAX_FREQ
-CONFIG_ZYNQ_SDHCI_MIN_FREQ
 CONFIG_eTSEC_MDIO_BUS
index 1db44f47a16b1be9ba6ffd45546d293498fddc90..3f5cc20e49a58caa7cdc97197e92b3a41a0fe5ba 100644 (file)
@@ -650,9 +650,9 @@ static int fit_handle_file(struct image_tool_params *params)
                }
                *cmd = '\0';
        } else if (params->datafile) {
-               /* dtc -I dts -O dtb -p 500 datafile > tmpfile */
-               snprintf(cmd, sizeof(cmd), "%s %s \"%s\" > \"%s\"",
-                        MKIMAGE_DTC, params->dtc, params->datafile, tmpfile);
+               /* dtc -I dts -O dtb -p 500 -o tmpfile datafile */
+               snprintf(cmd, sizeof(cmd), "%s %s -o \"%s\" \"%s\"",
+                        MKIMAGE_DTC, params->dtc, tmpfile, params->datafile);
                debug("Trying to execute \"%s\"\n", cmd);
        } else {
                snprintf(cmd, sizeof(cmd), "cp \"%s\" \"%s\"",