x86: apl: Drop support for !OF_PLATDATA_PARENT
authorSimon Glass <sjg@chromium.org>
Wed, 23 Dec 2020 02:30:25 +0000 (19:30 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 5 Jan 2021 19:24:40 +0000 (12:24 -0700)
This code was kept around after of-platdata started supporting parent
devices. That feature seems stable now, so let's drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/apollolake/Kconfig
arch/x86/cpu/apollolake/spl.c
drivers/misc/p2sb-uclass.c
drivers/pinctrl/intel/pinctrl_apl.c

index c6c1350..f5dbd6c 100644 (file)
@@ -19,6 +19,7 @@ config INTEL_APOLLOLAKE
        select SMP_AP_WORK
        select INTEL_GMA_SWSMISCI
        select ACPI_GNVS_EXTERNAL
+       select TPL_OF_PLATDATA_PARENT
        imply ENABLE_MRC_CACHE
        imply AHCI_PCI
        imply SCSI
index 3a1588b..16a2f15 100644 (file)
@@ -83,33 +83,6 @@ static int apl_flash_probe(struct udevice *dev)
        return spi_flash_std_probe(dev);
 }
 
-/*
- * Manually set the parent of the SPI flash to SPI, since dtoc doesn't. We also
- * need to allocate the parent_plat since by the time this function is
- * called device_bind() has already gone past that step.
- */
-static int apl_flash_bind(struct udevice *dev)
-{
-       if (CONFIG_IS_ENABLED(OF_PLATDATA) &&
-           !CONFIG_IS_ENABLED(OF_PLATDATA_PARENT)) {
-               struct dm_spi_slave_plat *plat;
-               struct udevice *spi;
-               int ret;
-
-               ret = uclass_first_device_err(UCLASS_SPI, &spi);
-               if (ret)
-                       return ret;
-               dev->parent = spi;
-
-               plat = calloc(sizeof(*plat), 1);
-               if (!plat)
-                       return -ENOMEM;
-               dev->parent_plat = plat;
-       }
-
-       return 0;
-}
-
 static const struct dm_spi_flash_ops apl_flash_ops = {
        .read           = apl_flash_std_read,
 };
@@ -123,7 +96,6 @@ U_BOOT_DRIVER(winbond_w25q128fw) = {
        .name           = "winbond_w25q128fw",
        .id             = UCLASS_SPI_FLASH,
        .of_match       = apl_flash_ids,
-       .bind           = apl_flash_bind,
        .probe          = apl_flash_probe,
        .priv_auto      = sizeof(struct spi_flash),
        .ops            = &apl_flash_ops,
index 8f9ec02..ac28525 100644 (file)
@@ -168,26 +168,11 @@ int p2sb_get_port_id(struct udevice *dev)
 
 int p2sb_set_port_id(struct udevice *dev, int portid)
 {
-       struct udevice *ps2b;
        struct p2sb_child_plat *pplat;
 
        if (!CONFIG_IS_ENABLED(OF_PLATDATA))
                return -ENOSYS;
 
-       if (!CONFIG_IS_ENABLED(OF_PLATDATA_PARENT)) {
-               uclass_find_first_device(UCLASS_P2SB, &ps2b);
-               if (!ps2b)
-                       return -EDEADLK;
-               dev->parent = ps2b;
-
-               /*
-                * We must allocate this, since when the device was bound it did
-                * not have a parent.
-                */
-               dev->parent_plat = malloc(sizeof(*pplat));
-               if (!dev->parent_plat)
-                       return -ENOMEM;
-       }
        pplat = dev_get_parent_plat(dev);
        pplat->pid = portid;
 
index 48b0e9a..2bb654c 100644 (file)
@@ -152,8 +152,6 @@ static int apl_pinctrl_of_to_plat(struct udevice *dev)
         * linker list (i.e. alphabetical order by driver name). So the GPIO
         * device may well be bound before its parent (p2sb), and this call
         * will fail if p2sb is not bound yet.
-        *
-        * TODO(sjg@chromium.org): Add a parent pointer to child devices in dtoc
         */
        ret = p2sb_set_port_id(dev, plat->dtplat.intel_p2sb_port_id);
        if (ret)