Lines Matching refs:pv

71 	struct hvterm_priv *pv = hvterm_privs[vtermno];
76 if (WARN_ON(!pv))
79 spin_lock_irqsave(&pv->buf_lock, flags);
81 if (pv->left == 0) {
82 pv->offset = 0;
83 pv->left = hvc_get_chars(pv->termno, pv->buf, count);
89 for (i = 1; i < pv->left; ++i) {
90 if (pv->buf[i] == 0 && pv->buf[i-1] == '\r') {
91 --pv->left;
92 if (i < pv->left) {
93 memmove(&pv->buf[i], &pv->buf[i+1],
94 pv->left - i);
100 got = min(count, pv->left);
101 memcpy(buf, &pv->buf[pv->offset], got);
102 pv->offset += got;
103 pv->left -= got;
105 spin_unlock_irqrestore(&pv->buf_lock, flags);
120 struct hvterm_priv *pv = hvterm_privs[vtermno];
122 if (WARN_ON(!pv))
125 return hvc_put_chars(pv->termno, buf, count);
138 struct hvterm_priv *pv = hvterm_privs[vtermno];
140 if (WARN_ON(!pv))
143 return hvsilib_get_chars(&pv->hvsi, buf, count);
148 struct hvterm_priv *pv = hvterm_privs[vtermno];
150 if (WARN_ON(!pv))
153 return hvsilib_put_chars(&pv->hvsi, buf, count);
158 struct hvterm_priv *pv = hvterm_privs[hp->vtermno];
161 pr_devel("HVSI@%x: open !\n", pv->termno);
167 return hvsilib_open(&pv->hvsi, hp);
172 struct hvterm_priv *pv = hvterm_privs[hp->vtermno];
174 pr_devel("HVSI@%x: do close !\n", pv->termno);
176 hvsilib_close(&pv->hvsi, hp);
183 struct hvterm_priv *pv = hvterm_privs[hp->vtermno];
185 pr_devel("HVSI@%x: do hangup !\n", pv->termno);
187 hvsilib_close(&pv->hvsi, hp);
194 struct hvterm_priv *pv = hvterm_privs[hp->vtermno];
196 if (!pv)
198 return pv->hvsi.mctrl;
204 struct hvterm_priv *pv = hvterm_privs[hp->vtermno];
207 pv->termno, set, clear);
210 hvsilib_write_mctrl(&pv->hvsi, 1);
212 hvsilib_write_mctrl(&pv->hvsi, 0);
301 struct hvterm_priv *pv;
327 pv = hvterm_privs[0];
339 pv = kzalloc(sizeof(struct hvterm_priv), GFP_KERNEL);
340 if (!pv)
342 pv->termno = vdev->unit_address;
343 pv->proto = proto;
344 spin_lock_init(&pv->buf_lock);
345 hvterm_privs[termno] = pv;
346 hvsilib_init(&pv->hvsi, hvc_get_chars, hvc_put_chars,
347 pv->termno, 0);