Doudts in "softc" and "device_get_softc(dev)"

aji abraham abraham_aji at yahoo.co.in
Sat Feb 17 10:08:34 UTC 2007


hi

   My name is Aji Abraham, now working with device
drivers. the word
"softc" and the function "device_get_softc(dev)"
getting confuse me a
lot. am listing some query below ..  pls help me ..


Q1 In a free BSD driver Code, there are two device
depended structures

     struct xx_softc {
     .......
     ......


     };

     struct xx_if_softc {
     .......
     ......


     };

sizeof(struct xx_softc ) is 68
sizeof(struct xx_if_softc ) is 1186

And in device attach function

     xx_attach(dev){

     struct xx_softc    *sc;
     struct xx_if_softc *if_sc;

     sc_if = device_get_softc(dev);
     sc = device_get_softc(device_get_parent(dev));

     sc_if-> .....
     sc-> ....
     .......
     ......

     }


Both allocation uses the same function. How it
possible ?  can we 
access
all structure member ?

Regards

Aji Abraham


		
__________________________________________________________
Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/


More information about the freebsd-drivers mailing list