ssize_t toolaction_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
- U8 toolAction;
+ u8 toolAction;
visorchannel_read(ControlVm_channel,
offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL,
- ToolAction), &toolAction, sizeof(U8));
+ ToolAction), &toolAction, sizeof(u8));
return scnprintf(buf, PAGE_SIZE, "%u\n", toolAction);
}
ssize_t toolaction_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- U8 toolAction;
+ u8 toolAction;
+ int ret;
- if (sscanf(buf, "%hhu\n", &toolAction) == 1) {
- if (visorchannel_write(ControlVm_channel,
- offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL,
- ToolAction),
- &toolAction, sizeof(U8)) < 0)
- return -EFAULT;
- else
- return count;
- } else
- return -EIO;
+ if (kstrtou8(buf, 10, &toolAction) != 0)
+ return -EINVAL;
+
+ ret = visorchannel_write(ControlVm_channel,
+ offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL, ToolAction),
+ &toolAction, sizeof(u8));
+
+ if (ret)
+ return ret;
+ else
+ return count;
}
ssize_t boottotool_show(struct device *dev, struct device_attribute *attr,
ssize_t boottotool_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- int val;
+ int val, ret;
ULTRA_EFI_SPAR_INDICATION efiSparIndication;
- if (sscanf(buf, "%u\n", &val) == 1) {
- efiSparIndication.BootToTool = val;
- if (visorchannel_write(ControlVm_channel,
+ if (kstrtoint(buf, 10, &val) != 0)
+ return -EINVAL;
+
+ efiSparIndication.BootToTool = val;
+ ret = visorchannel_write(ControlVm_channel,
offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL,
- EfiSparIndication),
+ EfiSparIndication),
&(efiSparIndication),
- sizeof(ULTRA_EFI_SPAR_INDICATION)) < 0)
- return -EFAULT;
- else
- return count;
- } else
- return -EIO;
+ sizeof(ULTRA_EFI_SPAR_INDICATION));
+
+ if (ret)
+ return ret;
+ else
+ return count;
}
static ssize_t error_show(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
u32 error;
+ int ret;
- if (sscanf(buf, "%i\n", &error) == 1) {
- if (visorchannel_write(ControlVm_channel,
+ if (kstrtou32(buf, 10, &error) != 0)
+ return -EINVAL;
+
+ ret = visorchannel_write(ControlVm_channel,
offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL,
InstallationError),
- &error, sizeof(u32)) == 1) {
- return count;
- }
- }
- return -EIO;
+ &error, sizeof(u32));
+ if (ret)
+ return ret;
+ else
+ return count;
}
static ssize_t textid_show(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
u32 textId;
+ int ret;
- if (sscanf(buf, "%i\n", &textId) == 1) {
- if (visorchannel_write(ControlVm_channel,
+ if (kstrtou32(buf, 10, &textId) != 0)
+ return -EINVAL;
+
+ ret = visorchannel_write(ControlVm_channel,
offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL,
InstallationTextId),
- &textId, sizeof(u32)) == 1) {
- return count;
- }
- }
- return -EIO;
+ &textId, sizeof(u32));
+ if (ret)
+ return ret;
+ else
+ return count;
}
struct device_attribute *attr, const char *buf, size_t count)
{
u16 remainingSteps;
+ int ret;
- if (sscanf(buf, "%hu\n", &remainingSteps) == 1) {
- if (visorchannel_write(ControlVm_channel,
+ if (kstrtou16(buf, 10, &remainingSteps) != 0)
+ return -EINVAL;
+
+ ret = visorchannel_write(ControlVm_channel,
offsetof(ULTRA_CONTROLVM_CHANNEL_PROTOCOL,
InstallationRemainingSteps),
- &remainingSteps, sizeof(u16)) == 1) {
- return count;
- }
- }
- return -EIO;
+ &remainingSteps, sizeof(u16));
+ if (ret)
+ return ret;
+ else
+ return count;
}
static void
{
char msgtype[64];
- if (sscanf(buf, "%63s", msgtype) == 1) {
- if (strcmp(msgtype, "CALLHOMEDISK_MOUNTED") == 0)
- chipset_events[0] = 1;
- else if (strcmp(msgtype, "MODULES_LOADED") == 0)
- chipset_events[1] = 1;
- else
- return -EINVAL;
- } else {
+ if (sscanf(buf, "%63s", msgtype) != 1)
+ return -EINVAL;
+
+ if (strcmp(msgtype, "CALLHOMEDISK_MOUNTED") == 0) {
+ chipset_events[0] = 1;
+ return count;
+ } else if (strcmp(msgtype, "MODULES_LOADED") == 0) {
+ chipset_events[1] = 1;
+ return count;
+ } else
return -EINVAL;
- }
- return count;
}
static ssize_t