Message ID | 20200430162439.2659-3-edgar.iglesias@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/core: stream: Add end-of-packet flag | expand |
On [2020 Apr 30] Thu 18:24:32, Edgar E. Iglesias wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Split the shared stream_class_init function to assign > stream->push with better type-safety. > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com> > --- > hw/net/xilinx_axienet.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c > index 0f97510d8a..84073753d7 100644 > --- a/hw/net/xilinx_axienet.c > +++ b/hw/net/xilinx_axienet.c > @@ -1029,11 +1029,19 @@ static void xilinx_enet_class_init(ObjectClass *klass, void *data) > dc->reset = xilinx_axienet_reset; > } > > -static void xilinx_enet_stream_class_init(ObjectClass *klass, void *data) > +static void xilinx_enet_control_stream_class_init(ObjectClass *klass, > + void *data) > { > StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); > > - ssc->push = data; > + ssc->push = xilinx_axienet_control_stream_push; > +} > + > +static void xilinx_enet_data_stream_class_init(ObjectClass *klass, void *data) > +{ > + StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); > + > + ssc->push = xilinx_axienet_data_stream_push; > } > > static const TypeInfo xilinx_enet_info = { > @@ -1048,8 +1056,7 @@ static const TypeInfo xilinx_enet_data_stream_info = { > .name = TYPE_XILINX_AXI_ENET_DATA_STREAM, > .parent = TYPE_OBJECT, > .instance_size = sizeof(struct XilinxAXIEnetStreamSlave), > - .class_init = xilinx_enet_stream_class_init, > - .class_data = xilinx_axienet_data_stream_push, > + .class_init = xilinx_enet_data_stream_class_init, > .interfaces = (InterfaceInfo[]) { > { TYPE_STREAM_SLAVE }, > { } > @@ -1060,8 +1067,7 @@ static const TypeInfo xilinx_enet_control_stream_info = { > .name = TYPE_XILINX_AXI_ENET_CONTROL_STREAM, > .parent = TYPE_OBJECT, > .instance_size = sizeof(struct XilinxAXIEnetStreamSlave), > - .class_init = xilinx_enet_stream_class_init, > - .class_data = xilinx_axienet_control_stream_push, > + .class_init = xilinx_enet_control_stream_class_init, > .interfaces = (InterfaceInfo[]) { > { TYPE_STREAM_SLAVE }, > { } > -- > 2.20.1 >
On Thu, Apr 30, 2020 at 9:26 AM Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Split the shared stream_class_init function to assign > stream->push with better type-safety. > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > hw/net/xilinx_axienet.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c > index 0f97510d8a..84073753d7 100644 > --- a/hw/net/xilinx_axienet.c > +++ b/hw/net/xilinx_axienet.c > @@ -1029,11 +1029,19 @@ static void xilinx_enet_class_init(ObjectClass *klass, void *data) > dc->reset = xilinx_axienet_reset; > } > > -static void xilinx_enet_stream_class_init(ObjectClass *klass, void *data) > +static void xilinx_enet_control_stream_class_init(ObjectClass *klass, > + void *data) > { > StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); > > - ssc->push = data; > + ssc->push = xilinx_axienet_control_stream_push; > +} > + > +static void xilinx_enet_data_stream_class_init(ObjectClass *klass, void *data) > +{ > + StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); > + > + ssc->push = xilinx_axienet_data_stream_push; > } > > static const TypeInfo xilinx_enet_info = { > @@ -1048,8 +1056,7 @@ static const TypeInfo xilinx_enet_data_stream_info = { > .name = TYPE_XILINX_AXI_ENET_DATA_STREAM, > .parent = TYPE_OBJECT, > .instance_size = sizeof(struct XilinxAXIEnetStreamSlave), > - .class_init = xilinx_enet_stream_class_init, > - .class_data = xilinx_axienet_data_stream_push, > + .class_init = xilinx_enet_data_stream_class_init, > .interfaces = (InterfaceInfo[]) { > { TYPE_STREAM_SLAVE }, > { } > @@ -1060,8 +1067,7 @@ static const TypeInfo xilinx_enet_control_stream_info = { > .name = TYPE_XILINX_AXI_ENET_CONTROL_STREAM, > .parent = TYPE_OBJECT, > .instance_size = sizeof(struct XilinxAXIEnetStreamSlave), > - .class_init = xilinx_enet_stream_class_init, > - .class_data = xilinx_axienet_control_stream_push, > + .class_init = xilinx_enet_control_stream_class_init, > .interfaces = (InterfaceInfo[]) { > { TYPE_STREAM_SLAVE }, > { } > -- > 2.20.1 > >
diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c index 0f97510d8a..84073753d7 100644 --- a/hw/net/xilinx_axienet.c +++ b/hw/net/xilinx_axienet.c @@ -1029,11 +1029,19 @@ static void xilinx_enet_class_init(ObjectClass *klass, void *data) dc->reset = xilinx_axienet_reset; } -static void xilinx_enet_stream_class_init(ObjectClass *klass, void *data) +static void xilinx_enet_control_stream_class_init(ObjectClass *klass, + void *data) { StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); - ssc->push = data; + ssc->push = xilinx_axienet_control_stream_push; +} + +static void xilinx_enet_data_stream_class_init(ObjectClass *klass, void *data) +{ + StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); + + ssc->push = xilinx_axienet_data_stream_push; } static const TypeInfo xilinx_enet_info = { @@ -1048,8 +1056,7 @@ static const TypeInfo xilinx_enet_data_stream_info = { .name = TYPE_XILINX_AXI_ENET_DATA_STREAM, .parent = TYPE_OBJECT, .instance_size = sizeof(struct XilinxAXIEnetStreamSlave), - .class_init = xilinx_enet_stream_class_init, - .class_data = xilinx_axienet_data_stream_push, + .class_init = xilinx_enet_data_stream_class_init, .interfaces = (InterfaceInfo[]) { { TYPE_STREAM_SLAVE }, { } @@ -1060,8 +1067,7 @@ static const TypeInfo xilinx_enet_control_stream_info = { .name = TYPE_XILINX_AXI_ENET_CONTROL_STREAM, .parent = TYPE_OBJECT, .instance_size = sizeof(struct XilinxAXIEnetStreamSlave), - .class_init = xilinx_enet_stream_class_init, - .class_data = xilinx_axienet_control_stream_push, + .class_init = xilinx_enet_control_stream_class_init, .interfaces = (InterfaceInfo[]) { { TYPE_STREAM_SLAVE }, { }