tty(4) a ioctl

Dan Lukes dan at obluda.cz
Sat May 12 20:43:54 CEST 2007


	Na specialnim PC (=WRAP) je LPC sbernice a na ni mame pres vlastni 
primitivni radic pripojeny LCD minidisplay. No a ja pisu ovladace. 
Celkem bez problemu mam napsany PCI<->LPC bridge a ted jsme ve fazi, kdy 
pisu tty-based ovladac. Tolik pro zajimavost, aby bylo jasny "vo co go" 
- ale pro vlastni problem to az tak neni potreba vedet.

	Takze tty ovladac.

	Specificky tty-like ovladac se dela tak, ze se pomoci volani 
ttycreate(struct tty *tp, ...) predaji pointry na jednotlive specificke 
funkce, ktere pak zakladni kod tty vola, kdyz je potreba. Krome spousty 
jinych se take (volitelne) da predat ->t_ioctl coz by mela byt 
uzivatelska funkce pro zpracovani ioctl.

	Driver celkem chodi, ale uzivatelska ioctl funkce se proste nevola. 
Prohnal jsem cele zdrojaky systemu GREPem a zda se, ze se skutecne 
opravdu nikdy a nikde nevola ...

	Jako nejsnazsi vysvetleni tedy je, ze se opravdu zapomelo ho volat a 
nikdo si toho zatim nevsiml (tty framework je v systemu teprve od 6.0R). 
Neni to uplne nemozne. Ne, ze by ioctl call back nepouzival vubec nikdo 
- ale pouziva ho jen ovladac 'digi' a 'umodem' a pouzivaji ho pro takove 
celkem postradatelne veci, ze bych i veril, ze si zatim nefunkcnosti 
nikdo nevsimnul.

	No a na co se chci zeptat - nepsal jste si nekdo vlastni ovladac a 
nenarazil na tento problem, nebo treba, nenarazili jste proste nahodou 
na nejakou diskusi o tomhle problemu ?

	Nejsem si uplne jisty, jestli jsem to zanalyzoval spravne a neco mi 
treba neuniklo a neni to cele uplne jinak ...

	Ja si ted, zrejme, vypomuzu tak, ze si nadefunuju vlastni 
line-discipline a ioctl volani si chytim tam, ale to je zbytecne slozite 
a pracne a je to hack necisty na to, ze by to melo jit trivialne a ciste ...

						Dan


-- 
Dan Lukes                                               SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz, dan at (kolej.)mff.cuni.cz



More information about the Users-l mailing list