tty_write 和 uart_write是什么关系啊(弱智问题)

发布于 2022-09-21 00:45:17 字数 119 浏览 11 评论 0

请问在串口驱动中 从tty_io.c中的操作如何调用到 serial_core.c中相应的操作

这两个文件中的操作有关系吗  举例:从应用层如何实现write 的啊  感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暖伴 2022-09-28 00:45:17

原帖由 xiaoyao183 于 2008-8-15 16:27 发表
请问在串口驱动中 从tty_io.c中的操作如何调用到 serial_core.c中相应的操作

这两个文件中的操作有关系吗  举例:从应用层如何实现write 的啊  感谢

  1. static ssize_t tty_write(struct file * file, const char __user * buf, size_t count,
  2.                          loff_t *ppos)
  3. {
  4.         struct tty_struct * tty;
  5.         struct inode *inode = file->f_dentry->d_inode;
  6.         ssize_t ret;
  7.         struct tty_ldisc *ld;
  8.        
  9.         tty = (struct tty_struct *)file->private_data;
  10.         if (tty_paranoia_check(tty, inode, "tty_write"))
  11.                 return -EIO;
  12.         if (!tty || !tty->driver->write || (test_bit(TTY_IO_ERROR, &tty->flags)))
  13.                 return -EIO;
  14.         ld = tty_ldisc_ref_wait(tty);               
  15.         if (!ld->write)
  16.                 ret = -EIO;
  17.         else
  18.                 ret = do_tty_write(ld->write, tty, file, buf, count);
  19.         tty_ldisc_deref(ld);
  20.         return ret;
  21. }

复制代码
这一句:ret = do_tty_write(ld->write, tty, file, buf, count);
你跟进去看一下-->
ret = write(tty, file, tty->write_buf, size);

仔细看代码实现,就知道了。

满地尘埃落定 2022-09-28 00:45:17

先感谢 我再好好看看 呵呵

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文