static ssize_t hsic_sysmon_char_read(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { struct sysmon_char_dev *dev = sysmon_dev; int ret; if (!dev) return -ENODEV; ret = hsic_sysmon_read(HSIC_SYSMON_DEV_EXT_MODEM, dev->buf, RD_BUF_SIZE, &dev->buflen, 0); if (!ret) return simple_read_from_buffer(ubuf, count, ppos, dev->buf, dev->buflen); return 0; }
static ssize_t sysmon_test_read(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { struct sysmon_test_dev *dev = sysmon_dev; enum hsic_sysmon_device_id id = (enum hsic_sysmon_device_id)file->private_data; int ret; if (!dev) return -ENODEV; ret = hsic_sysmon_read(id, dev->buf, RD_BUF_SIZE, &dev->buflen, 3000); if (!ret) return simple_read_from_buffer(ubuf, count, ppos, dev->buf, dev->buflen); return 0; }