Messages in this thread | | | From | Sjur Brændeland <> | Subject | Re: [RFC PATCHv5 4/7] HSI: hsi_char: Add HSI char device driver | Date | Wed, 22 Jun 2011 21:37:44 +0200 |
| |
Hi Carlos,
... >+static ssize_t hsc_read(struct file *file, char __user *buf, size_t len, >+ loff_t *ppos __maybe_unused) >+{ ... >+ ret = hsi_async_read(channel->cl, msg); >+ >+ ret = wait_event_interruptible(channel->rx_wait, >+ !list_empty(&channel->rx_msgs_queue)); ...
>+} >+ >+static ssize_t hsc_write(struct file *file, const char __user *buf, size_t len, >+ loff_t *ppos __maybe_unused) >+{ >+ ret = hsi_async_write(channel->cl, msg); >+ if (ret < 0) >+ goto out; >+ >+ ret = wait_event_interruptible(channel->tx_wait, >+ !list_empty(&channel->tx_msgs_queue));
I would really like to see support for non-blocking read/write operation here.
... >+ >+static const struct file_operations hsc_fops = { >+ .owner = THIS_MODULE, >+ .read = hsc_read, >+ .write = hsc_write, >+ .unlocked_ioctl = hsc_ioctl, >+ .open = hsc_open, >+ .release = hsc_release, >+};
No poll? Currently we do bulk read/write operations upon modem-crash or firmware upload, and would perfeer to be able do asynchronous IO (select/poll) in order to receive other system events or timeouts during HSI bulk transfers.
Regards, Sjur
| |