public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Cyril Chemparathy <cyril@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] TI: netdev: add driver for cpsw ethernet device
Date: Tue, 31 Aug 2010 11:58:25 -0400	[thread overview]
Message-ID: <4C7D26A1.6020705@ti.com> (raw)
In-Reply-To: <4C7C9277.1010304@gmail.com>

Hi Ben,

[...]
>> +COBJS-$(CONFIG_DRIVER_TI_CPSW) += cpsw.o
> Please don't use the word DRIVER here.  If possible, use something more
> verbose than "CPSW" too.

Will TI_CPSW_SWITCH work better considering that "CPSW" is the name of
the hardware block?

[...]
>> +++ b/drivers/net/cpsw.c
> Please rename this ti_cpsw.c
Agreed.

[...]
>> +struct cpsw_priv {
>> +     struct eth_device               *dev;
>> +     struct cpsw_platform_data       data;
>> +     int                             host_port;
>> +
>> +     struct cpsw_regs                *regs;
>> +     void                            *dma_regs;
>> +     struct cpsw_host_regs           *host_port_regs;
>> +     void                            *ale_regs;
>> +
>> +     struct cpdma_desc               descs[NUM_DESCS];
>> +     struct cpdma_desc               *desc_free;
>> +     struct cpdma_chan               rx_chan, tx_chan;
>> +
>> +     struct cpsw_slave               *slaves;
>> +#define for_each_slave(priv, func, arg...)                   \
>> +     do {                                                    \
>> +             int idx;                                        \
>> +             for (idx = 0; idx<  (priv)->data.slaves; idx++) \
>> +                     (func)((priv)->slaves + idx, ##arg);    \
>> +     } while (0)
>> +};
>> +
> 
> Can this stuff go in a header file?

This stuff is intended to be private within the driver.  I can split
this out into drivers/net/ti_cpsw.h.

[...]
>> diff --git a/include/netdev.h b/include/netdev.h
>> index 94eedfe..009e2f1 100644
>> --- a/include/netdev.h
>> +++ b/include/netdev.h
>> @@ -180,4 +180,33 @@ struct mv88e61xx_config {
>>   int mv88e61xx_switch_initialize(struct mv88e61xx_config *swconfig);
>>   #endif /* CONFIG_MV88E61XX_SWITCH */
>>
>> +#ifdef CONFIG_DRIVER_TI_CPSW
>> +
>> +struct cpsw_slave_data {
>> +     u32             slave_reg_ofs;
>> +     u32             sliver_reg_ofs;
>> +     int             phy_id;
>> +};
>> +
>> +struct cpsw_platform_data {
>> +     u32     mdio_base;
>> +     u32     cpsw_base;
>> +     int     mdio_div;
>> +     int     channels;       /* number of cpdma channels (symmetric) */
>> +     u32     cpdma_reg_ofs;  /* cpdma register offset                */
>> +     int     slaves;         /* number of slave cpgmac ports         */
>> +     u32     ale_reg_ofs;    /* address lookup engine reg offset     */
>> +     int     ale_entries;    /* ale table size                       */
>> +     u32     host_port_reg_ofs;      /* cpdma host port registers    */
>> +     u32     hw_stats_reg_ofs;       /* cpsw hw stats counters       */
>> +     u32     mac_control;
>> +     struct cpsw_slave_data  *slave_data;
>> +     void    (*control)(int enabled);
>> +     void    (*phy_init)(char *name, int addr);
>> +};
>> +
> This stuff doesn't belong in this file.  Definitions specific to your
> driver should go in /include/net/ti_cpsw.h (note that you'll be creating
> this directory, but that's where we want driver headers to go moving
> forward.  Also, please call the initialize function
> 'ti_cpsw_initialize()'.  Despite what the readme file recommends, you're
> initializing something, not registering it.  If anything, the 'init()'
> functions are misnamed, but that's another discussion.

Will do.

We will post an updated v2 series shortly, with these changes.

Thanks
Cyril.

  reply	other threads:[~2010-08-31 15:58 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-04  1:33 [U-Boot] [PATCH 0/2] tnetv107x cpsw ethernet switch driver Cyril Chemparathy
2010-08-04  1:33 ` [U-Boot] [PATCH 1/2] TI: netdev: add driver for cpsw ethernet device Cyril Chemparathy
2010-08-31  5:26   ` Ben Warren
2010-08-31 15:58     ` Cyril Chemparathy [this message]
2010-09-01 21:47       ` Ben Warren
2010-09-01 15:34     ` Cyril Chemparathy
2010-09-01 21:45       ` Ben Warren
2010-08-04  1:33 ` [U-Boot] [PATCH 2/2] TI: add tnetv107x evm board support for cpsw Cyril Chemparathy
2010-08-12 22:51 ` [U-Boot] [PATCH 0/2] tnetv107x cpsw ethernet switch driver Paulraj, Sandeep
2010-08-12 23:05   ` Ben Warren
2010-08-13  1:26     ` Mike Frysinger
2010-08-13  1:50       ` Ben Warren
  -- strict thread matches above, loose matches on Subject: below --
2011-10-21  7:02 [U-Boot] [PATCH 0/2] Added CPSW support Chandan Nath
2011-10-21  7:02 ` [U-Boot] [PATCH 1/2] TI: netdev: add driver for cpsw ethernet device Chandan Nath
2011-10-21 15:38   ` Tom Rini
2011-11-10  5:47     ` Kumar
2011-11-10 14:40       ` Tom Rini
2011-11-11  6:01         ` Kumar
2011-11-11 14:49           ` Tom Rini
2011-11-11 15:12             ` Kumar
2011-11-28  8:23               ` Kumar
2011-11-28 14:28                 ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C7D26A1.6020705@ti.com \
    --to=cyril@ti.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox