Re: [U-Boot] [PATCH 07/10] net: sandbox: Add a priv ptr for tests to use

2018-09-25 Thread Bin Meng
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

2018-08-02 Thread Simon Glass
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

2018-07-24 Thread Joe Hershberger
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