diff options
author | Marc-André Lureau | 2017-01-26 14:55:04 +0100 |
---|---|---|
committer | Marc-André Lureau | 2017-06-02 09:33:53 +0200 |
commit | 93a78e41242ba164ae6af1690ea68fe22165ad4b (patch) | |
tree | 5019324d6e41f38207949ebe872ba64e5b851b86 | |
parent | chardev: serial & parallel declaration to own headers (diff) | |
download | qemu-93a78e41242ba164ae6af1690ea68fe22165ad4b.tar.gz qemu-93a78e41242ba164ae6af1690ea68fe22165ad4b.tar.xz qemu-93a78e41242ba164ae6af1690ea68fe22165ad4b.zip |
be-hci: use backend functions
Avoid accessing CharBackend directly, use qemu_chr_be_* methods instead.
be->chr_read should exists if qemu_chr_be_can_write() is true.
(use qemu_chr_be_write(), _impl() bypasses replay)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Andrzej Zaborowski <balrogg@gmail.com>
-rw-r--r-- | hw/bt/hci-csr.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/hw/bt/hci-csr.c b/hw/bt/hci-csr.c index 0f2021086d..d13192b9b5 100644 --- a/hw/bt/hci-csr.c +++ b/hw/bt/hci-csr.c @@ -82,17 +82,14 @@ enum { static inline void csrhci_fifo_wake(struct csrhci_s *s) { - Chardev *chr = (Chardev *)s; - CharBackend *be = chr->be; + Chardev *chr = CHARDEV(s); if (!s->enable || !s->out_len) return; /* XXX: Should wait for s->modem_state & CHR_TIOCM_RTS? */ - if (be && be->chr_can_read && be->chr_can_read(be->opaque) && - be->chr_read) { - be->chr_read(be->opaque, - s->outfifo + s->out_start++, 1); + if (qemu_chr_be_can_write(chr)) { + qemu_chr_be_write(chr, s->outfifo + s->out_start++, 1); s->out_len--; if (s->out_start >= s->out_size) { s->out_start = 0; |