i2c: i2c-mux-pinctrl: use deferred probe when adapter not found

If it is not there yet, it might appear later.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
Wolfram Sang 2013-10-10 10:19:13 +02:00
parent 0cd98069ad
commit 2737de460e

View file

@ -113,7 +113,7 @@ static int i2c_mux_pinctrl_parse_dt(struct i2c_mux_pinctrl *mux,
adapter = of_find_i2c_adapter_by_node(adapter_np); adapter = of_find_i2c_adapter_by_node(adapter_np);
if (!adapter) { if (!adapter) {
dev_err(mux->dev, "Cannot find parent bus\n"); dev_err(mux->dev, "Cannot find parent bus\n");
return -ENODEV; return -EPROBE_DEFER;
} }
mux->pdata->parent_bus_num = i2c_adapter_id(adapter); mux->pdata->parent_bus_num = i2c_adapter_id(adapter);
put_device(&adapter->dev); put_device(&adapter->dev);
@ -211,7 +211,7 @@ static int i2c_mux_pinctrl_probe(struct platform_device *pdev)
if (!mux->parent) { if (!mux->parent) {
dev_err(&pdev->dev, "Parent adapter (%d) not found\n", dev_err(&pdev->dev, "Parent adapter (%d) not found\n",
mux->pdata->parent_bus_num); mux->pdata->parent_bus_num);
ret = -ENODEV; ret = -EPROBE_DEFER;
goto err; goto err;
} }