[PATCH 7/7] state: return -EPROBE_DEFER if the backend isn't available

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Wed May 13 05:06:26 PDT 2015


Hello,

On Wed, May 13, 2015 at 12:12:32PM +0200, Marc Kleine-Budde wrote:
> From: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
BTW, I didn't add this S-o-b on purpose because I didn't consider this
patch done.

> Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
> ---
>  drivers/misc/state.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/state.c b/drivers/misc/state.c
> index 9e8a40255348..dbe88715a103 100644
> --- a/drivers/misc/state.c
> +++ b/drivers/misc/state.c
> @@ -52,6 +52,8 @@ static int state_probe(struct device_d *dev)
>  	/* guess if of_path is a path, not a phandle */
>  	if (of_path[0] == '/') {
>  		ret = of_find_path(np, "backend", &path, 0);
> +		if (ret == -ENODEV)
> +			ret = -EPROBE_DEFER;
>  		if (ret)
>  			goto out_release;
>  	} else {
In my testcase I only use this hunk.

> @@ -66,7 +68,7 @@ static int state_probe(struct device_d *dev)
>  
>  		dev = of_find_device_by_node(partition_node);
>  		if (!list_is_singular(&dev->cdevs)) {
> -			ret = -ENODEV;
> +			ret = -EPROBE_DEFER;
>  			goto out_release;
>  		}
This one was done without testing, there is another if below that might
need adaption too (or instead of this one):

                cdev = list_first_entry(&dev->cdevs, struct cdev, devices_list);
                if (!cdev) {
                        ret = -ENODEV;
                        goto out_release;
                }

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the barebox mailing list