mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-11-28 14:11:29 +01:00
x86: apl: Take advantage of the of-platdata parent support
Now that parent devices are supported with of-platadata, we don't need the messy code to fix up the parent pointers and allocations on Apollo Lake. Put the code behind a condition. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
d07f31aea0
commit
bb44ebdd0f
@ -90,7 +90,8 @@ static int apl_flash_probe(struct udevice *dev)
|
|||||||
*/
|
*/
|
||||||
static int apl_flash_bind(struct udevice *dev)
|
static int apl_flash_bind(struct udevice *dev)
|
||||||
{
|
{
|
||||||
if (CONFIG_IS_ENABLED(OF_PLATDATA)) {
|
if (CONFIG_IS_ENABLED(OF_PLATDATA) &&
|
||||||
|
!CONFIG_IS_ENABLED(OF_PLATDATA_PARENT)) {
|
||||||
struct dm_spi_slave_platdata *plat;
|
struct dm_spi_slave_platdata *plat;
|
||||||
struct udevice *spi;
|
struct udevice *spi;
|
||||||
int ret;
|
int ret;
|
||||||
|
|||||||
@ -174,19 +174,20 @@ int p2sb_set_port_id(struct udevice *dev, int portid)
|
|||||||
if (!CONFIG_IS_ENABLED(OF_PLATDATA))
|
if (!CONFIG_IS_ENABLED(OF_PLATDATA))
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
|
|
||||||
uclass_find_first_device(UCLASS_P2SB, &ps2b);
|
if (!CONFIG_IS_ENABLED(OF_PLATDATA_PARENT)) {
|
||||||
if (!ps2b)
|
uclass_find_first_device(UCLASS_P2SB, &ps2b);
|
||||||
return -EDEADLK;
|
if (!ps2b)
|
||||||
dev->parent = ps2b;
|
return -EDEADLK;
|
||||||
|
dev->parent = ps2b;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We must allocate this, since when the device was bound it did not
|
* We must allocate this, since when the device was bound it did
|
||||||
* have a parent.
|
* not have a parent.
|
||||||
* TODO(sjg@chromium.org): Add a parent pointer to child devices in dtoc
|
*/
|
||||||
*/
|
dev->parent_platdata = malloc(sizeof(*pplat));
|
||||||
dev->parent_platdata = malloc(sizeof(*pplat));
|
if (!dev->parent_platdata)
|
||||||
if (!dev->parent_platdata)
|
return -ENOMEM;
|
||||||
return -ENOMEM;
|
}
|
||||||
pplat = dev_get_parent_platdata(dev);
|
pplat = dev_get_parent_platdata(dev);
|
||||||
pplat->pid = portid;
|
pplat->pid = portid;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user