diff mbox

[1/2] i2c-mux-gpio: use deferred probing with the device tree

Message ID 52540DF6.6050407@nsn.com
State Superseded
Headers show

Commit Message

Ionut Nicu Oct. 8, 2013, 1:51 p.m. UTC
If the i2c-parent bus driver is not loaded, returning
-EINVAL will force people to unload and then reload the
module again to get it working.

Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>
---
 drivers/i2c/muxes/i2c-mux-gpio.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Peter Korsgaard Oct. 8, 2013, 2:45 p.m. UTC | #1
>>>>> "IN" == Ionut Nicu <ioan.nicu.ext@nsn.com> writes:

IN> If the i2c-parent bus driver is not loaded, returning
IN> -EINVAL will force people to unload and then reload the
IN> module again to get it working.

IN> Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>

Acked-by: Peter Korsgaard <peter.korsgaard@barco.com>

--
Sorry about disclaimer - It's out of my control.
Bye, Peter Korsgaard
This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang Oct. 8, 2013, 9:36 p.m. UTC | #2
On Tue, Oct 08, 2013 at 03:51:50PM +0200, Ionut Nicu wrote:
> If the i2c-parent bus driver is not loaded, returning
> -EINVAL will force people to unload and then reload the
> module again to get it working.
> 
> Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>

Doesn't the non-DT case need fixing, too?

> ---
>  drivers/i2c/muxes/i2c-mux-gpio.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
> index 5d4a99b..eb99f04 100644
> --- a/drivers/i2c/muxes/i2c-mux-gpio.c
> +++ b/drivers/i2c/muxes/i2c-mux-gpio.c
> @@ -79,7 +79,7 @@ static int i2c_mux_gpio_probe_dt(struct gpiomux *mux,
>  	adapter = of_find_i2c_adapter_by_node(adapter_np);
>  	if (!adapter) {
>  		dev_err(&pdev->dev, "Cannot find parent bus\n");
> -		return -ENODEV;
> +		return -EPROBE_DEFER;
>  	}
>  	mux->data.parent = i2c_adapter_id(adapter);
>  	put_device(&adapter->dev);
> -- 
> 1.7.1
Peter Korsgaard Oct. 9, 2013, 6:14 a.m. UTC | #3
>>>>> "WS" == Wolfram Sang <wsa@the-dreams.de> writes:

WS> On Tue, Oct 08, 2013 at 03:51:50PM +0200, Ionut Nicu wrote:
>> If the i2c-parent bus driver is not loaded, returning
>> -EINVAL will force people to unload and then reload the
>> module again to get it working.
>>
>> Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>

WS> Doesn't the non-DT case need fixing, too?

Arguably yes.

--
Bye, Peter Korsgaard
This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ionut Nicu Oct. 9, 2013, 8:30 a.m. UTC | #4
On 09.10.2013 08:14, ext Peter Korsgaard wrote:
>>>>>> "WS" == Wolfram Sang <wsa@the-dreams.de> writes:
> 
> WS> On Tue, Oct 08, 2013 at 03:51:50PM +0200, Ionut Nicu wrote:
>>> If the i2c-parent bus driver is not loaded, returning
>>> -EINVAL will force people to unload and then reload the
>>> module again to get it working.
>>>
>>> Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>
> 
> WS> Doesn't the non-DT case need fixing, too?
> 
> Arguably yes.
> 

Yes, and it's also a one line fix. Should I do it in a separate
patch or should I change this one and resubmit?
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang Oct. 9, 2013, 9:02 a.m. UTC | #5
> > WS> Doesn't the non-DT case need fixing, too?
> > 
> > Arguably yes.
> 
> Yes, and it's also a one line fix. Should I do it in a separate
> patch or should I change this one and resubmit?

Resubmit please.
diff mbox

Patch

diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
index 5d4a99b..eb99f04 100644
--- a/drivers/i2c/muxes/i2c-mux-gpio.c
+++ b/drivers/i2c/muxes/i2c-mux-gpio.c
@@ -79,7 +79,7 @@  static int i2c_mux_gpio_probe_dt(struct gpiomux *mux,
 	adapter = of_find_i2c_adapter_by_node(adapter_np);
 	if (!adapter) {
 		dev_err(&pdev->dev, "Cannot find parent bus\n");
-		return -ENODEV;
+		return -EPROBE_DEFER;
 	}
 	mux->data.parent = i2c_adapter_id(adapter);
 	put_device(&adapter->dev);