diff options
author | Dale Farnsworth <dale@farnsworth.org> | 2006-01-27 01:18:01 -0700 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2006-01-27 11:11:16 -0500 |
commit | 01999873a455fe9104e91820c72849e608239928 (patch) | |
tree | 24695d2629535ed0ccfdaa26d028705bca0eaecf /include/linux/mv643xx.h | |
parent | d0412d967032b9e147bcbacc9ff0c0342636cf2d (diff) | |
download | linux-stable-01999873a455fe9104e91820c72849e608239928.tar.gz linux-stable-01999873a455fe9104e91820c72849e608239928.tar.bz2 linux-stable-01999873a455fe9104e91820c72849e608239928.zip |
[PATCH] mv643xx_eth: Clean up platform_data configuration
We shouldn't expose the hardware register contents in platform_data.
The only things we allow the user to configure are autoneg, speed, and
duplex. Add specific platform_data fields for these values and remove
the registers configs.
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'include/linux/mv643xx.h')
-rw-r--r-- | include/linux/mv643xx.h | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/include/linux/mv643xx.h b/include/linux/mv643xx.h index 7ffbeac7d2bb..955d3069d727 100644 --- a/include/linux/mv643xx.h +++ b/include/linux/mv643xx.h @@ -1288,23 +1288,15 @@ struct mv64xxx_i2c_pdata { #define MV643XX_ETH_NAME "mv643xx_eth" struct mv643xx_eth_platform_data { - /* - * Non-values for mac_addr, phy_addr, port_config, etc. - * override the default value. Setting the corresponding - * force_* field, causes the default value to be overridden - * even when zero. - */ - unsigned int force_phy_addr:1; - unsigned int force_port_config:1; - unsigned int force_port_config_extend:1; - unsigned int force_port_sdma_config:1; - unsigned int force_port_serial_control:1; - int phy_addr; char *mac_addr; /* pointer to mac address */ - u32 port_config; - u32 port_config_extend; - u32 port_sdma_config; - u32 port_serial_control; + u16 force_phy_addr; /* force override if phy_addr == 0 */ + u16 phy_addr; + + /* If speed is 0, then speed and duplex are autonegotiated. */ + int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */ + int duplex; /* DUPLEX_HALF or DUPLEX_FULL */ + + /* non-zero values of the following fields override defaults */ u32 tx_queue_size; u32 rx_queue_size; u32 tx_sram_addr; |