Re: [U-Boot] [PATCH 07/10] net: sandbox: Add a priv ptr for tests to use
Hi Joe, On Wed, Jul 25, 2018 at 5:45 AM Joe Hershberger wrote: > > Signed-off-by: Joe Hershberger > --- > > arch/sandbox/include/asm/eth.h | 9 + > drivers/net/sandbox.c | 20 > 2 files changed, 29 insertions(+) > > diff --git a/arch/sandbox/include/asm/eth.h b/arch/sandbox/include/asm/eth.h > index 6dabbf00ab..6bb3f1bbfd 100644 > --- a/arch/sandbox/include/asm/eth.h > +++ b/arch/sandbox/include/asm/eth.h > @@ -53,6 +53,7 @@ typedef int sandbox_eth_tx_hand_f(struct udevice *dev, void > *pkt, > * recv_packet_length - lengths of the packet returned as received > * recv_packets - number of packets returned > * tx_handler - function to generate responses to sent packets > + * priv - a pointer to some structure a test may want to keep track of > */ > struct eth_sandbox_priv { > uchar fake_host_hwaddr[ARP_HLEN]; > @@ -62,6 +63,7 @@ struct eth_sandbox_priv { > int recv_packet_length[PKTBUFSRX]; > int recv_packets; > sandbox_eth_tx_hand_f *tx_handler; > + void *priv; > }; > > /* > @@ -71,4 +73,11 @@ struct eth_sandbox_priv { > */ > void sandbox_eth_set_tx_handler(int index, sandbox_eth_tx_hand_f *handler); > > +/* > + * Set priv ptr > + * > + * priv - priv void ptr to store in the device > + */ > +void sandbox_eth_set_priv(int index, void *priv); > + > #endif /* __ETH_H */ > diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c > index 5117af8a82..29767ef291 100644 > --- a/drivers/net/sandbox.c > +++ b/drivers/net/sandbox.c > @@ -204,6 +204,26 @@ void sandbox_eth_set_tx_handler(int index, > sandbox_eth_tx_hand_f *handler) > priv->tx_handler = sb_default_handler; > } > > +/* > + * Set priv ptr > + * > + * priv - priv void ptr to store in the device > + */ > +void sandbox_eth_set_priv(int index, void *priv) > +{ > + struct udevice *dev; > + struct eth_sandbox_priv *uc_priv; Can we use 'priv' instead? As the name uc_prive seems to mean uclass's prive, which isn't the truth. > + int ret; > + > + ret = uclass_get_device(UCLASS_ETH, index, &dev); > + if (ret) > + return; > + > + uc_priv = dev_get_priv(dev); > + > + uc_priv->priv = priv; > +} > + > static int sb_eth_start(struct udevice *dev) > { > struct eth_sandbox_priv *priv = dev_get_priv(dev); > -- Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 07/10] net: sandbox: Add a priv ptr for tests to use
Hi, On 24 July 2018 at 15:40, Joe Hershberger wrote: Missing commit message - what is this for? > Signed-off-by: Joe Hershberger > --- > > arch/sandbox/include/asm/eth.h | 9 + > drivers/net/sandbox.c | 20 > 2 files changed, 29 insertions(+) Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 07/10] net: sandbox: Add a priv ptr for tests to use
Signed-off-by: Joe Hershberger --- arch/sandbox/include/asm/eth.h | 9 + drivers/net/sandbox.c | 20 2 files changed, 29 insertions(+) diff --git a/arch/sandbox/include/asm/eth.h b/arch/sandbox/include/asm/eth.h index 6dabbf00ab..6bb3f1bbfd 100644 --- a/arch/sandbox/include/asm/eth.h +++ b/arch/sandbox/include/asm/eth.h @@ -53,6 +53,7 @@ typedef int sandbox_eth_tx_hand_f(struct udevice *dev, void *pkt, * recv_packet_length - lengths of the packet returned as received * recv_packets - number of packets returned * tx_handler - function to generate responses to sent packets + * priv - a pointer to some structure a test may want to keep track of */ struct eth_sandbox_priv { uchar fake_host_hwaddr[ARP_HLEN]; @@ -62,6 +63,7 @@ struct eth_sandbox_priv { int recv_packet_length[PKTBUFSRX]; int recv_packets; sandbox_eth_tx_hand_f *tx_handler; + void *priv; }; /* @@ -71,4 +73,11 @@ struct eth_sandbox_priv { */ void sandbox_eth_set_tx_handler(int index, sandbox_eth_tx_hand_f *handler); +/* + * Set priv ptr + * + * priv - priv void ptr to store in the device + */ +void sandbox_eth_set_priv(int index, void *priv); + #endif /* __ETH_H */ diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c index 5117af8a82..29767ef291 100644 --- a/drivers/net/sandbox.c +++ b/drivers/net/sandbox.c @@ -204,6 +204,26 @@ void sandbox_eth_set_tx_handler(int index, sandbox_eth_tx_hand_f *handler) priv->tx_handler = sb_default_handler; } +/* + * Set priv ptr + * + * priv - priv void ptr to store in the device + */ +void sandbox_eth_set_priv(int index, void *priv) +{ + struct udevice *dev; + struct eth_sandbox_priv *uc_priv; + int ret; + + ret = uclass_get_device(UCLASS_ETH, index, &dev); + if (ret) + return; + + uc_priv = dev_get_priv(dev); + + uc_priv->priv = priv; +} + static int sb_eth_start(struct udevice *dev) { struct eth_sandbox_priv *priv = dev_get_priv(dev); -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot