summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-04-06 19:18:38 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-04-11 11:48:34 +0200
commit21a2691f06a9b92cbdf2bc0470f4aa6016620774 (patch)
tree2638399dabd4246e8970c4f0676ed335b9c304a3 /net
parent6d0161d02a3a829a12b85bdd3a71cddb714d66f5 (diff)
downloadbarebox-21a2691f06a9b92cbdf2bc0470f4aa6016620774.tar.gz
barebox-21a2691f06a9b92cbdf2bc0470f4aa6016620774.tar.xz
netconsole: use dev_add_param_* helpers
For shorter code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net')
-rw-r--r--net/netconsole.c50
1 files changed, 6 insertions, 44 deletions
diff --git a/net/netconsole.c b/net/netconsole.c
index 960de8d437..99891941b7 100644
--- a/net/netconsole.c
+++ b/net/netconsole.c
@@ -43,7 +43,7 @@ struct nc_priv {
int busy;
struct net_connection *con;
- uint16_t port;
+ unsigned int port;
IPaddr_t ip;
};
@@ -123,49 +123,10 @@ static void nc_putc(struct console_device *cdev, char c)
priv->busy = 0;
}
-static int nc_port_set(struct device_d *dev, struct param_d *param,
- const char *val)
+static int nc_port_set(struct param_d *p, void *_priv)
{
- struct nc_priv *priv = g_priv;
- char portstr[16];
- int port;
-
- if (!val)
- dev_param_set_generic(dev, param, NULL);
-
- port = simple_strtoul(val, NULL, 10);
- if (port > 65535)
- return -EINVAL;
-
- priv->port = port;
nc_init();
- sprintf(portstr, "%d", port);
- dev_param_set_generic(dev, param, portstr);
-
- return 0;
-}
-
-static int nc_remoteip_set(struct device_d *dev, struct param_d *param,
- const char *val)
-{
- struct nc_priv *priv = g_priv;
- IPaddr_t ip;
- int ret;
-
- if (!val)
- dev_param_set_generic(dev, param, NULL);
-
- if (string_to_ip(val, &ip))
- return -EINVAL;
-
- priv->ip = ip;
- ret = nc_init();
- if (ret)
- return ret;
-
- dev_param_set_generic(dev, param, val);
-
return 0;
}
@@ -192,9 +153,10 @@ static int netconsole_init(void)
return ret;
}
- dev_add_param(&cdev->class_dev, "ip", nc_remoteip_set, NULL, 0);
- dev_add_param(&cdev->class_dev, "port", nc_port_set, NULL, 0);
- dev_set_param(&cdev->class_dev, "port", "6666");
+ priv->port = 6666;
+
+ dev_add_param_ip(&cdev->class_dev, "ip", NULL, NULL, &priv->ip, NULL);
+ dev_add_param_int(&cdev->class_dev, "port", nc_port_set, NULL, &priv->port, "%u", NULL);
pr_info("registered as %s%d\n", cdev->class_dev.name, cdev->class_dev.id);