Re: [RFC PATCHv5 4/7] HSI: hsi_char: Add HSI char device driver

From: Sjur BrÃndeland
Date: Wed Jun 22 2011 - 15:37:49 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/