A call to one of those functions would require a valid wm97xx structure as input to those functions.
How am i suppose to get a valid pointer to the structure which is required by the function, if i am going to use it in a read function provided by the file operations structure of the char driver? On Mon, Nov 11, 2013 at 12:23 AM, anish singh <anish198519851...@gmail.com>wrote: > > On Nov 10, 2013 4:20 AM, "sanchayan maity" <victorascr...@gmail.com> > wrote: > > > > @Peter > > > > Yes, i have read that. It says directly addressable but it's not like i > can access those addresses straight from user space. So how do i access > them . In the above case how do i access the register of the wm97 codec ic > which is on an AC97 bus? > > > > @Anish > > > > Yes, wm97xx-core is a touch driver falling in the input subsystem. > Though i did not look at the input core, but, i guess the touch screen > functionality is provided that way as it includes the input.h file. > > > > Your suggestion is not exactly clear. I understand i have to write a > kernel module. I guess the functions you are referring to are already > exported by that driver code. > Call those in your driver and you are done. > > > > ---------------------------------------------------------------------------------------------------------------------------------------- > > > > For my case, i was interested in reading the ADC values using four > auxiliary ADC's provided by the WM97 codec IC. If you look at the driver > code file, it has a function for reading the WM97 registers as well as the > auxiliary ADC's. I wanted to use them. > > > > My specific question is how do i write a driver using this wm97xx_core.c > to read the auxiliary ADC's? > > > > My general question will be how does a device use a platform driver to > provide any kind of read write functionality access to it's register or any > other functionality. > > In your case it justs report those values to input core.If you want to > read/write then you need to explicitly make a new driver as char driver and > call read/write when you are told by userspace. > > > > > A character driver provides explicit read write functions which are used > through an open /dev node. How do i do something similar using a platform > driver like the one above? > > > > Thanks & Regards, > > Sanchayan. > > > > > > > > > > On Sun, Nov 10, 2013 at 2:02 AM, anish singh < > anish198519851...@gmail.com> wrote: > >> > >> > >> On Nov 9, 2013 4:18 AM, "sanchayan maity" <victorascr...@gmail.com> > wrote: > >> > > >> > Can someone give me some pointers or tell me as to how can one use a > platform driver for reading and writing? > >> > > >> > For example, if i have a wm97xx codec IC, a core platform driver is > provided (as on the below link). > >> > > http://lxr.free-electrons.com/sourcep/drivers/input/touchscreen/wm97xx-core.c > >> This is a touch driver\input driver. > >> So this driver comes under input subsystem.It interacts with input core > to send events to it using report api's. > >> > >> > > >> > If i wanted to use this core driver to read the auxilary ADC's of > wm97xx codec how do i go about using the register read, write functions or > read auxiliary adc functions provided by this driver file? > >> What is the original problem you are trying to solve?You can do > read\write just by a small hack.Write a kernel module and make the > read\write function in this driver as exported.Use those in your own driver > but make sure you export other variables also to give the right inputs for > those api's.I am sure you are just looking for writing a device driver by > doing an actual read\write.Remember this will just be a bad code i.e. hack. > >> > >> > > >> > I have gone through the documentation provided here > http://lxr.free-electrons.com/source/Documentation/driver-model/ but it > is still not clear to me. I understand the concept of why a platform driver > is required and how each device registers itself with the pseudo platform > bus, but, i do not understand how to use such a driver or make my driver > based on it and then use it for reading/writing. > >> > > >> > I understand character device drivers but, i am at a loss when it > comes to understand these platform drivers. I come from embedded domain and > these drivers seem are ubiquitous. > >> > > >> > Thanks. > >> > > >> > _______________________________________________ > >> > Kernelnewbies mailing list > >> > Kernelnewbies@kernelnewbies.org > >> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > >> > > > > > > >
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies