diff options
author | Masakazu Mokuno <mokuno@sm.sony.co.jp> | 2008-02-07 05:58:57 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-02-11 10:30:05 -0500 |
commit | 09dde54c6a69d4f9ea1213923b93aeae7020f8b6 (patch) | |
tree | 5db71afb05e3b69304f795b3ba167870221577e3 /drivers/net/ps3_gelic_net.c | |
parent | 589866f9f1cb14273b644993d362ec7845007f94 (diff) |
PS3: gelic: Add wireless support for PS3
Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Acked-by: Dan Williams <dcbw@redhat.com>
Acked-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/ps3_gelic_net.c')
-rw-r--r-- | drivers/net/ps3_gelic_net.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/net/ps3_gelic_net.c b/drivers/net/ps3_gelic_net.c index c9dd9c0ee22b..7eb6e7e848f4 100644 --- a/drivers/net/ps3_gelic_net.c +++ b/drivers/net/ps3_gelic_net.c | |||
@@ -46,9 +46,10 @@ | |||
46 | #include <asm/lv1call.h> | 46 | #include <asm/lv1call.h> |
47 | 47 | ||
48 | #include "ps3_gelic_net.h" | 48 | #include "ps3_gelic_net.h" |
49 | #include "ps3_gelic_wireless.h" | ||
49 | 50 | ||
50 | #define DRV_NAME "Gelic Network Driver" | 51 | #define DRV_NAME "Gelic Network Driver" |
51 | #define DRV_VERSION "1.1" | 52 | #define DRV_VERSION "2.0" |
52 | 53 | ||
53 | MODULE_AUTHOR("SCE Inc."); | 54 | MODULE_AUTHOR("SCE Inc."); |
54 | MODULE_DESCRIPTION("Gelic Network driver"); | 55 | MODULE_DESCRIPTION("Gelic Network driver"); |
@@ -1154,6 +1155,12 @@ static irqreturn_t gelic_card_interrupt(int irq, void *ptr) | |||
1154 | if (status & GELIC_CARD_PORT_STATUS_CHANGED) | 1155 | if (status & GELIC_CARD_PORT_STATUS_CHANGED) |
1155 | gelic_card_get_ether_port_status(card, 1); | 1156 | gelic_card_get_ether_port_status(card, 1); |
1156 | 1157 | ||
1158 | #ifdef CONFIG_GELIC_WIRELESS | ||
1159 | if (status & (GELIC_CARD_WLAN_EVENT_RECEIVED | | ||
1160 | GELIC_CARD_WLAN_COMMAND_COMPLETED)) | ||
1161 | gelic_wl_interrupt(card->netdev[GELIC_PORT_WIRELESS], status); | ||
1162 | #endif | ||
1163 | |||
1157 | return IRQ_HANDLED; | 1164 | return IRQ_HANDLED; |
1158 | } | 1165 | } |
1159 | 1166 | ||
@@ -1635,6 +1642,12 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev) | |||
1635 | goto fail_setup_netdev; | 1642 | goto fail_setup_netdev; |
1636 | } | 1643 | } |
1637 | 1644 | ||
1645 | #ifdef CONFIG_GELIC_WIRELESS | ||
1646 | if (gelic_wl_driver_probe(card)) { | ||
1647 | dev_dbg(&dev->core, "%s: WL init failed\n", __func__); | ||
1648 | goto fail_setup_netdev; | ||
1649 | } | ||
1650 | #endif | ||
1638 | pr_debug("%s: done\n", __func__); | 1651 | pr_debug("%s: done\n", __func__); |
1639 | return 0; | 1652 | return 0; |
1640 | 1653 | ||
@@ -1674,6 +1687,9 @@ static int ps3_gelic_driver_remove(struct ps3_system_bus_device *dev) | |||
1674 | struct net_device *netdev0; | 1687 | struct net_device *netdev0; |
1675 | pr_debug("%s: called\n", __func__); | 1688 | pr_debug("%s: called\n", __func__); |
1676 | 1689 | ||
1690 | #ifdef CONFIG_GELIC_WIRELESS | ||
1691 | gelic_wl_driver_remove(card); | ||
1692 | #endif | ||
1677 | /* stop interrupt */ | 1693 | /* stop interrupt */ |
1678 | gelic_card_set_irq_mask(card, 0); | 1694 | gelic_card_set_irq_mask(card, 0); |
1679 | 1695 | ||