|
@@ -7541,22 +7541,17 @@ get_wd_set_caps_pfs(char *page, char **start, off_t off, int count,
|
|
|
return len;
|
|
|
}
|
|
|
|
|
|
-int
|
|
|
-set_bypass_pfs(struct file *file, const char *buffer,
|
|
|
- unsigned long count, void *data)
|
|
|
+static int user_on_off(const void __user *buffer, size_t count)
|
|
|
{
|
|
|
|
|
|
char kbuf[256];
|
|
|
- bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int bypass_param = 0, length = 0;
|
|
|
+ int length = 0;
|
|
|
|
|
|
if (count > (sizeof(kbuf) - 1))
|
|
|
return -1;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
+ if (copy_from_user(&kbuf, buffer, count))
|
|
|
return -1;
|
|
|
- }
|
|
|
|
|
|
kbuf[count] = '\0';
|
|
|
length = strlen(kbuf);
|
|
@@ -7564,12 +7559,22 @@ set_bypass_pfs(struct file *file, const char *buffer,
|
|
|
kbuf[--length] = '\0';
|
|
|
|
|
|
if (strcmp(kbuf, "on") == 0)
|
|
|
- bypass_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- bypass_param = 0;
|
|
|
+ return 1;
|
|
|
+ if (strcmp(kbuf, "off") == 0)
|
|
|
+ return 0;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
|
|
|
- set_bypass_fn(pbp_device_block, bypass_param);
|
|
|
+int
|
|
|
+set_bypass_pfs(struct file *file, const char *buffer,
|
|
|
+ unsigned long count, void *data)
|
|
|
+{
|
|
|
+ bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
+ int bypass_param = user_on_off(buffer, count);
|
|
|
+ if (bypass_param < 0)
|
|
|
+ return -1;
|
|
|
|
|
|
+ set_bypass_fn(pbp_device_block, bypass_param);
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -7578,30 +7583,12 @@ set_tap_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tap_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count > (sizeof(kbuf) - 1))
|
|
|
+ int tap_param = user_on_off(buffer, count);
|
|
|
+ if (tap_param < 0)
|
|
|
return -1;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tap_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tap_param = 0;
|
|
|
-
|
|
|
set_tap_fn(pbp_device_block, tap_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -7610,30 +7597,12 @@ set_disc_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tap_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count > (sizeof(kbuf) - 1))
|
|
|
+ int tap_param = user_on_off(buffer, count);
|
|
|
+ if (tap_param < 0)
|
|
|
return -1;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tap_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tap_param = 0;
|
|
|
-
|
|
|
set_disc_fn(pbp_device_block, tap_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -7914,30 +7883,12 @@ set_dis_bypass_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int bypass_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int bypass_param = user_on_off(buffer, count);
|
|
|
+ if (bypass_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- bypass_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- bypass_param = 0;
|
|
|
-
|
|
|
set_dis_bypass_fn(pbp_device_block, bypass_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -7946,30 +7897,12 @@ set_dis_tap_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tap_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int tap_param = user_on_off(buffer, count);
|
|
|
+ if (tap_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tap_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tap_param = 0;
|
|
|
-
|
|
|
set_dis_tap_fn(pbp_device_block, tap_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -7978,30 +7911,12 @@ set_dis_disc_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tap_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int tap_param = user_on_off(buffer, count);
|
|
|
+ if (tap_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tap_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tap_param = 0;
|
|
|
-
|
|
|
set_dis_disc_fn(pbp_device_block, tap_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8069,31 +7984,12 @@ int
|
|
|
set_bypass_pwup_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int bypass_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int bypass_param = user_on_off(buffer, count);
|
|
|
+ if (bypass_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- bypass_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- bypass_param = 0;
|
|
|
-
|
|
|
set_bypass_pwup_fn(pbp_device_block, bypass_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8101,31 +7997,12 @@ int
|
|
|
set_bypass_pwoff_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int bypass_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int bypass_param = user_on_off(buffer, count);
|
|
|
+ if (bypass_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- bypass_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- bypass_param = 0;
|
|
|
-
|
|
|
set_bypass_pwoff_fn(pbp_device_block, bypass_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8133,31 +8010,12 @@ int
|
|
|
set_tap_pwup_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tap_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int tap_param = user_on_off(buffer, count);
|
|
|
+ if (tap_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tap_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tap_param = 0;
|
|
|
-
|
|
|
set_tap_pwup_fn(pbp_device_block, tap_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8165,31 +8023,12 @@ int
|
|
|
set_disc_pwup_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tap_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int tap_param = user_on_off(buffer, count);
|
|
|
+ if (tap_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tap_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tap_param = 0;
|
|
|
-
|
|
|
set_disc_pwup_fn(pbp_device_block, tap_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8277,31 +8116,12 @@ int
|
|
|
set_std_nic_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int bypass_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count >= sizeof(kbuf))
|
|
|
+ int bypass_param = user_on_off(buffer, count);
|
|
|
+ if (bypass_param < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- bypass_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- bypass_param = 0;
|
|
|
-
|
|
|
set_std_nic_fn(pbp_device_block, bypass_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8420,31 +8240,12 @@ int
|
|
|
set_tpl_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tpl_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count > (sizeof(kbuf) - 1))
|
|
|
- return -1;
|
|
|
-
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
+ int tpl_param = user_on_off(buffer, count);
|
|
|
+ if (tpl_param < 0)
|
|
|
return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tpl_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tpl_param = 0;
|
|
|
|
|
|
set_tpl_fn(pbp_device_block, tpl_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8453,31 +8254,12 @@ int
|
|
|
set_wait_at_pwup_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tpl_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count > (sizeof(kbuf) - 1))
|
|
|
- return -1;
|
|
|
-
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
+ int tpl_param = user_on_off(buffer, count);
|
|
|
+ if (tpl_param < 0)
|
|
|
return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tpl_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tpl_param = 0;
|
|
|
|
|
|
set_bp_wait_at_pwup_fn(pbp_device_block, tpl_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|
|
@@ -8485,31 +8267,12 @@ int
|
|
|
set_hw_reset_pfs(struct file *file, const char *buffer,
|
|
|
unsigned long count, void *data)
|
|
|
{
|
|
|
-
|
|
|
- char kbuf[256];
|
|
|
bpctl_dev_t *pbp_device_block = (bpctl_dev_t *) data;
|
|
|
-
|
|
|
- int tpl_param = 0, length = 0;
|
|
|
-
|
|
|
- if (count > (sizeof(kbuf) - 1))
|
|
|
- return -1;
|
|
|
-
|
|
|
- if (copy_from_user(&kbuf, buffer, count)) {
|
|
|
+ int tpl_param = user_on_off(buffer, count);
|
|
|
+ if (tpl_param < 0)
|
|
|
return -1;
|
|
|
- }
|
|
|
-
|
|
|
- kbuf[count] = '\0';
|
|
|
- length = strlen(kbuf);
|
|
|
- if (kbuf[length - 1] == '\n')
|
|
|
- kbuf[--length] = '\0';
|
|
|
-
|
|
|
- if (strcmp(kbuf, "on") == 0)
|
|
|
- tpl_param = 1;
|
|
|
- else if (strcmp(kbuf, "off") == 0)
|
|
|
- tpl_param = 0;
|
|
|
|
|
|
set_bp_hw_reset_fn(pbp_device_block, tpl_param);
|
|
|
-
|
|
|
return count;
|
|
|
}
|
|
|
|