ps3_gelic_wireless: Remove PS3 gelic legacy wpa support
authorHamish Guthrie <hamish.guthrie@sonycom.com>
Thu, 28 Jan 2010 11:54:09 +0000 (12:54 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 28 Jan 2010 20:21:56 +0000 (15:21 -0500)
The current PS3 gelic wireless driver has support for wireless
extensions. The original PS3 gelic wireless driver exposed a
dedicated API for a dedicated wpa_supplicant driver. This old
API could be enabled with CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE,
however, as this is not being used by any distros, and it is being
removed from the driver and from wpa_supplicant.

Signed-off-by: Hamish Guthrie <hamish.guthrie@sonycom.com>
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/configs/ps3_defconfig
drivers/net/Kconfig
drivers/net/ps3_gelic_wireless.c

index 2524018..070587a 100644 (file)
@@ -1000,7 +1000,6 @@ CONFIG_TIGON3=y
 CONFIG_SPIDER_NET=m
 CONFIG_GELIC_NET=m
 CONFIG_GELIC_WIRELESS=y
-# CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set
 # CONFIG_QLA3XXX is not set
 # CONFIG_ATL1 is not set
 # CONFIG_ATL1E is not set
index 7de127e..32f7058 100644 (file)
@@ -593,7 +593,6 @@ CONFIG_MII=m
 CONFIG_NETDEV_1000=y
 CONFIG_GELIC_NET=y
 CONFIG_GELIC_WIRELESS=y
-# CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set
 # CONFIG_NETDEV_10000 is not set
 
 #
index 18ff622..6460505 100644 (file)
@@ -2354,20 +2354,6 @@ config GELIC_WIRELESS
          the driver automatically distinguishes the models, you can
          safely enable this option even if you have a wireless-less model.
 
-config GELIC_WIRELESS_OLD_PSK_INTERFACE
-       bool "PS3 Wireless private PSK interface (OBSOLETE)"
-       depends on GELIC_WIRELESS
-       select WEXT_PRIV
-       help
-          This option retains the obsolete private interface to pass
-          the PSK from user space programs to the driver.  The PSK
-          stands for 'Pre Shared Key' and is used for WPA[2]-PSK
-          (WPA-Personal) environment.
-          If WPA[2]-PSK is used and you need to use old programs that
-          support only this old interface, say Y.  Otherwise N.
-
-          If unsure, say N.
-
 config FSL_PQ_MDIO
        tristate "Freescale PQ MDIO"
        depends on FSL_SOC
index 227b141..7571dbb 100644 (file)
@@ -1389,113 +1389,6 @@ static int gelic_wl_get_mode(struct net_device *netdev,
        return 0;
 }
 
-#ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE
-/* SIOCIWFIRSTPRIV */
-static int hex2bin(u8 *str, u8 *bin, unsigned int len)
-{
-       unsigned int i;
-       static unsigned char *hex = "0123456789ABCDEF";
-       unsigned char *p, *q;
-       u8 tmp;
-
-       if (len != WPA_PSK_LEN * 2)
-               return -EINVAL;
-
-       for (i = 0; i < WPA_PSK_LEN * 2; i += 2) {
-               p = strchr(hex, toupper(str[i]));
-               q = strchr(hex, toupper(str[i + 1]));
-               if (!p || !q) {
-                       pr_info("%s: unconvertible PSK digit=%d\n",
-                               __func__, i);
-                       return -EINVAL;
-               }
-               tmp = ((p - hex) << 4) + (q - hex);
-               *bin++ = tmp;
-       }
-       return 0;
-};
-
-static int gelic_wl_priv_set_psk(struct net_device *net_dev,
-                                struct iw_request_info *info,
-                                union iwreq_data *data, char *extra)
-{
-       struct gelic_wl_info *wl = port_wl(netdev_priv(net_dev));
-       unsigned int len;
-       unsigned long irqflag;
-       int ret = 0;
-
-       pr_debug("%s:<- len=%d\n", __func__, data->data.length);
-       len = data->data.length - 1;
-       if (len <= 2)
-               return -EINVAL;
-
-       spin_lock_irqsave(&wl->lock, irqflag);
-       if (extra[0] == '"' && extra[len - 1] == '"') {
-               pr_debug("%s: passphrase mode\n", __func__);
-               /* pass phrase */
-               if (GELIC_WL_EURUS_PSK_MAX_LEN < (len - 2)) {
-                       pr_info("%s: passphrase too long\n", __func__);
-                       ret = -E2BIG;
-                       goto out;
-               }
-               memset(wl->psk, 0, sizeof(wl->psk));
-               wl->psk_len = len - 2;
-               memcpy(wl->psk, &(extra[1]), wl->psk_len);
-               wl->psk_type = GELIC_EURUS_WPA_PSK_PASSPHRASE;
-       } else {
-               ret = hex2bin(extra, wl->psk, len);
-               if (ret)
-                       goto out;
-               wl->psk_len = WPA_PSK_LEN;
-               wl->psk_type = GELIC_EURUS_WPA_PSK_BIN;
-       }
-       set_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat);
-out:
-       spin_unlock_irqrestore(&wl->lock, irqflag);
-       pr_debug("%s:->\n", __func__);
-       return ret;
-}
-
-static int gelic_wl_priv_get_psk(struct net_device *net_dev,
-                                struct iw_request_info *info,
-                                union iwreq_data *data, char *extra)
-{
-       struct gelic_wl_info *wl = port_wl(netdev_priv(net_dev));
-       char *p;
-       unsigned long irqflag;
-       unsigned int i;
-
-       pr_debug("%s:<-\n", __func__);
-       if (!capable(CAP_NET_ADMIN))
-               return -EPERM;
-
-       spin_lock_irqsave(&wl->lock, irqflag);
-       p = extra;
-       if (test_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat)) {
-               if (wl->psk_type == GELIC_EURUS_WPA_PSK_BIN) {
-                       for (i = 0; i < wl->psk_len; i++) {
-                               sprintf(p, "%02xu", wl->psk[i]);
-                               p += 2;
-                       }
-                       *p = '\0';
-                       data->data.length = wl->psk_len * 2;
-               } else {
-                       *p++ = '"';
-                       memcpy(p, wl->psk, wl->psk_len);
-                       p += wl->psk_len;
-                       *p++ = '"';
-                       *p = '\0';
-                       data->data.length = wl->psk_len + 2;
-               }
-       } else
-               /* no psk set */
-               data->data.length = 0;
-       spin_unlock_irqrestore(&wl->lock, irqflag);
-       pr_debug("%s:-> %d\n", __func__, data->data.length);
-       return 0;
-}
-#endif
-
 /* SIOCGIWNICKN */
 static int gelic_wl_get_nick(struct net_device *net_dev,
                                  struct iw_request_info *info,
@@ -2406,40 +2299,10 @@ static const iw_handler gelic_wl_wext_handler[] =
        IW_IOCTL(SIOCGIWNICKN)          = gelic_wl_get_nick,
 };
 
-#ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE
-static struct iw_priv_args gelic_wl_private_args[] =
-{
-       {
-               .cmd = GELIC_WL_PRIV_SET_PSK,
-               .set_args = IW_PRIV_TYPE_CHAR |
-               (GELIC_WL_EURUS_PSK_MAX_LEN + 2),
-               .name = "set_psk"
-       },
-       {
-               .cmd = GELIC_WL_PRIV_GET_PSK,
-               .get_args = IW_PRIV_TYPE_CHAR |
-               (GELIC_WL_EURUS_PSK_MAX_LEN + 2),
-               .name = "get_psk"
-       }
-};
-
-static const iw_handler gelic_wl_private_handler[] =
-{
-       gelic_wl_priv_set_psk,
-       gelic_wl_priv_get_psk,
-};
-#endif
-
 static const struct iw_handler_def gelic_wl_wext_handler_def = {
        .num_standard           = ARRAY_SIZE(gelic_wl_wext_handler),
        .standard               = gelic_wl_wext_handler,
        .get_wireless_stats     = gelic_wl_get_wireless_stats,
-#ifdef CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE
-       .num_private            = ARRAY_SIZE(gelic_wl_private_handler),
-       .num_private_args       = ARRAY_SIZE(gelic_wl_private_args),
-       .private                = gelic_wl_private_handler,
-       .private_args           = gelic_wl_private_args,
-#endif
 };
 
 static struct net_device * __devinit gelic_wl_alloc(struct gelic_card *card)