Staging: Merge staging-next into Linus's tree
authorGreg Kroah-Hartman <gregkh@suse.de>
Thu, 5 Aug 2010 21:18:03 +0000 (14:18 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 5 Aug 2010 21:18:03 +0000 (14:18 -0700)
Conflicts:
drivers/staging/Kconfig
drivers/staging/batman-adv/bat_sysfs.c
drivers/staging/batman-adv/device.c
drivers/staging/batman-adv/hard-interface.c
drivers/staging/cx25821/cx25821-audups11.c

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 files changed:
1  2 
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/batman-adv/bat_sysfs.c
drivers/staging/batman-adv/hard-interface.c
drivers/staging/comedi/drivers/adl_pci9111.c
drivers/staging/comedi/drivers/cb_pcidda.c
drivers/staging/cx25821/cx25821-alsa.c
drivers/staging/hv/channel_mgmt.c
drivers/staging/hv/hv_utils.c
drivers/staging/hv/vmbus_drv.c
drivers/staging/memrar/memrar_handler.c
drivers/staging/rt2860/usb_main_dev.c
drivers/staging/rtl8192su/r8192U_core.c
drivers/staging/rtl8192u/r8192U_core.c
drivers/staging/winbond/wbusb.c

@@@ -145,7 -147,13 +145,15 @@@ source "drivers/staging/mrst-touchscree
  
  source "drivers/staging/msm/Kconfig"
  
 +source "drivers/staging/lirc/Kconfig"
 +
+ source "drivers/staging/easycap/Kconfig"
+ source "drivers/staging/solo6x10/Kconfig"
+ source "drivers/staging/tidspbridge/Kconfig"
+ source "drivers/staging/quickstart/Kconfig"
  endif # !STAGING_EXCLUDE_BUILD
  endif # STAGING
Simple merge
@@@ -241,40 -247,53 +247,49 @@@ static ssize_t store_log_level(struct k
  {
        struct device *dev = to_dev(kobj->parent);
        struct net_device *net_dev = to_net_dev(dev);
+       struct bat_priv *bat_priv = netdev_priv(net_dev);
+       unsigned long log_level_tmp;
+       int ret;
  
-       return hna_global_fill_buffer_text(net_dev, buff, count, off);
- }
- static ssize_t originators_read(struct file *filp, struct kobject *kobj,
-                                 struct bin_attribute *bin_attr,
-                                 char *buff, loff_t off, size_t count)
- {
-       struct device *dev = to_dev(kobj->parent);
-       struct net_device *net_dev = to_net_dev(dev);
+       ret = strict_strtoul(buff, 10, &log_level_tmp);
+       if (ret) {
+               bat_info(net_dev, "Invalid parameter for 'log_level' "
+                        "setting received: %s\n", buff);
+               return -EINVAL;
+       }
  
-       return orig_fill_buffer_text(net_dev, buff, count, off);
- }
+       if (log_level_tmp > 3) {
+               bat_info(net_dev, "New log level too big: %li "
+                        "(max: %i)\n", log_level_tmp, 3);
+               return -EINVAL;
+       }
  
- static ssize_t vis_data_read(struct file *filp, struct kobject *kobj,
-                                 struct bin_attribute *bin_attr,
-                                 char *buff, loff_t off, size_t count)
- {
-       struct device *dev = to_dev(kobj->parent);
-       struct net_device *net_dev = to_net_dev(dev);
+       if (atomic_read(&bat_priv->log_level) == log_level_tmp)
+               return count;
  
-       return vis_fill_buffer_text(net_dev, buff, count, off);
 -      bat_info(net_dev, "Changing log level from: %i to: %li\n",
 -               atomic_read(&bat_priv->log_level),
 -               log_level_tmp);
 -
+       atomic_set(&bat_priv->log_level, (unsigned)log_level_tmp);
+       return count;
  }
+ #endif
  
- static BAT_BIN_ATTR(transtable_local, S_IRUGO, transtable_local_read, NULL);
- static BAT_BIN_ATTR(transtable_global, S_IRUGO, transtable_global_read, NULL);
- static BAT_BIN_ATTR(originators, S_IRUGO, originators_read, NULL);
- static BAT_BIN_ATTR(vis_data, S_IRUGO, vis_data_read, NULL);
+ static BAT_ATTR(aggregated_ogms, S_IRUGO | S_IWUSR,
+               show_aggr_ogms, store_aggr_ogms);
+ static BAT_ATTR(bonding, S_IRUGO | S_IWUSR, show_bond, store_bond);
+ static BAT_ATTR(vis_mode, S_IRUGO | S_IWUSR, show_vis_mode, store_vis_mode);
+ static BAT_ATTR(orig_interval, S_IRUGO | S_IWUSR,
+               show_orig_interval, store_orig_interval);
+ #ifdef CONFIG_BATMAN_ADV_DEBUG
+ static BAT_ATTR(log_level, S_IRUGO | S_IWUSR, show_log_level, store_log_level);
+ #endif
  
- static struct bin_attribute *mesh_bin_attrs[] = {
-       &bat_attr_transtable_local,
-       &bat_attr_transtable_global,
-       &bat_attr_originators,
-       &bat_attr_vis_data,
+ static struct bat_attribute *mesh_attrs[] = {
+       &bat_attr_aggregated_ogms,
+       &bat_attr_bonding,
+       &bat_attr_vis_mode,
+       &bat_attr_orig_interval,
+ #ifdef CONFIG_BATMAN_ADV_DEBUG
+       &bat_attr_log_level,
+ #endif
        NULL,
  };
  
@@@ -437,10 -438,10 +438,12 @@@ static int batman_skb_recv_finish(struc
  int batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
        struct packet_type *ptype, struct net_device *orig_dev)
  {
+       /* FIXME: each orig_node->batman_if will be attached to a softif */
+       struct bat_priv *bat_priv = netdev_priv(soft_device);
        struct batman_packet *batman_packet;
        struct batman_if *batman_if;
 +      struct net_device_stats *stats;
 +      struct rtnl_link_stats64 temp;
        int ret;
  
        skb = skb_share_check(skb, GFP_ATOMIC);
@@@ -393,24 -366,24 +386,23 @@@ static void VmbusChannelProcessOffer(vo
                 * can cleanup properly
                 */
                newChannel->State = CHANNEL_OPEN_STATE;
 -              cnt = 0;
  
 -              while (cnt != MAX_MSG_TYPES) {
 +              /* Open IC channels */
 +              for (cnt = 0; cnt < MAX_MSG_TYPES; cnt++) {
                        if (memcmp(&newChannel->OfferMsg.Offer.InterfaceType,
                                   &hv_cb_utils[cnt].data,
 -                                 sizeof(struct hv_guid)) == 0) {
 +                                 sizeof(struct hv_guid)) == 0 &&
 +                              VmbusChannelOpen(newChannel, 2 * PAGE_SIZE,
 +                                               2 * PAGE_SIZE, NULL, 0,
 +                                               hv_cb_utils[cnt].callback,
 +                                               newChannel) == 0) {
 +                              hv_cb_utils[cnt].channel = newChannel;
                                DPRINT_INFO(VMBUS, "%s",
 -                                          hv_cb_utils[cnt].log_msg);
 -
 -                              if (VmbusChannelOpen(newChannel, 2 * PAGE_SIZE,
 -                                                  2 * PAGE_SIZE, NULL, 0,
 -                                                  hv_cb_utils[cnt].callback,
 -                                                  newChannel) == 0)
 -                                      hv_cb_utils[cnt].channel = newChannel;
 +                                              hv_cb_utils[cnt].log_msg);
 +                              count_hv_channel();
                        }
 -                      cnt++;
                }
        }
-       DPRINT_EXIT(VMBUS);
  }
  
  /*
@@@ -249,33 -237,8 +239,31 @@@ static void heartbeat_onchannelcallback
        }
  
        kfree(buf);
-       DPRINT_EXIT(VMBUS);
  }
  
 +static const struct pci_device_id __initconst
 +hv_utils_pci_table[] __maybe_unused = {
 +      { PCI_DEVICE(0x1414, 0x5353) }, /* Hyper-V emulated VGA controller */
 +      { 0 }
 +};
 +MODULE_DEVICE_TABLE(pci, hv_utils_pci_table);
 +
 +
 +static const struct dmi_system_id __initconst
 +hv_utils_dmi_table[] __maybe_unused  = {
 +      {
 +              .ident = "Hyper-V",
 +              .matches = {
 +                      DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"),
 +                      DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"),
 +                      DMI_MATCH(DMI_BOARD_NAME, "Virtual Machine"),
 +              },
 +      },
 +      { },
 +};
 +MODULE_DEVICE_TABLE(dmi, hv_utils_dmi_table);
 +
 +
  static int __init init_hyperv_utils(void)
  {
        printk(KERN_INFO "Registering HyperV Utility Driver\n");
@@@ -357,11 -354,7 +355,9 @@@ static int vmbus_bus_init(int (*drv_ini
  
        vmbus_drv_obj->GetChannelOffers();
  
 +      wait_for_completion(&hv_channel_ready);
 +
  cleanup:
-       DPRINT_EXIT(VMBUS_DRV);
        return ret;
  }
  
Simple merge
Simple merge