[PATCH] libertas: remove adapter->atimwindow
[safe/jmp/linux-2.6] / drivers / net / wireless / libertas / main.c
index b4e2cd1..d227e45 100644 (file)
@@ -252,6 +252,50 @@ static ssize_t libertas_anycast_set(struct device * dev,
  */
 static DEVICE_ATTR(anycast_mask, 0644, libertas_anycast_get, libertas_anycast_set);
 
+static ssize_t libertas_autostart_enabled_get(struct device * dev,
+               struct device_attribute *attr, char * buf)
+{
+       struct cmd_ds_mesh_access mesh_access;
+
+       memset(&mesh_access, 0, sizeof(mesh_access));
+       libertas_prepare_and_send_command(to_net_dev(dev)->priv,
+                       CMD_MESH_ACCESS,
+                       CMD_ACT_MESH_GET_AUTOSTART_ENABLED,
+                       CMD_OPTION_WAITFORRSP, 0, (void *)&mesh_access);
+
+       return sprintf(buf, "%d\n", le32_to_cpu(mesh_access.data[0]));
+}
+
+static ssize_t libertas_autostart_enabled_set(struct device * dev,
+               struct device_attribute *attr, const char * buf, size_t count)
+{
+       struct cmd_ds_mesh_access mesh_access;
+       uint32_t datum;
+
+       memset(&mesh_access, 0, sizeof(mesh_access));
+       sscanf(buf, "%d", &datum);
+       mesh_access.data[0] = cpu_to_le32(datum);
+
+       libertas_prepare_and_send_command((to_net_dev(dev))->priv,
+                       CMD_MESH_ACCESS,
+                       CMD_ACT_MESH_SET_AUTOSTART_ENABLED,
+                       CMD_OPTION_WAITFORRSP, 0, (void *)&mesh_access);
+       return strlen(buf);
+}
+
+static DEVICE_ATTR(autostart_enabled, 0644,
+               libertas_autostart_enabled_get, libertas_autostart_enabled_set);
+
+static struct attribute *libertas_mesh_sysfs_entries[] = {
+       &dev_attr_anycast_mask.attr,
+       &dev_attr_autostart_enabled.attr,
+       NULL,
+};
+
+static struct attribute_group libertas_mesh_attr_group = {
+       .attrs = libertas_mesh_sysfs_entries,
+};
+
 /**
  *  @brief Check if the device can be open and wait if necessary.
  *
@@ -512,9 +556,9 @@ static int libertas_set_mac_address(struct net_device *dev, void *addr)
        memset(adapter->current_addr, 0, ETH_ALEN);
 
        /* dev->dev_addr is 8 bytes */
-       lbs_dbg_hex("dev->dev_addr:", dev->dev_addr, ETH_ALEN);
+       lbs_deb_hex(LBS_DEB_NET, "dev->dev_addr", dev->dev_addr, ETH_ALEN);
 
-       lbs_dbg_hex("addr:", phwaddr->sa_data, ETH_ALEN);
+       lbs_deb_hex(LBS_DEB_NET, "addr", phwaddr->sa_data, ETH_ALEN);
        memcpy(adapter->current_addr, phwaddr->sa_data, ETH_ALEN);
 
        ret = libertas_prepare_and_send_command(priv, CMD_802_11_MAC_ADDRESS,
@@ -527,7 +571,7 @@ static int libertas_set_mac_address(struct net_device *dev, void *addr)
                goto done;
        }
 
-       lbs_dbg_hex("adapter->macaddr:", adapter->current_addr, ETH_ALEN);
+       lbs_deb_hex(LBS_DEB_NET, "adapter->macaddr", adapter->current_addr, ETH_ALEN);
        memcpy(dev->dev_addr, adapter->current_addr, ETH_ALEN);
        if (priv->mesh_dev)
                memcpy(priv->mesh_dev->dev_addr, adapter->current_addr, ETH_ALEN);
@@ -954,14 +998,6 @@ static void wlan_init_adapter(wlan_private * priv)
        wlan_adapter *adapter = priv->adapter;
        int i;
 
-       adapter->scanprobes = 0;
-
-       adapter->bcn_avg_factor = DEFAULT_BCN_AVG_FACTOR;
-       adapter->data_avg_factor = DEFAULT_DATA_AVG_FACTOR;
-
-       /* ATIM params */
-       adapter->atimwindow = 0;
-
        adapter->connect_status = LIBERTAS_DISCONNECTED;
        memset(adapter->current_addr, 0xff, ETH_ALEN);
 
@@ -993,8 +1029,6 @@ static void wlan_init_adapter(wlan_private * priv)
 
        mutex_init(&adapter->lock);
 
-       adapter->prescan = 1;
-
        memset(&adapter->curbssparams, 0, sizeof(adapter->curbssparams));
        adapter->curbssparams.channel = DEFAULT_AD_HOC_CHANNEL;
 
@@ -1005,8 +1039,6 @@ static void wlan_init_adapter(wlan_private * priv)
            CMD_ACT_MAC_RX_ON | CMD_ACT_MAC_TX_ON;
 
        adapter->radioon = RADIO_ON;
-       adapter->txantenna = RF_ANTENNA_2;
-       adapter->rxantenna = RF_ANTENNA_AUTO;
 
        adapter->auto_rate = 1;
        adapter->cur_rate = 0;
@@ -1018,18 +1050,15 @@ static void wlan_init_adapter(wlan_private * priv)
        adapter->capability = WLAN_CAPABILITY_SHORT_PREAMBLE;
 
        adapter->psmode = WLAN802_11POWERMODECAM;
-       adapter->multipledtim = MRVDRV_DEFAULT_MULTIPLE_DTIM;
 
        adapter->listeninterval = MRVDRV_DEFAULT_LISTEN_INTERVAL;
 
        adapter->psstate = PS_STATE_FULL_POWER;
        adapter->needtowakeup = 0;
-       adapter->locallisteninterval = 0;       /* default value in firmware will be used */
 
        adapter->intcounter = 0;
 
        adapter->currenttxskb = NULL;
-       adapter->pkttxctrl = 0;
 
        memset(&adapter->tx_queue_ps, 0, NR_TX_QUEUE*sizeof(struct sk_buff*));
        adapter->tx_queue_idx = 0;
@@ -1250,7 +1279,7 @@ int libertas_add_mesh(wlan_private *priv, struct device *dev)
                goto err_free;
        }
 
-       ret = device_create_file(&(mesh_dev->dev), &dev_attr_anycast_mask);
+       ret = sysfs_create_group(&(mesh_dev->dev.kobj), &libertas_mesh_attr_group);
        if (ret)
                goto err_unregister;
 
@@ -1275,7 +1304,7 @@ static void wake_pending_cmdnodes(wlan_private *priv)
        struct cmd_ctrl_node *cmdnode;
        unsigned long flags;
 
-       lbs_deb_enter(LBS_DEB_CMD);
+       lbs_deb_enter(LBS_DEB_HOST);
 
        spin_lock_irqsave(&priv->adapter->driver_lock, flags);
        list_for_each_entry(cmdnode, &priv->adapter->cmdpendingq, list) {
@@ -1359,7 +1388,7 @@ void libertas_remove_mesh(wlan_private *priv)
        netif_stop_queue(mesh_dev);
        netif_carrier_off(priv->mesh_dev);
 
-       device_remove_file(&(mesh_dev->dev), &dev_attr_anycast_mask);
+       sysfs_remove_group(&(mesh_dev->dev.kobj), &libertas_mesh_attr_group);
        unregister_netdev(mesh_dev);
 
        priv->mesh_dev = NULL ;