removed duplicated code in get_ callbacks
added a get_link internal callback to eliminate the duplicated code in _get functions. Signed-off-by: Luotao Fu <l.fu@pengutronix.de>pull/106/head^2
parent
338a640d6f
commit
32c72a4868
|
|
@ -393,6 +393,26 @@ static int do_get_nl_link(int fd, __u8 acquire, const char *name, void *res)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int get_link(const char *name, __u8 acquire, void *res)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
int err = -1;
|
||||||
|
|
||||||
|
fd = open_nl_sock();
|
||||||
|
if (fd < 0)
|
||||||
|
goto err_out;
|
||||||
|
|
||||||
|
err = do_get_nl_link(fd, acquire, name, res);
|
||||||
|
if (err < 0)
|
||||||
|
goto close_out;
|
||||||
|
|
||||||
|
close_out:
|
||||||
|
close(fd);
|
||||||
|
err_out:
|
||||||
|
return err;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static int do_set_nl_link(int fd, __u8 if_state, const char *name,
|
static int do_set_nl_link(int fd, __u8 if_state, const char *name,
|
||||||
struct req_info *req_info)
|
struct req_info *req_info)
|
||||||
{
|
{
|
||||||
|
|
@ -597,83 +617,25 @@ int scan_set_bitrate(const char *name, __u32 bitrate, __u32 sample_point)
|
||||||
|
|
||||||
int scan_get_state(const char *name, int *state)
|
int scan_get_state(const char *name, int *state)
|
||||||
{
|
{
|
||||||
int fd;
|
return get_link(name, GET_STATE, state);
|
||||||
int err;
|
|
||||||
|
|
||||||
fd = open_nl_sock();
|
|
||||||
if (fd < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
err = do_get_nl_link(fd, GET_STATE, name, state);
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int scan_get_restart_ms(const char *name, __u32 *restart_ms)
|
int scan_get_restart_ms(const char *name, __u32 *restart_ms)
|
||||||
{
|
{
|
||||||
int fd;
|
return get_link(name, GET_RESTART_MS, restart_ms);
|
||||||
int err;
|
|
||||||
|
|
||||||
fd = open_nl_sock();
|
|
||||||
if (fd < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
err = do_get_nl_link(fd, GET_RESTART_MS, name, restart_ms);
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
return err;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int scan_get_bittiming(const char *name, struct can_bittiming *bt)
|
int scan_get_bittiming(const char *name, struct can_bittiming *bt)
|
||||||
{
|
{
|
||||||
int fd;
|
return get_link(name, GET_BITTIMING, bt);
|
||||||
int err;
|
|
||||||
|
|
||||||
fd = open_nl_sock();
|
|
||||||
if (fd < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
err = do_get_nl_link(fd, GET_BITTIMING, name, bt);
|
|
||||||
if (err < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int scan_get_ctrlmode(const char *name, struct can_ctrlmode *cm)
|
int scan_get_ctrlmode(const char *name, struct can_ctrlmode *cm)
|
||||||
{
|
{
|
||||||
int fd;
|
return get_link(name, GET_CTRLMODE, cm);
|
||||||
int err;
|
|
||||||
|
|
||||||
fd = open_nl_sock();
|
|
||||||
if (fd < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
err = do_get_nl_link(fd, GET_CTRLMODE, name, cm);
|
|
||||||
if (err < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int scan_get_clock(const char *name, struct can_clock *clock)
|
int scan_get_clock(const char *name, struct can_clock *clock)
|
||||||
{
|
{
|
||||||
int fd;
|
return get_link(name, GET_CLOCK, clock);
|
||||||
int err;
|
|
||||||
|
|
||||||
fd = open_nl_sock();
|
|
||||||
if (fd < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
err = do_get_nl_link(fd, GET_CLOCK, name, clock);
|
|
||||||
if (err < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue