]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Revert "Merge tag 'dm-pull-20jul20' of git://git.denx.de/u-boot-dm"
authorTom Rini <trini@konsulko.com>
Fri, 24 Jul 2020 12:42:06 +0000 (08:42 -0400)
committerTom Rini <trini@konsulko.com>
Fri, 24 Jul 2020 12:42:06 +0000 (08:42 -0400)
This reverts commit 5d3a21df6694ebd66d5c34c9d62a26edc7456fc7, reversing
changes made to 56d37f1c564107e27d873181d838571b7d7860e7.

Unfortunately this is causing CI failures:
https://travis-ci.org/github/trini/u-boot/jobs/711313649

Signed-off-by: Tom Rini <trini@konsulko.com>
319 files changed:
.azure-pipelines.yml
.gitignore
.gitlab-ci.yml
.travis.yml
arch/arm/dts/k3-am65-wakeup.dtsi
arch/arm/dts/k3-am654-base-board-u-boot.dtsi
arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi
arch/arm/dts/k3-j721e-mcu-wakeup.dtsi
arch/arm/mach-k3/common.c
arch/arm/mach-k3/common.h
arch/arm/mach-k3/include/mach/hardware.h
arch/arm/mach-snapdragon/clock-snapdragon.c
arch/arm/mach-snapdragon/pinctrl-snapdragon.c
arch/nios2/cpu/cpu.c
arch/sandbox/dts/test.dts
arch/x86/cpu/apollolake/cpu.c
arch/x86/cpu/baytrail/cpu.c
arch/x86/cpu/broadwell/cpu_full.c
arch/x86/cpu/cpu_x86.c
arch/x86/cpu/ivybridge/model_206ax.c
arch/x86/cpu/qemu/cpu.c
arch/x86/include/asm/cpu_x86.h
board/renesas/rcar-common/common.c
common/fdt_region.c
common/fdt_support.c
configs/am65x_evm_a53_defconfig
configs/am65x_evm_r5_defconfig
configs/am65x_hs_evm_a53_defconfig
configs/am65x_hs_evm_r5_defconfig
configs/j721e_evm_a72_defconfig
configs/j721e_evm_r5_defconfig
configs/j721e_hs_evm_a72_defconfig
configs/j721e_hs_evm_r5_defconfig
configs/sandbox64_defconfig
configs/sandbox_defconfig
configs/sandbox_flattree_defconfig
configs/sandbox_spl_defconfig
doc/driver-model/index.rst
doc/driver-model/soc-framework.rst [deleted file]
doc/mkimage.1
drivers/adc/exynos-adc.c
drivers/ata/dwc_ahci.c
drivers/clk/altera/clk-agilex.c
drivers/clk/altera/clk-arria10.c
drivers/clk/exynos/clk-exynos7420.c
drivers/clk/renesas/clk-rcar-gen2.c
drivers/clk/renesas/clk-rcar-gen3.c
drivers/clk/uniphier/clk-uniphier-core.c
drivers/core/device.c
drivers/cpu/bmips_cpu.c
drivers/cpu/cpu-uclass.c
drivers/cpu/cpu_sandbox.c
drivers/cpu/imx8_cpu.c
drivers/cpu/mpc83xx_cpu.c
drivers/cpu/riscv_cpu.c
drivers/dma/ti-edma3.c
drivers/gpio/altera_pio.c
drivers/gpio/atmel_pio4.c
drivers/gpio/bcm2835_gpio.c
drivers/gpio/da8xx_gpio.c
drivers/gpio/gpio-rcar.c
drivers/gpio/gpio-rza1.c
drivers/gpio/gpio-uniphier.c
drivers/gpio/msm_gpio.c
drivers/gpio/mvebu_gpio.c
drivers/gpio/mxc_gpio.c
drivers/gpio/mxs_gpio.c
drivers/gpio/omap_gpio.c
drivers/gpio/pm8916_gpio.c
drivers/gpio/s5p_gpio.c
drivers/gpio/sifive-gpio.c
drivers/gpio/sunxi_gpio.c
drivers/gpio/vybrid_gpio.c
drivers/i2c/at91_i2c.c
drivers/i2c/davinci_i2c.c
drivers/i2c/exynos_hs_i2c.c
drivers/i2c/i2c-uniphier-f.c
drivers/i2c/i2c-uniphier.c
drivers/i2c/imx_lpi2c.c
drivers/i2c/iproc_i2c.c
drivers/i2c/mxc_i2c.c
drivers/i2c/omap24xx_i2c.c
drivers/i2c/s3c24x0_i2c.c
drivers/input/tegra-kbc.c
drivers/mailbox/tegra-hsp.c
drivers/misc/altera_sysid.c
drivers/misc/imx8/scu.c
drivers/misc/microchip_flexcom.c
drivers/mmc/aspeed_sdhci.c
drivers/mmc/atmel_sdhci.c
drivers/mmc/bcm2835_sdhci.c
drivers/mmc/bcm2835_sdhost.c
drivers/mmc/bcmstb_sdhci.c
drivers/mmc/ftsdc010_mci.c
drivers/mmc/hi6220_dw_mmc.c
drivers/mmc/iproc_sdhci.c
drivers/mmc/jz_mmc.c
drivers/mmc/meson_gx_mmc.c
drivers/mmc/msm_sdhci.c
drivers/mmc/mv_sdhci.c
drivers/mmc/omap_hsmmc.c
drivers/mmc/sdhci-cadence.c
drivers/mmc/sh_mmcif.c
drivers/mmc/sh_sdhi.c
drivers/mmc/socfpga_dw_mmc.c
drivers/mmc/sti_sdhci.c
drivers/mmc/tangier_sdhci.c
drivers/mmc/tmio-common.c
drivers/mmc/xenon_sdhci.c
drivers/net/ag7xxx.c
drivers/net/dwc_eth_qos.c
drivers/net/ethoc.c
drivers/net/fec_mxc.c
drivers/net/fsl_mcdmafec.c
drivers/net/ftgmac100.c
drivers/net/ftmac100.c
drivers/net/ks8851_mll.c
drivers/net/mcffec.c
drivers/net/mtk_eth.c
drivers/net/mvgbe.c
drivers/net/mvneta.c
drivers/net/ravb.c
drivers/net/sh_eth.c
drivers/net/smc911x.c
drivers/net/sni_ave.c
drivers/net/sun8i_emac.c
drivers/net/sunxi_emac.c
drivers/net/ti/keystone_net.c
drivers/net/xilinx_axi_emac.c
drivers/net/xilinx_emaclite.c
drivers/pci_endpoint/pcie-cadence-ep.c
drivers/pinctrl/ath79/pinctrl_ar933x.c
drivers/pinctrl/ath79/pinctrl_qca953x.c
drivers/pinctrl/exynos/pinctrl-exynos.c
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
drivers/pinctrl/pinctrl-at91-pio4.c
drivers/pinctrl/renesas/pfc-r7s72100.c
drivers/pinctrl/renesas/pfc.c
drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
drivers/pwm/exynos_pwm.c
drivers/pwm/pwm-imx.c
drivers/pwm/pwm-mtk.c
drivers/pwm/sunxi_pwm.c
drivers/reset/reset-uniphier.c
drivers/rtc/mvrtc.c
drivers/serial/altera_jtag_uart.c
drivers/serial/altera_uart.c
drivers/serial/atmel_usart.c
drivers/serial/serial_ar933x.c
drivers/serial/serial_arc.c
drivers/serial/serial_bcm283x_mu.c
drivers/serial/serial_lpuart.c
drivers/serial/serial_mcf.c
drivers/serial/serial_meson.c
drivers/serial/serial_msm.c
drivers/serial/serial_mxc.c
drivers/serial/serial_pl01x.c
drivers/serial/serial_s5p.c
drivers/serial/serial_sh.c
drivers/serial/serial_sti_asc.c
drivers/serial/serial_stm32.c
drivers/serial/serial_uniphier.c
drivers/serial/serial_xuartlite.c
drivers/soc/Kconfig
drivers/soc/Makefile
drivers/soc/soc-uclass.c [deleted file]
drivers/soc/soc_sandbox.c [deleted file]
drivers/soc/soc_ti_k3.c [deleted file]
drivers/spi/altera_spi.c
drivers/spi/atcspi200_spi.c
drivers/spi/ath79_spi.c
drivers/spi/atmel_spi.c
drivers/spi/cf_spi.c
drivers/spi/davinci_spi.c
drivers/spi/designware_spi.c
drivers/spi/exynos_spi.c
drivers/spi/fsl_dspi.c
drivers/spi/kirkwood_spi.c
drivers/spi/mtk_snfi_spi.c
drivers/spi/mvebu_a3700_spi.c
drivers/spi/mxc_spi.c
drivers/spi/omap3_spi.c
drivers/spi/spi-sunxi.c
drivers/spi/tegra20_sflash.c
drivers/spi/tegra20_slink.c
drivers/spi/ti_qspi.c
drivers/spi/zynq_spi.c
drivers/spi/zynqmp_gqspi.c
drivers/spmi/spmi-msm.c
drivers/timer/ag101p_timer.c
drivers/timer/altera_timer.c
drivers/timer/atcpit100_timer.c
drivers/timer/omap-timer.c
drivers/usb/dwc3/dwc3-uniphier.c
drivers/usb/host/ehci-atmel.c
drivers/usb/host/ehci-exynos.c
drivers/usb/host/ehci-fsl.c
drivers/usb/host/ehci-marvell.c
drivers/usb/host/ehci-mx5.c
drivers/usb/host/ehci-mx6.c
drivers/usb/host/ehci-omap.c
drivers/usb/host/ehci-vf.c
drivers/usb/host/ohci-da8xx.c
drivers/usb/host/ohci-generic.c
drivers/usb/host/xhci-exynos5.c
drivers/usb/host/xhci-fsl.c
drivers/usb/host/xhci-mvebu.c
drivers/usb/host/xhci-rcar.c
drivers/video/atmel_hlcdfb.c
drivers/video/exynos/exynos_dp.c
drivers/video/exynos/exynos_fb.c
drivers/video/tegra.c
drivers/w1/mxc_w1.c
drivers/watchdog/omap_wdt.c
drivers/watchdog/stm32mp_wdt.c
include/cpu.h
include/dm/uclass-id.h
include/fdtdec.h
include/soc.h [deleted file]
lib/fdtdec.c
scripts/dtc/pylibfdt/Makefile
test/dm/Makefile
test/dm/acpi.c
test/dm/core.c
test/dm/devres.c
test/dm/soc.c [deleted file]
test/dm/test-fdt.c
test/dm/virtio.c
test/run
tools/binman/README.entries
tools/binman/cmdline.py
tools/binman/control.py
tools/binman/entry.py
tools/binman/etype/_testing.py
tools/binman/etype/blob.py
tools/binman/etype/blob_dtb.py
tools/binman/etype/blob_ext.py [deleted file]
tools/binman/etype/blob_named_by_arg.py
tools/binman/etype/cbfs.py
tools/binman/etype/cros_ec_rw.py
tools/binman/etype/fdtmap.py
tools/binman/etype/files.py
tools/binman/etype/fill.py
tools/binman/etype/fit.py [deleted file]
tools/binman/etype/fmap.py
tools/binman/etype/gbb.py
tools/binman/etype/image_header.py
tools/binman/etype/intel_cmc.py
tools/binman/etype/intel_descriptor.py
tools/binman/etype/intel_fit.py
tools/binman/etype/intel_fit_ptr.py
tools/binman/etype/intel_fsp.py
tools/binman/etype/intel_fsp_m.py
tools/binman/etype/intel_fsp_s.py
tools/binman/etype/intel_fsp_t.py
tools/binman/etype/intel_ifwi.py
tools/binman/etype/intel_me.py
tools/binman/etype/intel_mrc.py
tools/binman/etype/intel_refcode.py
tools/binman/etype/intel_vbt.py
tools/binman/etype/intel_vga.py
tools/binman/etype/mkimage.py [deleted file]
tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
tools/binman/etype/section.py
tools/binman/etype/text.py
tools/binman/etype/u_boot.py
tools/binman/etype/u_boot_dtb.py
tools/binman/etype/u_boot_dtb_with_ucode.py
tools/binman/etype/u_boot_elf.py
tools/binman/etype/u_boot_img.py
tools/binman/etype/u_boot_nodtb.py
tools/binman/etype/u_boot_spl.py
tools/binman/etype/u_boot_spl_bss_pad.py
tools/binman/etype/u_boot_spl_dtb.py
tools/binman/etype/u_boot_spl_elf.py
tools/binman/etype/u_boot_spl_nodtb.py
tools/binman/etype/u_boot_spl_with_ucode_ptr.py
tools/binman/etype/u_boot_tpl.py
tools/binman/etype/u_boot_tpl_dtb.py
tools/binman/etype/u_boot_tpl_dtb_with_ucode.py
tools/binman/etype/u_boot_tpl_elf.py
tools/binman/etype/u_boot_tpl_with_ucode_ptr.py
tools/binman/etype/u_boot_ucode.py
tools/binman/etype/u_boot_with_ucode_ptr.py
tools/binman/etype/vblock.py
tools/binman/etype/x86_reset16.py
tools/binman/etype/x86_reset16_spl.py
tools/binman/etype/x86_reset16_tpl.py
tools/binman/etype/x86_start16.py
tools/binman/etype/x86_start16_spl.py
tools/binman/etype/x86_start16_tpl.py
tools/binman/ftest.py
tools/binman/image.py
tools/binman/main.py
tools/binman/test/156_mkimage.dts [deleted file]
tools/binman/test/157_blob_ext.dts [deleted file]
tools/binman/test/158_blob_ext_missing.dts [deleted file]
tools/binman/test/159_blob_ext_missing_sect.dts [deleted file]
tools/binman/test/160_pack_overlap_zero.dts [deleted file]
tools/binman/test/161_fit.dts [deleted file]
tools/binman/test/162_fit_external.dts [deleted file]
tools/dtoc/fdt.py
tools/dtoc/test_fdt.py
tools/fit_image.c
tools/imagetool.h
tools/mkimage.c
tools/patman/checkpatch.py
tools/patman/commit.py
tools/patman/control.py [deleted file]
tools/patman/func_test.py
tools/patman/gitutil.py
tools/patman/main.py
tools/patman/patchstream.py
tools/patman/series.py
tools/patman/settings.py
tools/patman/terminal.py
tools/patman/test_util.py
tools/patman/tools.py
tools/patman/tout.py

index 3e52f32890343e0cb2938726fa9218a660a6770f..97c89fc0671aa4605c6db980e58137be166d6951 100644 (file)
@@ -158,7 +158,7 @@ jobs:
           ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test
           ./tools/buildman/buildman -t
           ./tools/dtoc/dtoc -t
-          ./tools/patman/patman test
+          ./tools/patman/patman --test
           make O=${UBOOT_TRAVIS_BUILD_DIR} testconfig
           EOF
           cat build.sh
index e66aa864da62c8ccc06a6f72b9bd528f771d4042..2e1c8bf2bf2c0a7a21e7af66342f2857e70e2f0d 100644 (file)
@@ -92,6 +92,3 @@ GTAGS
 *.orig
 *~
 \#*#
-
-# Python cache
-__pycache__
index 6c8a323ad3a5620a72bf21bb9babda4383f6b6ea..d2f864669d8c21cf8872bf25049b9b17fb1068c2 100644 (file)
@@ -169,7 +169,7 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
       ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test;
       ./tools/buildman/buildman -t;
       ./tools/dtoc/dtoc -t;
-      ./tools/patman/patman test;
+      ./tools/patman/patman --test;
       make testconfig
 
 Run tests for Nokia RX-51 (aka N900):
index 9438bd13cf02f7bbaddc7cc52de6a9c88fd0bbd5..1ff140855ea33733d0ba5b910ba226122cb2f4f6 100644 (file)
@@ -257,7 +257,7 @@ script:
        export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
        export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
        ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test &&
-       ./tools/patman/patman test &&
+       ./tools/patman/patman --test &&
        ./tools/buildman/buildman -t &&
        ./tools/dtoc/dtoc -t &&
        make testconfig;
index 666c30d0191982c9dca51d37bcb81d43f6509e97..2676d6035b21577e093851450f5cb4e44cc3850e 100644 (file)
@@ -62,9 +62,4 @@
                clocks = <&k3_clks 115 1>;
                power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>;
        };
-
-       chipid: chipid@43000014 {
-               compatible = "ti,am654-chipid";
-               reg = <0x43000014 0x4>;
-       };
 };
index a30680d3e0272c91ba1a4178346296ddbc1a3879..d9ff3ed47b26a2649af7f3314e9a5bd536714b49 100644 (file)
                u-boot,dm-spl;
        };
 };
-
-&chipid {
-       u-boot,dm-spl;
-};
index cfb39325e97bddb8cf5ba0243d391f816c6b4b69..6e748bfebb671243e128c4d54f7021d4df1a05a7 100644 (file)
 &mcu_fss0_ospi1_pins_default {
        u-boot,dm-spl;
 };
-
-&chipid {
-       u-boot,dm-spl;
-};
index 60695f5eb91dffb333480350e7ab639f09fc13d8..e6c99ab6980ad4f201d04d9f19da96c01b15fdba 100644 (file)
                        ti,cpts-periodic-outputs = <2>;
                };
        };
-
-       chipid: chipid@43000014 {
-               compatible = "ti,am654-chipid";
-               reg = <0x0 0x43000014 0x0 0x4>;
-       };
 };
index 4335f2877b8d8c17030a3f77cc6a323888378093..63bf0606166622265d0cbc4db4cd402e64e38ab2 100644 (file)
@@ -25,7 +25,6 @@
 #include <fs.h>
 #include <env.h>
 #include <elf.h>
-#include <soc.h>
 
 struct ti_sci_handle *get_ti_sci_handle(void)
 {
@@ -309,27 +308,38 @@ void reset_cpu(ulong ignored)
 #if defined(CONFIG_DISPLAY_CPUINFO)
 int print_cpuinfo(void)
 {
-       struct udevice *soc;
-       char name[64];
-       int ret;
-
-       printf("SoC:   ");
+       u32 soc, rev;
+       char *name;
 
-       ret = soc_get(&soc);
-       if (ret) {
-               printf("UNKNOWN\n");
-               return 0;
-       }
+       soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
+               JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
+       rev = (readl(CTRLMMR_WKUP_JTAG_ID) &
+               JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT;
 
-       ret = soc_get_family(soc, name, 64);
-       if (!ret) {
-               printf("%s ", name);
-       }
+       printf("SoC:   ");
+       switch (soc) {
+       case AM65X:
+               name = "AM65x";
+               break;
+       case J721E:
+               name = "J721E";
+               break;
+       default:
+               name = "Unknown Silicon";
+       };
 
-       ret = soc_get_revision(soc, name, 64);
-       if (!ret) {
-               printf("%s\n", name);
-       }
+       printf("%s SR ", name);
+       switch (rev) {
+       case REV_PG1_0:
+               name = "1.0";
+               break;
+       case REV_PG2_0:
+               name = "2.0";
+               break;
+       default:
+               name = "Unknown Revision";
+       };
+       printf("%s\n", name);
 
        return 0;
 }
index ba344c5bc9dd72c4e6ab2d100a40b432c250d9ab..94cdcb56adedbee68c3c87b72b1cb682b05d9f0f 100644 (file)
@@ -8,6 +8,12 @@
 
 #include <asm/armv7_mpu.h>
 
+#define AM65X  0xbb5a
+#define J721E  0xbb64
+
+#define REV_PG1_0      0
+#define REV_PG2_0      1
+
 struct fwl_data {
        const char *name;
        u16 fwl_id;
index f2ca80af1a9b2ca49bbd1e1e0ce8b28914964109..0ad761418bb7e04b157a4b5b421b3b025cc8a574 100644 (file)
@@ -15,6 +15,7 @@
 #endif
 
 /* Assuming these addresses and definitions stay common across K3 devices */
+#define CTRLMMR_WKUP_JTAG_ID   0x43000014
 #define JTAG_ID_VARIANT_SHIFT  28
 #define JTAG_ID_VARIANT_MASK   (0xf << 28)
 #define JTAG_ID_PARTNO_SHIFT   12
index 69d65c82e3ec42c849e1f64b59db9abdda7d18f7..85526186c609850df29523ce5fe57d593026bd70 100644 (file)
@@ -114,7 +114,7 @@ static int msm_clk_probe(struct udevice *dev)
 {
        struct msm_clk_priv *priv = dev_get_priv(dev);
 
-       priv->base = dev_read_addr(dev);
+       priv->base = devfdt_get_addr(dev);
        if (priv->base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 4c2af213082ba0969249d217be1d63d9d1d72b93..442d236255011f8d88d6b641990012221730fe8e 100644 (file)
@@ -56,7 +56,7 @@ static int msm_pinctrl_probe(struct udevice *dev)
 {
        struct msm_pinctrl_priv *priv = dev_get_priv(dev);
 
-       priv->base = dev_read_addr(dev);
+       priv->base = devfdt_get_addr(dev);
        priv->data = (struct msm_pinctrl_data *)dev->driver_data;
 
        return priv->base == FDT_ADDR_T_NONE ? -EINVAL : 0;
index e7ca9882fc586f5bc9416795a8315b048c485bbb..7f5e731a0f54c6207138f192918281d6f07b6428 100644 (file)
@@ -79,8 +79,7 @@ int arch_cpu_init_dm(void)
        return 0;
 }
 
-static int altera_nios2_get_desc(const struct udevice *dev, char *buf,
-                                int size)
+static int altera_nios2_get_desc(struct udevice *dev, char *buf, int size)
 {
        const char *cpu_name = "Nios-II";
 
@@ -91,8 +90,7 @@ static int altera_nios2_get_desc(const struct udevice *dev, char *buf,
        return 0;
 }
 
-static int altera_nios2_get_info(const struct udevice *dev,
-                                struct cpu_info *info)
+static int altera_nios2_get_info(struct udevice *dev, struct cpu_info *info)
 {
        info->cpu_freq = gd->cpu_clk;
        info->features = (1 << CPU_FEAT_L1_CACHE) |
@@ -101,7 +99,7 @@ static int altera_nios2_get_info(const struct udevice *dev,
        return 0;
 }
 
-static int altera_nios2_get_count(const struct udevice *dev)
+static int altera_nios2_get_count(struct udevice *dev)
 {
        return 1;
 }
index 2ae42397216f3f21a2f01a94aa0f4685891a11bc..3744a466030073c79e08dc089a518654a69aad37 100644 (file)
                };
        };
 
-       chipid: chipid {
-               compatible = "sandbox,soc";
-       };
-
        i2s: i2s {
                compatible = "sandbox,i2s";
                #sound-dai-cells = <1>;
index 0a6d2ad7a4ac65becadcd895262b851fe6813ed1..aa7a3dbd63e58c106618fe747a5c26366cc5bd45 100644 (file)
@@ -9,7 +9,7 @@
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
 
-static int apl_get_info(const struct udevice *dev, struct cpu_info *info)
+static int apl_get_info(struct udevice *dev, struct cpu_info *info)
 {
        return cpu_intel_get_info(info, INTEL_BCLK_MHZ);
 }
index 309a50a11611d716b4ab866210f0ae285d0704c6..18e48ffa532dd3a73a14787a9254faafd58de13a 100644 (file)
@@ -150,7 +150,7 @@ static unsigned long tsc_freq(void)
        return bclk * ((platform_info.lo >> 8) & 0xff);
 }
 
-static int baytrail_get_info(const struct udevice *dev, struct cpu_info *info)
+static int baytrail_get_info(struct udevice *dev, struct cpu_info *info)
 {
        info->cpu_freq = tsc_freq();
        info->features = 1 << CPU_FEAT_L1_CACHE | 1 << CPU_FEAT_MMU;
@@ -158,7 +158,7 @@ static int baytrail_get_info(const struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int baytrail_get_count(const struct udevice *dev)
+static int baytrail_get_count(struct udevice *dev)
 {
        int ecx = 0;
 
index 706f68f63d652a7f55eea519ed410dd1e380f58c..64a1cd414fc49fcfd616f7359b902a50131ca444 100644 (file)
@@ -626,12 +626,12 @@ void cpu_set_power_limits(int power_limit_1_time)
        }
 }
 
-static int broadwell_get_info(const struct udevice *dev, struct cpu_info *info)
+static int broadwell_get_info(struct udevice *dev, struct cpu_info *info)
 {
        return cpu_intel_get_info(info, INTEL_BCLK_MHZ);
 }
 
-static int broadwell_get_count(const struct udevice *dev)
+static int broadwell_get_count(struct udevice *dev)
 {
        return 4;
 }
index 7e83051646cc75722654d6ba6903825f460074a6..3f2ba0881e8d079331751f104f792517f652c044 100644 (file)
@@ -26,7 +26,7 @@ int cpu_x86_bind(struct udevice *dev)
        return 0;
 }
 
-int cpu_x86_get_vendor(const struct udevice *dev, char *buf, int size)
+int cpu_x86_get_vendor(struct udevice *dev, char *buf, int size)
 {
        const char *vendor = cpu_vendor_name(gd->arch.x86_vendor);
 
@@ -38,7 +38,7 @@ int cpu_x86_get_vendor(const struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size)
+int cpu_x86_get_desc(struct udevice *dev, char *buf, int size)
 {
        char *ptr;
 
@@ -52,7 +52,7 @@ int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-int cpu_x86_get_count(const struct udevice *dev)
+int cpu_x86_get_count(struct udevice *dev)
 {
        int node, cpu;
        int num = 0;
index 55f7cc2b2ecc19a6c0ddeec993b721be61b180a7..5954a24873d00c83a4327086480da6c3f962f339 100644 (file)
@@ -410,15 +410,14 @@ static int model_206ax_init(struct udevice *dev)
        return 0;
 }
 
-static int model_206ax_get_info(const struct udevice *dev,
-                               struct cpu_info *info)
+static int model_206ax_get_info(struct udevice *dev, struct cpu_info *info)
 {
        return cpu_intel_get_info(info, INTEL_BCLK_MHZ);
 
        return 0;
 }
 
-static int model_206ax_get_count(const struct udevice *dev)
+static int model_206ax_get_count(struct udevice *dev)
 {
        return 4;
 }
index 9ce86b379c4dd72a58c610f911806ac3f1190672..f40fb4d087909b4fe15f0a2c9fb74a8786f2e224 100644 (file)
@@ -10,7 +10,7 @@
 #include <qfw.h>
 #include <asm/cpu.h>
 
-int cpu_qemu_get_desc(const struct udevice *dev, char *buf, int size)
+int cpu_qemu_get_desc(struct udevice *dev, char *buf, int size)
 {
        if (size < CPU_MAX_NAME_LEN)
                return -ENOSPC;
@@ -20,7 +20,7 @@ int cpu_qemu_get_desc(const struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int cpu_qemu_get_count(const struct udevice *dev)
+static int cpu_qemu_get_count(struct udevice *dev)
 {
        return qemu_fwcfg_online_cpus();
 }
index 4fd5f03fdcfc35bea8eeb3093821062b66db8438..ae8f4dcd5dcb6dcebc4a99db075f61ecc1b70bfa 100644 (file)
@@ -28,7 +28,7 @@ int cpu_x86_bind(struct udevice *dev);
  * @size:      Size of string space
  * @return:    0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size);
+int cpu_x86_get_desc(struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_x86_get_count() - Get the number of cores for an x86 CPU
@@ -40,7 +40,7 @@ int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size);
  * @return:    Number of cores if successful,
  *             -ENOENT if not "/cpus" entry is found in the device tree
  */
-int cpu_x86_get_count(const struct udevice *dev);
+int cpu_x86_get_count(struct udevice *dev);
 
 /**
  * cpu_x86_get_vendor() - Get a vendor string for an x86 CPU
@@ -53,6 +53,6 @@ int cpu_x86_get_count(const struct udevice *dev);
  * @size:      Size of string space
  * @return:    0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_x86_get_vendor(const struct udevice *dev, char *buf, int size);
+int cpu_x86_get_vendor(struct udevice *dev, char *buf, int size);
 
 #endif /* _ASM_CPU_X86_H */
index 83dd2888470538a0630f26ef342d9e1adcc82a30..9f50f36982d2792a9831553b196d6f3416b5ded5 100644 (file)
@@ -33,12 +33,12 @@ int fdtdec_board_setup(const void *fdt_blob)
 
 int dram_init(void)
 {
-       return fdtdec_setup_mem_size_base();
+       return fdtdec_setup_mem_size_base_fdt(gd->fdt_blob);
 }
 
 int dram_init_banksize(void)
 {
-       fdtdec_setup_memory_banksize();
+       fdtdec_setup_memory_banksize_fdt(gd->fdt_blob);
 
        return 0;
 }
index ff12c518e97a605e6178a935de33f42e90740b91..667659054a7e6c9cd86aeb57028e38a9149e3e58 100644 (file)
@@ -65,8 +65,6 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
                        stop_at = offset;
                        prop = fdt_get_property_by_offset(fdt, offset, NULL);
                        str = fdt_string(fdt, fdt32_to_cpu(prop->nameoff));
-                       if (!str)
-                               return -FDT_ERR_BADSTRUCTURE;
                        if (str_in_list(str, exc_prop, exc_prop_count))
                                include = 0;
                        break;
index a565b470f81ee55caf87971c765269c81e13cd3d..3778de5368661369e41b8c6b435e86202e31f225 100644 (file)
@@ -816,8 +816,8 @@ static int fdt_del_partitions(void *blob, int parent_offset)
        return 0;
 }
 
-static int fdt_node_set_part_info(void *blob, int parent_offset,
-                                 struct mtd_device *dev)
+int fdt_node_set_part_info(void *blob, int parent_offset,
+                          struct mtd_device *dev)
 {
        struct list_head *pentry;
        struct part_info *part;
@@ -951,35 +951,27 @@ void fdt_fixup_mtdparts(void *blob, const struct node_info *node_info,
        struct mtd_device *dev;
        int i, idx;
        int noff;
-       bool inited = false;
+
+       if (mtdparts_init() != 0)
+               return;
 
        for (i = 0; i < node_info_size; i++) {
                idx = 0;
-               noff = -1;
-
-               while ((noff = fdt_node_offset_by_compatible(blob, noff,
-                                               node_info[i].compat)) >= 0) {
-                       const char *prop;
-
-                       prop = fdt_getprop(blob, noff, "status", NULL);
-                       if (prop && !strcmp(prop, "disabled"))
-                               continue;
-
+               noff = fdt_node_offset_by_compatible(blob, -1,
+                                                    node_info[i].compat);
+               while (noff != -FDT_ERR_NOTFOUND) {
                        debug("%s: %s, mtd dev type %d\n",
                                fdt_get_name(blob, noff, 0),
                                node_info[i].compat, node_info[i].type);
-
-                       if (!inited) {
-                               if (mtdparts_init() != 0)
-                                       return;
-                               inited = true;
-                       }
-
                        dev = device_find(node_info[i].type, idx++);
                        if (dev) {
                                if (fdt_node_set_part_info(blob, noff, dev))
                                        return; /* return on error */
                        }
+
+                       /* Jump to next flash node */
+                       noff = fdt_node_offset_by_compatible(blob, noff,
+                                                            node_info[i].compat);
                }
        }
 }
index e8f0adbec211422530c0a31b4953f31b54ae53a2..918ff4de0c1fa2feac18675456b911b1179a1ccd 100644 (file)
@@ -146,5 +146,3 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6162
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_FAT_WRITE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index 81ef413162db62d32b0081367bfea3cdc2b77626..09c8b74aeea797e766cb697001c796f76d1d2faf 100644 (file)
@@ -120,5 +120,3 @@ CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_OMAP_TIMER=y
 CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index b58381eb25ccb9ece552b6b54f3d8ef58ece4114..bc3da74509ea9f27544820d3b25b482289f6452e 100644 (file)
@@ -148,5 +148,3 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6162
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_FAT_WRITE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index e24311aea6e4899521facf5aa742d504eaeef2d0..ead4a59c3874f3ce01940f996f2a93be556b997a 100644 (file)
@@ -121,5 +121,3 @@ CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_OMAP_TIMER=y
 CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index e85abee6951c69bb3c7474a97c6f50ce93ea98e8..09a73e590dc7ff6dbce9061ff8e501953bd971e3 100644 (file)
@@ -170,5 +170,3 @@ CONFIG_CADENCE_UFS=y
 CONFIG_TI_J721E_UFS=y
 CONFIG_FAT_WRITE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index 488dae2bb35ae3c9ac867b71ad97c15fbafca17a..a06fc7c3d2f2c461b9034ba2d3a4e20936eba0ec 100644 (file)
@@ -135,5 +135,3 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6163
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_FS_EXT4=y
 CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index fa928873dcd5a55349af62d4033b0a60e387a783..9b5bc6cf54c8d9faef77cb4a6966a662ed389757 100644 (file)
@@ -158,5 +158,3 @@ CONFIG_CADENCE_UFS=y
 CONFIG_TI_J721E_UFS=y
 CONFIG_FAT_WRITE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index c8773aa6d0fe4f11ce134c16024f134ea9a57eae..1aa899e63c09aebfdc3a20b0451007186067a797 100644 (file)
@@ -116,5 +116,3 @@ CONFIG_SPL_TIMER=y
 CONFIG_OMAP_TIMER=y
 CONFIG_FS_EXT4=y
 CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
index a3b7ff444f0caae8272f39ff0c199bae8292c8a1..dcf2f44b584a1af9a36ed742a150cc24d198b478 100644 (file)
@@ -118,7 +118,6 @@ CONFIG_LED_GPIO=y
 CONFIG_DM_MAILBOX=y
 CONFIG_SANDBOX_MBOX=y
 CONFIG_MISC=y
-CONFIG_SOC_DEVICE=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_CROS_EC_LPC=y
index 17c9b332f5a1f3047b922eddd7b3d7d7df51eb01..6059d668af770d2e890bb62345a1b2d2c8d4515c 100644 (file)
@@ -139,7 +139,6 @@ CONFIG_LED_GPIO=y
 CONFIG_DM_MAILBOX=y
 CONFIG_SANDBOX_MBOX=y
 CONFIG_MISC=y
-CONFIG_SOC_DEVICE=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_CROS_EC_LPC=y
index 93ab210ebbf1981dc7b4661e28854b04a9c84717..4158b9b86d4fb48843f3088525b32524df1edbaf 100644 (file)
@@ -103,7 +103,6 @@ CONFIG_LED_GPIO=y
 CONFIG_DM_MAILBOX=y
 CONFIG_SANDBOX_MBOX=y
 CONFIG_MISC=y
-CONFIG_SOC_DEVICE=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_CROS_EC_LPC=y
index 25c974f6fe714da3e1efd5a3ea6ef4face8ab6be..b3274a93b4169f2a83ff527bb876a47e2fd868a3 100644 (file)
@@ -120,7 +120,6 @@ CONFIG_LED_GPIO=y
 CONFIG_DM_MAILBOX=y
 CONFIG_SANDBOX_MBOX=y
 CONFIG_MISC=y
-CONFIG_SOC_DEVICE=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_CROS_EC_LPC=y
index f17c72ce69d879b45ea582ab35adc614ecc4ef04..b9df221627e2c95d438e684577fac7906eafc176 100644 (file)
@@ -19,6 +19,5 @@ Driver Model
    pmic-framework
    remoteproc-framework
    serial-howto
-   soc-framework
    spi-howto
    usb-info
diff --git a/doc/driver-model/soc-framework.rst b/doc/driver-model/soc-framework.rst
deleted file mode 100644 (file)
index 2609fda..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0+
-.. (C) Copyright 2020
-.. Texas Instruments Incorporated - http://www.ti.com/
-
-SOC ID Framework
-================
-
-Introduction
-------------
-
-The driver-model SOC ID framework is able to provide identification
-information about a specific SoC in use at runtime, and also provide matching
-from a set of identification information from an array. This can be useful for
-enabling small quirks in drivers that exist between SoC variants that are
-impractical to implement using device tree flags. It is based on UCLASS_SOC.
-
-UCLASS_SOC:
-  - drivers/soc/soc-uclass.c
-  - include/soc.h
-
-Configuration:
-  - CONFIG_SOC_DEVICE is selected by drivers as needed.
-
-Implementing a UCLASS_SOC provider
-----------------------------------
-
-The purpose of this framework is to allow UCLASS_SOC provider drivers to supply
-identification information about the SoC in use at runtime. The framework
-allows drivers to define soc_ops that return identification strings.  All
-soc_ops need not be defined and can be left as NULL, in which case the
-framework will return -ENOSYS and not consider the value when doing an
-soc_device_match.
-
-It is left to the driver implementor to decide how the information returned is
-determined, but in general the same SOC should always return the same set of
-identifying information. Information returned must be in the form of a NULL
-terminated string.
-
-See include/soc.h for documentation of the available soc_ops and the intended
-meaning of the values that can be returned. See drivers/soc/soc_sandbox.c for
-an example UCLASS_SOC provider driver.
-
-Using a UCLASS_SOC driver
--------------------------
-
-The framework provides the ability to retrieve and use the identification
-strings directly. It also has the ability to return a match from a list of
-different sets of SoC data using soc_device_match.
-
-An array of 'struct soc_attr' can be defined, each containing ID information
-for a specific SoC, and when passed to soc_device_match, the identifier values
-for each entry in the list will be compared against the values provided by the
-UCLASS_SOC driver that is in use. The first entry in the list that matches all
-non-null values will be returned by soc_device_match.
-
-An example of various uses of the framework can be found at test/dm/soc.c.
-
-Describing the device using device tree
----------------------------------------
-
-.. code-block:: none
-
-   chipid: chipid {
-        compatible = "sandbox,soc";
-   };
-
-All that is required in a DT node is a compatible for a corresponding
-UCLASS_SOC driver.
index fea52887846c3e1572683186964774ef95fbdb8e..3dcdcedcefafe1346f7fc57c063a438f4b5d9015 100644 (file)
@@ -167,15 +167,6 @@ Specifies that keys used to sign the FIT are required. This means that they
 must be verified for the image to boot. Without this option, the verification
 will be optional (useful for testing but not for release).
 
-.TP
-.BI "\-t
-Update the timestamp in the FIT.
-
-Normally the FIT timestamp is created the first time mkimage is run on a FIT,
-when converting the source .its to the binary .fit file. This corresponds to
-using the -f flag. But if the original input to mkimage is a binary file
-(already compiled) then the timestamp is assumed to have been set previously.
-
 .SH EXAMPLES
 
 List image information:
index b459b5705076a7b5a702cf0d113d24f12b88824e..12c49fc8cefbaa3f5e5bdf236e69ec220a3dd3cb 100644 (file)
@@ -106,7 +106,7 @@ int exynos_adc_ofdata_to_platdata(struct udevice *dev)
        struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev);
        struct exynos_adc_priv *priv = dev_get_priv(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct exynos_adc_v2 *)devfdt_get_addr(dev);
        if (priv->regs == (struct exynos_adc_v2 *)FDT_ADDR_T_NONE) {
                pr_err("Dev: %s - can't get address!", dev->name);
                return -ENODATA;
index 825fe57f85222536649dcd7277f8a944e52cd8df..017650ae468301fd274ed098cfbcb811219dacb8 100644 (file)
@@ -34,7 +34,7 @@ static int dwc_ahci_ofdata_to_platdata(struct udevice *dev)
        struct dwc_ahci_priv *priv = dev_get_priv(dev);
        fdt_addr_t addr;
 
-       priv->base = map_physmem(dev_read_addr(dev), sizeof(void *),
+       priv->base = map_physmem(devfdt_get_addr(dev), sizeof(void *),
                                 MAP_NOCACHE);
 
        addr = devfdt_get_addr_index(dev, 1);
index 9927ada201f0e87195e620c0647feda3c398fdc0..0042958f4c428306302136205f01c9e51221c34c 100644 (file)
@@ -553,7 +553,7 @@ static int socfpga_clk_ofdata_to_platdata(struct udevice *dev)
        struct socfpga_clk_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
        plat->regs = (void __iomem *)addr;
index 732ed4d79b9f25677eb6add4e7af0eecfd66d96b..ede0be299dfcbaa2c89f91ab04f1834d9c7d5571 100644 (file)
@@ -285,7 +285,7 @@ static int socfpga_a10_clk_probe(struct udevice *dev)
        socfpga_a10_handoff_workaround(dev);
 
        if (!fdt_node_check_compatible(fdt, offset, "altr,clk-mgr")) {
-               plat->regs = dev_read_addr(dev);
+               plat->regs = devfdt_get_addr(dev);
        } else {
                pdev = dev_get_parent(dev);
                if (!pdev)
index 4a023ea736b402d29a394e14538eec0d5a8b9363..aa86c7ca4457e498492520779c8e481a0d0adb64 100644 (file)
@@ -95,7 +95,7 @@ static int exynos7420_clk_topc_probe(struct udevice *dev)
        fdt_addr_t base;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
@@ -149,7 +149,7 @@ static int exynos7420_clk_top0_probe(struct udevice *dev)
        if (!priv)
                return -EINVAL;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 16da10c8dd88047f31de630bbd9311da7148bc85..3ed0aa92cb82281197842323c44a968631740613 100644 (file)
@@ -283,7 +283,7 @@ int gen2_clk_probe(struct udevice *dev)
        u32 cpg_mode;
        int ret;
 
-       priv->base = dev_read_addr_ptr(dev);
+       priv->base = (struct gen2_base *)devfdt_get_addr(dev);
        if (!priv->base)
                return -EINVAL;
 
index 30a101fe8621997713d86f504493117fdfe56a47..15e38337567370cc72fb43a179e5decedf13770a 100644 (file)
@@ -359,7 +359,7 @@ int gen3_clk_probe(struct udevice *dev)
        u32 cpg_mode;
        int ret;
 
-       priv->base = dev_read_addr_ptr(dev);
+       priv->base = (struct gen3_base *)devfdt_get_addr(dev);
        if (!priv->base)
                return -EINVAL;
 
index 4e25db354e0c0b5e1764482291dcf5875afc5405..c9ec523080d7bea66c34f72a113895227aaa5e60 100644 (file)
@@ -253,7 +253,7 @@ static int uniphier_clk_probe(struct udevice *dev)
        struct uniphier_clk_priv *priv = dev_get_priv(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev->parent);
+       addr = devfdt_get_addr(dev->parent);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 355dbd147a9e9027ed2dc1855838ef57af10f57a..476133f17248ad5e100356e4225f4c44eb72b812 100644 (file)
@@ -82,8 +82,7 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv,
                 * This is just a 'requested' sequence, and will be
                 * resolved (and ->seq updated) when the device is probed.
                 */
-               if (CONFIG_IS_ENABLED(OF_CONTROL) &&
-                   !CONFIG_IS_ENABLED(OF_PLATDATA)) {
+               if (CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)) {
                        if (uc->uc_drv->name && ofnode_valid(node))
                                dev_read_alias_seq(dev, &dev->req_seq);
 #if CONFIG_IS_ENABLED(OF_PRIOR_STAGE)
index 421cc7a9a4c78bede22d0cbff7ab0fedfb7f3f9b..2649c5c6e91c7abe8c86071264ba595b88a8cac9 100644 (file)
@@ -379,7 +379,7 @@ static const struct bmips_cpu_hw bmips_cpu_bcm6838 = {
 };
 
 /* Generic CPU Ops */
-static int bmips_cpu_get_desc(const struct udevice *dev, char *buf, int size)
+static int bmips_cpu_get_desc(struct udevice *dev, char *buf, int size)
 {
        struct bmips_cpu_priv *priv = dev_get_priv(dev);
        const struct bmips_cpu_hw *hw = priv->hw;
@@ -387,7 +387,7 @@ static int bmips_cpu_get_desc(const struct udevice *dev, char *buf, int size)
        return hw->get_cpu_desc(priv, buf, size);
 }
 
-static int bmips_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
+static int bmips_cpu_get_info(struct udevice *dev, struct cpu_info *info)
 {
        struct bmips_cpu_priv *priv = dev_get_priv(dev);
        const struct bmips_cpu_hw *hw = priv->hw;
@@ -400,7 +400,7 @@ static int bmips_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int bmips_cpu_get_count(const struct udevice *dev)
+static int bmips_cpu_get_count(struct udevice *dev)
 {
        struct bmips_cpu_priv *priv = dev_get_priv(dev);
        const struct bmips_cpu_hw *hw = priv->hw;
@@ -408,7 +408,7 @@ static int bmips_cpu_get_count(const struct udevice *dev)
        return hw->get_cpu_count(priv);
 }
 
-static int bmips_cpu_get_vendor(const struct udevice *dev, char *buf, int size)
+static int bmips_cpu_get_vendor(struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "Broadcom");
 
index 37e3cf2d8ff06d6077e624445df7661e86329979..cbb4419ec0cfd9c86be2842fb4bbd72fcbbd122e 100644 (file)
@@ -69,7 +69,7 @@ struct udevice *cpu_get_current_dev(void)
        return cpu;
 }
 
-int cpu_get_desc(const struct udevice *dev, char *buf, int size)
+int cpu_get_desc(struct udevice *dev, char *buf, int size)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
@@ -79,7 +79,7 @@ int cpu_get_desc(const struct udevice *dev, char *buf, int size)
        return ops->get_desc(dev, buf, size);
 }
 
-int cpu_get_info(const struct udevice *dev, struct cpu_info *info)
+int cpu_get_info(struct udevice *dev, struct cpu_info *info)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
@@ -92,7 +92,7 @@ int cpu_get_info(const struct udevice *dev, struct cpu_info *info)
        return ops->get_info(dev, info);
 }
 
-int cpu_get_count(const struct udevice *dev)
+int cpu_get_count(struct udevice *dev)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
@@ -102,7 +102,7 @@ int cpu_get_count(const struct udevice *dev)
        return ops->get_count(dev);
 }
 
-int cpu_get_vendor(const struct udevice *dev, char *buf, int size)
+int cpu_get_vendor(struct udevice *dev, char *buf, int size)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
index caa26e50f28136f62e21a4c98ba93c6cef635772..30a12e5a535de6646278d6b9ddf4dd04874eebd0 100644 (file)
@@ -8,14 +8,14 @@
 #include <dm.h>
 #include <cpu.h>
 
-int cpu_sandbox_get_desc(const struct udevice *dev, char *buf, int size)
+int cpu_sandbox_get_desc(struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "LEG Inc. SuperMegaUltraTurbo CPU No. 1");
 
        return 0;
 }
 
-int cpu_sandbox_get_info(const struct udevice *dev, struct cpu_info *info)
+int cpu_sandbox_get_info(struct udevice *dev, struct cpu_info *info)
 {
        info->cpu_freq = 42 * 42 * 42 * 42 * 42;
        info->features = 0x42424242;
@@ -24,12 +24,12 @@ int cpu_sandbox_get_info(const struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-int cpu_sandbox_get_count(const struct udevice *dev)
+int cpu_sandbox_get_count(struct udevice *dev)
 {
        return 42;
 }
 
-int cpu_sandbox_get_vendor(const struct udevice *dev, char *buf, int size)
+int cpu_sandbox_get_vendor(struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "Languid Example Garbage Inc.");
 
index 502c8ebb433173f140da626b0f2bcdd47fd3db7b..6345cd0815a70eb6abcede0332361d3f5557d9b7 100644 (file)
@@ -100,7 +100,7 @@ static int cpu_imx_get_temp(struct cpu_imx_platdata *plat)
 }
 #endif
 
-int cpu_imx_get_desc(const struct udevice *dev, char *buf, int size)
+int cpu_imx_get_desc(struct udevice *dev, char *buf, int size)
 {
        struct cpu_imx_platdata *plat = dev_get_platdata(dev);
        int ret, temp;
@@ -126,7 +126,7 @@ int cpu_imx_get_desc(const struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int cpu_imx_get_info(const struct udevice *dev, struct cpu_info *info)
+static int cpu_imx_get_info(struct udevice *dev, struct cpu_info *info)
 {
        struct cpu_imx_platdata *plat = dev_get_platdata(dev);
 
@@ -135,7 +135,7 @@ static int cpu_imx_get_info(const struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int cpu_imx_get_count(const struct udevice *dev)
+static int cpu_imx_get_count(struct udevice *dev)
 {
        ofnode node;
        int num = 0;
@@ -157,7 +157,7 @@ static int cpu_imx_get_count(const struct udevice *dev)
        return num;
 }
 
-static int cpu_imx_get_vendor(const struct udevice *dev,  char *buf, int size)
+static int cpu_imx_get_vendor(struct udevice *dev,  char *buf, int size)
 {
        snprintf(buf, size, "NXP");
        return 0;
index 5f1592f9ad4ade3ee802c548b11a2887a5169fb4..f8a84bae9d98553d9bb345b18f6a8236b9804272 100644 (file)
@@ -60,7 +60,7 @@ static inline u32 get_spridr(void)
  * determine_type() - Determine CPU family of MPC83xx device
  * @dev: CPU device from which to read CPU family from
  */
-static inline void determine_family(const struct udevice *dev)
+static inline void determine_family(struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        /* Upper 12 bits of PARTID field (bits 0-23 in SPRIDR) */
@@ -95,7 +95,7 @@ static inline void determine_family(const struct udevice *dev)
  * determine_type() - Determine CPU type of MPC83xx device
  * @dev: CPU device from which to read CPU type from
  */
-static inline void determine_type(const struct udevice *dev)
+static inline void determine_type(struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        /* Upper 16 bits of PVR (Processor Version Register) */
@@ -169,7 +169,7 @@ static inline void determine_type(const struct udevice *dev)
  * determine_e300_type() - Determine e300 core type of MPC83xx device
  * @dev: CPU device from which to read e300 core type from
  */
-static inline void determine_e300_type(const struct udevice *dev)
+static inline void determine_e300_type(struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        /* Upper 16 bits of PVR (Processor Version Register) */
@@ -198,7 +198,7 @@ static inline void determine_e300_type(const struct udevice *dev)
  * determine_revid() - Determine revision ID of CPU device
  * @dev: CPU device from which to read revision ID
  */
-static inline void determine_revid(const struct udevice *dev)
+static inline void determine_revid(struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        u32 REVID_MAJOR_MASK;
@@ -221,7 +221,7 @@ static inline void determine_revid(const struct udevice *dev)
  * determine_cpu_data() - Determine CPU information from hardware
  * @dev: CPU device from which to read information
  */
-static void determine_cpu_data(const struct udevice *dev)
+static void determine_cpu_data(struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        const u32 E_FLAG_MASK = 0x00010000;
@@ -239,7 +239,7 @@ static void determine_cpu_data(const struct udevice *dev)
        priv->is_e_processor = !bitfield_extract_by_mask(spridr, E_FLAG_MASK);
 }
 
-static int mpc83xx_cpu_get_desc(const struct udevice *dev, char *buf, int size)
+static int mpc83xx_cpu_get_desc(struct udevice *dev, char *buf, int size)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        struct clk core_clk;
@@ -248,14 +248,14 @@ static int mpc83xx_cpu_get_desc(const struct udevice *dev, char *buf, int size)
        char csb_freq[32];
        int ret;
 
-       ret = clk_get_by_index((struct udevice *)dev, 0, &core_clk);
+       ret = clk_get_by_index(dev, 0, &core_clk);
        if (ret) {
                debug("%s: Failed to get core clock (err = %d)\n",
                      dev->name, ret);
                return ret;
        }
 
-       ret = clk_get_by_index((struct udevice *)dev, 1, &csb_clk);
+       ret = clk_get_by_index(dev, 1, &csb_clk);
        if (ret) {
                debug("%s: Failed to get CSB clock (err = %d)\n",
                      dev->name, ret);
@@ -278,14 +278,13 @@ static int mpc83xx_cpu_get_desc(const struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int mpc83xx_cpu_get_info(const struct udevice *dev,
-                               struct cpu_info *info)
+static int mpc83xx_cpu_get_info(struct udevice *dev, struct cpu_info *info)
 {
        struct clk clock;
        int ret;
        ulong freq;
 
-       ret = clk_get_by_index((struct udevice *)dev, 0, &clock);
+       ret = clk_get_by_index(dev, 0, &clock);
        if (ret) {
                debug("%s: Failed to get core clock (err = %d)\n",
                      dev->name, ret);
@@ -304,14 +303,13 @@ static int mpc83xx_cpu_get_info(const struct udevice *dev,
        return 0;
 }
 
-static int mpc83xx_cpu_get_count(const struct udevice *dev)
+static int mpc83xx_cpu_get_count(struct udevice *dev)
 {
        /* We have one e300cX core */
        return 1;
 }
 
-static int mpc83xx_cpu_get_vendor(const struct udevice *dev, char *buf,
-                                 int size)
+static int mpc83xx_cpu_get_vendor(struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "NXP");
 
index 93ce708f652bb266387b19ab3dca9d8838f95112..100fe5542e47d14d6447f38df64badc16321184a 100644 (file)
@@ -17,7 +17,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static int riscv_cpu_get_desc(const struct udevice *dev, char *buf, int size)
+static int riscv_cpu_get_desc(struct udevice *dev, char *buf, int size)
 {
        const char *isa;
 
@@ -30,7 +30,7 @@ static int riscv_cpu_get_desc(const struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int riscv_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
+static int riscv_cpu_get_info(struct udevice *dev, struct cpu_info *info)
 {
        int ret;
        struct clk clk;
@@ -39,7 +39,7 @@ static int riscv_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
        u32 d_cache_size;
 
        /* First try getting the frequency from the assigned clock */
-       ret = clk_get_by_index((struct udevice *)dev, 0, &clk);
+       ret = clk_get_by_index(dev, 0, &clk);
        if (!ret) {
                ret = clk_get_rate(&clk);
                if (!IS_ERR_VALUE(ret))
@@ -67,7 +67,7 @@ static int riscv_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int riscv_cpu_get_count(const struct udevice *dev)
+static int riscv_cpu_get_count(struct udevice *dev)
 {
        ofnode node;
        int num = 0;
index 13ab967089042943280414899c89949a46f5307c..77c4ba953075958444eb8dae88beb50933c3a2de 100644 (file)
@@ -546,7 +546,7 @@ static int ti_edma3_ofdata_to_platdata(struct udevice *dev)
 {
        struct ti_edma3_priv *priv = dev_get_priv(dev);
 
-       priv->base = dev_read_addr(dev);
+       priv->base = devfdt_get_addr(dev);
 
        return 0;
 }
index 75800d9f31c60293fbe0032e555584ef5faba88d..324f9c29a82e5ba914ecbbb84825bc43d49c3735 100644 (file)
@@ -88,7 +88,7 @@ static int altera_pio_ofdata_to_platdata(struct udevice *dev)
 {
        struct altera_pio_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct altera_pio_regs),
                                 MAP_NOCACHE);
        plat->gpio_count = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
index 18f365fa4116102163e49510b93e0abbfcac8fda..455944d547a224476d752a33b9e4e32c1c611515 100644 (file)
@@ -299,7 +299,7 @@ static int atmel_pio4_probe(struct udevice *dev)
 
        clk_free(&clk);
 
-       addr_base = dev_read_addr(dev);
+       addr_base = devfdt_get_addr(dev);
        if (addr_base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 0dff9ac711d724d51d207db9a98b4e8d32472dd5..f4b67f1cf0aff523a19bcaf6bcf64833f0c1abca 100644 (file)
@@ -121,7 +121,7 @@ static int bcm2835_gpio_ofdata_to_platdata(struct udevice *dev)
        struct bcm2835_gpio_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index f875888510101157e39cde0d4651a36e0bbd70bf..ab0a5cfd330c3473483f7f8c81a0bc692fc3d5d6 100644 (file)
@@ -545,7 +545,7 @@ static int davinci_gpio_ofdata_to_platdata(struct udevice *dev)
        struct davinci_gpio_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index a993fd4d7003c41ffa141c69384a8fb233cb9a81..c49a041059d24f18ba7cc465c896ecb3a70b8896 100644 (file)
@@ -148,7 +148,7 @@ static int rcar_gpio_probe(struct udevice *dev)
        int node = dev_of_offset(dev);
        int ret;
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (void __iomem *)devfdt_get_addr(dev);
        uc_priv->bank_name = dev->name;
 
        ret = fdtdec_parse_phandle_with_args(gd->fdt_blob, node, "gpio-ranges",
index 86804ac2f5ff626e3177c9196e370f705b64fe7b..21a87d645cdbec7af1eca164ddd4f701bf25af9d 100644 (file)
@@ -112,7 +112,7 @@ static int r7s72100_gpio_probe(struct udevice *dev)
 
        uc_priv->bank_name = dev->name;
        dev = dev_get_parent(dev);
-       addr_base = dev_read_addr(dev);
+       addr_base = devfdt_get_addr(dev);
        if (addr_base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 54a38da0f10429ea66637bbec019aac45f352bdd..30392bccaaa0b9ac73996bc4e0d51cb8d51f4473 100644 (file)
@@ -142,7 +142,7 @@ static int uniphier_gpio_probe(struct udevice *dev)
        struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index fe6b33e1dffa6fd32177f2e98f57e61c1ad0d7e4..ac5d20c1b95f66dfb58add6084cae65adb9953a3 100644 (file)
@@ -96,7 +96,7 @@ static int msm_gpio_probe(struct udevice *dev)
 {
        struct msm_gpio_bank *priv = dev_get_priv(dev);
 
-       priv->base = dev_read_addr(dev);
+       priv->base = devfdt_get_addr(dev);
 
        return priv->base == FDT_ADDR_T_NONE ? -EINVAL : 0;
 }
index 65eaa71c201c116449a3ff85fc33c9af22157d97..770cbf6b607245cb3ab31b8d476a4d92a89ec97b 100644 (file)
@@ -90,7 +90,7 @@ static int mvebu_gpio_probe(struct udevice *dev)
        struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
        struct mvebu_gpio_priv *priv = dev_get_priv(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct mvebu_gpio_regs *)devfdt_get_addr(dev);
        uc_priv->gpio_count = MVEBU_GPIOS_PER_BANK;
        priv->name[0] = 'A' + dev->req_seq;
        uc_priv->bank_name = priv->name;
index a16f5719edebcd68649b17ec1e41ab81c4de57fc..90d36fb87bb116451ee88a725756c288bc81e430 100644 (file)
@@ -300,7 +300,7 @@ static int mxc_gpio_ofdata_to_platdata(struct udevice *dev)
        fdt_addr_t addr;
        struct mxc_gpio_plat *plat = dev_get_platdata(dev);
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 2c16517e724667c8f43d825be6bcc8d27ab6196d..cb797261b7f368f0f69bd02f151a970fcb9324f7 100644 (file)
@@ -275,7 +275,7 @@ static int mxs_ofdata_to_platdata(struct udevice *dev)
        int node = dev_of_offset(dev);
        int ret;
 
-       plat->bank = dev_read_addr(dev);
+       plat->bank = devfdt_get_addr(dev);
        if (plat->bank == FDT_ADDR_T_NONE) {
                printf("%s: No 'reg' property defined!\n", __func__);
                return -EINVAL;
index 6eaa0a08a26a914462e425f959aeb092467690c9..c986ef03805cc817141d7a02d85d8da99942bb34 100644 (file)
@@ -308,7 +308,7 @@ static int omap_gpio_bind(struct udevice *dev)
        if (plat)
                return 0;
 
-       base_addr = dev_read_addr(dev);
+       base_addr = devfdt_get_addr(dev);
        if (base_addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
@@ -347,7 +347,7 @@ static int omap_gpio_ofdata_to_platdata(struct udevice *dev)
        struct omap_gpio_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 58f044678b7de49e3764e311adae46a5a3d59b5e..51df5367ea7e6daa60efdf0e9cffb22224cc6441 100644 (file)
@@ -256,7 +256,7 @@ static int pm8941_pwrkey_probe(struct udevice *dev)
        struct pm8916_gpio_bank *priv = dev_get_priv(dev);
        int reg;
 
-       priv->pid = dev_read_addr(dev);
+       priv->pid = devfdt_get_addr(dev);
        if (priv->pid == FDT_ADDR_T_NONE)
                return log_msg_ret("bad address", -EINVAL);
 
index c78227f4da3bcd7e1fcf4f1f575f3d3cda1fc6d0..258f13395dde4f24ce29ce2dd03b386aedf47075 100644 (file)
@@ -316,7 +316,7 @@ static int gpio_exynos_bind(struct udevice *parent)
        if (plat)
                return 0;
 
-       base = dev_read_addr_ptr(parent);
+       base = (struct s5p_gpio_bank *)devfdt_get_addr(parent);
        for (node = fdt_first_subnode(blob, dev_of_offset(parent)), bank = base;
             node > 0;
             node = fdt_next_subnode(blob, node), bank++) {
@@ -339,7 +339,7 @@ static int gpio_exynos_bind(struct udevice *parent)
 
                dev_set_of_offset(dev, node);
 
-               reg = dev_read_addr(dev);
+               reg = devfdt_get_addr(dev);
                if (reg != FDT_ADDR_T_NONE)
                        bank = (struct s5p_gpio_bank *)((ulong)base + reg);
 
index bf3537b76bdbdc49cbf346d3d29dd8af018806c4..24da3b3c230dc7d4a696bef64e10a7dd0d452c0b 100644 (file)
@@ -159,7 +159,7 @@ static int sifive_gpio_ofdata_to_platdata(struct udevice *dev)
        struct sifive_gpio_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 3efccf496fc3af53e52845e128b4459f085fb95f..9c3a4428e11fb68c6a9520eb8ded5d8dea4a81f3 100644 (file)
@@ -293,7 +293,7 @@ static int gpio_sunxi_bind(struct udevice *parent)
        if (plat)
                return 0;
 
-       ctlr = dev_read_addr_ptr(parent);
+       ctlr = (struct sunxi_gpio_reg *)devfdt_get_addr(parent);
        for (bank = 0; bank < soc_data->no_banks; bank++) {
                struct sunxi_gpio_platdata *plat;
                struct udevice *dev;
index 4efff5c3643810a071af38b7110411c9c7bb95c7..d2c1d7d859013da212ce19cf80f25d1653e31fc2 100644 (file)
@@ -109,7 +109,7 @@ static int vybrid_gpio_odata_to_platdata(struct udevice *dev)
        struct vybrid_gpio_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t base_addr;
 
-       base_addr = dev_read_addr(dev);
+       base_addr = devfdt_get_addr(dev);
        if (base_addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 9d6c6d80e2a6047c573d96d1fa28c06419b92998..c817ed6bf9597e343d4c2b308d7f375240241941 100644 (file)
@@ -225,7 +225,7 @@ static int at91_i2c_ofdata_to_platdata(struct udevice *dev)
        struct at91_i2c_bus *bus = dev_get_priv(dev);
        int node = dev_of_offset(dev);
 
-       bus->regs = dev_read_addr_ptr(dev);
+       bus->regs = (struct at91_i2c_regs *)devfdt_get_addr(dev);
        bus->pdata = (struct at91_i2c_pdata *)dev_get_driver_data(dev);
        bus->clock_frequency = fdtdec_get_int(blob, node,
                                              "clock-frequency", 100000);
index a54f2151fd3ae88d855b23e8a85a24d9a2d4b51f..f8e9d003e61c9674bd8646fa5fbe72dcc1c48a34 100644 (file)
@@ -471,7 +471,7 @@ static int davinci_i2c_probe(struct udevice *dev)
        struct i2c_bus *i2c_bus = dev_get_priv(dev);
 
        i2c_bus->id = dev->seq;
-       i2c_bus->regs = dev_read_addr_ptr(dev);
+       i2c_bus->regs = (struct i2c_regs *)devfdt_get_addr(dev);
 
        i2c_bus->speed = 100000;
         _davinci_i2c_init(i2c_bus->regs, i2c_bus->speed, 0);
index 5785adedb6d06a21df7ec57353ea9c911a1ff531..4fc9d90580c5256c17878dd1043d572de87caf87 100644 (file)
@@ -525,7 +525,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
 
        node = dev_of_offset(dev);
 
-       i2c_bus->hsregs = dev_read_addr_ptr(dev);
+       i2c_bus->hsregs = (struct exynos5_hsi2c *)devfdt_get_addr(dev);
 
        i2c_bus->id = pinmux_decode_periph_id(blob, node);
 
index a110fe9e8d95b85266fbe85f652a203af7c146bb..d8b4a683bcedebb945d95e4e87a119d3ebabaa35 100644 (file)
@@ -94,7 +94,7 @@ static int uniphier_fi2c_probe(struct udevice *dev)
        fdt_addr_t addr;
        struct uniphier_fi2c_priv *priv = dev_get_priv(dev);
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index e7f44e14e9c2e3428d445dd8e45df009bbd70e31..f06523ab99b2fa6ea826e6521e7fa952c45ace73 100644 (file)
@@ -50,7 +50,7 @@ static int uniphier_i2c_probe(struct udevice *dev)
        fdt_addr_t addr;
        struct uniphier_i2c_priv *priv = dev_get_priv(dev);
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index feeed1e9a2f95ec43d348a19c14a00abfe75f8cd..b7b2aafc7f673db0b5b660881122ffa1281f0a2a 100644 (file)
@@ -447,7 +447,7 @@ static int imx_lpi2c_probe(struct udevice *bus)
 
        i2c_bus->driver_data = dev_get_driver_data(bus);
 
-       addr = dev_read_addr(bus);
+       addr = devfdt_get_addr(bus);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index b7e9ced898310490d73e8ad1ccaaf79e2f9a179f..a846e0a1fe00fdfd03a183dade8c920a4804769a 100644 (file)
@@ -678,7 +678,7 @@ static int iproc_i2c_ofdata_to_platdata(struct udevice *bus)
        int node = dev_of_offset(bus);
        const void *blob = gd->fdt_blob;
 
-       bus_prvdata->base = map_physmem(dev_read_addr(bus),
+       bus_prvdata->base = map_physmem(devfdt_get_addr(bus),
                                        sizeof(void *),
                                        MAP_NOCACHE);
 
index 1a1de672524178aa1e6c3b57346a08db9cbd66df..3b0d27e6cdb4316416368fe5bcb64dfae7670402 100644 (file)
@@ -899,7 +899,7 @@ static int mxc_i2c_probe(struct udevice *bus)
 
        i2c_bus->driver_data = dev_get_driver_data(bus);
 
-       addr = dev_read_addr(bus);
+       addr = devfdt_get_addr(bus);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 0af4e333c412799c56a70f8e95a28671e4fd82e6..8592a819c40a6fe54bc2092e6dc15ff14c0a0c61 100644 (file)
@@ -1067,7 +1067,7 @@ static int omap_i2c_ofdata_to_platdata(struct udevice *bus)
 {
        struct omap_i2c_platdata *plat = dev_get_platdata(bus);
 
-       plat->base = dev_read_addr(bus);
+       plat->base = devfdt_get_addr(bus);
        plat->speed = dev_read_u32_default(bus, "clock-frequency",
                                           I2C_SPEED_STANDARD_RATE);
        plat->ip_rev = dev_get_driver_data(bus);
index cb45d3c100fedb3105a91cd94dedac4bab08d5da..5907217981dc3b68ca91ea0228dbb2e378541a81 100644 (file)
@@ -310,7 +310,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
 
        node = dev_of_offset(dev);
 
-       i2c_bus->regs = dev_read_addr_ptr(dev);
+       i2c_bus->regs = (struct s3c24x0_i2c *)devfdt_get_addr(dev);
 
        i2c_bus->id = pinmux_decode_periph_id(blob, node);
 
index f07a51dc30768c15bd38076f63ca1c038f8d090d..3409bb61d54c6e870da7e194985bda4198824c83 100644 (file)
@@ -291,7 +291,7 @@ static int tegra_kbd_probe(struct udevice *dev)
        struct input_config *input = &uc_priv->input;
        int ret;
 
-       priv->kbc = dev_read_addr_ptr(dev);
+       priv->kbc = (struct kbc_tegra *)devfdt_get_addr(dev);
        if ((fdt_addr_t)priv->kbc == FDT_ADDR_T_NONE) {
                debug("%s: No keyboard register found\n", __func__);
                return -EINVAL;
index e91dac201d2ab613ed811bec5cda95c09f128949..f82e6d3d16684ebf1077c9e6104f0ea1a1dc0cde 100644 (file)
@@ -153,7 +153,7 @@ static int tegra_hsp_probe(struct udevice *dev)
 
        debug("%s(dev=%p)\n", __func__, dev);
 
-       thsp->regs = dev_read_addr(dev);
+       thsp->regs = devfdt_get_addr(dev);
        if (thsp->regs == FDT_ADDR_T_NONE)
                return -ENODEV;
 
index c6502650b75d08a9d52ebf449f686e91e2292458..387c70b07049bc468f9a230b7918827f2d41dd80 100644 (file)
@@ -73,7 +73,7 @@ static int altera_sysid_ofdata_to_platdata(struct udevice *dev)
 {
        struct altera_sysid_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct altera_sysid_regs),
                                 MAP_NOCACHE);
 
index 223aac8518a624bcacb192c79da599706b9b060b..ee635eb947104ab5f093b9cca7b7377e21af5967 100644 (file)
@@ -187,7 +187,7 @@ static int imx8_scu_probe(struct udevice *dev)
 
        debug("%s(dev=%p) (plat=%p)\n", __func__, dev, plat);
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 64cc4ae7b61ead62855b7b5b9cdb48bb0ab90025..44a8b180a4393a12770a51dd0ef9704b514576e8 100644 (file)
@@ -26,7 +26,7 @@ static int microchip_flexcom_ofdata_to_platdata(struct udevice *dev)
        struct microchip_flexcom_platdata *plat = dev_get_platdata(dev);
        int ret;
 
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct microchip_flexcom_regs),
                                MAP_NOCACHE);
 
index 543c65a8e359af22cfcdb6629eaecb4f7faf753a..8929e603f3384099ca1de53d7ae8ec061c03489f 100644 (file)
@@ -34,7 +34,7 @@ static int aspeed_sdhci_probe(struct udevice *dev)
                goto free;
 
        host->name = dev->name;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
 
        max_clk = clk_get_rate(&clk);
        if (IS_ERR_VALUE(max_clk)) {
index 0c53caf448c67382cacddd1b1e9d3144e19e7aa1..2b797c9bd4005485a5fac7210cfa753e1c0f73b1 100644 (file)
@@ -69,7 +69,7 @@ static int atmel_sdhci_probe(struct udevice *dev)
                return ret;
 
        host->name = dev->name;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
 
        host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD;
        host->bus_width = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
index 7a410d1dd361b97cf38d7bb1d2aa5826f81e8e85..5cdf3c506fe3f326bdd65b75f3f5309dca162bbd 100644 (file)
@@ -182,7 +182,7 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
        int ret;
        int clock_id = (int)dev_get_driver_data(dev);
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index b793028ab53edb965f986777ad3542710f67ced3..c4876e81f8cfdf931c594b274ec1673a040ebec3 100644 (file)
@@ -766,7 +766,7 @@ static int bcm2835_probe(struct udevice *dev)
        upriv->mmc = &plat->mmc;
        plat->cfg.name = dev->name;
 
-       host->phys_addr = dev_read_addr(dev);
+       host->phys_addr = devfdt_get_addr(dev);
        if (host->phys_addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 5269aa77cebdd98fd0a994aa7e2f67fae6a59ae2..c14f8289e6c6d0860c8bebd10012e58a60aa040d 100644 (file)
@@ -62,7 +62,7 @@ static int sdhci_bcmstb_probe(struct udevice *dev)
        fdt_addr_t base;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index bc0d5ffed5153a10ac85a387b995023c4002b7a6..fb28f0166f03357fc66db5e2ac2dd08bc18f6cd9 100644 (file)
@@ -395,7 +395,7 @@ static int ftsdc010_mmc_ofdata_to_platdata(struct udevice *dev)
        struct ftsdc_priv *priv = dev_get_priv(dev);
        struct ftsdc010_chip *chip = &priv->chip;
        chip->name = dev->name;
-       chip->ioaddr = dev_read_addr_ptr(dev);
+       chip->ioaddr = (void *)devfdt_get_addr(dev);
        chip->buswidth = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
                                        "bus-width", 4);
        chip->priv = dev;
index 67d6a05b3b5b2ad9c31b2c8c29aac24d8c9f227d..6de7924383594f72679c9b16c85eaf78c88e21b7 100644 (file)
@@ -33,7 +33,7 @@ static int hi6220_dwmmc_ofdata_to_platdata(struct udevice *dev)
        struct dwmci_host *host = &priv->host;
 
        host->name = dev->name;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
        host->buswidth = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
                                        "bus-width", 4);
 
index 9f530638e31308c6745fc62966bcdd4cf72448fa..91e2e3f0b87200461ebade9e04059485b25b8203 100644 (file)
@@ -188,7 +188,7 @@ static int iproc_sdhci_probe(struct udevice *dev)
        iproc_host->shadow_blk = 0;
 
        host->name = dev->name;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
        host->voltages = MMC_VDD_165_195 |
                         MMC_VDD_32_33 | MMC_VDD_33_34;
        host->quirks = SDHCI_QUIRK_BROKEN_VOLTAGE | SDHCI_QUIRK_BROKEN_R1B;
index b33f0850738c1eab54cdedd014393b906981fb48..d3f1eddf4506e74f9fc4e07b32c93c25fca32009 100644 (file)
@@ -450,7 +450,7 @@ static int jz_mmc_ofdata_to_platdata(struct udevice *dev)
        struct mmc_config *cfg;
        int ret;
 
-       priv->regs = map_physmem(dev_read_addr(dev), 0x100, MAP_NOCACHE);
+       priv->regs = map_physmem(devfdt_get_addr(dev), 0x100, MAP_NOCACHE);
        cfg = &plat->cfg;
 
        cfg->name = "MSC";
index 719dd1e5e5706132ecd62ac94f1560e43c419926..b7f793cd0479d88d84c089a8947748427777d2b0 100644 (file)
@@ -228,7 +228,7 @@ static int meson_mmc_ofdata_to_platdata(struct udevice *dev)
        struct meson_mmc_platdata *pdata = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 56c3e35c9e9857aab40f3973d9a7b11126a387c8..da3ae2ec3585e5ba214ca29d0773114517f4128f 100644 (file)
@@ -171,7 +171,7 @@ static int msm_ofdata_to_platdata(struct udevice *dev)
        int node = dev_of_offset(dev);
 
        host->name = strdup(dev->name);
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
        host->bus_width = fdtdec_get_int(gd->fdt_blob, node, "bus-width", 4);
        host->index = fdtdec_get_uint(gd->fdt_blob, node, "index", 0);
        priv->base = (void *)fdtdec_get_addr_size_auto_parent(gd->fdt_blob,
index 9b3dfa13e619fb33c7b3d84d14f86ddbed07b2d7..f5f3e43247196eac38e5eaf473e98d33f801311a 100644 (file)
@@ -112,7 +112,7 @@ static int mv_sdhci_probe(struct udevice *dev)
        int ret;
 
        host->name = MVSDH_NAME;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
        host->quirks = SDHCI_QUIRK_32BIT_DMA_ADDR | SDHCI_QUIRK_WAIT_SEND_CMD;
        host->mmc = &plat->mmc;
        host->mmc->dev = dev;
index 715eee0e3e0da1b8ec33d91c44834394b2553db1..db1f85125f9a57d67e66b232db4b48e50b7e2014 100644 (file)
@@ -1911,7 +1911,7 @@ static int omap_hsmmc_ofdata_to_platdata(struct udevice *dev)
        int node = dev_of_offset(dev);
        int ret;
 
-       plat->base_addr = map_physmem(dev_read_addr(dev),
+       plat->base_addr = map_physmem(devfdt_get_addr(dev),
                                      sizeof(struct hsmmc *),
                                      MAP_NOCACHE);
 
@@ -1933,7 +1933,7 @@ static int omap_hsmmc_ofdata_to_platdata(struct udevice *dev)
                plat->controller_flags |= of_data->controller_flags;
 
 #ifdef CONFIG_OMAP54XX
-       fixups = platform_fixups_mmc(dev_read_addr(dev));
+       fixups = platform_fixups_mmc(devfdt_get_addr(dev));
        if (fixups) {
                plat->hw_rev = fixups->hw_rev;
                cfg->host_caps &= ~fixups->unsupported_caps;
index cc99bebc3058828458254cdea2f681db154b81e0..7b5010b6558953a3a785011ef25430eb94020efd 100644 (file)
@@ -260,7 +260,7 @@ static int sdhci_cdns_probe(struct udevice *dev)
        fdt_addr_t base;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index ad386909e9041328c350082e70e73764defd324c..2e994d0178d9ff8186294134c38cfbf221e95818 100644 (file)
@@ -680,7 +680,7 @@ static int sh_mmcif_dm_probe(struct udevice *dev)
        fdt_addr_t base;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 315f95cce8291e81606fa54042837568fffa89c6..772fe943e4d9496379cedd1089b5e0275dbc167c 100644 (file)
@@ -834,7 +834,7 @@ static int sh_sdhi_dm_probe(struct udevice *dev)
        fdt_addr_t base;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 0022f943bd733af1c8f27f5dd49315bbeea2c829..892222d27da9ec913b7cc5a4abab6fbad1e114a2 100644 (file)
@@ -109,7 +109,7 @@ static int socfpga_dwmmc_ofdata_to_platdata(struct udevice *dev)
        }
 
        host->name = dev->name;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
        host->buswidth = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
                                        "bus-width", 4);
        host->clksel = socfpga_dwmci_clksel;
index 5578feebef7265c0fd7caa9e9f06f4f49118764b..9bcd8ce5f6c15b28287f4ee4863e2d9d6a0ab5d7 100644 (file)
@@ -116,7 +116,7 @@ static int sti_sdhci_ofdata_to_platdata(struct udevice *dev)
        struct sdhci_host *host = dev_get_priv(dev);
 
        host->name = strdup(dev->name);
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
 
        host->bus_width = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
                                         "bus-width", 4);
index 879e2c98a21d2be752f3d06d338f73950e85ffa2..0d6e5d62460b375c7b0a16934fd78a623e82a340 100644 (file)
@@ -35,7 +35,7 @@ static int sdhci_tangier_probe(struct udevice *dev)
        fdt_addr_t base;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index c65397367662e1fae7a9a579ed525e5b68384f38..20cd237ef0ebccbe2bbcfb1157ca1582fdd54e65 100644 (file)
@@ -722,7 +722,7 @@ int tmio_sd_probe(struct udevice *dev, u32 quirks)
        ulong mclk;
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 356dd9846d6f69376c42b4b4aa5c07ba85741009..e765dd384acb33df92868ff134b7b08c9818495f 100644 (file)
@@ -455,7 +455,7 @@ static int xenon_sdhci_ofdata_to_platdata(struct udevice *dev)
        const char *name;
 
        host->name = dev->name;
-       host->ioaddr = dev_read_addr_ptr(dev);
+       host->ioaddr = (void *)devfdt_get_addr(dev);
 
        if (device_is_compatible(dev, "marvell,armada-3700-sdhci"))
                priv->pad_ctrl_reg = (void *)devfdt_get_addr_index(dev, 1);
index ccba3947ac56dd2934a4532533acc27f5b27769d..3b5d11f956d184fd6ce061b5e37e5d2574bfa412 100644 (file)
@@ -1256,7 +1256,7 @@ static int ag7xxx_eth_ofdata_to_platdata(struct udevice *dev)
        const char *phy_mode;
        int ret;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        pdata->phy_interface = -1;
 
        /* Decoding of convoluted PHY wiring on Atheros MIPS. */
index 1d9eefbb3e80f0c4853a64e38a319918fd5cf868..62941bb1753067d7bf8d90fa694c3fdd6af940a3 100644 (file)
@@ -1995,9 +1995,9 @@ static int eqos_probe(struct udevice *dev)
        eqos->dev = dev;
        eqos->config = (void *)dev_get_driver_data(dev);
 
-       eqos->regs = dev_read_addr(dev);
+       eqos->regs = devfdt_get_addr(dev);
        if (eqos->regs == FDT_ADDR_T_NONE) {
-               pr_err("dev_read_addr() failed");
+               pr_err("devfdt_get_addr() failed");
                return -ENODEV;
        }
        eqos->mac_regs = (void *)(eqos->regs + EQOS_MAC_REGS_BASE);
index b9d80a5b08a4dfc0e3fdef7c3dab1680bd194ddb..fd589a0764c7cc9025ace234b4a6c933ac3bf04a 100644 (file)
@@ -690,7 +690,7 @@ static int ethoc_ofdata_to_platdata(struct udevice *dev)
        struct ethoc_eth_pdata *pdata = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       pdata->eth_pdata.iobase = dev_read_addr(dev);
+       pdata->eth_pdata.iobase = devfdt_get_addr(dev);
        addr = devfdt_get_addr_index(dev, 1);
        if (addr != FDT_ADDR_T_NONE)
                pdata->packet_base = addr;
index bb55be9a26799a525597077e5f3121871999bd40..b3d4acb1062b0e0196134e8f18457d535b7fbec9 100644 (file)
@@ -1534,7 +1534,7 @@ static int fecmxc_ofdata_to_platdata(struct udevice *dev)
        struct fec_priv *priv = dev_get_priv(dev);
        const char *phy_mode;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = (phys_addr_t)devfdt_get_addr(dev);
        priv->eth = (struct ethernet_regs *)pdata->iobase;
 
        pdata->phy_interface = -1;
index e27f7e5321ad5e3cef84d412b92f975cd1099a22..f33529cb676bde71e4e5b23364798e16b04f76f9 100644 (file)
@@ -570,7 +570,7 @@ static int mcdmafec_ofdata_to_platdata(struct udevice *dev)
        struct eth_pdata *pdata = dev_get_platdata(dev);
        const u32 *val;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = (phys_addr_t)devfdt_get_addr(dev);
        /* Default to 10Mbit/s */
        pdata->max_speed = 10;
 
index 5676a5b3ba938d34f3d935e6b8fe5f5f636afb23..e4d08f2ba0131155beef9837e40f93acd28ce047 100644 (file)
@@ -517,7 +517,7 @@ static int ftgmac100_ofdata_to_platdata(struct udevice *dev)
        struct ftgmac100_data *priv = dev_get_priv(dev);
        const char *phy_mode;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        pdata->phy_interface = -1;
        phy_mode = dev_read_string(dev, "phy-mode");
        if (phy_mode)
index 292690de9615949367a89b4b2369aed0ad707f5c..79c64ec89ae84c8d8e109719d051edea45ca3d38 100644 (file)
@@ -398,7 +398,7 @@ static int ftmac100_ofdata_to_platdata(struct udevice *dev)
        struct ftmac100_data *priv = dev_get_priv(dev);
        struct eth_pdata *pdata = dev_get_platdata(dev);
        const char *mac;
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        priv->iobase = pdata->iobase;
        mac = dtbmacaddr(0);
        if (mac)
index d22668446da166f7c6ab60d05cffac1d02661c05..1773c7671f38e74383bd097129af8ccda90f793b 100644 (file)
@@ -642,7 +642,7 @@ static int ks8851_ofdata_to_platdata(struct udevice *dev)
        struct ks_net *ks = dev_get_priv(dev);
        struct eth_pdata *pdata = dev_get_platdata(dev);
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        ks->iobase = pdata->iobase;
 
        return 0;
index f94a2d8123c37b393f3fd2b677a4f8a2f3f6d99f..1a8351be1c5ea63b4a3e8cda7b50d64bf3cf2e75 100644 (file)
@@ -589,7 +589,7 @@ static int mcffec_ofdata_to_platdata(struct udevice *dev)
        struct eth_pdata *pdata = dev_get_platdata(dev);
        const u32 *val;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = (phys_addr_t)devfdt_get_addr(dev);
        /* Default to 10Mbit/s */
        pdata->max_speed = 10;
 
index a06a15772c9bdd726d1ace81629f3cb98c6062cb..86f1360ae35a1e3159b5d27b105990abc9e887eb 100644 (file)
@@ -1418,7 +1418,7 @@ static int mtk_eth_ofdata_to_platdata(struct udevice *dev)
 
        priv->soc = dev_get_driver_data(dev);
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
 
        /* get corresponding ethsys phandle */
        ret = dev_read_phandle_with_args(dev, "mediatek,ethsys", NULL, 0, 0,
index 2f9464b961a9381399682ca0a7c0613e35be877e..86b1b8cee5d287b280f2da0d7bb38abf6f17eacd 100644 (file)
@@ -997,7 +997,7 @@ static int mvgbe_ofdata_to_platdata(struct udevice *dev)
        int pnode;
        unsigned long addr;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        pdata->phy_interface = -1;
 
        pnode = fdt_node_offset_by_compatible(blob, node,
index 4c7d06ca40e5da1761d561334570579ea3d3c6b5..092f619bd5cc75f8019b1da2bd53e31b7af48f54 100644 (file)
@@ -1796,7 +1796,7 @@ static int mvneta_ofdata_to_platdata(struct udevice *dev)
        struct eth_pdata *pdata = dev_get_platdata(dev);
        const char *phy_mode;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
 
        /* Get phy-mode / phy_interface from DT */
        pdata->phy_interface = -1;
index 886f53ee82741acbc4b6fe613c10f5aa84403605..393ee9bb816a94283b5d3833bacbf59af5b05b31 100644 (file)
@@ -651,7 +651,7 @@ int ravb_ofdata_to_platdata(struct udevice *dev)
        const fdt32_t *cell;
        int ret = 0;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        pdata->phy_interface = -1;
        phy_mode = fdt_getprop(gd->fdt_blob, dev_of_offset(dev), "phy-mode",
                               NULL);
index 4cbffb14c517754798125ae619c261eca178c4fa..8823769eddfd8a0c3444ae14fa6293b72969d989 100644 (file)
@@ -918,7 +918,7 @@ int sh_ether_ofdata_to_platdata(struct udevice *dev)
        const fdt32_t *cell;
        int ret = 0;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        pdata->phy_interface = -1;
        phy_mode = fdt_getprop(gd->fdt_blob, dev_of_offset(dev), "phy-mode",
                               NULL);
index 09372d7f6ba9d91cbb882a5c13114ddb9974ca87..9c5dc46483f11fb747fb2cd72d184deba84b02a2 100644 (file)
@@ -612,7 +612,7 @@ static int smc911x_ofdata_to_platdata(struct udevice *dev)
        struct smc911x_priv *priv = dev_get_priv(dev);
        struct eth_pdata *pdata = dev_get_platdata(dev);
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        priv->iobase = pdata->iobase;
 
        return 0;
index 0f7ada8c3e2ca5f85b2f7a33e0d25a5374d47d11..078463568950001ed98cd8a56cae556509b1232f 100644 (file)
@@ -746,7 +746,7 @@ static int ave_ofdata_to_platdata(struct udevice *dev)
        if (!priv->data)
                return -EINVAL;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        pdata->phy_interface = -1;
        phy_mode = fdt_getprop(gd->fdt_blob, dev_of_offset(dev), "phy-mode",
                               NULL);
index 546cc6ccb6ef55e778cf15ea8d3e519011e42855..e2b05ace8f7189f89304042ece87b43275c4e25b 100644 (file)
@@ -919,7 +919,7 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev)
 #endif
        int ret;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        if (pdata->iobase == FDT_ADDR_T_NONE) {
                debug("%s: Cannot find MAC base address\n", __func__);
                return -EINVAL;
index df18ecc06450bfb5f83b0a76672990995d04dd4e..6364beb9f2a8f31655d7f0fe29a7f1dc9d20887f 100644 (file)
@@ -594,7 +594,7 @@ static int sunxi_emac_eth_ofdata_to_platdata(struct udevice *dev)
 {
        struct eth_pdata *pdata = dev_get_platdata(dev);
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
 
        return 0;
 }
index 50f0d33a83b57069926dfccd120532079e625245..e3ac40ca0d0a008c6ff4ddeb1a2e14b00c15a7fb 100644 (file)
@@ -787,7 +787,7 @@ static int ks2_eth_ofdata_to_platdata(struct udevice *dev)
 
        ks2_eth_parse_slave_interface(dev_of_offset(dev), gbe_0, priv, pdata);
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
 
        return 0;
 }
index 99d4d85c5270357a720a567bdc06eb6b41b107f2..2cd55967684683648073382e1e2417b2d5143dd3 100644 (file)
@@ -722,7 +722,7 @@ static int axi_emac_ofdata_to_platdata(struct udevice *dev)
        int offset = 0;
        const char *phy_mode;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = (phys_addr_t)devfdt_get_addr(dev);
        priv->iobase = (struct axi_regs *)pdata->iobase;
 
        offset = fdtdec_lookup_phandle(gd->fdt_blob, node,
index 64c18bae74b0edbb1044d18535f2cbe16f568256..9bdb6798b6708a38519c7b07bd353137cdd5a9ce 100644 (file)
@@ -599,7 +599,7 @@ static int emaclite_ofdata_to_platdata(struct udevice *dev)
        struct xemaclite *emaclite = dev_get_priv(dev);
        int offset = 0;
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = (phys_addr_t)devfdt_get_addr(dev);
        emaclite->regs = (struct emaclite_regs *)ioremap_nocache(pdata->iobase,
                                                                 0x10000);
 
index 74dfdde154ee8eb8135b2e656d60364c90b3f63f..59231d340a54d279526981dce7af6d2879d277b8 100644 (file)
@@ -144,7 +144,7 @@ static int cdns_pci_ep_probe(struct udevice *dev)
 {
        struct cdns_pcie *pdata = dev_get_priv(dev);
 
-       pdata->reg_base = dev_read_addr_ptr(dev);
+       pdata->reg_base = (void __iomem *)devfdt_get_addr(dev);
        if (!pdata->reg_base)
                return -ENOMEM;
 
index 61e80818743d518c3d684e27ee1d76586544b8b7..a0625d7c835c9b03d42d91d17eed0c3e94f8d0ca 100644 (file)
@@ -111,7 +111,7 @@ static int ar933x_pinctrl_probe(struct udevice *dev)
        struct ar933x_pinctrl_priv *priv = dev_get_priv(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 2d5a4a3ab23837ec051ac9b7a22bdc1ccd3b4e09..c9f9608c92e8790b3b183dc841ecd9fb23411468 100644 (file)
@@ -131,7 +131,7 @@ static int qca953x_pinctrl_probe(struct udevice *dev)
        struct qca953x_pinctrl_priv *priv = dev_get_priv(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 4cdc071d559db6560b6a18885ccddcb6d910f491..e3ac5a6e498de59c3455759c0b63de47f556dbe9 100644 (file)
@@ -127,7 +127,7 @@ int exynos_pinctrl_probe(struct udevice *dev)
        if (!priv)
                return -EINVAL;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index fb497803b9391fc36d7a858952799e366d7b935b..2dee79af17ebaf1cae4424b34ffd381ecf68093a 100644 (file)
@@ -592,7 +592,7 @@ int armada_37xx_pinctrl_probe(struct udevice *dev)
        info->data = (struct armada_37xx_pin_data *)dev_get_driver_data(dev);
        pin_data = info->data;
 
-       info->base = dev_read_addr_ptr(dev);
+       info->base = (void __iomem *)devfdt_get_addr(dev);
        if (!info->base) {
                pr_err("unable to find regmap\n");
                return -ENODEV;
index fdb7920b558d6a541aba799a5eac6754197bc480..801d14253c10ae771e6f76d53ca9e9d5c26e0f63 100644 (file)
@@ -158,7 +158,7 @@ static int atmel_pinctrl_probe(struct udevice *dev)
        fdt_addr_t addr_base;
 
        dev = dev_get_parent(dev);
-       addr_base = dev_read_addr(dev);
+       addr_base = devfdt_get_addr(dev);
        if (addr_base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 9d7814a5f25dc2608c4f5d08b057c039ae93d4f7..5055780bf75eb3fb5ccd5edc439f5729e2191771 100644 (file)
@@ -112,7 +112,7 @@ static int r7s72100_pfc_probe(struct udevice *dev)
        fdt_addr_t addr_base;
        ofnode node;
 
-       addr_base = dev_read_addr(dev);
+       addr_base = devfdt_get_addr(dev);
        if (addr_base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 340c8c0a74ff6d8217d81c022244c09fcf2d808f..1179afd2e7b266cbfca0fc36ced03ddaf21bac53 100644 (file)
@@ -817,7 +817,7 @@ static int sh_pfc_pinctrl_probe(struct udevice *dev)
        enum sh_pfc_model model = dev_get_driver_data(dev);
        fdt_addr_t base;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 631bb1f963b998654ce15542f5350dbce26d37d1..8545b9d0707885aa831e98ea60d41d78a2f97640 100644 (file)
@@ -422,7 +422,7 @@ int uniphier_pinctrl_probe(struct udevice *dev,
        struct uniphier_pinctrl_priv *priv = dev_get_priv(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev->parent);
+       addr = devfdt_get_addr(dev->parent);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index e55fcceafd711fd1f5b6b544166a51a0509cb799..fed1583796af59fde7a07c4d24a3c17f15aba2f1 100644 (file)
@@ -92,7 +92,7 @@ static int exynos_pwm_ofdata_to_platdata(struct udevice *dev)
 {
        struct exynos_pwm_priv *priv = dev_get_priv(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct s5p_timer *)devfdt_get_addr(dev);
 
        return 0;
 }
index 77a1907fd3ba7a0a0de69ea8d9dce75989b8fe9b..f5b9544cb8ddbe102928e45533bac41d32de0733 100644 (file)
@@ -130,7 +130,7 @@ static int imx_pwm_ofdata_to_platdata(struct udevice *dev)
 {
        struct imx_pwm_priv *priv = dev_get_priv(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct pwm_regs *)devfdt_get_addr(dev);
 
        return 0;
 }
index 7bd82518d67ba109bf748dd430617809f132ec74..97ed477025f4e84a29b3b91826b75791c8fec6d7 100644 (file)
@@ -130,7 +130,7 @@ static int mtk_pwm_probe(struct udevice *dev)
        int i;
 
        priv->soc = (struct mtk_pwm_soc *)dev_get_driver_data(dev);
-       priv->base = dev_read_addr_ptr(dev);
+       priv->base = (void __iomem *)devfdt_get_addr(dev);
        if (!priv->base)
                return -EINVAL;
        ret = clk_get_by_name(dev, "top", &priv->top_clk);
index e2ae1a8009193e8e82da753aa13f3e5882c98d0c..56215dbf6c22304fdf07b2d7416d5013a1be6ee0 100644 (file)
@@ -152,7 +152,7 @@ static int sunxi_pwm_ofdata_to_platdata(struct udevice *dev)
 {
        struct sunxi_pwm_priv *priv = dev_get_priv(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct sunxi_pwm *)devfdt_get_addr(dev);
 
        return 0;
 }
index fe1bd5541bdaf3ad86f28bb5855c16c4b4fdf907..06079d2a9ce822c15b60657edbac95c6a0d8672c 100644 (file)
@@ -247,7 +247,7 @@ static int uniphier_reset_probe(struct udevice *dev)
        struct uniphier_reset_priv *priv = dev_get_priv(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev->parent);
+       addr = devfdt_get_addr(dev->parent);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index ed057f7bc4e41fc770e5f7ea3a98443accfeafbe..6f49505d4eb7cd014765528457b014287140de30 100644 (file)
@@ -172,7 +172,7 @@ static int mv_rtc_ofdata_to_platdata(struct udevice *dev)
 {
        struct mvrtc_pdata *pdata = dev_get_platdata(dev);
 
-       pdata->iobase = dev_read_addr(dev);
+       pdata->iobase = devfdt_get_addr(dev);
        return 0;
 }
 
index 35b76f53f93d06c3a9b5f859dafb3465622926ee..7a86161a0dfd219d9c58c08cac236b5f64f670b0 100644 (file)
@@ -95,7 +95,7 @@ static int altera_jtaguart_ofdata_to_platdata(struct udevice *dev)
 {
        struct altera_jtaguart_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct altera_jtaguart_regs),
                                 MAP_NOCACHE);
 
index 0be5cd75c8533040ee06a4e2c681b76e7112f244..f88a293d56098ba5aba2aa9171b32e4cbd6c7bbd 100644 (file)
@@ -87,7 +87,7 @@ static int altera_uart_ofdata_to_platdata(struct udevice *dev)
 {
        struct altera_uart_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct altera_uart_regs),
                                 MAP_NOCACHE);
        plat->uartclk = dev_read_u32_default(dev, "clock-frequency", 0);
index f759ea8893d168d8c959dbd022315861b0ae9092..71cb31ff75ed2c12cb4961818cc136d892d7b9d5 100644 (file)
@@ -268,7 +268,7 @@ static int atmel_serial_probe(struct udevice *dev)
 #if CONFIG_IS_ENABLED(OF_CONTROL)
        fdt_addr_t addr_base;
 
-       addr_base = dev_read_addr(dev);
+       addr_base = devfdt_get_addr(dev);
        if (addr_base == FDT_ADDR_T_NONE)
                return -ENODEV;
 
index 9de94b69bd04e5350f4e98990bd6204ad87265aa..382c3b3d34a3cc6960a784585a907bd59c17f168 100644 (file)
@@ -150,7 +150,7 @@ static int ar933x_serial_probe(struct udevice *dev)
        fdt_addr_t addr;
        u32 val;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 04063fbe39976001ff02edd134bea74a779bb989..70dbc6d6b53f50eaaceba28d47e528fa95363fac 100644 (file)
@@ -114,7 +114,7 @@ static int arc_serial_ofdata_to_platdata(struct udevice *dev)
        struct arc_serial_platdata *plat = dev_get_platdata(dev);
        DECLARE_GLOBAL_DATA_PTR;
 
-       plat->reg = dev_read_addr_ptr(dev);
+       plat->reg = (struct arc_serial_regs *)devfdt_get_addr(dev);
        plat->uartclk = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
                                       "clock-frequency", 0);
 
index 8a4af87eb6404abc3c210f6e14aff29751be855b..0102b10ed25abd2a72150dee82f0c19339bac3b9 100644 (file)
@@ -171,7 +171,7 @@ static int bcm283x_mu_serial_probe(struct udevice *dev)
         * since we need the soc simple-bus to be probed so that the 'ranges'
         * property is used.
         */
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 95cbe63b3d14240c2d21fc5dda8fc2afa5354dd5..0c63c41270eb43172df11e7fe32f3c943a531f7a 100644 (file)
@@ -518,7 +518,7 @@ static int lpuart_serial_ofdata_to_platdata(struct udevice *dev)
        int node = dev_of_offset(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 402fd5343c1330d6ca52888329b010ffc2ee2783..b599064b48807403adf6e2ab53f42d277b754f45 100644 (file)
@@ -145,7 +145,7 @@ static int coldfire_ofdata_to_platdata(struct udevice *dev)
        struct coldfire_serial_platdata *plat = dev_get_platdata(dev);
        fdt_addr_t addr_base;
 
-       addr_base = dev_read_addr(dev);
+       addr_base = devfdt_get_addr(dev);
        if (addr_base == FDT_ADDR_T_NONE)
                return -ENODEV;
 
index 8cf849f8fe7e21c2dcdef6a348f0bc3983891c1c..439057b1b9afcb20323ec5fac87a9a0304614aba 100644 (file)
@@ -106,7 +106,7 @@ static int meson_serial_ofdata_to_platdata(struct udevice *dev)
        struct meson_serial_platdata *plat = dev->platdata;
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index a1c9abcfbba267c3a4b4761498c935dfe4694cd4..0cc1aadce4a5b677b5137995059850cb8f4984fc 100644 (file)
@@ -219,7 +219,7 @@ static int msm_serial_ofdata_to_platdata(struct udevice *dev)
 {
        struct msm_serial_data *priv = dev_get_priv(dev);
 
-       priv->base = dev_read_addr(dev);
+       priv->base = devfdt_get_addr(dev);
        if (priv->base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index de6cefcd3acf2d5228e709b02897e8917c99aa87..42abb96a26f4e15a5fa3b20698f479712b49c6ea 100644 (file)
@@ -330,7 +330,7 @@ static int mxc_serial_ofdata_to_platdata(struct udevice *dev)
        struct mxc_serial_platdata *plat = dev->platdata;
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 2772c25f1d2d4f3706029c661fff9a3c8bb1f21e..6e5d81ce34a422663b41d5716ee0755b6bc1b034 100644 (file)
@@ -354,7 +354,7 @@ int pl01x_serial_ofdata_to_platdata(struct udevice *dev)
        fdt_addr_t addr;
        int ret;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 9bb2be21e7b8751f3b0758be57c2d83eaee30926..e3160cf1bd76104ea45b92b9a37cae53c1d8879a 100644 (file)
@@ -181,7 +181,7 @@ static int s5p_serial_ofdata_to_platdata(struct udevice *dev)
        struct s5p_serial_platdata *plat = dev->platdata;
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 13b179f03ded3a768e99b85181ae1fd2942e0b15..5f45d58e5800bc0bd79af480ecb754b5bb2c76db 100644 (file)
@@ -211,7 +211,7 @@ static int sh_serial_ofdata_to_platdata(struct udevice *dev)
        fdt_addr_t addr;
        int ret;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (!addr)
                return -EINVAL;
 
index 33ff396bff7e372614981665d31e6414fd2d69c9..5fbbfac82078debf6ef55b9f38215d8508954082 100644 (file)
@@ -171,7 +171,7 @@ static int sti_asc_serial_probe(struct udevice *dev)
        unsigned long val;
        fdt_addr_t base;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index cab0db2c96a32ba5a03ff183ac5403ae8dfb8332..e77b90670a3944ab817b571992fe84653c4e9a9a 100644 (file)
@@ -221,7 +221,7 @@ static int stm32_serial_ofdata_to_platdata(struct udevice *dev)
 {
        struct stm32x7_serial_platdata *plat = dev_get_platdata(dev);
 
-       plat->base = dev_read_addr(dev);
+       plat->base = devfdt_get_addr(dev);
        if (plat->base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 4004cb8d48a4b443bb7990598ed41b14ab8136fd..ad691b66daacdecface9bf8bfc7164b2fb4469ad 100644 (file)
@@ -115,7 +115,7 @@ static int uniphier_serial_probe(struct udevice *dev)
        fdt_addr_t base;
        u32 tmp;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 5116d13751ded062ff4addb62d4fb065445d6536..f29a9a0b569c549732b3fb7ece637b65f5e92c49 100644 (file)
@@ -85,7 +85,7 @@ static int uartlite_serial_ofdata_to_platdata(struct udevice *dev)
 {
        struct uartlite_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = dev_read_addr_ptr(dev);
+       plat->regs = (struct uartlite *)devfdt_get_addr(dev);
 
        return 0;
 }
index 864d00a885385dfd711454cb2e30562283bd9b8b..7b4e4d613088232ecbde52d41d8f5bcb4364b7e7 100644 (file)
@@ -1,21 +1,5 @@
 menu "SOC (System On Chip) specific Drivers"
 
-config SOC_DEVICE
-       bool "Enable SoC Device ID drivers using Driver Model"
-       help
-         This allows drivers to be provided for SoCs to help in identifying
-         the SoC in use and matching SoC attributes for selecting SoC
-         specific data. This is useful for other device drivers that may
-         need different parameters or quirks enabled depending on the
-         specific device variant in use.
-
-config SOC_DEVICE_TI_K3
-       depends on SOC_DEVICE
-       bool "Enable SoC Device ID driver for TI K3 SoCs"
-       help
-         This allows Texas Instruments Keystone 3 SoCs to identify
-         specifics about the SoC in use.
-
 source "drivers/soc/ti/Kconfig"
 
 endmenu
index 9ef20ca5066fe6e39dc23a48cc32de745ddecf69..ce253b7aa88612f2425dd0fbe5d8c003693ac365 100644 (file)
@@ -3,6 +3,3 @@
 # Makefile for the U-Boot SOC specific device drivers.
 
 obj-$(CONFIG_SOC_TI) += ti/
-obj-$(CONFIG_SOC_DEVICE) += soc-uclass.o
-obj-$(CONFIG_SOC_DEVICE_TI_K3) += soc_ti_k3.o
-obj-$(CONFIG_SANDBOX) += soc_sandbox.o
diff --git a/drivers/soc/soc-uclass.c b/drivers/soc/soc-uclass.c
deleted file mode 100644 (file)
index c32d647..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * (C) Copyright 2020 - Texas Instruments Incorporated - http://www.ti.com/
- *     Dave Gerlach <d-gerlach@ti.com>
- */
-
-#include <common.h>
-#include <soc.h>
-#include <dm.h>
-#include <errno.h>
-#include <dm/lists.h>
-#include <dm/root.h>
-
-int soc_get(struct udevice **devp)
-{
-       return uclass_first_device_err(UCLASS_SOC, devp);
-}
-
-int soc_get_machine(struct udevice *dev, char *buf, int size)
-{
-       struct soc_ops *ops = soc_get_ops(dev);
-
-       if (!ops->get_machine)
-               return -ENOSYS;
-
-       return ops->get_machine(dev, buf, size);
-}
-
-int soc_get_family(struct udevice *dev, char *buf, int size)
-{
-       struct soc_ops *ops = soc_get_ops(dev);
-
-       if (!ops->get_family)
-               return -ENOSYS;
-
-       return ops->get_family(dev, buf, size);
-}
-
-int soc_get_revision(struct udevice *dev, char *buf, int size)
-{
-       struct soc_ops *ops = soc_get_ops(dev);
-
-       if (!ops->get_revision)
-               return -ENOSYS;
-
-       return ops->get_revision(dev, buf, size);
-}
-
-const struct soc_attr *
-soc_device_match(const struct soc_attr *matches)
-{
-       bool match;
-       struct udevice *soc;
-       char str[SOC_MAX_STR_SIZE];
-
-       if (!matches)
-               return NULL;
-
-       if (soc_get(&soc))
-               return NULL;
-
-       while (1) {
-               if (!(matches->machine || matches->family ||
-                     matches->revision))
-                       break;
-
-               match = true;
-
-               if (matches->machine) {
-                       if (!soc_get_machine(soc, str, SOC_MAX_STR_SIZE)) {
-                               if (strcmp(matches->machine, str))
-                                       match = false;
-                       }
-               }
-
-               if (matches->family) {
-                       if (!soc_get_family(soc, str, SOC_MAX_STR_SIZE)) {
-                               if (strcmp(matches->family, str))
-                                       match = false;
-                       }
-               }
-
-               if (matches->revision) {
-                       if (!soc_get_revision(soc, str, SOC_MAX_STR_SIZE)) {
-                               if (strcmp(matches->revision, str))
-                                       match = false;
-                       }
-               }
-
-               if (match)
-                       return matches;
-
-               matches++;
-       }
-
-       return NULL;
-}
-
-UCLASS_DRIVER(soc) = {
-       .id             = UCLASS_SOC,
-       .name           = "soc",
-};
diff --git a/drivers/soc/soc_sandbox.c b/drivers/soc/soc_sandbox.c
deleted file mode 100644 (file)
index 5c82ad8..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Sandbox driver for the SOC uclass
- *
- * (C) Copyright 2020 - Texas Instruments Incorporated - http://www.ti.com/
- * Dave Gerlach <d-gerlach@ti.com>
- */
-
-#include <common.h>
-#include <dm.h>
-#include <soc.h>
-
-int soc_sandbox_get_family(struct udevice *dev, char *buf, int size)
-{
-       snprintf(buf, size, "SANDBOX1xx");
-
-       return 0;
-}
-
-int soc_sandbox_get_machine(struct udevice *dev, char *buf, int size)
-{
-       snprintf(buf, size, "SANDBOX123");
-
-       return 0;
-}
-
-int soc_sandbox_get_revision(struct udevice *dev, char *buf, int size)
-{
-       snprintf(buf, size, "1.0");
-
-       return 0;
-}
-
-static const struct soc_ops soc_sandbox_ops = {
-       .get_family = soc_sandbox_get_family,
-       .get_revision = soc_sandbox_get_revision,
-       .get_machine = soc_sandbox_get_machine,
-};
-
-int soc_sandbox_probe(struct udevice *dev)
-{
-       return 0;
-}
-
-static const struct udevice_id soc_sandbox_ids[] = {
-       { .compatible = "sandbox,soc" },
-       { }
-};
-
-U_BOOT_DRIVER(soc_sandbox) = {
-       .name           = "soc_sandbox",
-       .id             = UCLASS_SOC,
-       .ops            = &soc_sandbox_ops,
-       .of_match       = soc_sandbox_ids,
-       .probe          = soc_sandbox_probe,
-};
diff --git a/drivers/soc/soc_ti_k3.c b/drivers/soc/soc_ti_k3.c
deleted file mode 100644 (file)
index ae23ef7..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
- *     Dave Gerlach <d-gerlach@ti.com>
- */
-
-#include <common.h>
-#include <dm.h>
-#include <soc.h>
-
-#include <asm/io.h>
-
-#define AM65X                  0xbb5a
-#define J721E                  0xbb64
-
-#define REV_SR1_0              0
-#define REV_SR2_0              1
-
-#define JTAG_ID_VARIANT_SHIFT  28
-#define JTAG_ID_VARIANT_MASK   (0xf << 28)
-#define JTAG_ID_PARTNO_SHIFT   12
-#define JTAG_ID_PARTNO_MASK    (0xffff << 12)
-
-struct soc_ti_k3_platdata {
-       const char *family;
-       const char *revision;
-};
-
-static const char *get_family_string(u32 idreg)
-{
-       const char *family;
-       u32 soc;
-
-       soc = (idreg & JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
-
-       switch (soc) {
-       case AM65X:
-               family = "AM65X";
-               break;
-       case J721E:
-               family = "J721E";
-               break;
-       default:
-               family = "Unknown Silicon";
-       };
-
-       return family;
-}
-
-static const char *get_rev_string(u32 idreg)
-{
-       const char *revision;
-       u32 rev;
-
-       rev = (idreg & JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT;
-
-       switch (rev) {
-       case REV_SR1_0:
-               revision = "1.0";
-               break;
-       case REV_SR2_0:
-               revision = "2.0";
-               break;
-       default:
-               revision = "Unknown Revision";
-       };
-
-       return revision;
-}
-
-static int soc_ti_k3_get_family(struct udevice *dev, char *buf, int size)
-{
-       struct soc_ti_k3_platdata *plat = dev_get_platdata(dev);
-
-       snprintf(buf, size, "%s", plat->family);
-
-       return 0;
-}
-
-static int soc_ti_k3_get_revision(struct udevice *dev, char *buf, int size)
-{
-       struct soc_ti_k3_platdata *plat = dev_get_platdata(dev);
-
-       snprintf(buf, size, "SR%s", plat->revision);
-
-       return 0;
-}
-
-static const struct soc_ops soc_ti_k3_ops = {
-       .get_family = soc_ti_k3_get_family,
-       .get_revision = soc_ti_k3_get_revision,
-};
-
-int soc_ti_k3_probe(struct udevice *dev)
-{
-       struct soc_ti_k3_platdata *plat = dev_get_platdata(dev);
-       u32 idreg;
-       void *idreg_addr;
-
-       idreg_addr = dev_read_addr_ptr(dev);
-       if (!idreg_addr)
-               return -EINVAL;
-
-       idreg = readl(idreg_addr);
-
-       plat->family = get_family_string(idreg);
-       plat->revision = get_rev_string(idreg);
-
-       return 0;
-}
-
-static const struct udevice_id soc_ti_k3_ids[] = {
-       { .compatible = "ti,am654-chipid" },
-       { }
-};
-
-U_BOOT_DRIVER(soc_ti_k3) = {
-       .name           = "soc_ti_k3",
-       .id             = UCLASS_SOC,
-       .ops            = &soc_ti_k3_ops,
-       .of_match       = soc_ti_k3_ids,
-       .probe          = soc_ti_k3_probe,
-       .platdata_auto_alloc_size = sizeof(struct soc_ti_k3_platdata),
-};
index 61372c52b050b871ab4255cb0c0d4abff5af619a..3aa7a40b77e93d87bfc6f292374ecc03ca2c02bf 100644 (file)
@@ -173,7 +173,7 @@ static int altera_spi_ofdata_to_platdata(struct udevice *bus)
 {
        struct altera_spi_platdata *plat = dev_get_platdata(bus);
 
-       plat->regs = map_physmem(dev_read_addr(bus),
+       plat->regs = map_physmem(devfdt_get_addr(bus),
                                 sizeof(struct altera_spi_regs),
                                 MAP_NOCACHE);
 
index 39c6e226ba7548920081f1156486e96f03faa09b..328b16c277f32540a65b73e22ee730e68153cc99 100644 (file)
@@ -378,7 +378,7 @@ static int atcspi200_ofdata_to_platadata(struct udevice *bus)
        const void *blob = gd->fdt_blob;
        int node = dev_of_offset(bus);
 
-       ns->regs = map_physmem(dev_read_addr(bus),
+       ns->regs = map_physmem(devfdt_get_addr(bus),
                                 sizeof(struct atcspi200_spi_regs),
                                 MAP_NOCACHE);
        if (!ns->regs) {
index 70bedc7fbe36f887d81db8c5f75934634889b40a..f64a28c6e0bdfe10d13e50b5148092e3f2389673 100644 (file)
@@ -178,7 +178,7 @@ static int ath79_spi_probe(struct udevice *bus)
        struct ath79_spi_priv *priv = dev_get_priv(bus);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(bus);
+       addr = devfdt_get_addr(bus);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index c65733c87ac67ac0bcefa2732406c6667c497f51..b120664661ec16fbca67eeadd158f2e54eaee564 100644 (file)
@@ -351,7 +351,7 @@ static int atmel_spi_probe(struct udevice *bus)
        if (ret)
                return ret;
 
-       bus_plat->regs = dev_read_addr_ptr(bus);
+       bus_plat->regs = (struct at91_spi *)devfdt_get_addr(bus);
 
 #if CONFIG_IS_ENABLED(DM_GPIO)
        struct atmel_spi_priv *priv = dev_get_priv(bus);
index 8fa6d35107561ed2564d06b18965d2cad2c3d959..dec92df69bd8986ef2de186d78e65ccc480c9d80 100644 (file)
@@ -392,7 +392,7 @@ static int coldfire_dspi_ofdata_to_platdata(struct udevice *bus)
        int node = dev_of_offset(bus);
        int *ctar, len;
 
-       addr = dev_read_addr(bus);
+       addr = devfdt_get_addr(bus);
        if (addr == FDT_ADDR_T_NONE)
                return -ENOMEM;
 
index a11433db1e9ac96808a662c1fc082cd1cdf1a08b..e1e9b45cc903dc0978455fe36e6f3bc7f16fc521 100644 (file)
@@ -396,7 +396,7 @@ static int davinci_ofdata_to_platadata(struct udevice *bus)
        struct davinci_spi_platdata *plat = bus->platdata;
        fdt_addr_t addr;
 
-       addr = dev_read_addr(bus);
+       addr = devfdt_get_addr(bus);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 2559aac2e942be0a1188d34b069742f7b1d3b9f1..c9b14f90292ec2898dce6471385d6ac390b7138a 100644 (file)
@@ -157,7 +157,7 @@ static int dw_spi_ofdata_to_platdata(struct udevice *bus)
 {
        struct dw_spi_platdata *plat = bus->platdata;
 
-       plat->regs = dev_read_addr_ptr(bus);
+       plat->regs = (struct dw_spi *)devfdt_get_addr(bus);
 
        /* Use 500KHz as a suitable default */
        plat->frequency = dev_read_u32_default(bus, "spi-max-frequency",
index d338ff5a0bd149089620cea7c8de854d89019153..746686a18afa783b595daf9ca54a5e48e4005646 100644 (file)
@@ -257,7 +257,7 @@ static int exynos_spi_ofdata_to_platdata(struct udevice *bus)
        const void *blob = gd->fdt_blob;
        int node = dev_of_offset(bus);
 
-       plat->regs = dev_read_addr_ptr(bus);
+       plat->regs = (struct exynos_spi *)devfdt_get_addr(bus);
        plat->periph_id = pinmux_decode_periph_id(blob, node);
 
        if (plat->periph_id == PERIPH_ID_NONE) {
index 9396c3826f91ec4814ed523d9f033306a545f30a..78ad61ca3709555af984b4011b9389584a4f1084 100644 (file)
@@ -534,7 +534,7 @@ static int fsl_dspi_ofdata_to_platdata(struct udevice *bus)
        plat->num_chipselect =
                fdtdec_get_int(blob, node, "num-cs", FSL_DSPI_MAX_CHIPSELECT);
 
-       addr = dev_read_addr(bus);
+       addr = devfdt_get_addr(bus);
        if (addr == FDT_ADDR_T_NONE) {
                debug("DSPI: Can't get base address or size\n");
                return -ENOMEM;
index dc7d2bc1f01cfad0bdcfb57ada32ce514ba61e35..92dc2e13c55cae46515f8354ab6bf26e11cf613d 100644 (file)
@@ -236,7 +236,7 @@ static int mvebu_spi_ofdata_to_platdata(struct udevice *bus)
        const struct mvebu_spi_dev *drvdata =
                (struct mvebu_spi_dev *)dev_get_driver_data(bus);
 
-       plat->spireg = dev_read_addr_ptr(bus);
+       plat->spireg = (struct kwspi_registers *)devfdt_get_addr(bus);
        plat->is_errata_50mhz_ac = drvdata->is_errata_50mhz_ac;
 
        return 0;
index c30c8f4ff6d3d4aa93a87e04be5ad4937eab9e9d..2a8947651597c0da8a7150a6d70a3d608fc0d8c2 100644 (file)
@@ -253,7 +253,7 @@ static int mtk_snfi_spi_probe(struct udevice *bus)
        struct mtk_snfi_priv *priv = dev_get_priv(bus);
        int ret;
 
-       priv->base = dev_read_addr_ptr(bus);
+       priv->base = (void __iomem *)devfdt_get_addr(bus);
        if (!priv->base)
                return -EINVAL;
 
index e860b9ec64becf12fed7070b81bf1e0a30f7b320..2302e62be4f246474df050a7a6edf256ca28b383 100644 (file)
@@ -255,7 +255,7 @@ static int mvebu_spi_ofdata_to_platdata(struct udevice *bus)
        struct mvebu_spi_platdata *plat = dev_get_platdata(bus);
        int ret;
 
-       plat->spireg = dev_read_addr_ptr(bus);
+       plat->spireg = (struct spi_reg *)devfdt_get_addr(bus);
 
        ret = clk_get_by_index(bus, 0, &plat->clk);
        if (ret) {
index e90a06a66dec6d4eb8f5b32dbb08a9409e35dc0e..aad37803655f539120e430141b8e17b049d40ceb 100644 (file)
@@ -537,7 +537,7 @@ static int mxc_spi_probe(struct udevice *bus)
                }
        }
 
-       mxcs->base = dev_read_addr(bus);
+       mxcs->base = devfdt_get_addr(bus);
        if (mxcs->base == FDT_ADDR_T_NONE)
                return -ENODEV;
 
index fbf9575851a907099a928fd19aee4a0a6ece5f79..39e6813469d452c3742f36e6944402d5fb9ec8f2 100644 (file)
@@ -488,7 +488,7 @@ static int omap3_spi_probe(struct udevice *dev)
        struct omap2_mcspi_platform_config* data =
                (struct omap2_mcspi_platform_config*)dev_get_driver_data(dev);
 
-       priv->regs = (struct mcspi *)(dev_read_addr(dev) + data->regs_offset);
+       priv->regs = (struct mcspi *)(devfdt_get_addr(dev) + data->regs_offset);
        if (fdtdec_get_bool(blob, node, "ti,pindir-d0-out-d1-in"))
                priv->pin_dir = MCSPI_PINDIR_D0_OUT_D1_IN;
        else
index cd2e17bfd1a208c40d8b045eba0dcfb64ed4c053..d2dccd67e5bd221c7541903155c8ed60c5049d59 100644 (file)
@@ -519,7 +519,7 @@ static int sun4i_spi_ofdata_to_platdata(struct udevice *bus)
        struct sun4i_spi_platdata *plat = dev_get_platdata(bus);
        int node = dev_of_offset(bus);
 
-       plat->base = dev_read_addr(bus);
+       plat->base = devfdt_get_addr(bus);
        plat->variant = (struct sun4i_spi_variant *)dev_get_driver_data(bus);
        plat->max_hz = fdtdec_get_int(gd->fdt_blob, node,
                                      "spi-max-frequency",
index 771744dfe4382055eac859ce630ef4340625a01f..22a0304bfcb5938a676e0a797ca4ebc9a9803ef8 100644 (file)
@@ -93,7 +93,7 @@ static int tegra20_sflash_ofdata_to_platdata(struct udevice *bus)
        const void *blob = gd->fdt_blob;
        int node = dev_of_offset(bus);
 
-       plat->base = dev_read_addr(bus);
+       plat->base = devfdt_get_addr(bus);
        plat->periph_id = clock_decode_periph_id(bus);
 
        if (plat->periph_id == PERIPH_ID_NONE) {
index f9846ee3665e7ab5c692dfe18877116bd24c03e1..3679cf06a00662b50e38779b9e621a38afbae6d9 100644 (file)
@@ -99,7 +99,7 @@ static int tegra30_spi_ofdata_to_platdata(struct udevice *bus)
        const void *blob = gd->fdt_blob;
        int node = dev_of_offset(bus);
 
-       plat->base = dev_read_addr(bus);
+       plat->base = devfdt_get_addr(bus);
        plat->periph_id = clock_decode_periph_id(bus);
 
        if (plat->periph_id == PERIPH_ID_NONE) {
index 5fdbb494420f30a35a11a547d326fcc4f2f764cc..0db0de8f1bf1aa963a69c712a1be695bc8eeb107 100644 (file)
@@ -461,7 +461,7 @@ static int ti_qspi_ofdata_to_platdata(struct udevice *bus)
        fdt_addr_t mmap_size;
 
        priv->ctrl_mod_mmap = map_syscon_chipselects(bus);
-       priv->base = map_physmem(dev_read_addr(bus),
+       priv->base = map_physmem(devfdt_get_addr(bus),
                                 sizeof(struct ti_qspi_regs), MAP_NOCACHE);
        mmap_addr = devfdt_get_addr_size_index(bus, 1, &mmap_size);
        priv->memory_map = map_physmem(mmap_addr, mmap_size, MAP_NOCACHE);
index 9923931e36ec95cad7049627c24e1d16325d838f..78ffd3e2fe05d3c1d726e96ee738328405bf0253 100644 (file)
@@ -77,7 +77,7 @@ static int zynq_spi_ofdata_to_platdata(struct udevice *bus)
        const void *blob = gd->fdt_blob;
        int node = dev_of_offset(bus);
 
-       plat->regs = dev_read_addr_ptr(bus);
+       plat->regs = (struct zynq_spi_regs *)devfdt_get_addr(bus);
 
        /* FIXME: Use 250MHz as a suitable default */
        plat->frequency = fdtdec_get_int(blob, node, "spi-max-frequency",
index a72986be9078e3d8aad6acfa5fd7178cfcf6dc59..c3a5b3e3015a326af1d9b44d6407bab381a08f5d 100644 (file)
@@ -181,10 +181,10 @@ static int zynqmp_qspi_ofdata_to_platdata(struct udevice *bus)
 
        debug("%s\n", __func__);
 
-       plat->regs = (struct zynqmp_qspi_regs *)(dev_read_addr(bus) +
+       plat->regs = (struct zynqmp_qspi_regs *)(devfdt_get_addr(bus) +
                                                 GQSPI_REG_OFFSET);
        plat->dma_regs = (struct zynqmp_qspi_dma_regs *)
-                         (dev_read_addr(bus) + GQSPI_DMA_REG_OFFSET);
+                         (devfdt_get_addr(bus) + GQSPI_DMA_REG_OFFSET);
 
        return 0;
 }
index 2f430aed9cb8473aa060aed481198fd93bc76408..ed93faffcb1300618355755403e5ff27352509a4 100644 (file)
@@ -156,7 +156,7 @@ static int msm_spmi_probe(struct udevice *dev)
        bool is_v1;
        int i;
 
-       priv->arb_chnl = dev_read_addr(dev);
+       priv->arb_chnl = devfdt_get_addr(dev);
        priv->spmi_core = fdtdec_get_addr_size_auto_parent(gd->fdt_blob,
                        dev_of_offset(parent), node, "reg", 1, NULL, false);
        priv->spmi_obs = fdtdec_get_addr_size_auto_parent(gd->fdt_blob,
index c011906b938dc6317b6dc945c2a108b862b0877a..6e20b4fc337bacbd58d46ce665c19490ff1f0cef 100644 (file)
@@ -92,7 +92,7 @@ static int atftmr_timer_probe(struct udevice *dev)
 static int atftme_timer_ofdata_to_platdata(struct udevice *dev)
 {
        struct atftmr_timer_platdata *plat = dev_get_platdata(dev);
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct atftmr_timer_regs),
                                 MAP_NOCACHE);
        return 0;
index 6cb2923e0b651047de53d4668b149d015180861c..6ca9501eb173eb46c8337bd9b42c2960adafc456 100644 (file)
@@ -69,7 +69,7 @@ static int altera_timer_ofdata_to_platdata(struct udevice *dev)
 {
        struct altera_timer_platdata *plat = dev_get_platdata(dev);
 
-       plat->regs = map_physmem(dev_read_addr(dev),
+       plat->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct altera_timer_regs),
                                 MAP_NOCACHE);
 
index 5d4ae68509270288be0c413db7aa08d0ba78e967..c5d43b4a4ae5e683d89cc9e14dc64fec9e1be98c 100644 (file)
@@ -89,7 +89,7 @@ static int atcpit_timer_probe(struct udevice *dev)
 static int atcpit_timer_ofdata_to_platdata(struct udevice *dev)
 {
        struct atcpit_timer_platdata *plat = dev_get_platdata(dev);
-       plat->regs = map_physmem(dev_read_addr(dev), 0x100 , MAP_NOCACHE);
+       plat->regs = map_physmem(devfdt_get_addr(dev) , 0x100 , MAP_NOCACHE);
        return 0;
 }
 
index cf3d27b96bc2373e88317c64cf710c9414157904..700c349f371631e6a38c47b6f3f3a97cee631a16 100644 (file)
@@ -79,7 +79,7 @@ static int omap_timer_ofdata_to_platdata(struct udevice *dev)
 {
        struct omap_timer_priv *priv = dev_get_priv(dev);
 
-       priv->regs = map_physmem(dev_read_addr(dev),
+       priv->regs = map_physmem(devfdt_get_addr(dev),
                                 sizeof(struct omap_gptimer_regs), MAP_NOCACHE);
 
        return 0;
index 54b52dcd66a9f004ca862ca549012796288fc1e2..88317b19ac050ebcf39de98a9d6aa3d28af0a030 100644 (file)
@@ -70,7 +70,7 @@ static int uniphier_dwc3_probe(struct udevice *dev)
        int (*init)(void __iomem *regs);
        int ret;
 
-       base = dev_read_addr(dev);
+       base = devfdt_get_addr(dev);
        if (base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 3b208e8eb228667fc75f63269df70b948286c893..f9083d9a64ac6d6be08ca3e3db2152ce6114cd51 100644 (file)
@@ -95,7 +95,7 @@ static int ehci_atmel_probe(struct udevice *dev)
        /*
         * Get the base address for EHCI controller from the device node
         */
-       hcd_base = dev_read_addr(dev);
+       hcd_base = devfdt_get_addr(dev);
        if (hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the EHCI register base address\n");
                return -ENXIO;
index 6a37c5d982a61f7828bc91ff7242fc4002697f54..0b0b2137c76304854b67ae57285a6ea83572fcb6 100644 (file)
@@ -53,7 +53,7 @@ static int ehci_usb_ofdata_to_platdata(struct udevice *dev)
        /*
         * Get the base address for XHCI controller from the device node
         */
-       plat->hcd_base = dev_read_addr(dev);
+       plat->hcd_base = devfdt_get_addr(dev);
        if (plat->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the XHCI register base address\n");
                return -ENXIO;
index 5423d10abe775e944153f3551bd3e37cb9e4aa2d..ac6c5b58452ee2fe82c23a0aed280d0afb8225cd 100644 (file)
@@ -105,7 +105,7 @@ static int ehci_fsl_probe(struct udevice *dev)
        /*
         * Get the base address for EHCI controller from the device node
         */
-       priv->hcd_base = dev_read_addr(dev);
+       priv->hcd_base = devfdt_get_addr(dev);
        if (priv->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the EHCI register base address\n");
                return -ENXIO;
index 62414bb11028be021247b185b017f42baf2ce9db..8fe685af26aa328cae7228c2cb1700b79ad19211 100644 (file)
@@ -109,7 +109,7 @@ static int ehci_mvebu_probe(struct udevice *dev)
        /*
         * Get the base address for EHCI controller from the device node
         */
-       priv->hcd_base = dev_read_addr(dev);
+       priv->hcd_base = devfdt_get_addr(dev);
        if (priv->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the EHCI register base address\n");
                return -ENXIO;
index caafa688993f1c04f500c50c4eb32e116faff612..212b3623325d4ebda9aa797457de6547e031e601 100644 (file)
@@ -306,7 +306,7 @@ static int ehci_usb_ofdata_to_platdata(struct udevice *dev)
 static int ehci_usb_probe(struct udevice *dev)
 {
        struct usb_platdata *plat = dev_get_platdata(dev);
-       struct usb_ehci *ehci = dev_read_addr_ptr(dev);
+       struct usb_ehci *ehci = (struct usb_ehci *)devfdt_get_addr(dev);
        struct ehci_mx5_priv_data *priv = dev_get_priv(dev);
        enum usb_init_type type = plat->init_type;
        struct ehci_hccr *hccr;
index 37b59758bb38c8901d104cdacaf7ecb2be44507a..5f84c7b91d8a91e5b67c2628809d6d286db3d8bb 100644 (file)
@@ -473,7 +473,7 @@ static const struct ehci_ops mx6_ehci_ops = {
 static int ehci_usb_phy_mode(struct udevice *dev)
 {
        struct usb_platdata *plat = dev_get_platdata(dev);
-       void *__iomem addr = dev_read_addr_ptr(dev);
+       void *__iomem addr = (void *__iomem)devfdt_get_addr(dev);
        void *__iomem phy_ctrl, *__iomem phy_status;
        const void *blob = gd->fdt_blob;
        int offset = dev_of_offset(dev), phy_off;
@@ -580,7 +580,7 @@ static int ehci_usb_bind(struct udevice *dev)
 static int ehci_usb_probe(struct udevice *dev)
 {
        struct usb_platdata *plat = dev_get_platdata(dev);
-       struct usb_ehci *ehci = dev_read_addr_ptr(dev);
+       struct usb_ehci *ehci = (struct usb_ehci *)devfdt_get_addr(dev);
        struct ehci_mx6_priv_data *priv = dev_get_priv(dev);
        enum usb_init_type type = plat->init_type;
        struct ehci_hccr *hccr;
index 82b99eeef1e9d3d2dcf25d10b5af767cd87aa04a..93ab83941de23f58b4e3149dcc1ccd41a7634688 100644 (file)
@@ -382,7 +382,7 @@ static int omap_ehci_probe(struct udevice *dev)
        struct ehci_hccr *hccr;
        struct ehci_hcor *hcor;
 
-       priv->ehci = dev_read_addr_ptr(dev);
+       priv->ehci = (struct omap_ehci *)devfdt_get_addr(dev);
        priv->portnr = dev->seq;
        priv->init_type = plat->init_type;
 
index 2768d409749979783d031eeaa88998c34af3919a..562207d3d26c2c9ab0242d50b12a52db6ed45569 100644 (file)
@@ -224,7 +224,7 @@ static int vf_usb_ofdata_to_platdata(struct udevice *dev)
 
        priv->portnr = dev->seq;
 
-       priv->ehci = dev_read_addr_ptr(dev);
+       priv->ehci = (struct usb_ehci *)devfdt_get_addr(dev);
        mode = fdt_getprop(dt_blob, node, "dr_mode", NULL);
        if (mode) {
                if (0 == strcmp(mode, "host")) {
index 22e7b565b5bf3552c8254892bed57be0a5153602..692018243c8e8bfa1dcf0079a57c09b17d91f4fe 100644 (file)
@@ -89,7 +89,7 @@ int usb_cpu_init_fail(void)
 #if CONFIG_IS_ENABLED(DM_USB)
 static int ohci_da8xx_probe(struct udevice *dev)
 {
-       struct ohci_regs *regs = dev_read_addr_ptr(dev);
+       struct ohci_regs *regs = (struct ohci_regs *)devfdt_get_addr(dev);
        struct da8xx_ohci *priv = dev_get_priv(dev);
        int i, err, ret, clock_nb;
 
index b84bf8ac0f7c22cc6c9f10dac9228461dd276eb2..631711a9e8fa617cbe37b42953fe46cc96f7ab67 100644 (file)
@@ -79,7 +79,7 @@ static int ohci_shutdown_phy(struct udevice *dev)
 
 static int ohci_usb_probe(struct udevice *dev)
 {
-       struct ohci_regs *regs = dev_read_addr_ptr(dev);
+       struct ohci_regs *regs = (struct ohci_regs *)devfdt_get_addr(dev);
        struct generic_ohci *priv = dev_get_priv(dev);
        int i, err, ret, clock_nb, reset_nb;
 
index 6fb7a7f6e0970b4a42110c2c37c6f84bac63112e..1705accbde1ccfb6993237c4713283bfe845b97b 100644 (file)
@@ -62,7 +62,7 @@ static int xhci_usb_ofdata_to_platdata(struct udevice *dev)
        /*
         * Get the base address for XHCI controller from the device node
         */
-       plat->hcd_base = dev_read_addr(dev);
+       plat->hcd_base = devfdt_get_addr(dev);
        if (plat->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the XHCI register base address\n");
                return -ENXIO;
index 0a2da70e2004d38ac320a07bf5d5435a6c43cdb9..d8fb2c53450ec597e5fd7b6575edb92d872a4452 100644 (file)
@@ -120,7 +120,7 @@ static int xhci_fsl_probe(struct udevice *dev)
        /*
         * Get the base address for XHCI controller from the device node
         */
-       priv->hcd_base = dev_read_addr(dev);
+       priv->hcd_base = devfdt_get_addr(dev);
        if (priv->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the XHCI register base address\n");
                return -ENXIO;
index f2e338f6fbcbef94e9371e955c47faf64e7200b9..5fb74848c256ec4e5e3d145fdca1e4104a219d03 100644 (file)
@@ -72,7 +72,7 @@ static int xhci_usb_ofdata_to_platdata(struct udevice *dev)
        /*
         * Get the base address for XHCI controller from the device node
         */
-       plat->hcd_base = dev_read_addr(dev);
+       plat->hcd_base = devfdt_get_addr(dev);
        if (plat->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the XHCI register base address\n");
                return -ENXIO;
index 8fc51df3d111d8333aa1c1085cb488637f480972..4964697f27bc528e0dd41a8bffcba67768313fdd 100644 (file)
@@ -136,7 +136,7 @@ static int xhci_rcar_ofdata_to_platdata(struct udevice *dev)
 {
        struct rcar_xhci_platdata *plat = dev_get_platdata(dev);
 
-       plat->hcd_base = dev_read_addr(dev);
+       plat->hcd_base = devfdt_get_addr(dev);
        if (plat->hcd_base == FDT_ADDR_T_NONE) {
                debug("Can't get the XHCI register base address\n");
                return -ENXIO;
index 38def2816b2a48679629a22954e19ab9c782f82e..35a56a8eab2ec1438603eb966ac7f6c1a2848476 100644 (file)
@@ -507,7 +507,7 @@ static int atmel_hlcdc_ofdata_to_platdata(struct udevice *dev)
        const void *blob = gd->fdt_blob;
        int node = dev_of_offset(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct atmel_hlcd_regs *)devfdt_get_addr(dev);
        if (!priv->regs) {
                debug("%s: No display controller address\n", __func__);
                return -EINVAL;
index 999ee1c14af672727f9645d914988f6bf6eac44b..749bde862e0db62dba07b57c457fbce2bd8f5b01 100644 (file)
@@ -884,7 +884,7 @@ static int exynos_dp_ofdata_to_platdata(struct udevice *dev)
        unsigned int node = dev_of_offset(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE) {
                debug("Can't get the DP base address\n");
                return -EINVAL;
index 979b90918271292a2c1420ee012b66210f334201..d5b13a6723f0f47366219bb72cd7d36b48d793e9 100644 (file)
@@ -486,7 +486,7 @@ int exynos_fb_ofdata_to_platdata(struct udevice *dev)
        const void *blob = gd->fdt_blob;
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE) {
                debug("Can't get the FIMD base address\n");
                return -EINVAL;
index 827ea13d13a576c6471b163b9890cba6ec295b81..1208d9128682e083452da34a3ff0d4b8c8e02429 100644 (file)
@@ -346,7 +346,7 @@ static int tegra_lcd_ofdata_to_platdata(struct udevice *dev)
        int rgb;
        int ret;
 
-       priv->disp = dev_read_addr_ptr(dev);
+       priv->disp = (struct disp_ctlr *)devfdt_get_addr(dev);
        if (!priv->disp) {
                debug("%s: No display controller address\n", __func__);
                return -EINVAL;
index 8e6372f0bede8e5c3d6801f26903c5487f58e1d8..5bf08653a90225223c047f3a75d5b64540793b74 100644 (file)
@@ -171,7 +171,7 @@ static int mxc_w1_ofdata_to_platdata(struct udevice *dev)
        struct mxc_w1_pdata *pdata = dev_get_platdata(dev);
        fdt_addr_t addr;
 
-       addr = dev_read_addr(dev);
+       addr = devfdt_get_addr(dev);
        if (addr == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 9059a4c6105b1d73c2af08a5419eafbdb71c9daa..ed8b2199c292ae3ac59365e1d556acc0050bdca8 100644 (file)
@@ -237,7 +237,7 @@ static int omap3_wdt_probe(struct udevice *dev)
 {
        struct omap3_wdt_priv *priv = dev_get_priv(dev);
 
-       priv->regs = dev_read_addr_ptr(dev);
+       priv->regs = (struct wd_timer *)devfdt_get_addr(dev);
        if (!priv->regs)
                return -EINVAL;
 
index f673fce327c6ce0591ff58eebafd6edda16d9f8c..2d8bfc09a0d7b3c83a3fe64a9bb5c9c16d74289c 100644 (file)
@@ -92,7 +92,7 @@ static int stm32mp_wdt_probe(struct udevice *dev)
 
        debug("IWDG init\n");
 
-       priv->base = dev_read_addr(dev);
+       priv->base = devfdt_get_addr(dev);
        if (priv->base == FDT_ADDR_T_NONE)
                return -EINVAL;
 
index 78e88b9ed092fe460fb616d3e66ce5edce7717a9..2f283fe2449dcf620b6b0029ccffa2e4dfdb217f 100644 (file)
@@ -61,7 +61,7 @@ struct cpu_ops {
         * @size:       Size of string space
         * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
         */
-       int (*get_desc)(const struct udevice *dev, char *buf, int size);
+       int (*get_desc)(struct udevice *dev, char *buf, int size);
 
        /**
         * get_info() - Get information about a CPU
@@ -70,7 +70,7 @@ struct cpu_ops {
         * @info:       Returns CPU info
         * @return 0 if OK, -ve on error
         */
-       int (*get_info)(const struct udevice *dev, struct cpu_info *info);
+       int (*get_info)(struct udevice *dev, struct cpu_info *info);
 
        /**
         * get_count() - Get number of CPUs
@@ -78,7 +78,7 @@ struct cpu_ops {
         * @dev:        Device to check (UCLASS_CPU)
         * @return CPU count if OK, -ve on error
         */
-       int (*get_count)(const struct udevice *dev);
+       int (*get_count)(struct udevice *dev);
 
        /**
         * get_vendor() - Get vendor name of a CPU
@@ -88,7 +88,7 @@ struct cpu_ops {
         * @size:       Size of string space
         * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
         */
-       int (*get_vendor)(const struct udevice *dev, char *buf, int size);
+       int (*get_vendor)(struct udevice *dev, char *buf, int size);
 
        /**
         * is_current() - Check if the CPU that U-Boot is currently running from
@@ -110,7 +110,7 @@ struct cpu_ops {
  *
  * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_get_desc(const struct udevice *dev, char *buf, int size);
+int cpu_get_desc(struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_get_info() - Get information about a CPU
@@ -119,7 +119,7 @@ int cpu_get_desc(const struct udevice *dev, char *buf, int size);
  *
  * Return: 0 if OK, -ve on error
  */
-int cpu_get_info(const struct udevice *dev, struct cpu_info *info);
+int cpu_get_info(struct udevice *dev, struct cpu_info *info);
 
 /**
  * cpu_get_count() - Get number of CPUs
@@ -127,7 +127,7 @@ int cpu_get_info(const struct udevice *dev, struct cpu_info *info);
  *
  * Return: CPU count if OK, -ve on error
  */
-int cpu_get_count(const struct udevice *dev);
+int cpu_get_count(struct udevice *dev);
 
 /**
  * cpu_get_vendor() - Get vendor name of a CPU
@@ -137,7 +137,7 @@ int cpu_get_count(const struct udevice *dev);
  *
  * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_get_vendor(const struct udevice *dev, char *buf, int size);
+int cpu_get_vendor(struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_probe_all() - Probe all available CPUs
index 690a8ed4df49c1c900ad5055daf6e1ef9537de13..7837d459f18c8a09d0b4c8ed74d02653ea716cfb 100644 (file)
@@ -97,7 +97,6 @@ enum uclass_id {
        UCLASS_SERIAL,          /* Serial UART */
        UCLASS_SIMPLE_BUS,      /* Bus with child devices */
        UCLASS_SMEM,            /* Shared memory interface */
-       UCLASS_SOC,             /* SOC Device */
        UCLASS_SOUND,           /* Playing simple sounds */
        UCLASS_SPI,             /* SPI bus */
        UCLASS_SPI_FLASH,       /* SPI flash */
index 760b392bdfbce2ca55901b9136973d9a44deab6b..abd6d42671949a104d5ac79432a89f8c012b1fb3 100644 (file)
@@ -908,6 +908,26 @@ struct display_timing {
 int fdtdec_decode_display_timing(const void *blob, int node, int index,
                                 struct display_timing *config);
 
+/**
+ * fdtdec_setup_mem_size_base_fdt() - decode and setup gd->ram_size and
+ * gd->ram_start
+ *
+ * Decode the /memory 'reg' property to determine the size and start of the
+ * first memory bank, populate the global data with the size and start of the
+ * first bank of memory.
+ *
+ * This function should be called from a boards dram_init(). This helper
+ * function allows for boards to query the device tree for DRAM size and start
+ * address instead of hard coding the value in the case where the memory size
+ * and start address cannot be detected automatically.
+ *
+ * @param blob         FDT blob
+ *
+ * @return 0 if OK, -EINVAL if the /memory node or reg property is missing or
+ * invalid
+ */
+int fdtdec_setup_mem_size_base_fdt(const void *blob);
+
 /**
  * fdtdec_setup_mem_size_base() - decode and setup gd->ram_size and
  * gd->ram_start
@@ -926,6 +946,25 @@ int fdtdec_decode_display_timing(const void *blob, int node, int index,
  */
 int fdtdec_setup_mem_size_base(void);
 
+/**
+ * fdtdec_setup_memory_banksize_fdt() - decode and populate gd->bd->bi_dram
+ *
+ * Decode the /memory 'reg' property to determine the address and size of the
+ * memory banks. Use this data to populate the global data board info with the
+ * phys address and size of memory banks.
+ *
+ * This function should be called from a boards dram_init_banksize(). This
+ * helper function allows for boards to query the device tree for memory bank
+ * information instead of hard coding the information in cases where it cannot
+ * be detected automatically.
+ *
+ * @param blob         FDT blob
+ *
+ * @return 0 if OK, -EINVAL if the /memory node or reg property is missing or
+ * invalid
+ */
+int fdtdec_setup_memory_banksize_fdt(const void *blob);
+
 /**
  * fdtdec_setup_memory_banksize() - decode and populate gd->bd->bi_dram
  *
diff --git a/include/soc.h b/include/soc.h
deleted file mode 100644 (file)
index a55eb1b..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2020 - Texas Instruments Incorporated - http://www.ti.com/
- *     Dave Gerlach <d-gerlach@ti.com>
- */
-
-#ifndef __SOC_H
-#define __SOC_H
-
-#define SOC_MAX_STR_SIZE       128
-
-/**
- * struct soc_attr - Contains SoC identify information to be used in
- *                  SoC matching. An array of these structs
- *                  representing different SoCs can be passed to
- *                  soc_device_match and the struct matching the SoC
- *                  in use will be returned.
- *
- * @family   - Name of SoC family that can include multiple related SoC
- *            variants. Example: am33
- * @machine  - Name of a specific SoC. Example: am3352
- * @revision - Name of a specific SoC revision. Example: SR1.1
- * @data     - A pointer to user data for the SoC variant
- */
-struct soc_attr {
-       const char *family;
-       const char *machine;
-       const char *revision;
-       const void *data;
-};
-
-struct soc_ops {
-       /**
-        * get_machine() - Get machine name of an SOC
-        *
-        * @dev:        Device to check (UCLASS_SOC)
-        * @buf:        Buffer to place string
-        * @size:       Size of string space
-        * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
-        */
-       int (*get_machine)(struct udevice *dev, char *buf, int size);
-
-       /**
-        * get_revision() - Get revision name of a SOC
-        *
-        * @dev:        Device to check (UCLASS_SOC)
-        * @buf:        Buffer to place string
-        * @size:       Size of string space
-        * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
-        */
-       int (*get_revision)(struct udevice *dev, char *buf, int size);
-
-       /**
-        * get_family() - Get family name of an SOC
-        *
-        * @dev:        Device to check (UCLASS_SOC)
-        * @buf:        Buffer to place string
-        * @size:       Size of string space
-        * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
-        */
-       int (*get_family)(struct udevice *dev, char *buf, int size);
-};
-
-#define soc_get_ops(dev)        ((struct soc_ops *)(dev)->driver->ops)
-
-#ifdef CONFIG_SOC_DEVICE
-/**
- * soc_get() - Return the soc device for the soc in use.
- * @devp: Pointer to structure to receive the soc device.
- *
- * Since there can only be at most one SOC instance, the API can supply a
- * function that returns the unique device.
- *
- * Return: 0 if OK, -ve on error.
- */
-int soc_get(struct udevice **devp);
-
-/**
- * soc_get_machine() - Get machine name of an SOC
- * @dev:       Device to check (UCLASS_SOC)
- * @buf:       Buffer to place string
- * @size:      Size of string space
- *
- * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
- */
-int soc_get_machine(struct udevice *dev, char *buf, int size);
-
-/**
- * soc_get_revision() - Get revision name of an SOC
- * @dev:       Device to check (UCLASS_SOC)
- * @buf:       Buffer to place string
- * @size:      Size of string space
- *
- * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
- */
-int soc_get_revision(struct udevice *dev, char *buf, int size);
-
-/**
- * soc_get_family() - Get family name of an SOC
- * @dev:       Device to check (UCLASS_SOC)
- * @buf:       Buffer to place string
- * @size:      Size of string space
- *
- * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
- */
-int soc_get_family(struct udevice *dev, char *buf, int size);
-
-/**
- * soc_device_match() - Return match from an array of soc_attr
- * @matches:   Array with any combination of family, revision or machine set
- *
- * Return: Pointer to struct from matches array with set attributes matching
- *        those provided by the soc device, or NULL if no match found.
- */
-const struct soc_attr *
-soc_device_match(const struct soc_attr *matches);
-
-#else
-static inline int soc_get(struct udevice **devp)
-{
-       return -ENOSYS;
-}
-
-static inline int soc_get_machine(struct udevice *dev, char *buf, int size)
-{
-       return -ENOSYS;
-}
-
-static inline int soc_get_revision(struct udevice *dev, char *buf, int size)
-{
-       return -ENOSYS;
-}
-
-static inline int soc_get_family(struct udevice *dev, char *buf, int size)
-{
-       return -ENOSYS;
-}
-
-static inline const struct soc_attr *
-soc_device_match(const struct soc_attr *matches)
-{
-       return NULL;
-}
-#endif
-#endif /* _SOC_H */
index 78576b530fd65d6c237d1828a715de9d3d5c816e..934944d97fd87b350edacd19e747684e35cc463e 100644 (file)
@@ -1030,18 +1030,18 @@ int fdtdec_decode_display_timing(const void *blob, int parent, int index,
        return ret;
 }
 
-int fdtdec_setup_mem_size_base(void)
+int fdtdec_setup_mem_size_base_fdt(const void *blob)
 {
        int ret, mem;
        struct fdt_resource res;
 
-       mem = fdt_path_offset(gd->fdt_blob, "/memory");
+       mem = fdt_path_offset(blob, "/memory");
        if (mem < 0) {
                debug("%s: Missing /memory node\n", __func__);
                return -EINVAL;
        }
 
-       ret = fdt_get_resource(gd->fdt_blob, mem, "reg", 0, &res);
+       ret = fdt_get_resource(blob, mem, "reg", 0, &res);
        if (ret != 0) {
                debug("%s: Unable to decode first memory bank\n", __func__);
                return -EINVAL;
@@ -1055,38 +1055,43 @@ int fdtdec_setup_mem_size_base(void)
        return 0;
 }
 
+int fdtdec_setup_mem_size_base(void)
+{
+       return fdtdec_setup_mem_size_base_fdt(gd->fdt_blob);
+}
+
 #if defined(CONFIG_NR_DRAM_BANKS)
 
 static int get_next_memory_node(const void *blob, int mem)
 {
        do {
-               mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem,
+               mem = fdt_node_offset_by_prop_value(blob, mem,
                                                    "device_type", "memory", 7);
        } while (!fdtdec_get_is_enabled(blob, mem));
 
        return mem;
 }
 
-int fdtdec_setup_memory_banksize(void)
+int fdtdec_setup_memory_banksize_fdt(const void *blob)
 {
        int bank, ret, mem, reg = 0;
        struct fdt_resource res;
 
-       mem = get_next_memory_node(gd->fdt_blob, -1);
+       mem = get_next_memory_node(blob, -1);
        if (mem < 0) {
                debug("%s: Missing /memory node\n", __func__);
                return -EINVAL;
        }
 
        for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
-               ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
+               ret = fdt_get_resource(blob, mem, "reg", reg++, &res);
                if (ret == -FDT_ERR_NOTFOUND) {
                        reg = 0;
-                       mem = get_next_memory_node(gd->fdt_blob, mem);
+                       mem = get_next_memory_node(blob, mem);
                        if (mem == -FDT_ERR_NOTFOUND)
                                break;
 
-                       ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
+                       ret = fdt_get_resource(blob, mem, "reg", reg++, &res);
                        if (ret == -FDT_ERR_NOTFOUND)
                                break;
                }
@@ -1106,6 +1111,12 @@ int fdtdec_setup_memory_banksize(void)
 
        return 0;
 }
+
+int fdtdec_setup_memory_banksize(void)
+{
+       return fdtdec_setup_memory_banksize_fdt(gd->fdt_blob);
+
+}
 #endif
 
 #if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
index 80b6ad2ae71c118d4356006b3b706d8f6d7d8afd..42342c75bb19f2c36b274768d0ed517a0ef9688c 100644 (file)
@@ -24,9 +24,6 @@ quiet_cmd_pymod = PYMOD   $@
                $(PYTHON3) $< --quiet build_ext --inplace
 
 $(obj)/_libfdt.so: $(src)/setup.py $(PYLIBFDT_srcs) FORCE
-       @# Remove the library since otherwise Python doesn't seem to regenerate
-       @# the libfdt.py file if it is missing.
-       rm -f $(obj)/_libfdt*.so
        $(call if_changed,pymod)
 
 always += _libfdt.so
index 839111791b9ce1331907eb73351b3a3449c27859..b03c96da06228454ccb71d2f7499f498e2ec40e7 100644 (file)
@@ -68,7 +68,6 @@ obj-$(CONFIG_AXI) += axi.o
 obj-$(CONFIG_MISC) += misc.o
 obj-$(CONFIG_DM_SERIAL) += serial.o
 obj-$(CONFIG_CPU) += cpu.o
-obj-$(CONFIG_SOC_DEVICE) += soc.o
 obj-$(CONFIG_SOUND) += sound.o
 obj-$(CONFIG_TEE) += tee.o
 obj-$(CONFIG_VIRTIO_SANDBOX) += virtio.o
index bb8550ffb1a60f191fd917aaa16f56ffccaa301f..b94c4ba4d134c8c710bbf59a0e58292db8be6dbd 100644 (file)
@@ -190,10 +190,7 @@ DM_TEST(dm_test_acpi_get_table_revision,
 static int dm_test_acpi_create_dmar(struct unit_test_state *uts)
 {
        struct acpi_dmar dmar;
-       struct udevice *cpu;
 
-       ut_assertok(uclass_first_device(UCLASS_CPU, &cpu));
-       ut_assertnonnull(cpu);
        ut_assertok(acpi_create_dmar(&dmar, DMAR_INTR_REMAP));
        ut_asserteq(DMAR_INTR_REMAP, dmar.flags);
        ut_asserteq(32 - 1, dmar.host_address_width);
index d20c48443f656962230233d5ece8f4ca0e7bb30b..6a930ae31ad5f49afbe0c9e4e8412ec9f1d6e0b0 100644 (file)
@@ -158,7 +158,7 @@ static int dm_test_autobind_uclass_pdata_alloc(struct unit_test_state *uts)
        for (uclass_find_first_device(UCLASS_TEST, &dev);
             dev;
             uclass_find_next_device(&dev)) {
-               ut_assertnonnull(dev);
+               ut_assert(dev);
 
                uc_pdata = dev_get_uclass_platdata(dev);
                ut_assert(uc_pdata);
@@ -181,7 +181,7 @@ static int dm_test_autobind_uclass_pdata_valid(struct unit_test_state *uts)
        for (uclass_find_first_device(UCLASS_TEST, &dev);
             dev;
             uclass_find_next_device(&dev)) {
-               ut_assertnonnull(dev);
+               ut_assert(dev);
 
                uc_pdata = dev_get_uclass_platdata(dev);
                ut_assert(uc_pdata);
@@ -747,11 +747,11 @@ static int dm_test_uclass_devices_find(struct unit_test_state *uts)
             dev;
             ret = uclass_find_next_device(&dev)) {
                ut_assert(!ret);
-               ut_assertnonnull(dev);
+               ut_assert(dev);
        }
 
        ut_assertok(uclass_find_first_device(UCLASS_TEST_DUMMY, &dev));
-       ut_assertnull(dev);
+       ut_assert(!dev);
 
        return 0;
 }
@@ -778,7 +778,7 @@ static int dm_test_uclass_devices_find_by_name(struct unit_test_state *uts)
             testdev;
             ret = uclass_find_next_device(&testdev)) {
                ut_assertok(ret);
-               ut_assertnonnull(testdev);
+               ut_assert(testdev);
 
                findret = uclass_find_device_by_name(UCLASS_TEST_FDT,
                                                     testdev->name,
index 550787495dc7f498fe76d175d058ddf713a0863b..b5de0cb191ab41cdf38f03dba89353b10626147c 100644 (file)
@@ -153,7 +153,6 @@ static int dm_test_devres_phase(struct unit_test_state *uts)
         * allocation created in the bind() method.
         */
        ut_assertok(uclass_find_first_device(UCLASS_TEST_DEVRES, &dev));
-       ut_assertnonnull(dev);
        devres_get_stats(dev, &stats);
        ut_asserteq(1, stats.allocs);
        ut_asserteq(TEST_DEVRES_SIZE, stats.total_size);
diff --git a/test/dm/soc.c b/test/dm/soc.c
deleted file mode 100644 (file)
index 3ad0f56..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Test for the SOC uclass
- *
- * (C) Copyright 2020 - Texas Instruments Incorporated - http://www.ti.com/
- *     Dave Gerlach <d-gerlach@ti.com>
- */
-
-#include <common.h>
-#include <dm.h>
-#include <dm/test.h>
-#include <dm/uclass-internal.h>
-#include <soc.h>
-#include <test/ut.h>
-
-struct sb_soc_data {
-       unsigned long param;
-};
-
-static int dm_test_soc(struct unit_test_state *uts)
-{
-       struct udevice *dev;
-       char text[128];
-       const struct soc_attr *soc_data;
-       const struct sb_soc_data *match_data;
-
-       static const struct sb_soc_data soc_sandbox1_sr10_data = { 0x91919191 };
-       static const struct sb_soc_data soc_sandbox123_data    = { 0x84848484 };
-
-       static const struct soc_attr sb_soc_devices_full[] = {
-               {
-                       .family = "SANDBOX0xx",
-                       .machine = "SANDBOX012",
-                       .revision = "1.0",
-                       .data = NULL,
-               },
-               {
-                       .family = "SANDBOX1xx",
-                       .machine = "SANDBOX107",
-                       .revision = "1.0",
-                       .data = NULL,
-               },
-               {
-                       .family = "SANDBOX1xx",
-                       .machine = "SANDBOX123",
-                       .revision = "1.0",
-                       .data = &soc_sandbox123_data,
-               },
-               {
-                       .family = "SANDBOX1xx",
-                       .machine = "SANDBOX131",
-                       .revision = "2.0",
-                       .data = NULL,
-               },
-               { /* sentinel */ }
-       };
-
-       static const struct soc_attr sb_soc_devices_partial[] = {
-               {
-                       .family = "SANDBOX0xx",
-                       .revision = "1.0",
-                       .data = NULL,
-               },
-               {
-                       .family = "SANDBOX1xx",
-                       .revision = "1.0",
-                       .data = &soc_sandbox1_sr10_data,
-               },
-               {
-                       .family = "SANDBOX1xx",
-                       .revision = "2.0",
-                       .data = NULL,
-               },
-               { /* sentinel */ }
-       };
-
-       static const struct soc_attr sb_soc_devices_nomatch[] = {
-               {
-                       .family = "SANDBOX0xx",
-                       .revision = "1.0",
-                       .data = NULL,
-               },
-               {
-                       .family = "SANDBOX1xx",
-                       .revision = "2.0",
-                       .data = NULL,
-               },
-               { /* sentinel */ }
-       };
-
-       ut_assertok(soc_get(&dev));
-
-       ut_assertok(soc_get_machine(dev, text, sizeof(text)));
-       ut_assertok(strcmp(text, "SANDBOX123"));
-
-       ut_assertok(soc_get_family(dev, text, sizeof(text)));
-       ut_assertok(strcmp(text, "SANDBOX1xx"));
-
-       ut_assertok(soc_get_revision(dev, text, sizeof(text)));
-       ut_asserteq_str(text, "1.0");
-
-       soc_data = soc_device_match(sb_soc_devices_full);
-       ut_assert(soc_data);
-
-       match_data = soc_data->data;
-       ut_asserteq(match_data->param, 0x84848484);
-
-       soc_data = soc_device_match(sb_soc_devices_partial);
-       ut_assert(soc_data);
-
-       match_data = soc_data->data;
-       ut_asserteq(match_data->param, 0x91919191);
-
-       soc_data = soc_device_match(sb_soc_devices_nomatch);
-       ut_asserteq_ptr(soc_data, NULL);
-
-       return 0;
-}
-
-DM_TEST(dm_test_soc, DM_TESTF_SCAN_FDT);
index 8ef7c7a88e8945244a0a5148d4e0b04a11642b63..51f25474094ae962084b8d08e126a7f76bf2f971 100644 (file)
@@ -832,12 +832,10 @@ static int dm_test_fdt_phandle(struct unit_test_state *uts)
        struct udevice *back, *dev, *dev2;
 
        ut_assertok(uclass_find_first_device(UCLASS_PANEL_BACKLIGHT, &back));
-       ut_assertnonnull(back);
        ut_asserteq(-ENOENT, uclass_find_device_by_phandle(UCLASS_REGULATOR,
                                                        back, "missing", &dev));
        ut_assertok(uclass_find_device_by_phandle(UCLASS_REGULATOR, back,
                                                  "power-supply", &dev));
-       ut_assertnonnull(dev);
        ut_asserteq(0, device_active(dev));
        ut_asserteq_str("ldo1", dev->name);
        ut_assertok(uclass_get_device_by_phandle(UCLASS_REGULATOR, back,
index 4a0c0b23b88ecf6fae1a60469335c2edad945468..4b317d2ec3b328ea580fc0530ab7a4ff9fbc8a70 100644 (file)
@@ -22,11 +22,9 @@ static int dm_test_virtio_base(struct unit_test_state *uts)
 
        /* check probe success */
        ut_assertok(uclass_first_device(UCLASS_VIRTIO, &bus));
-       ut_assertnonnull(bus);
 
        /* check the child virtio-blk device is bound */
        ut_assertok(device_find_first_child(bus, &dev));
-       ut_assertnonnull(dev);
        ut_assertok(strcmp(dev->name, "virtio-blk#0"));
 
        /* check driver status */
@@ -51,18 +49,15 @@ static int dm_test_virtio_all_ops(struct unit_test_state *uts)
 
        /* check probe success */
        ut_assertok(uclass_first_device(UCLASS_VIRTIO, &bus));
-       ut_assertnonnull(bus);
 
        /* check the child virtio-blk device is bound */
        ut_assertok(device_find_first_child(bus, &dev));
-       ut_assertnonnull(dev);
 
        /*
         * fake the virtio device probe by filling in uc_priv->vdev
         * which is used by virtio_find_vqs/virtio_del_vqs.
         */
        uc_priv = dev_get_uclass_priv(bus);
-       ut_assertnonnull(uc_priv);
        uc_priv->vdev = dev;
 
        /* test virtio_xxx APIs */
@@ -111,11 +106,9 @@ static int dm_test_virtio_remove(struct unit_test_state *uts)
 
        /* check probe success */
        ut_assertok(uclass_first_device(UCLASS_VIRTIO, &bus));
-       ut_assertnonnull(bus);
 
        /* check the child virtio-blk device is bound */
        ut_assertok(device_find_first_child(bus, &dev));
-       ut_assertnonnull(dev);
 
        /* set driver status to VIRTIO_CONFIG_S_DRIVER_OK */
        ut_assertok(virtio_set_status(dev, VIRTIO_CONFIG_S_DRIVER_OK));
index de87e7530b17e4be290ed8da0f8e4d752f064098..27331a8e40d1dcc2b6d64a0907b97b60cc725f02 100755 (executable)
--- a/test/run
+++ b/test/run
@@ -48,7 +48,7 @@ export DTC=${DTC_DIR}/dtc
 TOOLS_DIR=build-sandbox_spl/tools
 
 run_test "binman" ./tools/binman/binman --toolpath ${TOOLS_DIR} test
-run_test "patman" ./tools/patman/patman test
+run_test "patman" ./tools/patman/patman --test
 
 run_test "buildman" ./tools/buildman/buildman -t ${skip}
 run_test "fdt" ./tools/dtoc/test_fdt -t
index bf8edce02b4e7656265e0d18511c904abb7daa32..6a816bba6bcf1b0d5157e8f1122fbb9e0abcd22f 100644 (file)
@@ -42,19 +42,6 @@ obtained from the list of available device-tree files, managed by the
 
 
 
-Entry: blob-ext: Entry containing an externally built binary blob
------------------------------------------------------------------
-
-Note: This should not be used by itself. It is normally used as a parent
-class by other entry types.
-
-If the file providing this blob is missing, binman can optionally ignore it
-and produce a broken image with a warning.
-
-See 'blob' for Properties / Entry arguments.
-
-
-
 Entry: blob-named-by-arg: A blob entry which gets its filename property from its subclass
 -----------------------------------------------------------------------------------------
 
@@ -311,46 +298,6 @@ byte value of a region.
 
 
 
-Entry: fit: Entry containing a FIT
-----------------------------------
-
-This calls mkimage to create a FIT (U-Boot Flat Image Tree) based on the
-input provided.
-
-Nodes for the FIT should be written out in the binman configuration just as
-they would be in a file passed to mkimage.
-
-For example, this creates an image containing a FIT with U-Boot SPL:
-
-    binman {
-        fit {
-            description = "Test FIT";
-
-            images {
-                kernel@1 {
-                    description = "SPL";
-                    os = "u-boot";
-                    type = "rkspi";
-                    arch = "arm";
-                    compression = "none";
-                    load = <0>;
-                    entry = <0>;
-
-                    u-boot-spl {
-                    };
-                };
-            };
-        };
-    };
-
-Properties:
-    fit,external-offset: Indicates that the contents of the FIT are external
-        and provides the external offset. This is passsed to mkimage via
-        the -E and -p flags.
-
-
-
-
 Entry: fmap: An entry which contains an Fmap section
 ----------------------------------------------------
 
@@ -640,29 +587,6 @@ See README.x86 for information about Intel binary blobs.
 
 
 
-Entry: mkimage: Entry containing a binary produced by mkimage
--------------------------------------------------------------
-
-Properties / Entry arguments:
-    - datafile: Filename for -d argument
-    - args: Other arguments to pass
-
-The data passed to mkimage is collected from subnodes of the mkimage node,
-e.g.:
-
-    mkimage {
-        args = "-n test -T imximage";
-
-        u-boot-spl {
-        };
-    };
-
-This calls mkimage to create an imximage with u-boot-spl.bin as the input
-file. The output from mkimage then becomes part of the image produced by
-binman.
-
-
-
 Entry: powerpc-mpc85xx-bootpg-resetvec: PowerPC mpc85xx bootpg + resetvec code for U-Boot
 -----------------------------------------------------------------------------------------
 
index bb4d9d1288bc4591cced1a6d1a85aee0c844c33d..1e385935797cec0a337a978868185b0cfe612966 100644 (file)
@@ -53,8 +53,6 @@ controlled by a description in the board device tree.'''
             help='Add a path to the list of directories to use for input files')
     build_parser.add_argument('-m', '--map', action='store_true',
         default=False, help='Output a map file for each image')
-    build_parser.add_argument('-M', '--allow-missing', action='store_true',
-        default=False, help='Allow external blobs to be missing')
     build_parser.add_argument('-O', '--outdir', type=str,
         action='store', help='Path to directory to use for intermediate and '
         'output files')
index 343b0a0c35b4f90d64efaf5b654c259bad53dd90..dc1dd2a7dcff85dd58187bd6409bf22074caf0c9 100644 (file)
@@ -387,7 +387,7 @@ def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt):
 
 
 def ProcessImage(image, update_fdt, write_map, get_contents=True,
-                 allow_resize=True, allow_missing=False):
+                 allow_resize=True):
     """Perform all steps for this image, including checking and # writing it.
 
     This means that errors found with a later image will be reported after
@@ -402,13 +402,8 @@ def ProcessImage(image, update_fdt, write_map, get_contents=True,
             the contents is already present
         allow_resize: True to allow entries to change size (this does a re-pack
             of the entries), False to raise an exception
-        allow_missing: Allow blob_ext objects to be missing
-
-    Returns:
-        True if one or more external blobs are missing, False if all are present
     """
     if get_contents:
-        image.SetAllowMissing(allow_missing)
         image.GetEntryContents()
     image.GetEntryOffsets()
 
@@ -453,12 +448,6 @@ def ProcessImage(image, update_fdt, write_map, get_contents=True,
     image.BuildImage()
     if write_map:
         image.WriteMap()
-    missing_list = []
-    image.CheckMissing(missing_list)
-    if missing_list:
-        tout.Warning("Image '%s' is missing external blobs and is non-functional: %s" %
-                     (image.name, ' '.join([e.name for e in missing_list])))
-    return bool(missing_list)
 
 
 def Binman(args):
@@ -533,17 +522,13 @@ def Binman(args):
 
             images = PrepareImagesAndDtbs(dtb_fname, args.image,
                                           args.update_fdt)
-            missing = False
             for image in images.values():
-                missing |= ProcessImage(image, args.update_fdt, args.map,
-                                        allow_missing=args.allow_missing)
+                ProcessImage(image, args.update_fdt, args.map)
 
             # Write the updated FDTs to our output files
             for dtb_item in state.GetAllFdts():
                 tools.WriteFile(dtb_item._fname, dtb_item.GetContents())
 
-            if missing:
-                tout.Warning("Some images are invalid")
         finally:
             tools.FinaliseOutputDir()
     finally:
index 3434a3f8048cfdce271da9022ee47dbffc2eca27..90ffd276177d5921e1819843b1e8bda2fc36ec13 100644 (file)
@@ -84,7 +84,6 @@ class Entry(object):
         self.image_pos = None
         self._expand_size = False
         self.compress = 'none'
-        self.missing = False
 
     @staticmethod
     def Lookup(node_path, etype):
@@ -795,23 +794,3 @@ features to produce new behaviours.
             elif self == entries[-1]:
                 return 'end'
         return 'middle'
-
-    def SetAllowMissing(self, allow_missing):
-        """Set whether a section allows missing external blobs
-
-        Args:
-            allow_missing: True if allowed, False if not allowed
-        """
-        # This is meaningless for anything other than sections
-        pass
-
-    def CheckMissing(self, missing_list):
-        """Check if any entries in this section have missing external blobs
-
-        If there are missing blobs, the entries are added to the list
-
-        Args:
-            missing_list: List of Entry objects to be added to
-        """
-        if self.missing:
-            missing_list.append(self)
index 0800c25899a5336cfe5773704b7429cb48d21c7e..ed718eed14518268e4c921c4daf2f6f670c26df3 100644 (file)
@@ -41,10 +41,10 @@ class Entry__testing(Entry):
             data type (generating an error)
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
 
     def ReadNode(self):
-        super().ReadNode()
+        Entry.ReadNode(self)
         self.return_invalid_entry = fdt_util.GetBool(self._node,
                                                      'return-invalid-entry')
         self.return_unknown_contents = fdt_util.GetBool(self._node,
@@ -57,8 +57,6 @@ class Entry__testing(Entry):
                                                      'return-contents-once')
         self.bad_update_contents_twice = fdt_util.GetBool(self._node,
                                                     'bad-update-contents-twice')
-        self.return_contents_later = fdt_util.GetBool(self._node,
-                                                     'return-contents-later')
 
         # Set to True when the entry is ready to process the FDT.
         self.process_fdt_ready = False
@@ -85,9 +83,6 @@ class Entry__testing(Entry):
     def ObtainContents(self):
         if self.return_unknown_contents or not self.return_contents:
             return False
-        if self.return_contents_later:
-            self.return_contents_later = False
-            return False
         self.data = self.contents
         self.contents_size = len(self.data)
         if self.return_contents_once:
index e507203709fc8191a9b6a596bf99da2b4a09ec5e..ede7a7a68cf6c72aa134c82f9653ab8abf1bf3ff 100644 (file)
@@ -31,7 +31,7 @@ class Entry_blob(Entry):
     data.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
         self._filename = fdt_util.GetString(self._node, 'filename', self.etype)
         self.compress = fdt_util.GetString(self._node, 'compress', 'none')
 
index 724647a7bbbec5c43e9ad387068254fb902122e7..6c069437633e09137d60c12c6d068d308ba4cd62 100644 (file)
@@ -20,13 +20,13 @@ class Entry_blob_dtb(Entry_blob):
         global state
         from binman import state
 
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def ObtainContents(self):
         """Get the device-tree from the list held by the 'state' module"""
         self._filename = self.GetDefaultFilename()
         self._pathname, _ = state.GetFdtContents(self.GetFdtEtype())
-        return super().ReadBlobContents()
+        return Entry_blob.ReadBlobContents(self)
 
     def ProcessContents(self):
         """Re-read the DTB contents so that we get any calculated properties"""
@@ -57,7 +57,7 @@ class Entry_blob_dtb(Entry_blob):
         return {self.GetFdtEtype(): [self, fname]}
 
     def WriteData(self, data, decomp=True):
-        ok = super().WriteData(data, decomp)
+        ok = Entry_blob.WriteData(self, data, decomp)
 
         # Update the state module, since it has the authoritative record of the
         # device trees used. If we don't do this, then state.GetFdtContents()
diff --git a/tools/binman/etype/blob_ext.py b/tools/binman/etype/blob_ext.py
deleted file mode 100644 (file)
index 8d64100..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-# Copyright (c) 2016 Google, Inc
-# Written by Simon Glass <sjg@chromium.org>
-#
-# Entry-type module for external blobs, not built by U-Boot
-#
-
-import os
-
-from binman.etype.blob import Entry_blob
-from dtoc import fdt_util
-from patman import tools
-from patman import tout
-
-class Entry_blob_ext(Entry_blob):
-    """Entry containing an externally built binary blob
-
-    Note: This should not be used by itself. It is normally used as a parent
-    class by other entry types.
-
-    If the file providing this blob is missing, binman can optionally ignore it
-    and produce a broken image with a warning.
-
-    See 'blob' for Properties / Entry arguments.
-    """
-    def __init__(self, section, etype, node):
-        Entry_blob.__init__(self, section, etype, node)
-        self.external = True
-
-    def ObtainContents(self):
-        self._filename = self.GetDefaultFilename()
-        self._pathname = tools.GetInputFilename(self._filename,
-                                                self.section.GetAllowMissing())
-        # Allow the file to be missing
-        if not self._pathname:
-            self.SetContents(b'')
-            self.missing = True
-            return True
-        return super().ObtainContents()
index e95dabe4d07a038cb8255497d1cd8f428244728a..3b4593f071a74c19910e0b7ca153db6ebcae8f1f 100644 (file)
@@ -29,6 +29,6 @@ class Entry_blob_named_by_arg(Entry_blob):
     See cros_ec_rw for an example of this.
     """
     def __init__(self, section, etype, node, blob_fname):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self._filename, = self.GetEntryArgsOrProps(
             [EntryArg('%s-path' % blob_fname, str)])
index 650ab2c292fa571a1208000bc7f5c6063465c9b8..e9aed8310c7cba9a6a537fa37677d9dd14db00a0 100644 (file)
@@ -167,7 +167,7 @@ class Entry_cbfs(Entry):
         global state
         from binman import state
 
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
         self._cbfs_arg = fdt_util.GetString(node, 'cbfs-arch', 'x86')
         self._cbfs_entries = OrderedDict()
         self._ReadSubnodes()
@@ -204,7 +204,7 @@ class Entry_cbfs(Entry):
         return True
 
     def _ReadSubnodes(self):
-        """Read the subnodes to find out what should go in this CBFS"""
+        """Read the subnodes to find out what should go in this IFWI"""
         for node in self._node.subnodes:
             entry = Entry.Create(self, node)
             entry.ReadNode()
@@ -226,7 +226,7 @@ class Entry_cbfs(Entry):
         Args:
             image_pos: Position of this entry in the image
         """
-        super().SetImagePos(image_pos)
+        Entry.SetImagePos(self, image_pos)
 
         # Now update the entries with info from the CBFS entries
         for entry in self._cbfs_entries.values():
@@ -238,7 +238,7 @@ class Entry_cbfs(Entry):
                 entry.uncomp_size = cfile.memlen
 
     def AddMissingProperties(self):
-        super().AddMissingProperties()
+        Entry.AddMissingProperties(self)
         for entry in self._cbfs_entries.values():
             entry.AddMissingProperties()
             if entry._cbfs_compress:
@@ -250,7 +250,7 @@ class Entry_cbfs(Entry):
 
     def SetCalculatedProperties(self):
         """Set the value of device-tree properties calculated by binman"""
-        super().SetCalculatedProperties()
+        Entry.SetCalculatedProperties(self)
         for entry in self._cbfs_entries.values():
             state.SetInt(entry._node, 'offset', entry.offset)
             state.SetInt(entry._node, 'size', entry.size)
@@ -260,7 +260,7 @@ class Entry_cbfs(Entry):
 
     def ListEntries(self, entries, indent):
         """Override this method to list all files in the section"""
-        super().ListEntries(entries, indent)
+        Entry.ListEntries(self, entries, indent)
         for entry in self._cbfs_entries.values():
             entry.ListEntries(entries, indent + 1)
 
@@ -268,12 +268,12 @@ class Entry_cbfs(Entry):
         return self._cbfs_entries
 
     def ReadData(self, decomp=True):
-        data = super().ReadData(True)
+        data = Entry.ReadData(self, True)
         return data
 
     def ReadChildData(self, child, decomp=True):
         if not self.reader:
-            data = super().ReadData(True)
+            data = Entry.ReadData(self, True)
             self.reader = cbfs_util.CbfsReader(data)
         reader = self.reader
         cfile = reader.files.get(child.name)
index 741372e1af40599c479a371c2df791b243e03a50..0dbe14b342a97de22bc10c279b817aec64b919f2 100644 (file)
@@ -18,5 +18,5 @@ class Entry_cros_ec_rw(Entry_blob_named_by_arg):
     updating the EC on startup via software sync.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node, 'cros-ec-rw')
-        self.external = True
+        Entry_blob_named_by_arg.__init__(self, section, etype, node,
+                                         'cros-ec-rw')
index 6ca88a100e5d30b1bfe8dfb0f85df8b60154fa19..aa8807990b7237b16f39e6cb00dac67d7e38f7f9 100644 (file)
@@ -85,7 +85,7 @@ class Entry_fdtmap(Entry):
         from binman import state
         from dtoc.fdt import Fdt
 
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
 
     def _GetFdtmap(self):
         """Build an FDT map from the entries in the current image
index 9adb3afeb147c250fdec1abb76e2a1947279bfea..10ab585f0ed391352413df57fe3b81e9c8c89b06 100644 (file)
@@ -32,7 +32,7 @@ class Entry_files(Entry_section):
         global state
         from binman import state
 
-        super().__init__(section, etype, node)
+        Entry_section.__init__(self, section, etype, node)
         self._pattern = fdt_util.GetString(self._node, 'pattern')
         if not self._pattern:
             self.Raise("Missing 'pattern' property")
index efb2d13e910d20387dcb523a827ce0881dedc301..860410ed6e52af627934d4a16e5e95770a4b0e5d 100644 (file)
@@ -22,10 +22,10 @@ class Entry_fill(Entry):
     byte value of a region.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
 
     def ReadNode(self):
-        super().ReadNode()
+        Entry.ReadNode(self)
         if self.size is None:
             self.Raise("'fill' entry must have a size property")
         self.fill_value = fdt_util.GetByte(self._node, 'fill-byte', 0)
diff --git a/tools/binman/etype/fit.py b/tools/binman/etype/fit.py
deleted file mode 100644 (file)
index 75712f4..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-# Copyright (c) 2016 Google, Inc
-# Written by Simon Glass <sjg@chromium.org>
-#
-# Entry-type module for producing a FIT
-#
-
-from collections import defaultdict, OrderedDict
-import libfdt
-
-from binman.entry import Entry
-from dtoc import fdt_util
-from dtoc.fdt import Fdt
-from patman import tools
-
-class Entry_fit(Entry):
-    """Entry containing a FIT
-
-    This calls mkimage to create a FIT (U-Boot Flat Image Tree) based on the
-    input provided.
-
-    Nodes for the FIT should be written out in the binman configuration just as
-    they would be in a file passed to mkimage.
-
-    For example, this creates an image containing a FIT with U-Boot SPL:
-
-        binman {
-            fit {
-                description = "Test FIT";
-
-                images {
-                    kernel@1 {
-                        description = "SPL";
-                        os = "u-boot";
-                        type = "rkspi";
-                        arch = "arm";
-                        compression = "none";
-                        load = <0>;
-                        entry = <0>;
-
-                        u-boot-spl {
-                        };
-                    };
-                };
-            };
-        };
-
-    Properties:
-        fit,external-offset: Indicates that the contents of the FIT are external
-            and provides the external offset. This is passsed to mkimage via
-            the -E and -p flags.
-
-    """
-    def __init__(self, section, etype, node):
-        """
-        Members:
-            _fit: FIT file being built
-            _fit_content: dict:
-                key: relative path to entry Node (from the base of the FIT)
-                value: List of Entry objects comprising the contents of this
-                    node
-        """
-        super().__init__(section, etype, node)
-        self._fit = None
-        self._fit_content = defaultdict(list)
-        self._fit_props = {}
-
-    def ReadNode(self):
-        self._ReadSubnodes()
-        super().ReadNode()
-
-    def _ReadSubnodes(self):
-        def _AddNode(base_node, depth, node):
-            """Add a node to the FIT
-
-            Args:
-                base_node: Base Node of the FIT (with 'description' property)
-                depth: Current node depth (0 is the base node)
-                node: Current node to process
-
-            There are two cases to deal with:
-                - hash and signature nodes which become part of the FIT
-                - binman entries which are used to define the 'data' for each
-                  image
-            """
-            for pname, prop in node.props.items():
-                if pname.startswith('fit,'):
-                    self._fit_props[pname] = prop
-                else:
-                    fsw.property(pname, prop.bytes)
-
-            rel_path = node.path[len(base_node.path):]
-            has_images = depth == 2 and rel_path.startswith('/images/')
-            for subnode in node.subnodes:
-                if has_images and not (subnode.name.startswith('hash') or
-                                       subnode.name.startswith('signature')):
-                    # This is a content node. We collect all of these together
-                    # and put them in the 'data' property. They do not appear
-                    # in the FIT.
-                    entry = Entry.Create(self.section, subnode)
-                    entry.ReadNode()
-                    self._fit_content[rel_path].append(entry)
-                else:
-                    with fsw.add_node(subnode.name):
-                        _AddNode(base_node, depth + 1, subnode)
-
-        # Build a new tree with all nodes and properties starting from the
-        # entry node
-        fsw = libfdt.FdtSw()
-        fsw.finish_reservemap()
-        with fsw.add_node(''):
-            _AddNode(self._node, 0, self._node)
-        fdt = fsw.as_fdt()
-
-        # Pack this new FDT and scan it so we can add the data later
-        fdt.pack()
-        self._fdt = Fdt.FromData(fdt.as_bytearray())
-        self._fdt.Scan()
-
-    def ObtainContents(self):
-        """Obtain the contents of the FIT
-
-        This adds the 'data' properties to the input ITB (Image-tree Binary)
-        then runs mkimage to process it.
-        """
-        data = self._BuildInput(self._fdt)
-        if data == False:
-            return False
-        uniq = self.GetUniqueName()
-        input_fname = tools.GetOutputFilename('%s.itb' % uniq)
-        output_fname = tools.GetOutputFilename('%s.fit' % uniq)
-        tools.WriteFile(input_fname, data)
-        tools.WriteFile(output_fname, data)
-
-        args = []
-        ext_offset = self._fit_props.get('fit,external-offset')
-        if ext_offset is not None:
-            args += ['-E', '-p', '%x' % fdt_util.fdt32_to_cpu(ext_offset.value)]
-        tools.Run('mkimage', '-t', '-F', output_fname, *args)
-
-        self.SetContents(tools.ReadFile(output_fname))
-        return True
-
-    def _BuildInput(self, fdt):
-        """Finish the FIT by adding the 'data' properties to it
-
-        Arguments:
-            fdt: FIT to update
-
-        Returns:
-            New fdt contents (bytes)
-        """
-        for path, entries in self._fit_content.items():
-            node = fdt.GetNode(path)
-            data = b''
-            for entry in entries:
-                if not entry.ObtainContents():
-                    return False
-                data += entry.GetData()
-            node.AddData('data', data)
-
-        fdt.Sync(auto_resize=True)
-        data = fdt.GetContents()
-        return data
index 3e9b815d119946099e613703aef068861f1693a8..a43fac38de2ff827404d0097c13a5ce7a8fed734 100644 (file)
@@ -32,7 +32,7 @@ class Entry_fmap(Entry):
     the sub-entries are ignored.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
 
     def _GetFmap(self):
         """Build an FMAP from the entries in the current image
index 41554eba8f68b0432215a8249f754fb97b39ac8a..dd1059971791fe1a6873acdafda1b0b31f811b84 100644 (file)
@@ -54,7 +54,7 @@ class Entry_gbb(Entry):
     README.chromium for how to obtain the required keys and tools.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
         self.hardware_id, self.keydir, self.bmpblk = self.GetEntryArgsOrProps(
             [EntryArg('hardware-id', str),
              EntryArg('keydir', str),
index 240118849580c66107824d746609608f89d473bf..176bdeb29b3341933010debb81dd4b565664d537 100644 (file)
@@ -57,7 +57,7 @@ class Entry_image_header(Entry):
     first/last in the entry list.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
         self.location = fdt_util.GetString(self._node, 'location')
 
     def _GetHeader(self):
@@ -101,7 +101,7 @@ class Entry_image_header(Entry):
                 else:
                     offset = image_size - IMAGE_HEADER_LEN
         offset += self.section.GetStartOffset()
-        return super().Pack(offset)
+        return Entry.Pack(self, offset)
 
     def ProcessContents(self):
         """Write an updated version of the FDT map to this entry
index 644fa421d3fdee3839ddd205617f6c42dc3bfce9..5e6edbe4dfd748d6e86a41316c36799b8b643798 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Chip Microcode binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_cmc(Entry_blob_ext):
+class Entry_intel_cmc(Entry_blob):
     """Entry containing an Intel Chipset Micro Code (CMC) file
 
     Properties / Entry arguments:
@@ -19,4 +20,4 @@ class Entry_intel_cmc(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index 7fe88a9ec1a6dab5593f9a32484f50ba5a50a39f..d4d7a26901d066acea825cda3241be36fb81508d 100644 (file)
@@ -8,7 +8,7 @@
 import struct
 
 from binman.entry import Entry
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.etype.blob import Entry_blob
 
 FD_SIGNATURE   = struct.pack('<L', 0x0ff0a55a)
 MAX_REGIONS    = 5
@@ -25,7 +25,7 @@ class Region:
         self.limit = ((val & 0x0fff0000) >> 4) | 0xfff
         self.size = self.limit - self.base + 1
 
-class Entry_intel_descriptor(Entry_blob_ext):
+class Entry_intel_descriptor(Entry_blob):
     """Intel flash descriptor block (4KB)
 
     Properties / Entry arguments:
@@ -45,22 +45,16 @@ class Entry_intel_descriptor(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self._regions = []
 
     def Pack(self, offset):
         """Put this entry at the start of the image"""
         if self.offset is None:
             offset = self.section.GetStartOffset()
-        return super().Pack(offset)
+        return Entry_blob.Pack(self, offset)
 
     def GetOffsets(self):
-        info = {}
-        if self.missing:
-            # Return zero offsets so that these entries get placed somewhere
-            if self.HasSibling('intel-me'):
-                info['intel-me'] = [0, None]
-            return info
         offset = self.data.find(FD_SIGNATURE)
         if offset == -1:
             self.Raise('Cannot find Intel Flash Descriptor (FD) signature')
@@ -72,6 +66,7 @@ class Entry_intel_descriptor(Entry_blob_ext):
 
         # Set the offset for ME (Management Engine) and IFWI (Integrated
         # Firmware Image), for now, since the others are not used.
+        info = {}
         if self.HasSibling('intel-me'):
             info['intel-me'] = [self._regions[REGION_ME].base,
                                 self._regions[REGION_ME].size]
index f1a10c55a67ca0b87d027f20778f12b98b55a3a6..ea482a61254480f5b9d1f720a26c8415c42c0db5 100644 (file)
@@ -7,9 +7,9 @@
 
 import struct
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_fit(Entry_blob_ext):
+class Entry_intel_fit(Entry_blob):
     """Intel Firmware Image Table (FIT)
 
     This entry contains a dummy FIT as required by recent Intel CPUs. The FIT
@@ -19,11 +19,11 @@ class Entry_intel_fit(Entry_blob_ext):
     At present binman only supports a basic FIT with no microcode.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def ReadNode(self):
         """Force 16-byte alignment as required by FIT pointer"""
-        super().ReadNode()
+        Entry_blob.ReadNode(self)
         self.align = 16
 
     def ObtainContents(self):
index 01f082281c5ebca8ef76550404f4c87582eea560..df118a68f2d5a31f5ad846f58119ae801cc9e955 100644 (file)
@@ -7,16 +7,16 @@
 
 import struct
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_fit_ptr(Entry_blob_ext):
+class Entry_intel_fit_ptr(Entry_blob):
     """Intel Firmware Image Table (FIT) pointer
 
     This entry contains a pointer to the FIT. It is required to be at address
     0xffffffc0 in the image.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         if self.HasSibling('intel-fit') is False:
             self.Raise("'intel-fit-ptr' section must have an 'intel-fit' sibling")
 
@@ -38,4 +38,4 @@ class Entry_intel_fit_ptr(Entry_blob_ext):
 
     def Pack(self, offset):
         """Special pack method to set the offset to the right place"""
-        return super().Pack(0xffffffc0)
+        return Entry_blob.Pack(self, 0xffffffc0)
index 2ac012bce19f2a41c17d1c52c8e592938934b768..7db3d96b432bb62e65edb942b158ee1b16ebd0dd 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Firmware Support Package binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_fsp(Entry_blob_ext):
+class Entry_intel_fsp(Entry_blob):
     """Entry containing an Intel Firmware Support Package (FSP) file
 
     Properties / Entry arguments:
@@ -23,4 +24,4 @@ class Entry_intel_fsp(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index 434b0f1856ee171f5ab79dcf19880c7f3d9cc3bf..51b4e7e1ac31583d2f861af0d11e8469ddc5431e 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Firmware Support Package binary blob (M section)
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_fsp_m(Entry_blob_ext):
+class Entry_intel_fsp_m(Entry_blob):
     """Entry containing Intel Firmware Support Package (FSP) memory init
 
     Properties / Entry arguments:
@@ -23,4 +24,4 @@ class Entry_intel_fsp_m(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index 564e1228bba3a3b8233ae62be62edec297fcb593..b3683e476a0e6aac490338b68108223654e35323 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Firmware Support Package binary blob (S section)
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_fsp_s(Entry_blob_ext):
+class Entry_intel_fsp_s(Entry_blob):
     """Entry containing Intel Firmware Support Package (FSP) silicon init
 
     Properties / Entry arguments:
@@ -23,4 +24,4 @@ class Entry_intel_fsp_s(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index df0c5fbee0faa1c047487fa04a9cf21298e77779..0f196f0f1c12a26dfb4d2282c72eacdb1a0b8713 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Firmware Support Package binary blob (T section)
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_fsp_t(Entry_blob_ext):
+class Entry_intel_fsp_t(Entry_blob):
     """Entry containing Intel Firmware Support Package (FSP) temp ram init
 
     Properties / Entry arguments:
@@ -22,4 +23,4 @@ class Entry_intel_fsp_t(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index 76b3357c252ec6ce5701eaff28ae6d135869dc4e..6a96f6be552cd6680f7b478559036dcf084cbf3f 100644 (file)
@@ -8,11 +8,11 @@
 from collections import OrderedDict
 
 from binman.entry import Entry
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.etype.blob import Entry_blob
 from dtoc import fdt_util
 from patman import tools
 
-class Entry_intel_ifwi(Entry_blob_ext):
+class Entry_intel_ifwi(Entry_blob):
     """Entry containing an Intel Integrated Firmware Image (IFWI) file
 
     Properties / Entry arguments:
@@ -45,13 +45,13 @@ class Entry_intel_ifwi(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self._convert_fit = fdt_util.GetBool(self._node, 'convert-fit')
         self._ifwi_entries = OrderedDict()
 
     def ReadNode(self):
         self._ReadSubnodes()
-        super().ReadNode()
+        Entry_blob.ReadNode(self)
 
     def _BuildIfwi(self):
         """Build the contents of the IFWI and write it to the 'data' property"""
@@ -84,7 +84,7 @@ class Entry_intel_ifwi(Entry_blob_ext):
         return True
 
     def ObtainContents(self):
-        """Get the contents for the IFWI
+        """Get the contects for the IFWI
 
         Unfortunately we cannot create anything from scratch here, as Intel has
         tools which create precursor binaries with lots of data and settings,
@@ -97,21 +97,13 @@ class Entry_intel_ifwi(Entry_blob_ext):
         After that we delete the OBBP sub-partition and add each of the files
         that we want in the IFWI file, one for each sub-entry of the IWFI node.
         """
-        self._pathname = tools.GetInputFilename(self._filename,
-                                                self.section.GetAllowMissing())
-        # Allow the file to be missing
-        if not self._pathname:
-            self.SetContents(b'')
-            self.missing = True
-            return True
+        self._pathname = tools.GetInputFilename(self._filename)
         for entry in self._ifwi_entries.values():
             if not entry.ObtainContents():
                 return False
         return self._BuildIfwi()
 
     def ProcessContents(self):
-        if self.missing:
-            return True
         orig_data = self.data
         self._BuildIfwi()
         same = orig_data == self.data
@@ -129,6 +121,5 @@ class Entry_intel_ifwi(Entry_blob_ext):
 
     def WriteSymbols(self, section):
         """Write symbol values into binary files for access at run time"""
-        if not self.missing:
-            for entry in self._ifwi_entries.values():
-                entry.WriteSymbols(self)
+        for entry in self._ifwi_entries.values():
+            entry.WriteSymbols(self)
index a6fe5427f3158588f95fb20d2a5b968f1db6ed24..41c9c6b9203be84b8f2fa52b9e0b2ad4f3977ca5 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Management Engine binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_me(Entry_blob_ext):
+class Entry_intel_me(Entry_blob):
     """Entry containing an Intel Management Engine (ME) file
 
     Properties / Entry arguments:
@@ -15,7 +16,7 @@ class Entry_intel_me(Entry_blob_ext):
 
     This file contains code used by the SoC that is required to make it work.
     The Management Engine is like a background task that runs things that are
-    not clearly documented, but may include keyboard, display and network
+    not clearly documented, but may include keyboard, deplay and network
     access. For platform that use ME it is not possible to disable it. U-Boot
     does not directly execute code in the ME binary.
 
@@ -26,4 +27,4 @@ class Entry_intel_me(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index ccbb046519d330cf22dd28a4d291f910d448a868..854a4dda61590b1f454f851061eec72c13d31bf9 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Memory Reference Code binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_mrc(Entry_blob_ext):
+class Entry_intel_mrc(Entry_blob):
     """Entry containing an Intel Memory Reference Code (MRC) file
 
     Properties / Entry arguments:
@@ -20,7 +21,7 @@ class Entry_intel_mrc(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'mrc.bin'
index 5ead08b2be42205b4b2da944514eb78abe238aa6..a1059f787e6ed96818a881a06ec987ef9fde9332 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for Intel Memory Reference Code binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_refcode(Entry_blob_ext):
+class Entry_intel_refcode(Entry_blob):
     """Entry containing an Intel Reference Code file
 
     Properties / Entry arguments:
@@ -20,7 +21,7 @@ class Entry_intel_refcode(Entry_blob_ext):
     See README.x86 for information about x86 binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'refcode.bin'
index 2a98c1236884214ffda9d6823cab6fbea477fb2d..4d465ad01732547ebcf6f9b87107d9fa399aaa6c 100644 (file)
@@ -4,9 +4,10 @@
 # Entry-type module for Intel Video BIOS Table binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_vbt(Entry_blob_ext):
+class Entry_intel_vbt(Entry_blob):
     """Entry containing an Intel Video BIOS Table (VBT) file
 
     Properties / Entry arguments:
@@ -18,4 +19,4 @@ class Entry_intel_vbt(Entry_blob_ext):
     See README.x86 for information about Intel binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
index a103f1ce0ee676728f79ac2346561f8e2a8cd0ba..04cd72f3dc19089059ee563bc36a2f5a2d289f44 100644 (file)
@@ -5,9 +5,10 @@
 # Entry-type module for x86 VGA ROM binary blob
 #
 
-from binman.etype.blob_ext import Entry_blob_ext
+from binman.entry import Entry
+from binman.etype.blob import Entry_blob
 
-class Entry_intel_vga(Entry_blob_ext):
+class Entry_intel_vga(Entry_blob):
     """Entry containing an Intel Video Graphics Adaptor (VGA) file
 
     Properties / Entry arguments:
@@ -21,4 +22,4 @@ class Entry_intel_vga(Entry_blob_ext):
     See README.x86 for information about Intel binary blobs.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
diff --git a/tools/binman/etype/mkimage.py b/tools/binman/etype/mkimage.py
deleted file mode 100644 (file)
index 8fddc88..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-# Copyright (c) 2016 Google, Inc
-# Written by Simon Glass <sjg@chromium.org>
-#
-# Entry-type module for producing an image using mkimage
-#
-
-from collections import OrderedDict
-
-from binman.entry import Entry
-from dtoc import fdt_util
-from patman import tools
-
-class Entry_mkimage(Entry):
-    """Entry containing a binary produced by mkimage
-
-    Properties / Entry arguments:
-        - datafile: Filename for -d argument
-        - args: Other arguments to pass
-
-    The data passed to mkimage is collected from subnodes of the mkimage node,
-    e.g.:
-
-        mkimage {
-            args = "-n test -T imximage";
-
-            u-boot-spl {
-            };
-        };
-
-    This calls mkimage to create an imximage with u-boot-spl.bin as the input
-    file. The output from mkimage then becomes part of the image produced by
-    binman.
-    """
-    def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
-        self._args = fdt_util.GetString(self._node, 'args').split(' ')
-        self._mkimage_entries = OrderedDict()
-        self._ReadSubnodes()
-
-    def ObtainContents(self):
-        data = b''
-        for entry in self._mkimage_entries.values():
-            # First get the input data and put it in a file. If not available,
-            # try later.
-            if not entry.ObtainContents():
-                return False
-            data += entry.GetData()
-        uniq = self.GetUniqueName()
-        input_fname = tools.GetOutputFilename('mkimage.%s' % uniq)
-        tools.WriteFile(input_fname, data)
-        output_fname = tools.GetOutputFilename('mkimage-out.%s' % uniq)
-        tools.Run('mkimage', '-d', input_fname, *self._args, output_fname)
-        self.SetContents(tools.ReadFile(output_fname))
-        return True
-
-    def _ReadSubnodes(self):
-        """Read the subnodes to find out what should go in this image"""
-        for node in self._node.subnodes:
-            entry = Entry.Create(self, node)
-            entry.ReadNode()
-            self._mkimage_entries[entry.name] = entry
index 3a92fa399fb13f212a370dbec35bda81767666b5..cefd425a5dc10d34153b70ce3a571da998f42ea5 100644 (file)
@@ -4,6 +4,7 @@
 # Entry-type module for the PowerPC mpc85xx bootpg and resetvec code for U-Boot
 #
 
+from binman.entry import Entry
 from binman.etype.blob import Entry_blob
 
 class Entry_powerpc_mpc85xx_bootpg_resetvec(Entry_blob):
@@ -12,13 +13,13 @@ class Entry_powerpc_mpc85xx_bootpg_resetvec(Entry_blob):
     Properties / Entry arguments:
         - filename: Filename of u-boot-br.bin (default 'u-boot-br.bin')
 
-    This entry is valid for PowerPC mpc85xx cpus. This entry holds
+    This enrty is valid for PowerPC mpc85xx cpus. This entry holds
     'bootpg + resetvec' code for PowerPC mpc85xx CPUs which needs to be
     placed at offset 'RESET_VECTOR_ADDRESS - 0xffc'.
     """
 
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot-br.bin'
index 73c5553c8120e88cb10c695fb9ab06a31687a0d3..91b8e0c1100716f5a33476ca3202655279e3ab41 100644 (file)
@@ -34,11 +34,6 @@ class Entry_section(Entry):
         name-prefix: Adds a prefix to the name of every entry in the section
             when writing out the map
 
-    Properties:
-        _allow_missing: True if this section permits external blobs to be
-            missing their contents. The second will produce an image but of
-            course it will not work.
-
     Since a section is also an entry, it inherits all the properies of entries
     too.
 
@@ -48,18 +43,16 @@ class Entry_section(Entry):
     """
     def __init__(self, section, etype, node, test=False):
         if not test:
-            super().__init__(section, etype, node)
+            Entry.__init__(self, section, etype, node)
         self._entries = OrderedDict()
         self._pad_byte = 0
         self._sort = False
         self._skip_at_start = None
         self._end_4gb = False
-        self._allow_missing = False
-        self.missing = False
 
     def ReadNode(self):
         """Read properties from the image node"""
-        super().ReadNode()
+        Entry.ReadNode(self)
         self._pad_byte = fdt_util.GetInt(self._node, 'pad-byte', 0)
         self._sort = fdt_util.GetBool(self._node, 'sort-by-offset')
         self._end_4gb = fdt_util.GetBool(self._node, 'end-at-4gb')
@@ -133,13 +126,13 @@ class Entry_section(Entry):
         a section containing a list of files. Process these entries so that
         this information is added to the device tree.
         """
-        super().ExpandEntries()
+        Entry.ExpandEntries(self)
         for entry in self._entries.values():
             entry.ExpandEntries()
 
     def AddMissingProperties(self):
         """Add new properties to the device tree as needed for this entry"""
-        super().AddMissingProperties()
+        Entry.AddMissingProperties(self)
         for entry in self._entries.values():
             entry.AddMissingProperties()
 
@@ -175,14 +168,14 @@ class Entry_section(Entry):
 
     def ResetForPack(self):
         """Reset offset/size fields so that packing can be done again"""
-        super().ResetForPack()
+        Entry.ResetForPack(self)
         for entry in self._entries.values():
             entry.ResetForPack()
 
     def Pack(self, offset):
         """Pack all entries into the section"""
         self._PackEntries()
-        return super().Pack(offset)
+        return Entry.Pack(self, offset)
 
     def _PackEntries(self):
         """Pack all entries into the image"""
@@ -226,7 +219,7 @@ class Entry_section(Entry):
                             "at %#x (%d)" %
                             (entry.offset, entry.offset, self._skip_at_start,
                              self._skip_at_start))
-            if entry.offset < offset and entry.size:
+            if entry.offset < offset:
                 entry.Raise("Offset %#x (%d) overlaps with previous entry '%s' "
                             "ending at %#x (%d)" %
                             (entry.offset, entry.offset, prev_name, offset, offset))
@@ -239,12 +232,12 @@ class Entry_section(Entry):
             entry.WriteSymbols(self)
 
     def SetCalculatedProperties(self):
-        super().SetCalculatedProperties()
+        Entry.SetCalculatedProperties(self)
         for entry in self._entries.values():
             entry.SetCalculatedProperties()
 
     def SetImagePos(self, image_pos):
-        super().SetImagePos(image_pos)
+        Entry.SetImagePos(self, image_pos)
         for entry in self._entries.values():
             entry.SetImagePos(image_pos + self.offset)
 
@@ -442,8 +435,8 @@ class Entry_section(Entry):
         if not entry:
             self._Raise("Unable to set offset/size for unknown entry '%s'" %
                         name)
-        entry.SetOffsetSize(self._skip_at_start + offset if offset is not None
-                            else None, size)
+        entry.SetOffsetSize(self._skip_at_start + offset if offset else None,
+                            size)
 
     def GetEntryOffsets(self):
         """Handle entries that want to set the offset/size of other entries
@@ -542,32 +535,3 @@ class Entry_section(Entry):
 
     def WriteChildData(self, child):
         return True
-
-    def SetAllowMissing(self, allow_missing):
-        """Set whether a section allows missing external blobs
-
-        Args:
-            allow_missing: True if allowed, False if not allowed
-        """
-        self._allow_missing = allow_missing
-        for entry in self._entries.values():
-            entry.SetAllowMissing(allow_missing)
-
-    def GetAllowMissing(self):
-        """Get whether a section allows missing external blobs
-
-        Returns:
-            True if allowed, False if not allowed
-        """
-        return self._allow_missing
-
-    def CheckMissing(self, missing_list):
-        """Check if any entries in this section have missing external blobs
-
-        If there are missing blobs, the entries are added to the list
-
-        Args:
-            missing_list: List of Entry objects to be added to
-        """
-        for entry in self._entries.values():
-            entry.CheckMissing(missing_list)
index a69c2a4ec48a4f72237729ea360a1e7a3fad18dd..3577135adbe39ab17fc50df0a2d5c9bed1cbcdde 100644 (file)
@@ -57,7 +57,7 @@ class Entry_text(Entry):
     by setting the size of the entry to something larger than the text.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
         value = fdt_util.GetString(self._node, 'text')
         if value:
             value = tools.ToBytes(value)
index 4767197e13a82df17e47fdbad26fe735cf7920e3..ab1019b00c7b082b486dd1a67321204f954a5261 100644 (file)
@@ -26,7 +26,7 @@ class Entry_u_boot(Entry_blob):
     in the binman README for more information.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot.bin'
index 65e71291d27d0596bf9f73358c3f7e7b3a9abbd3..e98350088f5c1053f3c65bcbe10038692e83e6bb 100644 (file)
@@ -22,7 +22,7 @@ class Entry_u_boot_dtb(Entry_blob_dtb):
     binman to know which entries contain a device tree.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob_dtb.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot.dtb'
index 66a9db55cadfe4573e3fc80600832bd4b918f897..aec145533eb5a0045d9091dacc1b229e04bc71be 100644 (file)
@@ -28,7 +28,7 @@ class Entry_u_boot_dtb_with_ucode(Entry_blob_dtb):
         global state
         from binman import state
 
-        super().__init__(section, etype, node)
+        Entry_blob_dtb.__init__(self, section, etype, node)
         self.ucode_data = b''
         self.collate = False
         self.ucode_offset = None
@@ -78,7 +78,7 @@ class Entry_u_boot_dtb_with_ucode(Entry_blob_dtb):
 
     def ObtainContents(self):
         # Call the base class just in case it does something important.
-        super().ObtainContents()
+        Entry_blob_dtb.ObtainContents(self)
         if self.ucode and not self.collate:
             for node in self.ucode.subnodes:
                 data_prop = node.props.get('data')
index 6614a75fafa93eca5d66306720e19fd4812e5d7d..5f906e520cf076b18475775cc1fb22d699451833 100644 (file)
@@ -21,7 +21,7 @@ class Entry_u_boot_elf(Entry_blob):
     relocated to any address for execution.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self._strip = fdt_util.GetBool(self._node, 'strip')
 
     def ReadBlobContents(self):
@@ -31,7 +31,7 @@ class Entry_u_boot_elf(Entry_blob):
             tools.WriteFile(out_fname, tools.ReadFile(self._pathname))
             tools.Run('strip', out_fname)
             self._pathname = out_fname
-        super().ReadBlobContents()
+        Entry_blob.ReadBlobContents(self)
         return True
 
     def GetDefaultFilename(self):
index 8a739d8edb60a082f5f8a4c58eef48a2325ca299..50cc71d3ce2a33ae670cf53df7c90e1c6ac08832 100644 (file)
@@ -21,7 +21,7 @@ class Entry_u_boot_img(Entry_blob):
     applications.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot.img'
index e84df490f65b168905f2837d88ca8dcbf2037609..e8c0e1a1d6c45c3fc8f04cab52b3488d1c01e961 100644 (file)
@@ -21,7 +21,7 @@ class Entry_u_boot_nodtb(Entry_blob):
     U-Boot and the device tree).
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot-nodtb.bin'
index d66e46140be8f14497bb8d30240e4aa822b2185d..a6fddbe8f14b50d788c059951afb338f93b5a3a2 100644 (file)
@@ -32,7 +32,7 @@ class Entry_u_boot_spl(Entry_blob):
     binman uses that to look up symbols to write into the SPL binary.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self.elf_fname = 'spl/u-boot-spl'
 
     def GetDefaultFilename(self):
index 596b2bed97eff7bb564ea16c0af186d2f63d9d45..a6a177a1287747b3344a696bf312d2bb21c78312 100644 (file)
@@ -31,7 +31,7 @@ class Entry_u_boot_spl_bss_pad(Entry_blob):
     binman uses that to look up the BSS address.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def ObtainContents(self):
         fname = tools.GetInputFilename('spl/u-boot-spl')
index eefc4a44aabbc6ac86df33d1ea8bbb9f48149432..a0761eeacd6663f983778455c90af142b864e63c 100644 (file)
@@ -19,7 +19,7 @@ class Entry_u_boot_spl_dtb(Entry_blob_dtb):
     to activate.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob_dtb.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'spl/u-boot-spl.dtb'
index 7f1236bcbb397088aaff5f76521f8cbc6c09a22b..f99f74abab230c6ccb18d803eb644c378a4e47cf 100644 (file)
@@ -18,7 +18,7 @@ class Entry_u_boot_spl_elf(Entry_blob):
     be relocated to any address for execution.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'spl/u-boot-spl'
index 6f4529396d8aae457e8ad90203b8248e1e9d5707..072b915ff3a24395a6efe5a5012c0217334bdc21 100644 (file)
@@ -22,7 +22,7 @@ class Entry_u_boot_spl_nodtb(Entry_blob):
     both SPL and the device tree).
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'spl/u-boot-spl-nodtb.bin'
index 72739a5eb67b07d9531d15aad70a8cfda6f0bf77..b1543a5ef323e09833c6dff0b91bb2cca5e5a3fe 100644 (file)
@@ -18,7 +18,7 @@ class Entry_u_boot_spl_with_ucode_ptr(Entry_u_boot_with_ucode_ptr):
     process.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_u_boot_with_ucode_ptr.__init__(self, section, etype, node)
         self.elf_fname = 'spl/u-boot-spl'
 
     def GetDefaultFilename(self):
index 02287ab32755bb380d95e2d939b56de1c098a7e8..6562457c9a673c8ab5226d6bc354ad6532dcad46 100644 (file)
@@ -32,7 +32,7 @@ class Entry_u_boot_tpl(Entry_blob):
     binman uses that to look up symbols to write into the TPL binary.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self.elf_fname = 'tpl/u-boot-tpl'
 
     def GetDefaultFilename(self):
index 2ff1d7ced1a26f128dfa5b98c6c8f94c5573e181..890155f271f3d466430ab381b14da579e29e977b 100644 (file)
@@ -19,7 +19,7 @@ class Entry_u_boot_tpl_dtb(Entry_blob_dtb):
     to activate.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob_dtb.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'tpl/u-boot-tpl.dtb'
index 066f18dfef28f2fd039293477dd14fc9f5a15e68..ca1bf85ace7b33236c45faeeb51e76c4914f324c 100644 (file)
@@ -16,7 +16,7 @@ class Entry_u_boot_tpl_dtb_with_ucode(Entry_u_boot_dtb_with_ucode):
     process.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_u_boot_dtb_with_ucode.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'tpl/u-boot-tpl.dtb'
index 3f24d3aa7bc8f6f0cad511259d6de14074f05121..7fa8e963640fe38f481c821b472216a2d5405800 100644 (file)
@@ -18,7 +18,7 @@ class Entry_u_boot_tpl_elf(Entry_blob):
     be relocated to any address for execution.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'tpl/u-boot-tpl'
index c7f3f9dedb59a81bf262307873c4e11dfa922b13..7f7fab71051c07741ceb127808fa0dd6a58959d7 100644 (file)
@@ -20,7 +20,7 @@ class Entry_u_boot_tpl_with_ucode_ptr(Entry_u_boot_with_ucode_ptr):
     process.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_u_boot_with_ucode_ptr.__init__(self, section, etype, node)
         self.elf_fname = 'tpl/u-boot-tpl'
 
     def GetDefaultFilename(self):
index 4462293618239fc9a290bdf3d91672027177c26a..d9e1a605efa48a081e6b44f9b7708efd78d90a05 100644 (file)
@@ -58,7 +58,7 @@ class Entry_u_boot_ucode(Entry_blob):
             contents of this entry.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def ObtainContents(self):
         # If the section does not need microcode, there is nothing to do
index 92d2fc68538dba13b92469f00c2eb5df5f59f9dc..06047b654df577e0a96259ca6e16679f7bd98425 100644 (file)
@@ -29,7 +29,7 @@ class Entry_u_boot_with_ucode_ptr(Entry_blob):
     complicated. Otherwise it is the same as the u_boot entry.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
         self.elf_fname = 'u-boot'
         self.target_offset = None
 
index f734fbaec495c690cc5c710ec787a89c6c6ac0c4..5753de7ec7aa17070c6594b0bf3388a850ee7b48 100644 (file)
@@ -36,7 +36,7 @@ class Entry_vblock(Entry):
     and kernel are genuine.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry.__init__(self, section, etype, node)
         self.content = fdt_util.GetPhandleList(self._node, 'content')
         if not self.content:
             self.Raise("Vblock must have a 'content' property")
index 5d49f16e21cfa652cb700bc00c848f713802feac..ad864e54429b5411d572bb8413d12664b6cd2d19 100644 (file)
@@ -23,7 +23,7 @@ class Entry_x86_reset16(Entry_blob):
     For 64-bit U-Boot, the 'x86_reset16_spl' entry type is used instead.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot-x86-reset16.bin'
index 775b90699baf7db166ec03b72233eb06022bf5ee..9a663f0ae231f302cb2dd084fdc39c5fa5dc24ac 100644 (file)
@@ -23,7 +23,7 @@ class Entry_x86_reset16_spl(Entry_blob):
     For 32-bit U-Boot, the 'x86_reset_spl' entry type is used instead.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'spl/u-boot-x86-reset16-spl.bin'
index 52d3f4869ae27c019fff2a04679e78cbdccf7d7c..864508f367261ed6b36ff0d0719d216ec6cd3942 100644 (file)
@@ -23,7 +23,7 @@ class Entry_x86_reset16_tpl(Entry_blob):
     For 32-bit U-Boot, the 'x86_reset_tpl' entry type is used instead.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'tpl/u-boot-x86-reset16-tpl.bin'
index 18fdd95d3707721a42860064c32931595de0a08a..d8345f67221f4b1e4f1eb9696cf39c047c174c1a 100644 (file)
@@ -25,7 +25,7 @@ class Entry_x86_start16(Entry_blob):
     For 64-bit U-Boot, the 'x86_start16_spl' entry type is used instead.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'u-boot-x86-start16.bin'
index ac8e90f2e0c6060e1703ae6700f778c186f8b800..ad520d3c6d905619c5ce7b99464127a8c0cba509 100644 (file)
@@ -25,7 +25,7 @@ class Entry_x86_start16_spl(Entry_blob):
     For 32-bit U-Boot, the 'x86-start16' entry type is used instead.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'spl/u-boot-x86-start16-spl.bin'
index 72d4608bb73f1789bbc250d0ef49f7960e6b447e..ccc8727d1d45160a57c9990cd476cd1d92ad4224 100644 (file)
@@ -26,7 +26,7 @@ class Entry_x86_start16_tpl(Entry_blob):
     may be used instead.
     """
     def __init__(self, section, etype, node):
-        super().__init__(section, etype, node)
+        Entry_blob.__init__(self, section, etype, node)
 
     def GetDefaultFilename(self):
         return 'tpl/u-boot-x86-start16-tpl.bin'
index ea72eff8c5d93f3109dca68605a2548f79059737..5e24920088c5a91becb478d915ed45d777d17011 100644 (file)
@@ -6,12 +6,10 @@
 #
 #    python -m unittest func_test.TestFunctional.testHelp
 
-import collections
 import gzip
 import hashlib
 from optparse import OptionParser
 import os
-import re
 import shutil
 import struct
 import sys
@@ -162,7 +160,8 @@ class TestFunctional(unittest.TestCase):
             tools.ReadFile(cls.ElfTestFile('u_boot_ucode_ptr')))
 
         # Intel flash descriptor file
-        cls._SetupDescriptor()
+        with open(cls.TestFile('descriptor.bin'), 'rb') as fd:
+            TestFunctional._MakeInputFile('descriptor.bin', fd.read())
 
         shutil.copytree(cls.TestFile('files'),
                         os.path.join(cls._indir, 'files'))
@@ -286,7 +285,7 @@ class TestFunctional(unittest.TestCase):
 
     def _DoTestFile(self, fname, debug=False, map=False, update_dtb=False,
                     entry_args=None, images=None, use_real_dtb=False,
-                    verbosity=None, allow_missing=False):
+                    verbosity=None):
         """Run binman with a given test file
 
         Args:
@@ -320,8 +319,6 @@ class TestFunctional(unittest.TestCase):
         if entry_args:
             for arg, value in entry_args.items():
                 args.append('-a%s=%s' % (arg, value))
-        if allow_missing:
-            args.append('-M')
         if images:
             for image in images:
                 args += ['-i', image]
@@ -508,11 +505,6 @@ class TestFunctional(unittest.TestCase):
         TestFunctional._MakeInputFile('tpl/u-boot-tpl',
             tools.ReadFile(cls.ElfTestFile(src_fname)))
 
-    @classmethod
-    def _SetupDescriptor(cls):
-        with open(cls.TestFile('descriptor.bin'), 'rb') as fd:
-            TestFunctional._MakeInputFile('descriptor.bin', fd.read())
-
     @classmethod
     def TestFile(cls, fname):
         return os.path.join(cls._binman_dir, 'test', fname)
@@ -939,14 +931,11 @@ class TestFunctional(unittest.TestCase):
 
     def testPackX86RomMeNoDesc(self):
         """Test that an invalid Intel descriptor entry is detected"""
-        try:
-            TestFunctional._MakeInputFile('descriptor.bin', b'')
-            with self.assertRaises(ValueError) as e:
-                self._DoTestFile('031_x86_rom_me.dts')
-            self.assertIn("Node '/binman/intel-descriptor': Cannot find Intel Flash Descriptor (FD) signature",
-                          str(e.exception))
-        finally:
-            self._SetupDescriptor()
+        TestFunctional._MakeInputFile('descriptor.bin', b'')
+        with self.assertRaises(ValueError) as e:
+            self._DoTestFile('031_x86_rom_me.dts')
+        self.assertIn("Node '/binman/intel-descriptor': Cannot find Intel Flash Descriptor (FD) signature",
+                      str(e.exception))
 
     def testPackX86RomBadDesc(self):
         """Test that the Intel requires a descriptor entry"""
@@ -3241,7 +3230,7 @@ class TestFunctional(unittest.TestCase):
         with test_util.capture_sys_output() as (stdout, stderr):
             control.ReplaceEntries(updated_fname, None, outdir, [])
         self.assertIn("Skipping entry '/u-boot' from missing file",
-                      stderr.getvalue())
+                      stdout.getvalue())
 
     def testReplaceCmdMap(self):
         """Test replacing a file fron an image on the command line"""
@@ -3368,117 +3357,6 @@ class TestFunctional(unittest.TestCase):
         data = self._DoReadFile('154_intel_fsp_t.dts')
         self.assertEqual(FSP_T_DATA, data[:len(FSP_T_DATA)])
 
-    def testMkimage(self):
-        """Test using mkimage to build an image"""
-        data = self._DoReadFile('156_mkimage.dts')
-
-        # Just check that the data appears in the file somewhere
-        self.assertIn(U_BOOT_SPL_DATA, data)
-
-    def testExtblob(self):
-        """Test an image with an external blob"""
-        data = self._DoReadFile('157_blob_ext.dts')
-        self.assertEqual(REFCODE_DATA, data)
-
-    def testExtblobMissing(self):
-        """Test an image with a missing external blob"""
-        with self.assertRaises(ValueError) as e:
-            self._DoReadFile('158_blob_ext_missing.dts')
-        self.assertIn("Filename 'missing-file' not found in input path",
-                      str(e.exception))
-
-    def testExtblobMissingOk(self):
-        """Test an image with an missing external blob that is allowed"""
-        with test_util.capture_sys_output() as (stdout, stderr):
-            self._DoTestFile('158_blob_ext_missing.dts', allow_missing=True)
-        err = stderr.getvalue()
-        self.assertRegex(err, "Image 'main-section'.*missing.*: blob-ext")
-
-    def testExtblobMissingOkSect(self):
-        """Test an image with an missing external blob that is allowed"""
-        with test_util.capture_sys_output() as (stdout, stderr):
-            self._DoTestFile('159_blob_ext_missing_sect.dts',
-                             allow_missing=True)
-        err = stderr.getvalue()
-        self.assertRegex(err, "Image 'main-section'.*missing.*: "
-                         "blob-ext blob-ext2")
-
-    def testPackX86RomMeMissingDesc(self):
-        """Test that an missing Intel descriptor entry is allowed"""
-        pathname = os.path.join(self._indir, 'descriptor.bin')
-        os.remove(pathname)
-        with test_util.capture_sys_output() as (stdout, stderr):
-            self._DoTestFile('031_x86_rom_me.dts', allow_missing=True)
-        err = stderr.getvalue()
-        self.assertRegex(err,
-                         "Image 'main-section'.*missing.*: intel-descriptor")
-
-    def testPackX86RomMissingIfwi(self):
-        """Test that an x86 ROM with Integrated Firmware Image can be created"""
-        self._SetupIfwi('fitimage.bin')
-        pathname = os.path.join(self._indir, 'fitimage.bin')
-        os.remove(pathname)
-        with test_util.capture_sys_output() as (stdout, stderr):
-            self._DoTestFile('111_x86_rom_ifwi.dts', allow_missing=True)
-        err = stderr.getvalue()
-        self.assertRegex(err, "Image 'main-section'.*missing.*: intel-ifwi")
-
-    def testPackOverlap(self):
-        """Test that zero-size overlapping regions are ignored"""
-        self._DoTestFile('160_pack_overlap_zero.dts')
-
-    def testSimpleFit(self):
-        """Test an image with a FIT inside"""
-        data = self._DoReadFile('161_fit.dts')
-        self.assertEqual(U_BOOT_DATA, data[:len(U_BOOT_DATA)])
-        self.assertEqual(U_BOOT_NODTB_DATA, data[-len(U_BOOT_NODTB_DATA):])
-        fit_data = data[len(U_BOOT_DATA):-len(U_BOOT_NODTB_DATA)]
-
-        # The data should be inside the FIT
-        dtb = fdt.Fdt.FromData(fit_data)
-        dtb.Scan()
-        fnode = dtb.GetNode('/images/kernel')
-        self.assertIn('data', fnode.props)
-
-        fname = os.path.join(self._indir, 'fit_data.fit')
-        tools.WriteFile(fname, fit_data)
-        out = tools.Run('dumpimage', '-l', fname)
-
-        # Check a few features to make sure the plumbing works. We don't need
-        # to test the operation of mkimage or dumpimage here. First convert the
-        # output into a dict where the keys are the fields printed by dumpimage
-        # and the values are a list of values for each field
-        lines = out.splitlines()
-
-        # Converts "Compression:  gzip compressed" into two groups:
-        # 'Compression' and 'gzip compressed'
-        re_line = re.compile(r'^ *([^:]*)(?:: *(.*))?$')
-        vals = collections.defaultdict(list)
-        for line in lines:
-            mat = re_line.match(line)
-            vals[mat.group(1)].append(mat.group(2))
-
-        self.assertEquals('FIT description: test-desc', lines[0])
-        self.assertIn('Created:', lines[1])
-        self.assertIn('Image 0 (kernel)', vals)
-        self.assertIn('Hash value', vals)
-        data_sizes = vals.get('Data Size')
-        self.assertIsNotNone(data_sizes)
-        self.assertEqual(2, len(data_sizes))
-        # Format is "4 Bytes = 0.00 KiB = 0.00 MiB" so take the first word
-        self.assertEqual(len(U_BOOT_DATA), int(data_sizes[0].split()[0]))
-        self.assertEqual(len(U_BOOT_SPL_DTB_DATA), int(data_sizes[1].split()[0]))
-
-    def testFitExternal(self):
-        """Test an image with an FIT"""
-        data = self._DoReadFile('162_fit_external.dts')
-        fit_data = data[len(U_BOOT_DATA):-2]  # _testing is 2 bytes
-
-        # The data should be outside the FIT
-        dtb = fdt.Fdt.FromData(fit_data)
-        dtb.Scan()
-        fnode = dtb.GetNode('/images/kernel')
-        self.assertNotIn('data', fnode.props)
 
 if __name__ == "__main__":
     unittest.main()
index a8772c3763b372e79f6c606191e5f798dbf36ee7..523b274c3192c555e599da80b44e6c2b04e3b3c1 100644 (file)
@@ -45,7 +45,7 @@ class Image(section.Entry_section):
             we create a section manually.
     """
     def __init__(self, name, node, copy_to_orig=True, test=False):
-        super().__init__(None, 'section', node, test=test)
+        section.Entry_section.__init__(self, None, 'section', node, test=test)
         self.copy_to_orig = copy_to_orig
         self.name = 'main-section'
         self.image_name = name
@@ -57,7 +57,7 @@ class Image(section.Entry_section):
             self.ReadNode()
 
     def ReadNode(self):
-        super().ReadNode()
+        section.Entry_section.ReadNode(self)
         filename = fdt_util.GetString(self._node, 'filename')
         if filename:
             self._filename = filename
@@ -116,11 +116,11 @@ class Image(section.Entry_section):
 
     def PackEntries(self):
         """Pack all entries into the image"""
-        super().Pack(0)
+        section.Entry_section.Pack(self, 0)
 
     def SetImagePos(self):
         # This first section in the image so it starts at 0
-        super().SetImagePos(0)
+        section.Entry_section.SetImagePos(self, 0)
 
     def ProcessEntryContents(self):
         """Call the ProcessContents() method for each entry
@@ -139,7 +139,7 @@ class Image(section.Entry_section):
 
     def WriteSymbols(self):
         """Write symbol values into binary files for access at run time"""
-        super().WriteSymbols(self)
+        section.Entry_section.WriteSymbols(self, self)
 
     def BuildImage(self):
         """Write the image to a file"""
@@ -161,7 +161,7 @@ class Image(section.Entry_section):
         with open(fname, 'w') as fd:
             print('%8s  %8s  %8s  %s' % ('ImagePos', 'Offset', 'Size', 'Name'),
                   file=fd)
-            super().WriteMap(fd, 0)
+            section.Entry_section.WriteMap(self, fd, 0)
         return fname
 
     def BuildEntryList(self):
index e543a7d06a7a5957fdbdf4f04bb71e6c07effb81..efa7fa8386f158e372860ec6fdf90fef70e25380 100755 (executable)
@@ -26,7 +26,6 @@ from patman import test_util
 
 # Bring in the libfdt module
 sys.path.insert(2, 'scripts/dtc/pylibfdt')
-sys.path.insert(2, os.path.join(our_path, '../../scripts/dtc/pylibfdt'))
 sys.path.insert(2, os.path.join(our_path,
                 '../../build-sandbox_spl/scripts/dtc/pylibfdt'))
 
@@ -89,18 +88,14 @@ def GetEntryModules(include_testing=True):
                 for item in glob_list
                 if include_testing or '_testing' not in item])
 
-def RunTestCoverage(toolpath):
+def RunTestCoverage():
     """Run the tests and check that we get 100% coverage"""
     glob_list = GetEntryModules(False)
     all_set = set([os.path.splitext(os.path.basename(item))[0]
                    for item in glob_list if '_testing' not in item])
-    extra_args = ''
-    if toolpath:
-        for path in toolpath:
-            extra_args += ' --toolpath %s' % path
     test_util.RunTestCoverage('tools/binman/binman', None,
             ['*test*', '*main.py', 'tools/patman/*', 'tools/dtoc/*'],
-            args.build_dir, all_set, extra_args or None)
+            args.build_dir, all_set)
 
 def RunBinman(args):
     """Main entry point to binman once arguments are parsed
@@ -113,14 +108,9 @@ def RunBinman(args):
     if not args.debug:
         sys.tracebacklimit = 0
 
-    # Provide a default toolpath in the hope of finding a mkimage built from
-    # current source
-    if not args.toolpath:
-        args.toolpath = ['./tools', 'build-sandbox/tools']
-
     if args.cmd == 'test':
         if args.test_coverage:
-            RunTestCoverage(args.toolpath)
+            RunTestCoverage()
         else:
             ret_code = RunTests(args.debug, args.verbosity, args.processes,
                                 args.test_preserve_dirs, args.tests,
@@ -133,7 +123,7 @@ def RunBinman(args):
         try:
             ret_code = control.Binman(args)
         except Exception as e:
-            print('binman: %s' % e, file=sys.stderr)
+            print('binman: %s' % e)
             if args.debug:
                 print()
                 traceback.print_exc()
diff --git a/tools/binman/test/156_mkimage.dts b/tools/binman/test/156_mkimage.dts
deleted file mode 100644 (file)
index 933b131..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               size = <0x80>;
-
-               mkimage {
-                       args = "-n test -T script";
-
-                       u-boot-spl {
-                       };
-
-                       _testing {
-                               return-contents-later;
-                       };
-               };
-       };
-};
diff --git a/tools/binman/test/157_blob_ext.dts b/tools/binman/test/157_blob_ext.dts
deleted file mode 100644 (file)
index 8afdd53..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               blob-ext {
-                       filename = "refcode.bin";
-               };
-       };
-};
diff --git a/tools/binman/test/158_blob_ext_missing.dts b/tools/binman/test/158_blob_ext_missing.dts
deleted file mode 100644 (file)
index d315e55..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               size = <0x80>;
-
-               blob-ext {
-                       filename = "missing-file";
-               };
-       };
-};
diff --git a/tools/binman/test/159_blob_ext_missing_sect.dts b/tools/binman/test/159_blob_ext_missing_sect.dts
deleted file mode 100644 (file)
index 5f14c54..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               size = <0x80>;
-
-               section {
-                       blob-ext {
-                               filename = "missing-file";
-                       };
-               };
-
-               blob-ext2 {
-                       type = "blob-ext";
-                       filename = "missing-file2";
-               };
-       };
-};
diff --git a/tools/binman/test/160_pack_overlap_zero.dts b/tools/binman/test/160_pack_overlap_zero.dts
deleted file mode 100644 (file)
index 731aa1c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               u-boot {
-               };
-
-               fill {
-                       size = <0>;
-                       offset = <3>;
-               };
-       };
-};
diff --git a/tools/binman/test/161_fit.dts b/tools/binman/test/161_fit.dts
deleted file mode 100644 (file)
index c52d760..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               u-boot {
-               };
-               fit {
-                       description = "test-desc";
-                       #address-cells = <1>;
-
-                       images {
-                               kernel {
-                                       description = "Vanilla Linux kernel";
-                                       type = "kernel";
-                                       arch = "ppc";
-                                       os = "linux";
-                                       compression = "gzip";
-                                       load = <00000000>;
-                                       entry = <00000000>;
-                                       hash-1 {
-                                               algo = "crc32";
-                                       };
-                                       hash-2 {
-                                               algo = "sha1";
-                                       };
-                                       u-boot {
-                                       };
-                               };
-                               fdt-1 {
-                                       description = "Flattened Device Tree blob";
-                                       type = "flat_dt";
-                                       arch = "ppc";
-                                       compression = "none";
-                                       hash-1 {
-                                               algo = "crc32";
-                                       };
-                                       hash-2 {
-                                               algo = "sha1";
-                                       };
-                                       u-boot-spl-dtb {
-                                       };
-                               };
-                       };
-
-                       configurations {
-                               default = "conf-1";
-                               conf-1 {
-                                       description = "Boot Linux kernel with FDT blob";
-                                       kernel = "kernel";
-                                       fdt = "fdt-1";
-                               };
-                       };
-               };
-               u-boot-nodtb {
-               };
-       };
-};
diff --git a/tools/binman/test/162_fit_external.dts b/tools/binman/test/162_fit_external.dts
deleted file mode 100644 (file)
index 19518e0..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-
-/dts-v1/;
-
-/ {
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       binman {
-               u-boot {
-               };
-               fit {
-                       fit,external-offset = <0>;
-                       description = "test-desc";
-                       #address-cells = <1>;
-
-                       images {
-                               kernel {
-                                       description = "Vanilla Linux kernel";
-                                       type = "kernel";
-                                       arch = "ppc";
-                                       os = "linux";
-                                       compression = "gzip";
-                                       load = <00000000>;
-                                       entry = <00000000>;
-                                       hash-1 {
-                                               algo = "crc32";
-                                       };
-                                       hash-2 {
-                                               algo = "sha1";
-                                       };
-                                       u-boot {
-                                       };
-                               };
-                               fdt-1 {
-                                       description = "Flattened Device Tree blob";
-                                       type = "flat_dt";
-                                       arch = "ppc";
-                                       compression = "none";
-                                       hash-1 {
-                                               algo = "crc32";
-                                       };
-                                       hash-2 {
-                                               algo = "sha1";
-                                       };
-                                       _testing {
-                                               return-contents-later;
-                                       };
-                               };
-                       };
-
-                       configurations {
-                               default = "conf-1";
-                               conf-1 {
-                                       description = "Boot Linux kernel with FDT blob";
-                                       kernel = "kernel";
-                                       fdt = "fdt-1";
-                               };
-                       };
-               };
-               u-boot-nodtb {
-               };
-       };
-};
index d058c59e92781df75ede38f6fba7ace4b8f88ffd..188490b728f890d05ab8b793fcdc894df4390ebb 100644 (file)
@@ -207,8 +207,7 @@ class Prop:
             if auto_resize:
                 while fdt_obj.setprop(node.Offset(), self.name, self.bytes,
                                     (libfdt.NOSPACE,)) == -libfdt.NOSPACE:
-                    fdt_obj.resize(fdt_obj.totalsize() + 1024 +
-                                   len(self.bytes))
+                    fdt_obj.resize(fdt_obj.totalsize() + 1024)
                     fdt_obj.setprop(node.Offset(), self.name, self.bytes)
             else:
                 fdt_obj.setprop(node.Offset(), self.name, self.bytes)
@@ -411,18 +410,6 @@ class Node:
             val = val.encode('utf-8')
         self._CheckProp(prop_name).props[prop_name].SetData(val + b'\0')
 
-    def AddData(self, prop_name, val):
-        """Add a new property to a node
-
-        The device tree is marked dirty so that the value will be written to
-        the blob on the next sync.
-
-        Args:
-            prop_name: Name of property to add
-            val: Bytes value of property
-        """
-        self.props[prop_name] = Prop(self, None, prop_name, val)
-
     def AddString(self, prop_name, val):
         """Add a new string property to a node
 
@@ -435,7 +422,7 @@ class Node:
         """
         if sys.version_info[0] >= 3:  # pragma: no cover
             val = bytes(val, 'utf-8')
-        self.AddData(prop_name, val + b'\0')
+        self.props[prop_name] = Prop(self, None, prop_name, val + b'\0')
 
     def AddSubnode(self, name):
         """Add a new subnode to the node
index b4f9b7f498fa23e66443ffcd5e5834273d1fb579..375e906424c5a29c92f12957780d169e3083419b 100755 (executable)
@@ -417,10 +417,6 @@ class TestProp(unittest.TestCase):
         self.node.SetData('empty', b'123')
         self.assertEqual(b'123', prop.bytes)
 
-        # Trying adding a lot of data at once
-        self.node.AddData('data', tools.GetBytes(65, 20000))
-        self.dtb.Sync(auto_resize=True)
-
     def testFromData(self):
         dtb2 = fdt.Fdt.FromData(self.dtb.GetContents())
         self.assertEqual(dtb2.GetContents(), self.dtb.GetContents())
index df310b53da38fc02365e1f3cf89c8db7b47362de..a082d9386d200d095753eae45fec826b1a718269 100644 (file)
@@ -53,7 +53,7 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
        }
 
        /* for first image creation, add a timestamp at offset 0 i.e., root  */
-       if (params->datafile || params->reset_timestamp) {
+       if (params->datafile) {
                time_t time = imagetool_get_source_date(params->cmdname,
                                                        sbuf.st_mtime);
                ret = fit_set_timestamp(ptr, 0, time);
index acbc48e9be0d681897e01df43bb63345466ff938..f54809cd57864f8312b378afd513d5470e359ae1 100644 (file)
@@ -81,7 +81,6 @@ struct image_tool_params {
        unsigned int external_offset;   /* Add padding to external data */
        int bl_len;             /* Block length in byte for external data */
        const char *engine_id;  /* Engine to use for signing */
-       bool reset_timestamp;   /* Reset the timestamp on an existing image */
 };
 
 /*
index 43078d075cf5ebf6bc4bab73ae85f96894223267..7cb666d4822ee3ea5565371b96f6b5fde57a680e 100644 (file)
@@ -145,7 +145,7 @@ static void process_args(int argc, char **argv)
        int opt;
 
        while ((opt = getopt(argc, argv,
-                  "a:A:b:B:c:C:d:D:e:Ef:Fk:i:K:ln:N:p:O:rR:qstT:vVx")) != -1) {
+                            "a:A:b:B:c:C:d:D:e:Ef:Fk:i:K:ln:N:p:O:rR:qsT:vVx")) != -1) {
                switch (opt) {
                case 'a':
                        params.addr = strtoull(optarg, &ptr, 16);
@@ -269,9 +269,6 @@ static void process_args(int argc, char **argv)
                case 's':
                        params.skipcpy = 1;
                        break;
-               case 't':
-                       params.reset_timestamp = 1;
-                       break;
                case 'T':
                        if (strcmp(optarg, "list") == 0) {
                                show_valid_options(IH_TYPE);
index 263bac3fc90d72a475e52a68d508ed8f1900f7ff..07c3e2739abee4931f453aec64b26b09c3da776a 100644 (file)
@@ -41,12 +41,6 @@ def FindCheckPatch():
 def CheckPatch(fname, verbose=False, show_types=False):
     """Run checkpatch.pl on a file.
 
-    Args:
-        fname: Filename to check
-        verbose: True to print out every line of the checkpatch output as it is
-            parsed
-        show_types: Tell checkpatch to show the type (number) of each message
-
     Returns:
         namedtuple containing:
             ok: False=failure, True=ok
index 8d583c4ed393a093d2b13f006da7a3508001de60..48d0529c536520cad1fc50f103b96a6fb93abfd7 100644 (file)
@@ -2,7 +2,6 @@
 # Copyright (c) 2011 The Chromium OS Authors.
 #
 
-import collections
 import re
 
 # Separates a tag: at the beginning of the subject from the rest of it
@@ -24,9 +23,6 @@ class Commit:
         notes: List of lines in the commit (not series) notes
         change_id: the Change-Id: tag that was stripped from this commit
             and can be used to generate the Message-Id.
-        rtags: Response tags (e.g. Reviewed-by) collected by the commit, dict:
-            key: rtag type (e.g. 'Reviewed-by')
-            value: Set of people who gave that rtag, each a name/email string
     """
     def __init__(self, hash):
         self.hash = hash
@@ -37,7 +33,6 @@ class Commit:
         self.signoff_set = set()
         self.notes = []
         self.change_id = None
-        self.rtags = collections.defaultdict(set)
 
     def AddChange(self, version, info):
         """Add a new change line to the change list for a version.
@@ -93,12 +88,3 @@ class Commit:
           return False
         self.signoff_set.add(signoff)
         return True
-
-    def AddRtag(self, rtag_type, who):
-        """Add a response tag to a commit
-
-        Args:
-            key: rtag type (e.g. 'Reviewed-by')
-            who: Person who gave that rtag, e.g. 'Fred Bloggs <fred@bloggs.org>'
-        """
-        self.rtags[rtag_type].add(who)
diff --git a/tools/patman/control.py b/tools/patman/control.py
deleted file mode 100644 (file)
index 67e8f39..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-#
-# Copyright 2020 Google LLC
-#
-"""Handles the main control logic of patman
-
-This module provides various functions called by the main program to implement
-the features of patman.
-"""
-
-import os
-import sys
-
-from patman import checkpatch
-from patman import gitutil
-from patman import patchstream
-from patman import terminal
-
-def setup():
-    """Do required setup before doing anything"""
-    gitutil.Setup()
-
-def prepare_patches(col, branch, count, start, end, ignore_binary):
-    """Figure out what patches to generate, then generate them
-
-    The patch files are written to the current directory, e.g. 0001_xxx.patch
-    0002_yyy.patch
-
-    Args:
-        col (terminal.Color): Colour output object
-        branch (str): Branch to create patches from (None = current)
-        count (int): Number of patches to produce, or -1 to produce patches for
-            the current branch back to the upstream commit
-        start (int): Start partch to use (0=first / top of branch)
-        end (int): End patch to use (0=last one in series, 1=one before that,
-            etc.)
-        ignore_binary (bool): Don't generate patches for binary files
-
-    Returns:
-        Tuple:
-            Series object for this series (set of patches)
-            Filename of the cover letter as a string (None if none)
-            patch_files: List of patch filenames, each a string, e.g.
-                ['0001_xxx.patch', '0002_yyy.patch']
-    """
-    if count == -1:
-        # Work out how many patches to send if we can
-        count = (gitutil.CountCommitsToBranch(branch) - start)
-
-    if not count:
-        str = 'No commits found to process - please use -c flag, or run:\n' \
-              '  git branch --set-upstream-to remote/branch'
-        sys.exit(col.Color(col.RED, str))
-
-    # Read the metadata from the commits
-    to_do = count - end
-    series = patchstream.GetMetaData(branch, start, to_do)
-    cover_fname, patch_files = gitutil.CreatePatches(
-        branch, start, to_do, ignore_binary, series)
-
-    # Fix up the patch files to our liking, and insert the cover letter
-    patchstream.FixPatches(series, patch_files)
-    if cover_fname and series.get('cover'):
-        patchstream.InsertCoverLetter(cover_fname, series, to_do)
-    return series, cover_fname, patch_files
-
-def check_patches(series, patch_files, run_checkpatch, verbose):
-    """Run some checks on a set of patches
-
-    This santiy-checks the patman tags like Series-version and runs the patches
-    through checkpatch
-
-    Args:
-        series (Series): Series object for this series (set of patches)
-        patch_files (list): List of patch filenames, each a string, e.g.
-            ['0001_xxx.patch', '0002_yyy.patch']
-        run_checkpatch (bool): True to run checkpatch.pl
-        verbose (bool): True to print out every line of the checkpatch output as
-            it is parsed
-
-    Returns:
-        bool: True if the patches had no errors, False if they did
-    """
-    # Do a few checks on the series
-    series.DoChecks()
-
-    # Check the patches, and run them through 'git am' just to be sure
-    if run_checkpatch:
-        ok = checkpatch.CheckPatches(verbose, patch_files)
-    else:
-        ok = True
-    return ok
-
-
-def email_patches(col, series, cover_fname, patch_files, process_tags, its_a_go,
-                  ignore_bad_tags, add_maintainers, limit, dry_run, in_reply_to,
-                  thread, smtp_server):
-    """Email patches to the recipients
-
-    This emails out the patches and cover letter using 'git send-email'. Each
-    patch is copied to recipients identified by the patch tag and output from
-    the get_maintainer.pl script. The cover letter is copied to all recipients
-    of any patch.
-
-    To make this work a CC file is created holding the recipients for each patch
-    and the cover letter. See the main program 'cc_cmd' for this logic.
-
-    Args:
-        col (terminal.Color): Colour output object
-        series (Series): Series object for this series (set of patches)
-        cover_fname (str): Filename of the cover letter as a string (None if
-            none)
-        patch_files (list): List of patch filenames, each a string, e.g.
-            ['0001_xxx.patch', '0002_yyy.patch']
-        process_tags (bool): True to process subject tags in each patch, e.g.
-            for 'dm: spi: Add SPI support' this would be 'dm' and 'spi'. The
-            tags are looked up in the configured sendemail.aliasesfile and also
-            in ~/.patman (see README)
-        its_a_go (bool): True if we are going to actually send the patches,
-            False if the patches have errors and will not be sent unless
-            @ignore_errors
-        ignore_bad_tags (bool): True to just print a warning for unknown tags,
-            False to halt with an error
-        add_maintainers (bool): Run the get_maintainer.pl script for each patch
-        limit (int): Limit on the number of people that can be cc'd on a single
-            patch or the cover letter (None if no limit)
-        dry_run (bool): Don't actually email the patches, just print out what
-            would be sent
-        in_reply_to (str): If not None we'll pass this to git as --in-reply-to.
-            Should be a message ID that this is in reply to.
-        thread (bool): True to add --thread to git send-email (make all patches
-            reply to cover-letter or first patch in series)
-        smtp_server (str): SMTP server to use to send patches (None for default)
-    """
-    cc_file = series.MakeCcFile(process_tags, cover_fname, not ignore_bad_tags,
-                                add_maintainers, limit)
-
-    # Email the patches out (giving the user time to check / cancel)
-    cmd = ''
-    if its_a_go:
-        cmd = gitutil.EmailPatches(
-            series, cover_fname, patch_files, dry_run, not ignore_bad_tags,
-            cc_file, in_reply_to=in_reply_to, thread=thread,
-            smtp_server=smtp_server)
-    else:
-        print(col.Color(col.RED, "Not sending emails due to errors/warnings"))
-
-    # For a dry run, just show our actions as a sanity check
-    if dry_run:
-        series.ShowActions(patch_files, cmd, process_tags)
-        if not its_a_go:
-            print(col.Color(col.RED, "Email would not be sent"))
-
-    os.remove(cc_file)
-
-def send(args):
-    """Create, check and send patches by email
-
-    Args:
-        args (argparse.Namespace): Arguments to patman
-    """
-    setup()
-    col = terminal.Color()
-    series, cover_fname, patch_files = prepare_patches(
-        col, args.branch, args.count, args.start, args.end,
-        args.ignore_binary)
-    ok = check_patches(series, patch_files, args.check_patch,
-                       args.verbose)
-
-    ok = ok and gitutil.CheckSuppressCCConfig()
-
-    its_a_go = ok or args.ignore_errors
-    if its_a_go:
-        email_patches(
-            col, series, cover_fname, patch_files, args.process_tags,
-            its_a_go, args.ignore_bad_tags, args.add_maintainers,
-            args.limit, args.dry_run, args.in_reply_to, args.thread,
-            args.smtp_server)
index 810af9c6042ab09954d3861ab52f6bc5ae5ff7c4..dc30078ccee65aa1d8e60c34cb72a636d2f110f8 100644 (file)
@@ -14,23 +14,15 @@ import unittest
 
 from io import StringIO
 
-from patman import control
 from patman import gitutil
 from patman import patchstream
 from patman import settings
-from patman import terminal
 from patman import tools
-from patman.test_util import capture_sys_output
-
-try:
-    import pygit2
-    HAVE_PYGIT2= True
-except ModuleNotFoundError:
-    HAVE_PYGIT2 = False
 
 
 @contextlib.contextmanager
 def capture():
+    import sys
     oldout,olderr = sys.stdout, sys.stderr
     try:
         out=[StringIO(), StringIO()]
@@ -45,8 +37,6 @@ def capture():
 class TestFunctional(unittest.TestCase):
     def setUp(self):
         self.tmpdir = tempfile.mkdtemp(prefix='patman.')
-        self.gitdir = os.path.join(self.tmpdir, 'git')
-        self.repo = None
 
     def tearDown(self):
         shutil.rmtree(self.tmpdir)
@@ -296,160 +286,3 @@ Changes in v2:
             if expected:
                 expected = expected.splitlines()
                 self.assertEqual(expected, lines[start:(start+len(expected))])
-
-    def make_commit_with_file(self, subject, body, fname, text):
-        """Create a file and add it to the git repo with a new commit
-
-        Args:
-            subject (str): Subject for the commit
-            body (str): Body text of the commit
-            fname (str): Filename of file to create
-            text (str): Text to put into the file
-        """
-        path = os.path.join(self.gitdir, fname)
-        tools.WriteFile(path, text, binary=False)
-        index = self.repo.index
-        index.add(fname)
-        author =  pygit2.Signature('Test user', 'test@email.com')
-        committer = author
-        tree = index.write_tree()
-        message = subject + '\n' + body
-        self.repo.create_commit('HEAD', author, committer, message, tree,
-                                [self.repo.head.target])
-
-    def make_git_tree(self):
-        """Make a simple git tree suitable for testing
-
-        It has three branches:
-            'base' has two commits: PCI, main
-            'first' has base as upstream and two more commits: I2C, SPI
-            'second' has base as upstream and three more: video, serial, bootm
-
-        Returns:
-            pygit2 repository
-        """
-        repo = pygit2.init_repository(self.gitdir)
-        self.repo = repo
-        new_tree = repo.TreeBuilder().write()
-
-        author = pygit2.Signature('Test user', 'test@email.com')
-        committer = author
-        commit = repo.create_commit('HEAD', author, committer,
-                                         'Created master', new_tree, [])
-
-        self.make_commit_with_file('Initial commit', '''
-Add a README
-
-''', 'README', '''This is the README file
-describing this project
-in very little detail''')
-
-        self.make_commit_with_file('pci: PCI implementation', '''
-Here is a basic PCI implementation
-
-''', 'pci.c', '''This is a file
-it has some contents
-and some more things''')
-        self.make_commit_with_file('main: Main program', '''
-Hello here is the second commit.
-''', 'main.c', '''This is the main file
-there is very little here
-but we can always add more later
-if we want to
-
-Series-to: u-boot
-Series-cc: Barry Crump <bcrump@whataroa.nz>
-''')
-        base_target = repo.revparse_single('HEAD')
-        self.make_commit_with_file('i2c: I2C things', '''
-This has some stuff to do with I2C
-''', 'i2c.c', '''And this is the file contents
-with some I2C-related things in it''')
-        self.make_commit_with_file('spi: SPI fixes', '''
-SPI needs some fixes
-and here they are
-''', 'spi.c', '''Some fixes for SPI in this
-file to make SPI work
-better than before''')
-        first_target = repo.revparse_single('HEAD')
-
-        target = repo.revparse_single('HEAD~2')
-        repo.reset(target.oid, pygit2.GIT_CHECKOUT_FORCE)
-        self.make_commit_with_file('video: Some video improvements', '''
-Fix up the video so that
-it looks more purple. Purple is
-a very nice colour.
-''', 'video.c', '''More purple here
-Purple and purple
-Even more purple
-Could not be any more purple''')
-        self.make_commit_with_file('serial: Add a serial driver', '''
-Here is the serial driver
-for my chip.
-
-Cover-letter:
-Series for my board
-This series implements support
-for my glorious board.
-END
-''', 'serial.c', '''The code for the
-serial driver is here''')
-        self.make_commit_with_file('bootm: Make it boot', '''
-This makes my board boot
-with a fix to the bootm
-command
-''', 'bootm.c', '''Fix up the bootm
-command to make the code as
-complicated as possible''')
-        second_target = repo.revparse_single('HEAD')
-
-        repo.branches.local.create('first', first_target)
-        repo.config.set_multivar('branch.first.remote', '', '.')
-        repo.config.set_multivar('branch.first.merge', '', 'refs/heads/base')
-
-        repo.branches.local.create('second', second_target)
-        repo.config.set_multivar('branch.second.remote', '', '.')
-        repo.config.set_multivar('branch.second.merge', '', 'refs/heads/base')
-
-        repo.branches.local.create('base', base_target)
-        return repo
-
-    @unittest.skipIf(not HAVE_PYGIT2, 'Missing python3-pygit2')
-    def testBranch(self):
-        """Test creating patches from a branch"""
-        repo = self.make_git_tree()
-        target = repo.lookup_reference('refs/heads/first')
-        self.repo.checkout(target, strategy=pygit2.GIT_CHECKOUT_FORCE)
-        control.setup()
-        try:
-            orig_dir = os.getcwd()
-            os.chdir(self.gitdir)
-
-            # Check that it can detect the current branch
-            self.assertEqual(2, gitutil.CountCommitsToBranch(None))
-            col = terminal.Color()
-            with capture_sys_output() as _:
-                _, cover_fname, patch_files = control.prepare_patches(
-                    col, branch=None, count=-1, start=0, end=0,
-                    ignore_binary=False)
-            self.assertIsNone(cover_fname)
-            self.assertEqual(2, len(patch_files))
-
-            # Check that it can detect a different branch
-            self.assertEqual(3, gitutil.CountCommitsToBranch('second'))
-            with capture_sys_output() as _:
-                _, cover_fname, patch_files = control.prepare_patches(
-                    col, branch='second', count=-1, start=0, end=0,
-                    ignore_binary=False)
-            self.assertIsNotNone(cover_fname)
-            self.assertEqual(3, len(patch_files))
-
-            # Check that it can skip patches at the end
-            with capture_sys_output() as _:
-                _, cover_fname, patch_files = control.prepare_patches(
-                    col, branch='second', count=-1, start=0, end=1,
-                    ignore_binary=False)
-            self.assertIsNotNone(cover_fname)
-            self.assertEqual(2, len(patch_files))
-        finally:
-            os.chdir(orig_dir)
index 192d8e69b32a9470d787f3ed0c42a31e577136fb..5189840eaba9dc2e857f27d0f72a25181999028e 100644 (file)
@@ -49,24 +49,17 @@ def LogCmd(commit_range, git_dir=None, oneline=False, reverse=False,
     cmd.append('--')
     return cmd
 
-def CountCommitsToBranch(branch):
+def CountCommitsToBranch():
     """Returns number of commits between HEAD and the tracking branch.
 
     This looks back to the tracking branch and works out the number of commits
     since then.
 
-    Args:
-        branch: Branch to count from (None for current branch)
-
     Return:
         Number of patches that exist on top of the branch
     """
-    if branch:
-        us, msg = GetUpstream('.git', branch)
-        rev_range = '%s..%s' % (us, branch)
-    else:
-        rev_range = '@{upstream}..'
-    pipe = [LogCmd(rev_range, oneline=True), ['wc', '-l']]
+    pipe = [LogCmd('@{upstream}..', oneline=True),
+            ['wc', '-l']]
     stdout = command.RunPipe(pipe, capture=True, oneline=True).stdout
     patch_count = int(stdout)
     return patch_count
@@ -259,20 +252,17 @@ def Fetch(git_dir=None, work_tree=None):
     if result.return_code != 0:
         raise OSError('git fetch: %s' % result.stderr)
 
-def CreatePatches(branch, start, count, ignore_binary, series):
+def CreatePatches(start, count, ignore_binary, series):
     """Create a series of patches from the top of the current branch.
 
     The patch files are written to the current directory using
     git format-patch.
 
     Args:
-        branch: Branch to create patches from (None for current branch)
         start: Commit to start from: 0=HEAD, 1=next one, etc.
         count: number of commits to include
-        ignore_binary: Don't generate patches for binary files
-        series: Series object for this series (set of patches)
     Return:
-        Filename of cover letter (None if none)
+        Filename of cover letter
         List of filenames of patch files
     """
     if series.get('version'):
@@ -285,8 +275,7 @@ def CreatePatches(branch, start, count, ignore_binary, series):
     prefix = series.GetPatchPrefix()
     if prefix:
         cmd += ['--subject-prefix=%s' % prefix]
-    brname = branch or 'HEAD'
-    cmd += ['%s~%d..%s~%d' % (brname, start + count, brname, start)]
+    cmd += ['HEAD~%d..HEAD~%d' % (start + count, start)]
 
     stdout = command.RunList(cmd)
     files = stdout.splitlines()
@@ -344,31 +333,6 @@ def BuildEmailList(in_list, tag=None, alias=None, raise_on_error=True):
         return ['%s %s%s%s' % (tag, quote, email, quote) for email in result]
     return result
 
-def CheckSuppressCCConfig():
-    """Check if sendemail.suppresscc is configured correctly.
-
-    Returns:
-        True if the option is configured correctly, False otherwise.
-    """
-    suppresscc = command.OutputOneLine('git', 'config', 'sendemail.suppresscc',
-                                       raise_on_error=False)
-
-    # Other settings should be fine.
-    if suppresscc == 'all' or suppresscc == 'cccmd':
-        col = terminal.Color()
-
-        print((col.Color(col.RED, "error") +
-            ": git config sendemail.suppresscc set to %s\n"  % (suppresscc)) +
-            "  patman needs --cc-cmd to be run to set the cc list.\n" +
-            "  Please run:\n" +
-            "    git config --unset sendemail.suppresscc\n" +
-            "  Or read the man page:\n" +
-            "    git send-email --help\n" +
-            "  and set an option that runs --cc-cmd\n")
-        return False
-
-    return True
-
 def EmailPatches(series, cover_fname, args, dry_run, raise_on_error, cc_fname,
         self_only=False, alias=None, in_reply_to=None, thread=False,
         smtp_server=None):
index b96000807ebbba548effd91079d40ac239bf7ef5..28a9a260879a16910b9065885aa021f1ad5ebd73 100755 (executable)
@@ -6,11 +6,10 @@
 
 """See README for more information"""
 
-from argparse import ArgumentParser
+from optparse import OptionParser
 import os
 import re
 import sys
-import traceback
 import unittest
 
 if __name__ == "__main__":
@@ -19,93 +18,76 @@ if __name__ == "__main__":
     sys.path.append(os.path.join(our_path, '..'))
 
 # Our modules
+from patman import checkpatch
 from patman import command
-from patman import control
 from patman import gitutil
+from patman import patchstream
 from patman import project
 from patman import settings
 from patman import terminal
-from patman import test_util
 from patman import test_checkpatch
 
-def AddCommonArgs(parser):
-    parser.add_argument('-b', '--branch', type=str,
-        help="Branch to process (by default, the current branch)")
-    parser.add_argument('-c', '--count', dest='count', type=int,
-        default=-1, help='Automatically create patches from top n commits')
-    parser.add_argument('-e', '--end', type=int, default=0,
-        help='Commits to skip at end of patch list')
-    parser.add_argument('-D', '--debug', action='store_true',
-        help='Enabling debugging (provides a full traceback on error)')
-    parser.add_argument('-s', '--start', dest='start', type=int,
-        default=0, help='Commit to start creating patches from (0 = HEAD)')
-
-epilog = '''Create patches from commits in a branch, check them and email them
-as specified by tags you place in the commits. Use -n to do a dry run first.'''
-
-parser = ArgumentParser(epilog=epilog)
-subparsers = parser.add_subparsers(dest='cmd')
-send = subparsers.add_parser('send')
-send.add_argument('-H', '--full-help', action='store_true', dest='full_help',
+
+parser = OptionParser()
+parser.add_option('-H', '--full-help', action='store_true', dest='full_help',
        default=False, help='Display the README file')
-send.add_argument('-i', '--ignore-errors', action='store_true',
+parser.add_option('-c', '--count', dest='count', type='int',
+       default=-1, help='Automatically create patches from top n commits')
+parser.add_option('-i', '--ignore-errors', action='store_true',
        dest='ignore_errors', default=False,
        help='Send patches email even if patch errors are found')
-send.add_argument('-l', '--limit-cc', dest='limit', type=int, default=None,
-       help='Limit the cc list to LIMIT entries [default: %(default)s]')
-send.add_argument('-m', '--no-maintainers', action='store_false',
+parser.add_option('-l', '--limit-cc', dest='limit', type='int',
+       default=None, help='Limit the cc list to LIMIT entries [default: %default]')
+parser.add_option('-m', '--no-maintainers', action='store_false',
        dest='add_maintainers', default=True,
        help="Don't cc the file maintainers automatically")
-send.add_argument('-n', '--dry-run', action='store_true', dest='dry_run',
+parser.add_option('-n', '--dry-run', action='store_true', dest='dry_run',
        default=False, help="Do a dry run (create but don't email patches)")
-send.add_argument('-p', '--project', default=project.DetectProject(),
+parser.add_option('-p', '--project', default=project.DetectProject(),
                   help="Project name; affects default option values and "
-                  "aliases [default: %(default)s]")
-send.add_argument('-r', '--in-reply-to', type=str, action='store',
+                  "aliases [default: %default]")
+parser.add_option('-r', '--in-reply-to', type='string', action='store',
                   help="Message ID that this series is in reply to")
-send.add_argument('-t', '--ignore-bad-tags', action='store_true',
+parser.add_option('-s', '--start', dest='start', type='int',
+       default=0, help='Commit to start creating patches from (0 = HEAD)')
+parser.add_option('-t', '--ignore-bad-tags', action='store_true',
                   default=False, help='Ignore bad tags / aliases')
-send.add_argument('-v', '--verbose', action='store_true', dest='verbose',
+parser.add_option('-v', '--verbose', action='store_true', dest='verbose',
        default=False, help='Verbose output of errors and warnings')
-send.add_argument('-T', '--thread', action='store_true', dest='thread',
+parser.add_option('-T', '--thread', action='store_true', dest='thread',
                   default=False, help='Create patches as a single thread')
-send.add_argument('--cc-cmd', dest='cc_cmd', type=str, action='store',
+parser.add_option('--cc-cmd', dest='cc_cmd', type='string', action='store',
        default=None, help='Output cc list for patch file (used by git)')
-send.add_argument('--no-binary', action='store_true', dest='ignore_binary',
+parser.add_option('--no-binary', action='store_true', dest='ignore_binary',
                   default=False,
                   help="Do not output contents of changes in binary files")
-send.add_argument('--no-check', action='store_false', dest='check_patch',
+parser.add_option('--no-check', action='store_false', dest='check_patch',
                   default=True,
                   help="Don't check for patch compliance")
-send.add_argument('--no-tags', action='store_false', dest='process_tags',
+parser.add_option('--no-tags', action='store_false', dest='process_tags',
                   default=True, help="Don't process subject tags as aliases")
-send.add_argument('--smtp-server', type=str,
+parser.add_option('--smtp-server', type='str',
                   help="Specify the SMTP server to 'git send-email'")
-AddCommonArgs(send)
+parser.add_option('--test', action='store_true', dest='test',
+                  default=False, help='run tests')
+
+parser.usage += """
 
-send.add_argument('patchfiles', nargs='*')
+Create patches from commits in a branch, check them and email them as
+specified by tags you place in the commits. Use -n to do a dry run first."""
 
-test_parser = subparsers.add_parser('test', help='Run tests')
-AddCommonArgs(test_parser)
 
 # Parse options twice: first to get the project and second to handle
 # defaults properly (which depends on project).
-argv = sys.argv[1:]
-if len(argv) < 1 or argv[0].startswith('-'):
-    argv = ['send'] + argv
-args = parser.parse_args(argv)
-if hasattr(args, 'project'):
-    settings.Setup(gitutil, send, args.project, '')
-    args = parser.parse_args(argv)
+(options, args) = parser.parse_args()
+settings.Setup(gitutil, parser, options.project, '')
+(options, args) = parser.parse_args()
 
 if __name__ != "__main__":
     pass
 
-if not args.debug:
-    sys.tracebacklimit = 0
-
 # Run our meagre tests
-if args.cmd == 'test':
+elif options.test:
     import doctest
     from patman import func_test
 
@@ -119,31 +101,87 @@ if args.cmd == 'test':
         suite = doctest.DocTestSuite(module)
         suite.run(result)
 
-    sys.exit(test_util.ReportResult('patman', None, result))
+    # TODO: Surely we can just 'print' result?
+    print(result)
+    for test, err in result.errors:
+        print(err)
+    for test, err in result.failures:
+        print(err)
+
+# Called from git with a patch filename as argument
+# Printout a list of additional CC recipients for this patch
+elif options.cc_cmd:
+    fd = open(options.cc_cmd, 'r')
+    re_line = re.compile('(\S*) (.*)')
+    for line in fd.readlines():
+        match = re_line.match(line)
+        if match and match.group(1) == args[0]:
+            for cc in match.group(2).split('\0'):
+                cc = cc.strip()
+                if cc:
+                    print(cc)
+    fd.close()
+
+elif options.full_help:
+    pager = os.getenv('PAGER')
+    if not pager:
+        pager = 'more'
+    fname = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])),
+                         'README')
+    command.Run(pager, fname)
 
 # Process commits, produce patches files, check them, email them
-elif args.cmd == 'send':
-    # Called from git with a patch filename as argument
-    # Printout a list of additional CC recipients for this patch
-    if args.cc_cmd:
-        fd = open(args.cc_cmd, 'r')
-        re_line = re.compile('(\S*) (.*)')
-        for line in fd.readlines():
-            match = re_line.match(line)
-            if match and match.group(1) == args.patchfiles[0]:
-                for cc in match.group(2).split('\0'):
-                    cc = cc.strip()
-                    if cc:
-                        print(cc)
-        fd.close()
-
-    elif args.full_help:
-        pager = os.getenv('PAGER')
-        if not pager:
-            pager = 'more'
-        fname = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])),
-                             'README')
-        command.Run(pager, fname)
-
+else:
+    gitutil.Setup()
+
+    if options.count == -1:
+        # Work out how many patches to send if we can
+        options.count = gitutil.CountCommitsToBranch() - options.start
+
+    col = terminal.Color()
+    if not options.count:
+        str = 'No commits found to process - please use -c flag'
+        sys.exit(col.Color(col.RED, str))
+
+    # Read the metadata from the commits
+    if options.count:
+        series = patchstream.GetMetaData(options.start, options.count)
+        cover_fname, args = gitutil.CreatePatches(options.start, options.count,
+                options.ignore_binary, series)
+
+    # Fix up the patch files to our liking, and insert the cover letter
+    patchstream.FixPatches(series, args)
+    if cover_fname and series.get('cover'):
+        patchstream.InsertCoverLetter(cover_fname, series, options.count)
+
+    # Do a few checks on the series
+    series.DoChecks()
+
+    # Check the patches, and run them through 'git am' just to be sure
+    if options.check_patch:
+        ok = checkpatch.CheckPatches(options.verbose, args)
     else:
-        control.send(args)
+        ok = True
+
+    cc_file = series.MakeCcFile(options.process_tags, cover_fname,
+                                not options.ignore_bad_tags,
+                                options.add_maintainers, options.limit)
+
+    # Email the patches out (giving the user time to check / cancel)
+    cmd = ''
+    its_a_go = ok or options.ignore_errors
+    if its_a_go:
+        cmd = gitutil.EmailPatches(series, cover_fname, args,
+                options.dry_run, not options.ignore_bad_tags, cc_file,
+                in_reply_to=options.in_reply_to, thread=options.thread,
+                smtp_server=options.smtp_server)
+    else:
+        print(col.Color(col.RED, "Not sending emails due to errors/warnings"))
+
+    # For a dry run, just show our actions as a sanity check
+    if options.dry_run:
+        series.ShowActions(args, cmd, options.process_tags)
+        if not its_a_go:
+            print(col.Color(col.RED, "Email would not be sent"))
+
+    os.remove(cc_file)
index ba0a13f6325ed7ee8031189803113118eea9e2a8..4fe465e9ab81714c9ee392f32959814cbbc9c4ae 100644 (file)
@@ -37,7 +37,7 @@ re_change_id = re.compile('^Change-Id: *(.*)')
 re_commit_tag = re.compile('^Commit-([a-z-]*): *(.*)')
 
 # Commit tags that we want to collect and keep
-re_tag = re.compile('^(Tested-by|Acked-by|Reviewed-by|Patch-cc|Fixes): (.*)')
+re_tag = re.compile('^(Tested-by|Acked-by|Reviewed-by|Patch-cc): (.*)')
 
 # The start of a new commit in the git log
 re_commit = re.compile('^commit ([0-9a-f]*)$')
@@ -112,15 +112,6 @@ class PatchStream:
             self.in_section = 'commit-' + name
             self.skip_blank = False
 
-    def AddCommitRtag(self, rtag_type, who):
-        """Add a response tag to the current commit
-
-        Args:
-            key: rtag type (e.g. 'Reviewed-by')
-            who: Person who gave that rtag, e.g. 'Fred Bloggs <fred@bloggs.org>'
-        """
-        self.commit.AddRtag(rtag_type, who)
-
     def CloseCommit(self):
         """Save the current commit into our commit list, and reset our state"""
         if self.commit and self.is_log:
@@ -269,10 +260,6 @@ class PatchStream:
             else:
                 self.section.append(line)
 
-        # If we are not in a section, it is an unexpected END
-        elif line == 'END':
-                raise ValueError("'END' wihout section")
-
         # Detect the commit subject
         elif not is_blank and self.state == STATE_PATCH_SUBJECT:
             self.commit.subject = line
@@ -351,9 +338,6 @@ class PatchStream:
             elif name == 'changes':
                 self.in_change = 'Commit'
                 self.change_version = self.ParseVersion(value, line)
-            else:
-                self.warn.append('Line %d: Ignoring Commit-%s' %
-                    (self.linenum, name))
 
         # Detect the start of a new commit
         elif commit_match:
@@ -362,14 +346,12 @@ class PatchStream:
 
         # Detect tags in the commit message
         elif tag_match:
-            rtag_type, who = tag_match.groups()
-            self.AddCommitRtag(rtag_type, who)
             # Remove Tested-by self, since few will take much notice
-            if (rtag_type == 'Tested-by' and
-                    who.find(os.getenv('USER') + '@') != -1):
+            if (tag_match.group(1) == 'Tested-by' and
+                    tag_match.group(2).find(os.getenv('USER') + '@') != -1):
                 self.warn.append("Ignoring %s" % line)
-            elif rtag_type == 'Patch-cc':
-                self.commit.AddCc(who.split(','))
+            elif tag_match.group(1) == 'Patch-cc':
+                self.commit.AddCc(tag_match.group(2).split(','))
             else:
                 out = [line]
 
@@ -530,19 +512,17 @@ def GetMetaDataForList(commit_range, git_dir=None, count=None,
     ps.Finalize()
     return series
 
-def GetMetaData(branch, start, count):
+def GetMetaData(start, count):
     """Reads out patch series metadata from the commits
 
     This does a 'git log' on the relevant commits and pulls out the tags we
     are interested in.
 
     Args:
-        branch: Branch to use (None for current branch)
-        start: Commit to start from: 0=branch HEAD, 1=next one, etc.
+        start: Commit to start from: 0=HEAD, 1=next one, etc.
         count: Number of commits to list
     """
-    return GetMetaDataForList('%s~%d' % (branch if branch else 'HEAD', start),
-                              None, count)
+    return GetMetaDataForList('HEAD~%d' % start, None, count)
 
 def GetMetaDataForTest(text):
     """Process metadata from a file containing a git log. Used for tests
index 9f885c898738d9e9ee7ca7ea655585ace4482c80..b7eef37d0364dc9d1b25d299295a61ffa8a7165b 100644 (file)
@@ -244,7 +244,7 @@ class Series(dict):
             add_maintainers: Either:
                 True/False to call the get_maintainers to CC maintainers
                 List of maintainers to include (for testing)
-            limit: Limit the length of the Cc list (None if no limit)
+            limit: Limit the length of the Cc list
         Return:
             Filename of temp file created
         """
index 732bd401067cd0d3f57875c23c019f6032e216b2..635561ac056c27c14d9d25e4e1abe67e7cb46415 100644 (file)
@@ -233,19 +233,17 @@ def _UpdateDefaults(parser, config):
         config: An instance of _ProjectConfigParser that we will query
             for settings.
     """
-    defaults = parser.parse_known_args()[0]
-    defaults = vars(defaults)
+    defaults = parser.get_default_values()
     for name, val in config.items('settings'):
-        if name in defaults:
-            default_val = defaults[name]
+        if hasattr(defaults, name):
+            default_val = getattr(defaults, name)
             if isinstance(default_val, bool):
                 val = config.getboolean('settings', name)
             elif isinstance(default_val, int):
                 val = config.getint('settings', name)
-            defaults[name] = val
+            parser.set_default(name, val)
         else:
             print("WARNING: Unknown setting %s" % name)
-        parser.set_defaults(**defaults)
 
 def _ReadAliasFile(fname):
     """Read in the U-Boot git alias file if it exists.
index 60dbce3ce1ffd7da78a4141220b4ce47defd4078..c709438bdc4f737b8509e6e69f6565381785994e 100644 (file)
@@ -122,7 +122,7 @@ def TrimAsciiLen(text, size):
     return out
 
 
-def Print(text='', newline=True, colour=None, limit_to_line=False, bright=True):
+def Print(text='', newline=True, colour=None, limit_to_line=False):
     """Handle a line of output to the terminal.
 
     In test mode this is recorded in a list. Otherwise it is output to the
@@ -140,7 +140,7 @@ def Print(text='', newline=True, colour=None, limit_to_line=False, bright=True):
     else:
         if colour:
             col = Color()
-            text = col.Color(colour, text, bright=bright)
+            text = col.Color(colour, text)
         if newline:
             print(text)
             last_print_len = None
index 4e261755dc6a615a0b2d7d891d7a73549b24409f..aac58fb72f0ece175b5a2eb0deec49c7e4bc9e79 100644 (file)
@@ -16,14 +16,12 @@ from io import StringIO
 
 use_concurrent = True
 try:
-    from concurrencytest.concurrencytest import ConcurrentTestSuite
-    from concurrencytest.concurrencytest import fork_for_tests
+    from concurrencytest import ConcurrentTestSuite, fork_for_tests
 except:
     use_concurrent = False
 
 
-def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None,
-                    extra_args=None):
+def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None):
     """Run tests and check that we get 100% coverage
 
     Args:
@@ -36,8 +34,6 @@ def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None,
             calculation
         build_dir: Build directory, used to locate libfdt.py
         required: List of modules which must be in the coverage report
-        extra_args (str): Extra arguments to pass to the tool before the -t/test
-            arg
 
     Raises:
         ValueError if the code coverage is not 100%
@@ -51,14 +47,13 @@ def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None,
         glob_list = []
     glob_list += exclude_list
     glob_list += ['*libfdt.py', '*site-packages*', '*dist-packages*']
-    glob_list += ['*concurrencytest*']
-    test_cmd = 'test' if 'binman' in prog or 'patman' in prog else '-t'
+    test_cmd = 'test' if 'binman' in prog else '-t'
     prefix = ''
     if build_dir:
         prefix = 'PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools ' % build_dir
     cmd = ('%spython3-coverage run '
-           '--omit "%s" %s %s %s -P1' % (prefix, ','.join(glob_list),
-                                         prog, extra_args or '', test_cmd))
+           '--omit "%s" %s %s -P1' % (prefix, ','.join(glob_list),
+                                      prog, test_cmd))
     os.system(cmd)
     stdout = command.Output('python3-coverage', 'report')
     lines = stdout.splitlines()
@@ -128,12 +123,12 @@ def ReportResult(toolname:str, test_name: str, result: unittest.TestResult):
     for test, err in result.failures:
         print(err, result.failures)
     if result.skipped:
-        print('%d %s test%s SKIPPED:' % (len(result.skipped), toolname,
-            's' if len(result.skipped) > 1 else ''))
+        print('%d binman test%s SKIPPED:' %
+              (len(result.skipped), 's' if len(result.skipped) > 1 else ''))
         for skip_info in result.skipped:
             print('%s: %s' % (skip_info[0], skip_info[1]))
     if result.errors or result.failures:
-        print('%s tests FAILED' % toolname)
+        print('binman tests FAILED')
         return 1
     return 0
 
index d41115a22c4615d330de394c917fd63076bc98ad..b50370dfe8dea414bbe6e9d75c88f4e5caabfa77 100644 (file)
@@ -114,16 +114,14 @@ def SetInputDirs(dirname):
     indir = dirname
     tout.Debug("Using input directories %s" % indir)
 
-def GetInputFilename(fname, allow_missing=False):
+def GetInputFilename(fname):
     """Return a filename for use as input.
 
     Args:
         fname: Filename to use for new file
-        allow_missing: True if the filename can be missing
 
     Returns:
-        The full path of the filename, within the input directory, or
-        None on error
+        The full path of the filename, within the input directory
     """
     if not indir or fname[:1] == '/':
         return fname
@@ -132,8 +130,6 @@ def GetInputFilename(fname, allow_missing=False):
         if os.path.exists(pathname):
             return pathname
 
-    if allow_missing:
-        return None
     raise ValueError("Filename '%s' not found in input path (%s) (cwd='%s')" %
                      (fname, ','.join(indir), os.getcwd()))
 
@@ -274,7 +270,7 @@ def ReadFile(fname, binary=True):
                    #(fname, len(data), len(data)))
     return data
 
-def WriteFile(fname, data, binary=True):
+def WriteFile(fname, data):
     """Write data into a file.
 
     Args:
@@ -283,7 +279,7 @@ def WriteFile(fname, data, binary=True):
     """
     #self._out.Info("Write file '%s' size %d (%#0x)" %
                    #(fname, len(data), len(data)))
-    with open(Filename(fname), binary and 'wb' or 'w') as fd:
+    with open(Filename(fname), 'wb') as fd:
         fd.write(data)
 
 def GetBytes(byte, size):
index 33305263d8ee38268fccfd93c2554fc1aa1f1781..c7e32720965769014d23ef264db7735e9c68ef18 100644 (file)
@@ -83,10 +83,7 @@ def _Output(level, msg, color=None):
         ClearProgress()
         if color:
             msg = _color.Color(color, msg)
-        if level < NOTICE:
-            print(msg, file=sys.stderr)
-        else:
-            print(msg)
+        print(msg)
 
 def DoOutput(level, msg):
     """Output a message to the terminal.
@@ -171,7 +168,6 @@ def Init(_verbose=WARNING, stdout=sys.stdout):
 
     # TODO(sjg): Move this into Chromite libraries when we have them
     stdout_is_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
-    stderr_is_tty = hasattr(sys.stderr, 'isatty') and sys.stderr.isatty()
 
 def Uninit():
     ClearProgress()