diff mbox

[v2,4/6] pwm_backlight: Add deferred probe support

Message ID 20120825065709.GG29755@verge.net.au (mailing list archive)
State Not Applicable
Headers show

Commit Message

Simon Horman Aug. 25, 2012, 6:57 a.m. UTC
On Tue, Jul 24, 2012 at 04:40:21PM +0200, Laurent Pinchart wrote:
> If the PWM instance is not available yet at probe time, request a
> deferred probe.
> 
> A better way to fix might be to create a PWM subsystem (possibly
> integrated into the GPIO subsystem) to support generic PWM objects, and
> make sure the subsystem gets initialized first.

Hi Richard,

I am wondering if you have had a chance to review this change.
I believe that it is a pre-requisite for work that Laurent has
done to enable the backlight on the Armadillo 800 EVA board.

If the change is ok I am happy to take it through
my shmobile tree if that makes life easier for you.

Below is an updated version of the patch which applies on top of 3.6-rc3.

From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

pwm_backlight: Add deferred probe support

If the PWM instance is not available yet at probe time, request a
deferred probe.

A better way to fix might be to create a PWM subsystem (possibly
integrated into the GPIO subsystem) to support generic PWM objects, and
make sure the subsystem gets initialized first.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms@verge.net.au>

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Laurent Pinchart Sept. 19, 2012, 6:27 p.m. UTC | #1
Hi Simon,

On Saturday 25 August 2012 15:57:12 Simon Horman wrote:
> On Tue, Jul 24, 2012 at 04:40:21PM +0200, Laurent Pinchart wrote:
> > If the PWM instance is not available yet at probe time, request a
> > deferred probe.
> > 
> > A better way to fix might be to create a PWM subsystem (possibly
> > integrated into the GPIO subsystem) to support generic PWM objects, and
> > make sure the subsystem gets initialized first.
> 
> Hi Richard,
> 
> I am wondering if you have had a chance to review this change.
> I believe that it is a pre-requisite for work that Laurent has
> done to enable the backlight on the Armadillo 800 EVA board.

The PWM core now returns -EPROBE_DEFER if pwm_get() or pwm_request() can't 
find the requested device, so this patch isn't needed anymore.

> If the change is ok I am happy to take it through
> my shmobile tree if that makes life easier for you.
> 
> Below is an updated version of the patch which applies on top of 3.6-rc3.
> 
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> pwm_backlight: Add deferred probe support
> 
> If the PWM instance is not available yet at probe time, request a
> deferred probe.
> 
> A better way to fix might be to create a PWM subsystem (possibly
> integrated into the GPIO subsystem) to support generic PWM objects, and
> make sure the subsystem gets initialized first.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Simon Horman <horms@verge.net.au>
> 
> diff --git a/drivers/video/backlight/pwm_bl.c
> b/drivers/video/backlight/pwm_bl.c index 995f016..cc71f87 100644
> --- a/drivers/video/backlight/pwm_bl.c
> +++ b/drivers/video/backlight/pwm_bl.c
> @@ -221,6 +221,8 @@ static int pwm_backlight_probe(struct platform_device
> *pdev) if (IS_ERR(pb->pwm)) {
>  			dev_err(&pdev->dev, "unable to request legacy PWM\n");
>  			ret = PTR_ERR(pb->pwm);
> +			if (ret == -ENODEV)
> +				ret = -EPROBE_DEFER;
>  			goto err_alloc;
>  		}
>  	}
Simon Horman Sept. 20, 2012, 1:52 a.m. UTC | #2
On Wed, Sep 19, 2012 at 08:27:55PM +0200, Laurent Pinchart wrote:
> Hi Simon,
> 
> On Saturday 25 August 2012 15:57:12 Simon Horman wrote:
> > On Tue, Jul 24, 2012 at 04:40:21PM +0200, Laurent Pinchart wrote:
> > > If the PWM instance is not available yet at probe time, request a
> > > deferred probe.
> > > 
> > > A better way to fix might be to create a PWM subsystem (possibly
> > > integrated into the GPIO subsystem) to support generic PWM objects, and
> > > make sure the subsystem gets initialized first.
> > 
> > Hi Richard,
> > 
> > I am wondering if you have had a chance to review this change.
> > I believe that it is a pre-requisite for work that Laurent has
> > done to enable the backlight on the Armadillo 800 EVA board.
> 
> The PWM core now returns -EPROBE_DEFER if pwm_get() or pwm_request() can't 
> find the requested device, so this patch isn't needed anymore.

Thanks, case closed.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 995f016..cc71f87 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -221,6 +221,8 @@  static int pwm_backlight_probe(struct platform_device *pdev)
 		if (IS_ERR(pb->pwm)) {
 			dev_err(&pdev->dev, "unable to request legacy PWM\n");
 			ret = PTR_ERR(pb->pwm);
+			if (ret == -ENODEV)
+				ret = -EPROBE_DEFER;
 			goto err_alloc;
 		}
 	}