aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:50:19 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:50:19 -0400
commitdf6d3916f3b7b7e2067567a256dd4f0c1ea854a2 (patch)
tree0fdeab1ab5d566605fc99aeb5ea3f621f11e7608 /drivers/net
parent74add80cbd7fe246c893b93ee75ac59acdd01dd4 (diff)
parent197686dfe0038fd190326d118b743ff65ad20c0e (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (77 commits) [POWERPC] Abolish powerpc_flash_init() [POWERPC] Early serial debug support for PPC44x [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc [POWERPC] Add device tree for Ebony [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now [POWERPC] MPIC U3/U4 MSI backend [POWERPC] MPIC MSI allocator [POWERPC] Enable MSI mappings for MPIC [POWERPC] Tell Phyp we support MSI [POWERPC] RTAS MSI implementation [POWERPC] PowerPC MSI infrastructure [POWERPC] Rip out the existing powerpc msi stubs [POWERPC] Remove use of 4level-fixup.h for ppc32 [POWERPC] Add powerpc PCI-E reset API implementation [POWERPC] Holly bootwrapper [POWERPC] Holly DTS [POWERPC] Holly defconfig [POWERPC] Add support for 750CL Holly board [POWERPC] Generalize tsi108 PCI setup [POWERPC] Generalize tsi108 PHY types ... Fixed conflict in include/asm-powerpc/kdebug.h manually Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/bmac.c5
-rw-r--r--drivers/net/ehea/ehea_main.c13
-rw-r--r--drivers/net/mace.c4
-rw-r--r--drivers/net/pasemi_mac.c2
-rw-r--r--drivers/net/spider_net.c4
-rw-r--r--drivers/net/sungem.c2
-rw-r--r--drivers/net/sungem_phy.c2
-rw-r--r--drivers/net/tsi108_eth.c12
-rw-r--r--drivers/net/tsi108_eth.h9
-rw-r--r--drivers/net/ucc_geth.c18
-rw-r--r--drivers/net/ucc_geth_mii.c4
11 files changed, 34 insertions, 41 deletions
diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c
index 4612725965df..9b8d7d9dbe86 100644
--- a/drivers/net/bmac.c
+++ b/drivers/net/bmac.c
@@ -1260,9 +1260,10 @@ static int __devinit bmac_probe(struct macio_dev *mdev, const struct of_device_i
1260 printk(KERN_ERR "BMAC: can't use, need 3 addrs and 3 intrs\n"); 1260 printk(KERN_ERR "BMAC: can't use, need 3 addrs and 3 intrs\n");
1261 return -ENODEV; 1261 return -ENODEV;
1262 } 1262 }
1263 prop_addr = get_property(macio_get_of_node(mdev), "mac-address", NULL); 1263 prop_addr = of_get_property(macio_get_of_node(mdev),
1264 "mac-address", NULL);
1264 if (prop_addr == NULL) { 1265 if (prop_addr == NULL) {
1265 prop_addr = get_property(macio_get_of_node(mdev), 1266 prop_addr = of_get_property(macio_get_of_node(mdev),
1266 "local-mac-address", NULL); 1267 "local-mac-address", NULL);
1267 if (prop_addr == NULL) { 1268 if (prop_addr == NULL) {
1268 printk(KERN_ERR "BMAC: Can't get mac-address\n"); 1269 printk(KERN_ERR "BMAC: Can't get mac-address\n");
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index c7a5614e66c0..a1bd2d861d92 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -2603,14 +2603,13 @@ static int ehea_setup_ports(struct ehea_adapter *adapter)
2603{ 2603{
2604 struct device_node *lhea_dn; 2604 struct device_node *lhea_dn;
2605 struct device_node *eth_dn = NULL; 2605 struct device_node *eth_dn = NULL;
2606 2606 const u32 *dn_log_port_id;
2607 u32 *dn_log_port_id;
2608 int i = 0; 2607 int i = 0;
2609 2608
2610 lhea_dn = adapter->ebus_dev->ofdev.node; 2609 lhea_dn = adapter->ebus_dev->ofdev.node;
2611 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) { 2610 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) {
2612 2611
2613 dn_log_port_id = (u32*)get_property(eth_dn, "ibm,hea-port-no", 2612 dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no",
2614 NULL); 2613 NULL);
2615 if (!dn_log_port_id) { 2614 if (!dn_log_port_id) {
2616 ehea_error("bad device node: eth_dn name=%s", 2615 ehea_error("bad device node: eth_dn name=%s",
@@ -2645,12 +2644,12 @@ static struct device_node *ehea_get_eth_dn(struct ehea_adapter *adapter,
2645{ 2644{
2646 struct device_node *lhea_dn; 2645 struct device_node *lhea_dn;
2647 struct device_node *eth_dn = NULL; 2646 struct device_node *eth_dn = NULL;
2648 u32 *dn_log_port_id; 2647 const u32 *dn_log_port_id;
2649 2648
2650 lhea_dn = adapter->ebus_dev->ofdev.node; 2649 lhea_dn = adapter->ebus_dev->ofdev.node;
2651 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) { 2650 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) {
2652 2651
2653 dn_log_port_id = (u32*)get_property(eth_dn, "ibm,hea-port-no", 2652 dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no",
2654 NULL); 2653 NULL);
2655 if (dn_log_port_id) 2654 if (dn_log_port_id)
2656 if (*dn_log_port_id == logical_port_id) 2655 if (*dn_log_port_id == logical_port_id)
@@ -2774,7 +2773,7 @@ static int __devinit ehea_probe_adapter(struct ibmebus_dev *dev,
2774 const struct of_device_id *id) 2773 const struct of_device_id *id)
2775{ 2774{
2776 struct ehea_adapter *adapter; 2775 struct ehea_adapter *adapter;
2777 u64 *adapter_handle; 2776 const u64 *adapter_handle;
2778 int ret; 2777 int ret;
2779 2778
2780 if (!dev || !dev->ofdev.node) { 2779 if (!dev || !dev->ofdev.node) {
@@ -2791,7 +2790,7 @@ static int __devinit ehea_probe_adapter(struct ibmebus_dev *dev,
2791 2790
2792 adapter->ebus_dev = dev; 2791 adapter->ebus_dev = dev;
2793 2792
2794 adapter_handle = (u64*)get_property(dev->ofdev.node, "ibm,hea-handle", 2793 adapter_handle = of_get_property(dev->ofdev.node, "ibm,hea-handle",
2795 NULL); 2794 NULL);
2796 if (adapter_handle) 2795 if (adapter_handle)
2797 adapter->handle = *adapter_handle; 2796 adapter->handle = *adapter_handle;
diff --git a/drivers/net/mace.c b/drivers/net/mace.c
index b3bd62394958..52b9332810c5 100644
--- a/drivers/net/mace.c
+++ b/drivers/net/mace.c
@@ -110,9 +110,9 @@ static int __devinit mace_probe(struct macio_dev *mdev, const struct of_device_i
110 return -ENODEV; 110 return -ENODEV;
111 } 111 }
112 112
113 addr = get_property(mace, "mac-address", NULL); 113 addr = of_get_property(mace, "mac-address", NULL);
114 if (addr == NULL) { 114 if (addr == NULL) {
115 addr = get_property(mace, "local-mac-address", NULL); 115 addr = of_get_property(mace, "local-mac-address", NULL);
116 if (addr == NULL) { 116 if (addr == NULL) {
117 printk(KERN_ERR "Can't get mac-address for MACE %s\n", 117 printk(KERN_ERR "Can't get mac-address for MACE %s\n",
118 mace->full_name); 118 mace->full_name);
diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c
index 76fe9dd8e841..07eb9b24a97f 100644
--- a/drivers/net/pasemi_mac.c
+++ b/drivers/net/pasemi_mac.c
@@ -80,7 +80,7 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac)
80 return -ENOENT; 80 return -ENOENT;
81 } 81 }
82 82
83 maddr = get_property(dn, "mac-address", NULL); 83 maddr = of_get_property(dn, "mac-address", NULL);
84 if (maddr == NULL) { 84 if (maddr == NULL) {
85 dev_warn(&pdev->dev, 85 dev_warn(&pdev->dev,
86 "no mac address in device tree, not configuring\n"); 86 "no mac address in device tree, not configuring\n");
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index 230da14b1b68..c15e97253ede 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1830,7 +1830,7 @@ try_host_fw:
1830 if (!dn) 1830 if (!dn)
1831 goto out_err; 1831 goto out_err;
1832 1832
1833 fw_prop = get_property(dn, "firmware", &fw_size); 1833 fw_prop = of_get_property(dn, "firmware", &fw_size);
1834 if (!fw_prop) 1834 if (!fw_prop)
1835 goto out_err; 1835 goto out_err;
1836 1836
@@ -2236,7 +2236,7 @@ spider_net_setup_netdev(struct spider_net_card *card)
2236 if (!dn) 2236 if (!dn)
2237 return -EIO; 2237 return -EIO;
2238 2238
2239 mac = get_property(dn, "local-mac-address", NULL); 2239 mac = of_get_property(dn, "local-mac-address", NULL);
2240 if (!mac) 2240 if (!mac)
2241 return -EIO; 2241 return -EIO;
2242 memcpy(addr.sa_data, mac, ETH_ALEN); 2242 memcpy(addr.sa_data, mac, ETH_ALEN);
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 5da73212ac91..432803855034 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -2903,7 +2903,7 @@ static int __devinit gem_get_device_address(struct gem *gp)
2903 struct net_device *dev = gp->dev; 2903 struct net_device *dev = gp->dev;
2904 const unsigned char *addr; 2904 const unsigned char *addr;
2905 2905
2906 addr = get_property(gp->of_node, "local-mac-address", NULL); 2906 addr = of_get_property(gp->of_node, "local-mac-address", NULL);
2907 if (addr == NULL) { 2907 if (addr == NULL) {
2908#ifdef CONFIG_SPARC 2908#ifdef CONFIG_SPARC
2909 addr = idprom->id_ethaddr; 2909 addr = idprom->id_ethaddr;
diff --git a/drivers/net/sungem_phy.c b/drivers/net/sungem_phy.c
index 56a110ca5e6f..61843fd57525 100644
--- a/drivers/net/sungem_phy.c
+++ b/drivers/net/sungem_phy.c
@@ -451,7 +451,7 @@ static int bcm5421_init(struct mii_phy* phy)
451 if (phy->platform_data) { 451 if (phy->platform_data) {
452 struct device_node *np = of_get_parent(phy->platform_data); 452 struct device_node *np = of_get_parent(phy->platform_data);
453 int can_low_power = 1; 453 int can_low_power = 1;
454 if (np == NULL || get_property(np, "no-autolowpower", NULL)) 454 if (np == NULL || of_get_property(np, "no-autolowpower", NULL))
455 can_low_power = 0; 455 can_low_power = 0;
456 if (can_low_power) { 456 if (can_low_power) {
457 /* Enable automatic low-power */ 457 /* Enable automatic low-power */
diff --git a/drivers/net/tsi108_eth.c b/drivers/net/tsi108_eth.c
index 0bfc2c9c1c08..1aabc91f6458 100644
--- a/drivers/net/tsi108_eth.c
+++ b/drivers/net/tsi108_eth.c
@@ -82,6 +82,7 @@ struct tsi108_prv_data {
82 unsigned int phy; /* Index of PHY for this interface */ 82 unsigned int phy; /* Index of PHY for this interface */
83 unsigned int irq_num; 83 unsigned int irq_num;
84 unsigned int id; 84 unsigned int id;
85 unsigned int phy_type;
85 86
86 struct timer_list timer;/* Timer that triggers the check phy function */ 87 struct timer_list timer;/* Timer that triggers the check phy function */
87 unsigned int rxtail; /* Next entry in rxring to read */ 88 unsigned int rxtail; /* Next entry in rxring to read */
@@ -1256,11 +1257,11 @@ static void tsi108_init_phy(struct net_device *dev)
1256 if (i == 0) 1257 if (i == 0)
1257 printk(KERN_ERR "%s function time out \n", __FUNCTION__); 1258 printk(KERN_ERR "%s function time out \n", __FUNCTION__);
1258 1259
1259#if (TSI108_PHY_TYPE == PHY_BCM54XX) /* Broadcom BCM54xx PHY */ 1260 if (data->phy_type == TSI108_PHY_BCM54XX) {
1260 tsi108_write_mii(data, 0x09, 0x0300); 1261 tsi108_write_mii(data, 0x09, 0x0300);
1261 tsi108_write_mii(data, 0x10, 0x1020); 1262 tsi108_write_mii(data, 0x10, 0x1020);
1262 tsi108_write_mii(data, 0x1c, 0x8c00); 1263 tsi108_write_mii(data, 0x1c, 0x8c00);
1263#endif 1264 }
1264 1265
1265 tsi108_write_mii(data, 1266 tsi108_write_mii(data,
1266 MII_BMCR, 1267 MII_BMCR,
@@ -1587,6 +1588,7 @@ tsi108_init_one(struct platform_device *pdev)
1587 data->mii_if.supports_gmii = mii_check_gmii_support(&data->mii_if); 1588 data->mii_if.supports_gmii = mii_check_gmii_support(&data->mii_if);
1588 1589
1589 data->phy = einfo->phy; 1590 data->phy = einfo->phy;
1591 data->phy_type = einfo->phy_type;
1590 data->irq_num = einfo->irq_num; 1592 data->irq_num = einfo->irq_num;
1591 data->id = pdev->id; 1593 data->id = pdev->id;
1592 dev->open = tsi108_open; 1594 dev->open = tsi108_open;
diff --git a/drivers/net/tsi108_eth.h b/drivers/net/tsi108_eth.h
index 77a769df228a..5a77ae6c5f36 100644
--- a/drivers/net/tsi108_eth.h
+++ b/drivers/net/tsi108_eth.h
@@ -43,15 +43,6 @@
43 in_be32((data->phyregs + (offset))) 43 in_be32((data->phyregs + (offset)))
44 44
45/* 45/*
46 * PHY Configuration Options
47 *
48 * NOTE: Enable set of definitions corresponding to your board type
49 */
50#define PHY_MV88E 1 /* Marvel 88Exxxx PHY */
51#define PHY_BCM54XX 2 /* Broardcom BCM54xx PHY */
52#define TSI108_PHY_TYPE PHY_MV88E
53
54/*
55 * TSI108 GIGE port registers 46 * TSI108 GIGE port registers
56 */ 47 */
57 48
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 16b9acdabbe8..d7aff8189377 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3787,7 +3787,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
3787 3787
3788 ugeth_vdbg("%s: IN", __FUNCTION__); 3788 ugeth_vdbg("%s: IN", __FUNCTION__);
3789 3789
3790 prop = get_property(np, "device-id", NULL); 3790 prop = of_get_property(np, "device-id", NULL);
3791 ucc_num = *prop - 1; 3791 ucc_num = *prop - 1;
3792 if ((ucc_num < 0) || (ucc_num > 7)) 3792 if ((ucc_num < 0) || (ucc_num > 7))
3793 return -ENODEV; 3793 return -ENODEV;
@@ -3795,9 +3795,9 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
3795 ug_info = &ugeth_info[ucc_num]; 3795 ug_info = &ugeth_info[ucc_num];
3796 ug_info->uf_info.ucc_num = ucc_num; 3796 ug_info->uf_info.ucc_num = ucc_num;
3797 3797
3798 prop = get_property(np, "rx-clock", NULL); 3798 prop = of_get_property(np, "rx-clock", NULL);
3799 ug_info->uf_info.rx_clock = *prop; 3799 ug_info->uf_info.rx_clock = *prop;
3800 prop = get_property(np, "tx-clock", NULL); 3800 prop = of_get_property(np, "tx-clock", NULL);
3801 ug_info->uf_info.tx_clock = *prop; 3801 ug_info->uf_info.tx_clock = *prop;
3802 err = of_address_to_resource(np, 0, &res); 3802 err = of_address_to_resource(np, 0, &res);
3803 if (err) 3803 if (err)
@@ -3806,23 +3806,23 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
3806 ug_info->uf_info.regs = res.start; 3806 ug_info->uf_info.regs = res.start;
3807 ug_info->uf_info.irq = irq_of_parse_and_map(np, 0); 3807 ug_info->uf_info.irq = irq_of_parse_and_map(np, 0);
3808 3808
3809 ph = get_property(np, "phy-handle", NULL); 3809 ph = of_get_property(np, "phy-handle", NULL);
3810 phy = of_find_node_by_phandle(*ph); 3810 phy = of_find_node_by_phandle(*ph);
3811 3811
3812 if (phy == NULL) 3812 if (phy == NULL)
3813 return -ENODEV; 3813 return -ENODEV;
3814 3814
3815 /* set the PHY address */ 3815 /* set the PHY address */
3816 prop = get_property(phy, "reg", NULL); 3816 prop = of_get_property(phy, "reg", NULL);
3817 if (prop == NULL) 3817 if (prop == NULL)
3818 return -1; 3818 return -1;
3819 ug_info->phy_address = *prop; 3819 ug_info->phy_address = *prop;
3820 3820
3821 /* get the phy interface type, or default to MII */ 3821 /* get the phy interface type, or default to MII */
3822 prop = get_property(np, "interface-type", NULL); 3822 prop = of_get_property(np, "interface-type", NULL);
3823 if (!prop) { 3823 if (!prop) {
3824 /* handle interface property present in old trees */ 3824 /* handle interface property present in old trees */
3825 prop = get_property(phy, "interface", NULL); 3825 prop = of_get_property(phy, "interface", NULL);
3826 if (prop != NULL) 3826 if (prop != NULL)
3827 phy_interface = enet_to_phy_interface[*prop]; 3827 phy_interface = enet_to_phy_interface[*prop];
3828 else 3828 else
@@ -3832,10 +3832,10 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
3832 } 3832 }
3833 3833
3834 /* get speed, or derive from interface */ 3834 /* get speed, or derive from interface */
3835 prop = get_property(np, "max-speed", NULL); 3835 prop = of_get_property(np, "max-speed", NULL);
3836 if (!prop) { 3836 if (!prop) {
3837 /* handle interface property present in old trees */ 3837 /* handle interface property present in old trees */
3838 prop = get_property(phy, "interface", NULL); 3838 prop = of_get_property(phy, "interface", NULL);
3839 if (prop != NULL) 3839 if (prop != NULL)
3840 max_speed = enet_to_speed[*prop]; 3840 max_speed = enet_to_speed[*prop];
3841 } else { 3841 } else {
diff --git a/drivers/net/ucc_geth_mii.c b/drivers/net/ucc_geth_mii.c
index 73b5a538e8f4..27a1ef3b7b06 100644
--- a/drivers/net/ucc_geth_mii.c
+++ b/drivers/net/ucc_geth_mii.c
@@ -172,7 +172,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma
172 while ((child = of_get_next_child(np, child)) != NULL) { 172 while ((child = of_get_next_child(np, child)) != NULL) {
173 int irq = irq_of_parse_and_map(child, 0); 173 int irq = irq_of_parse_and_map(child, 0);
174 if (irq != NO_IRQ) { 174 if (irq != NO_IRQ) {
175 const u32 *id = get_property(child, "reg", NULL); 175 const u32 *id = of_get_property(child, "reg", NULL);
176 new_bus->irq[*id] = irq; 176 new_bus->irq[*id] = irq;
177 } 177 }
178 } 178 }
@@ -203,7 +203,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma
203 if ((res.start >= tempres.start) && 203 if ((res.start >= tempres.start) &&
204 (res.end <= tempres.end)) { 204 (res.end <= tempres.end)) {
205 /* set this UCC to be the MII master */ 205 /* set this UCC to be the MII master */
206 const u32 *id = get_property(tempnp, "device-id", NULL); 206 const u32 *id = of_get_property(tempnp, "device-id", NULL);
207 if (id == NULL) 207 if (id == NULL)
208 goto bus_register_fail; 208 goto bus_register_fail;
209 209