Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
PPSi
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
47
Issues
47
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
PPSi
Commits
eb3c4c03
Commit
eb3c4c03
authored
Mar 11, 2016
by
Davide Ciminaghi
Committed by
Alessandro Rubini
Apr 08, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
config: feed config handler with a pointer to relevant struct pp_argline
Signed-off-by:
Davide Ciminaghi
<
ciminaghi@gnudd.com
>
parent
8d293248
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
42 deletions
+61
-42
sim-conf.c
arch-sim/sim-conf.c
+18
-18
unix-conf.c
arch-unix/unix-conf.c
+4
-2
ppsi.h
include/ppsi/ppsi.h
+4
-2
conf.c
lib/conf.c
+35
-20
No files found.
arch-sim/sim-conf.c
View file @
eb3c4c03
...
...
@@ -8,7 +8,7 @@
#include <ppsi/ppsi.h>
#include "ppsi-sim.h"
static
int
f_ppm_real
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_ppm_real
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
pp_instance
*
ppi_slave
;
...
...
@@ -20,7 +20,7 @@ static int f_ppm_real(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_ppm_servo
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_ppm_servo
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
pp_instance
*
ppi_slave
;
...
...
@@ -32,7 +32,7 @@ static int f_ppm_servo(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_ofm
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_ofm
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
pp_sim_time_instance
*
t_master
,
*
t_slave
;
...
...
@@ -45,7 +45,7 @@ static int f_ofm(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_init_time
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_init_time
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
pp_sim_time_instance
*
t_inst
;
...
...
@@ -57,8 +57,8 @@ static int f_init_time(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_fwd_t_prop
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_fwd_t_prop
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
sim_ppi_arch_data
*
data
;
data
=
SIM_PPI_ARCH
(
pp_sim_get_master
(
ppg
));
...
...
@@ -66,8 +66,8 @@ static int f_fwd_t_prop(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_bckwd_t_prop
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_bckwd_t_prop
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
sim_ppi_arch_data
*
data
;
data
=
SIM_PPI_ARCH
(
pp_sim_get_slave
(
ppg
));
...
...
@@ -75,15 +75,15 @@ static int f_bckwd_t_prop(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_t_prop
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_t_prop
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
f_fwd_t_prop
(
lineno
,
ppg
,
arg
);
f_bckwd_t_prop
(
lineno
,
ppg
,
arg
);
f_fwd_t_prop
(
l
,
l
ineno
,
ppg
,
arg
);
f_bckwd_t_prop
(
l
,
l
ineno
,
ppg
,
arg
);
return
0
;
}
static
int
f_fwd_jit
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_fwd_jit
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
sim_ppi_arch_data
*
data
;
...
...
@@ -93,7 +93,7 @@ static int f_fwd_jit(int lineno, struct pp_globals *ppg,
}
static
int
f_bckwd_jit
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_bckwd_jit
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
sim_ppi_arch_data
*
data
;
...
...
@@ -102,15 +102,15 @@ static int f_bckwd_jit(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_jit
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_jit
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
f_fwd_jit
(
lineno
,
ppg
,
arg
);
f_bckwd_jit
(
lineno
,
ppg
,
arg
);
f_fwd_jit
(
l
,
l
ineno
,
ppg
,
arg
);
f_bckwd_jit
(
l
,
l
ineno
,
ppg
,
arg
);
return
0
;
}
static
int
f_iter
(
int
lineno
,
struct
pp_globals
*
ppg
,
static
int
f_iter
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
SIM_PPG_ARCH
(
ppg
)
->
sim_iter_max
=
arg
->
i
;
...
...
arch-unix/unix-conf.c
View file @
eb3c4c03
...
...
@@ -8,13 +8,15 @@
#include <ppsi/ppsi.h>
static
int
f_rxdrop
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_rxdrop
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
ppg
->
rxdrop
=
arg
->
i
;
return
0
;
}
static
int
f_txdrop
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_txdrop
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
ppg
->
txdrop
=
arg
->
i
;
return
0
;
...
...
include/ppsi/ppsi.h
View file @
eb3c4c03
...
...
@@ -286,8 +286,10 @@ union pp_cfg_arg {
/*
* Configuration: we are structure-based, and a typedef simplifies things
*/
typedef
int
(
*
cfg_handler
)(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
);
struct
pp_argline
;
typedef
int
(
*
cfg_handler
)(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
);
struct
pp_argname
{
char
*
name
;
...
...
lib/conf.c
View file @
eb3c4c03
...
...
@@ -22,7 +22,8 @@ static inline struct pp_instance *CUR_PPI(struct pp_globals *ppg)
}
/* A "port" (or "link", for compatibility) line creates or uses a pp instance */
static
int
f_port
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_port
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
int
i
;
...
...
@@ -62,7 +63,8 @@ static int f_port(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
return -1; \
}})
static
int
f_if
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_if
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
1
);
strcpy
(
CUR_PPI
(
ppg
)
->
cfg
.
iface_name
,
arg
->
s
);
...
...
@@ -70,21 +72,24 @@ static int f_if(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
}
/* The following ones are so similar. Bah... set a pointer somewhere? */
static
int
f_proto
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_proto
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
1
);
CUR_PPI
(
ppg
)
->
proto
=
arg
->
i
;
return
0
;
}
static
int
f_role
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_role
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
1
);
CUR_PPI
(
ppg
)
->
role
=
arg
->
i
;
return
0
;
}
static
int
f_ext
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_ext
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
1
);
CUR_PPI
(
ppg
)
->
cfg
.
ext
=
arg
->
i
;
...
...
@@ -92,21 +97,24 @@ static int f_ext(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
}
/* The following two are identical as well. I really need a pointer... */
static
int
f_class
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_class
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
0
);
GOPTS
(
ppg
)
->
clock_quality
.
clockClass
=
arg
->
i
;
return
0
;
}
static
int
f_accuracy
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_accuracy
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
0
);
GOPTS
(
ppg
)
->
clock_quality
.
clockAccuracy
=
arg
->
i
;
return
0
;
}
static
int
f_variance
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_variance
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
0
);
GOPTS
(
ppg
)
->
clock_quality
.
offsetScaledLogVariance
=
arg
->
i
;
...
...
@@ -114,7 +122,8 @@ static int f_variance(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
}
/* Diagnostics can be per-port or global */
static
int
f_diag
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_diag
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
unsigned
long
level
=
pp_diag_parse
(
arg
->
s
);
...
...
@@ -126,7 +135,8 @@ static int f_diag(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
}
/* VLAN support is per-port, and it depends on configuration itmes */
static
int
f_vlan
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_vlan
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
struct
pp_instance
*
ppi
=
CUR_PPI
(
ppg
);
int
i
,
n
,
*
v
;
...
...
@@ -190,7 +200,8 @@ static int f_vlan(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
return
0
;
}
static
int
f_servo_pi
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_servo_pi
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
int
n1
,
n2
;
...
...
@@ -204,7 +215,8 @@ static int f_servo_pi(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
return
0
;
}
static
int
f_latency
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_latency
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
int
n1
,
n2
;
...
...
@@ -215,15 +227,16 @@ static int f_latency(int lineno, struct pp_globals *ppg, union pp_cfg_arg *arg)
return
0
;
}
static
int
f_domain
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_domain
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
0
);
GOPTS
(
ppg
)
->
domain_number
=
arg
->
i
;
return
0
;
}
static
int
f_announce_intvl
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_announce_intvl
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
int
i
=
arg
->
i
;
...
...
@@ -237,8 +250,8 @@ static int f_announce_intvl(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_sync_intvl
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_sync_intvl
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
int
i
=
arg
->
i
;
...
...
@@ -247,14 +260,16 @@ static int f_sync_intvl(int lineno, struct pp_globals *ppg,
return
0
;
}
static
int
f_prio1
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_prio1
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
0
);
GOPTS
(
ppg
)
->
prio1
=
arg
->
i
;
return
0
;
}
static
int
f_prio2
(
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
static
int
f_prio2
(
struct
pp_argline
*
l
,
int
lineno
,
struct
pp_globals
*
ppg
,
union
pp_cfg_arg
*
arg
)
{
CHECK_PPI
(
0
);
GOPTS
(
ppg
)
->
prio2
=
arg
->
i
;
...
...
@@ -502,7 +517,7 @@ static int pp_config_line(struct pp_globals *ppg, char *line, int lineno)
break
;
}
if
(
l
->
f
(
lineno
,
ppg
,
&
cfg_arg
))
if
(
l
->
f
(
l
,
l
ineno
,
ppg
,
&
cfg_arg
))
return
-
1
;
return
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment