RE: Purpose of .init and .release methods in soc_camera framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 11 Jan 2012, Bhupesh SHARMA wrote:

> Hi Guennadi,
> 
> > -----Original Message-----
> > From: Guennadi Liakhovetski [mailto:g.liakhovetski@xxxxxx]
> > Sent: Wednesday, January 11, 2012 5:18 PM
> > To: Bhupesh SHARMA
> > Cc: linux-media@xxxxxxxxxxxxxxx
> > Subject: Re: Purpose of .init and .release methods in soc_camera
> > framework
> > 
> > Hi Bhupesh
> > 
> > On Wed, 11 Jan 2012, Bhupesh SHARMA wrote:
> > 
> > > Hi Guennadi,
> > >
> > > I was reading the latest soc_camera framework documentation (see
> > [1]).
> > > I can see on line 71 to 73 the following text:
> > >
> > > " .add and .remove methods are called when a sensor is attached to or
> > detached
> > >  from the host, apart from performing host-internal tasks they shall
> > also call
> > >  sensor driver's .init and .release methods respectively."
> > >
> > > Now, I was puzzled on seeing that none of the soc_camera bridge
> > drivers (
> > > like PXA and SH Mobile) call the sensor's .init and .release from
> > their
> > > .add and .remove methods respectively.
> > 
> > .init() and .release() methods were a part of the soc-camera client
> > API.
> > It has been removed with the migration to the v4l2-subdev API.
> 
> Ok. So, can the documentation be updated to reflect the same.

That documentation has more problems, than just that. It shall be updated 
at some point, yes...

> > > Also I cannot trace these calls in soc_camera.c layer
> > >
> > > Actually, I am working on a camera sensor that requires certain
> > > patches to be written to it before it can start working:
> > >
> > > - Now, if I write these patches in the _probe_ of the sensor driver
> > (similar
> > > to the ST VS6624 driver here : [2]), my sensor can work well for the
> > 1st run
> > > of the user-space application. But, if I launch the application again
> > the patches
> > > need to be written to the sensor again as I have implemented an 'icl-
> > >power' routine
> > > which basically turns ON and OFF the sensor by toggling its CE (chip
> > enable pin).
> > >
> > > - As the soc_camera layer provides no explicit call to the camera
> > sensor driver
> > > when an _open_ is invoked from the userland, when and how should I
> > write the
> > > patch registers.
> > >
> > > I can only think of using the .init routine to initialize the sensor
> > patch registers
> > > in such a case.
> > 
> > Why don't you perform that initialisation in your .power() method?
> 
> You mean in the icl->power method?

No, I mean the v4l2-subdev struct v4l2_subdev_core_ops::s_power() method, 
sorry for confusion.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux