提交 62fba44d 编写于 作者: S Simon Glass 提交者: Bin Meng

x86: apl: Hide the p2sb on exit from U-Boot

This confuses Linux's PCI probing so needs to be hidden when booting
Linux. Add a remove() method to handle this.
Signed-off-by: NSimon Glass <sjg@chromium.org>
Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
Reviewed-by: NWolfgang Wallner <wolfgang.wallner@br-automation.com>
Tested-by: NWolfgang Wallner <wolfgang.wallner@br-automation.com>
上级 f549d9bb
...@@ -153,6 +153,17 @@ static int intel_p2sb_set_hide(struct udevice *dev, bool hide) ...@@ -153,6 +153,17 @@ static int intel_p2sb_set_hide(struct udevice *dev, bool hide)
return 0; return 0;
} }
static int p2sb_remove(struct udevice *dev)
{
int ret;
ret = intel_p2sb_set_hide(dev, true);
if (ret)
return log_msg_ret("hide", ret);
return 0;
}
static int p2sb_child_post_bind(struct udevice *dev) static int p2sb_child_post_bind(struct udevice *dev)
{ {
#if !CONFIG_IS_ENABLED(OF_PLATDATA) #if !CONFIG_IS_ENABLED(OF_PLATDATA)
...@@ -183,10 +194,12 @@ U_BOOT_DRIVER(p2sb_drv) = { ...@@ -183,10 +194,12 @@ U_BOOT_DRIVER(p2sb_drv) = {
.id = UCLASS_P2SB, .id = UCLASS_P2SB,
.of_match = p2sb_ids, .of_match = p2sb_ids,
.probe = p2sb_probe, .probe = p2sb_probe,
.remove = p2sb_remove,
.ops = &p2sb_ops, .ops = &p2sb_ops,
.ofdata_to_platdata = p2sb_ofdata_to_platdata, .ofdata_to_platdata = p2sb_ofdata_to_platdata,
.platdata_auto_alloc_size = sizeof(struct p2sb_platdata), .platdata_auto_alloc_size = sizeof(struct p2sb_platdata),
.per_child_platdata_auto_alloc_size = .per_child_platdata_auto_alloc_size =
sizeof(struct p2sb_child_platdata), sizeof(struct p2sb_child_platdata),
.child_post_bind = p2sb_child_post_bind, .child_post_bind = p2sb_child_post_bind,
.flags = DM_FLAG_OS_PREPARE,
}; };
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册