diff options
author | Masakazu Mokuno <mokuno@sm.sony.co.jp> | 2008-02-07 19:58:57 +0900 |
---|---|---|
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 c9dd9c0ee22..7eb6e7e848f 100644 --- a/drivers/net/ps3_gelic_net.c +++ b/drivers/net/ps3_gelic_net.c @@ -46,9 +46,10 @@ #include <asm/lv1call.h> #include "ps3_gelic_net.h" +#include "ps3_gelic_wireless.h" #define DRV_NAME "Gelic Network Driver" -#define DRV_VERSION "1.1" +#define DRV_VERSION "2.0" MODULE_AUTHOR("SCE Inc."); MODULE_DESCRIPTION("Gelic Network driver"); @@ -1154,6 +1155,12 @@ static irqreturn_t gelic_card_interrupt(int irq, void *ptr) if (status & GELIC_CARD_PORT_STATUS_CHANGED) gelic_card_get_ether_port_status(card, 1); +#ifdef CONFIG_GELIC_WIRELESS + if (status & (GELIC_CARD_WLAN_EVENT_RECEIVED | + GELIC_CARD_WLAN_COMMAND_COMPLETED)) + gelic_wl_interrupt(card->netdev[GELIC_PORT_WIRELESS], status); +#endif + return IRQ_HANDLED; } @@ -1635,6 +1642,12 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev) goto fail_setup_netdev; } +#ifdef CONFIG_GELIC_WIRELESS + if (gelic_wl_driver_probe(card)) { + dev_dbg(&dev->core, "%s: WL init failed\n", __func__); + goto fail_setup_netdev; + } +#endif pr_debug("%s: done\n", __func__); return 0; @@ -1674,6 +1687,9 @@ static int ps3_gelic_driver_remove(struct ps3_system_bus_device *dev) struct net_device *netdev0; pr_debug("%s: called\n", __func__); +#ifdef CONFIG_GELIC_WIRELESS + gelic_wl_driver_remove(card); +#endif /* stop interrupt */ gelic_card_set_irq_mask(card, 0); |