Message ID | 20160429174559.GA6431@earth (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On 29.04.2016 20:45, Sebastian Reichel wrote: > Hi, > > On Fri, Apr 29, 2016 at 02:05:52AM +0200, Sebastian Reichel wrote: >> On Wed, Apr 27, 2016 at 08:12:50PM +0300, ?????? ???????? wrote: >>>> The zImage + initrd works with the steps you described below. >>> >>> Great! >> >> I also got it working with the previously referenced branch with the >> following built as modules: >> >> CONFIG_VIDEOBUF2_CORE=m >> CONFIG_VIDEOBUF2_MEMOPS=m >> CONFIG_VIDEOBUF2_DMA_CONTIG=m >> CONFIG_VIDEO_OMAP3=m >> CONFIG_VIDEO_BUS_SWITCH=m >> CONFIG_VIDEO_SMIAPP_PLL=m >> CONFIG_VIDEO_SMIAPP=m >> CONFIG_VIDEO_SMIAREGS=m >> CONFIG_VIDEO_ET8EK8=m > > Ok, I found the problem. CONFIG_VIDEO_OMAP3=y does not work, > due to missing -EPROBE_DEFER handling for vdds_csib. I added > it and just got a test image with builtin CONFIG_VIDEO_OMAP3. > The below patch fixes the problem. > Cool :) vdd-csiphy1/2 will need the same handling, but lets have what is done so far rolling, those can be fixed later on. > commit 9d8333b29207de3a9b6ac99db2dfd91e2f8c0216 > Author: Sebastian Reichel <sre@kernel.org> > Date: Fri Apr 29 19:23:02 2016 +0200 > > omap3isp: handle -EPROBE_DEFER for vdds_csib > > omap3isp may be initialized before the regulator's driver has been > loaded resulting in vdds_csib=NULL. Fix this by handling -EPROBE_DEFER > for vdds_csib. > > Signed-Off-By: Sebastian Reichel <sre@kernel.org> > > diff --git a/drivers/media/platform/omap3isp/ispccp2.c b/drivers/media/platform/omap3isp/ispccp2.c > index 833eed411886..2d1463a72d6a 100644 > --- a/drivers/media/platform/omap3isp/ispccp2.c > +++ b/drivers/media/platform/omap3isp/ispccp2.c > @@ -1167,6 +1167,8 @@ int omap3isp_ccp2_init(struct isp_device *isp) > if (isp->revision == ISP_REVISION_2_0) { > ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib"); > if (IS_ERR(ccp2->vdds_csib)) { > + if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER) > + return -EPROBE_DEFER; > dev_dbg(isp->dev, > "Could not get regulator vdds_csib\n"); > ccp2->vdds_csib = NULL; > Sakari, how we're going to proceed, it seems there are a couple of patches in the series which can be directly upstreamed, how's that gonna happen? IOW - I don't know how this RFC stuff works, are there any docs I can use to educate myself? Thanks, Ivo -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri 2016-04-29 19:45:59, Sebastian Reichel wrote: > Ok, I found the problem. CONFIG_VIDEO_OMAP3=y does not work, > due to missing -EPROBE_DEFER handling for vdds_csib. I added > it and just got a test image with builtin CONFIG_VIDEO_OMAP3. > The below patch fixes the problem. > > commit 9d8333b29207de3a9b6ac99db2dfd91e2f8c0216 > Author: Sebastian Reichel <sre@kernel.org> > Date: Fri Apr 29 19:23:02 2016 +0200 > > omap3isp: handle -EPROBE_DEFER for vdds_csib > > omap3isp may be initialized before the regulator's driver has been > loaded resulting in vdds_csib=NULL. Fix this by handling -EPROBE_DEFER > for vdds_csib. > > Signed-Off-By: Sebastian Reichel <sre@kernel.org> Tested-by: Pavel Machek <pavel@ucw.cz> Acked-by: Pavel Machek <pavel@ucw.cz> ...and... thanks :-). Pavel
Hi Ivaylo, On Fri, Apr 29, 2016 at 09:44:25PM +0300, Ivaylo Dimitrov wrote: > Hi, > > On 29.04.2016 20:45, Sebastian Reichel wrote: > >Hi, > > > >On Fri, Apr 29, 2016 at 02:05:52AM +0200, Sebastian Reichel wrote: > >>On Wed, Apr 27, 2016 at 08:12:50PM +0300, ?????? ???????? wrote: > >>>>The zImage + initrd works with the steps you described below. > >>> > >>>Great! > >> > >>I also got it working with the previously referenced branch with the > >>following built as modules: > >> > >>CONFIG_VIDEOBUF2_CORE=m > >>CONFIG_VIDEOBUF2_MEMOPS=m > >>CONFIG_VIDEOBUF2_DMA_CONTIG=m > >>CONFIG_VIDEO_OMAP3=m > >>CONFIG_VIDEO_BUS_SWITCH=m > >>CONFIG_VIDEO_SMIAPP_PLL=m > >>CONFIG_VIDEO_SMIAPP=m > >>CONFIG_VIDEO_SMIAREGS=m > >>CONFIG_VIDEO_ET8EK8=m > > > >Ok, I found the problem. CONFIG_VIDEO_OMAP3=y does not work, > >due to missing -EPROBE_DEFER handling for vdds_csib. I added > >it and just got a test image with builtin CONFIG_VIDEO_OMAP3. > >The below patch fixes the problem. > > > > Cool :) > > vdd-csiphy1/2 will need the same handling, but lets have what is done so far > rolling, those can be fixed later on. > > >commit 9d8333b29207de3a9b6ac99db2dfd91e2f8c0216 > >Author: Sebastian Reichel <sre@kernel.org> > >Date: Fri Apr 29 19:23:02 2016 +0200 > > > > omap3isp: handle -EPROBE_DEFER for vdds_csib > > > > omap3isp may be initialized before the regulator's driver has been > > loaded resulting in vdds_csib=NULL. Fix this by handling -EPROBE_DEFER > > for vdds_csib. > > > > Signed-Off-By: Sebastian Reichel <sre@kernel.org> > > > >diff --git a/drivers/media/platform/omap3isp/ispccp2.c b/drivers/media/platform/omap3isp/ispccp2.c > >index 833eed411886..2d1463a72d6a 100644 > >--- a/drivers/media/platform/omap3isp/ispccp2.c > >+++ b/drivers/media/platform/omap3isp/ispccp2.c > >@@ -1167,6 +1167,8 @@ int omap3isp_ccp2_init(struct isp_device *isp) > > if (isp->revision == ISP_REVISION_2_0) { > > ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib"); > > if (IS_ERR(ccp2->vdds_csib)) { > >+ if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER) > >+ return -EPROBE_DEFER; > > dev_dbg(isp->dev, > > "Could not get regulator vdds_csib\n"); > > ccp2->vdds_csib = NULL; > > > > Sakari, how we're going to proceed, it seems there are a couple of patches > in the series which can be directly upstreamed, how's that gonna happen? IOW > - I don't know how this RFC stuff works, are there any docs I can use to > educate myself? If there are just a few, then they could be picked up individually, but otherwise I'd propose to split up the set into two, those that can go to upstream now and those that are still understood to require some work. I'll try to spend some time in the near future for reviewing the entire set.
diff --git a/drivers/media/platform/omap3isp/ispccp2.c b/drivers/media/platform/omap3isp/ispccp2.c index 833eed411886..2d1463a72d6a 100644 --- a/drivers/media/platform/omap3isp/ispccp2.c +++ b/drivers/media/platform/omap3isp/ispccp2.c @@ -1167,6 +1167,8 @@ int omap3isp_ccp2_init(struct isp_device *isp) if (isp->revision == ISP_REVISION_2_0) { ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib"); if (IS_ERR(ccp2->vdds_csib)) { + if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER) + return -EPROBE_DEFER; dev_dbg(isp->dev, "Could not get regulator vdds_csib\n"); ccp2->vdds_csib = NULL;