Merge tag 'driver-core-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
Linus Torvalds [Tue, 20 Mar 2012 18:16:20 +0000 (11:16 -0700)]
Pull driver core patches for 3.4-rc1 from Greg KH:
 "Here's the big driver core merge for 3.4-rc1.

  Lots of various things here, sysfs fixes/tweaks (with the nlink
  breakage reverted), dynamic debugging updates, w1 drivers, hyperv
  driver updates, and a variety of other bits and pieces, full
  information in the shortlog."

* tag 'driver-core-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (78 commits)
  Tools: hv: Support enumeration from all the pools
  Tools: hv: Fully support the new KVP verbs in the user level daemon
  Drivers: hv: Support the newly introduced KVP messages in the driver
  Drivers: hv: Add new message types to enhance KVP
  regulator: Support driver probe deferral
  Revert "sysfs: Kill nlink counting."
  uevent: send events in correct order according to seqnum (v3)
  driver core: minor comment formatting cleanups
  driver core: move the deferred probe pointer into the private area
  drivercore: Add driver probe deferral mechanism
  DS2781 Maxim Stand-Alone Fuel Gauge battery and w1 slave drivers
  w1_bq27000: Only one thread can access the bq27000 at a time.
  w1_bq27000 - remove w1_bq27000_write
  w1_bq27000: remove unnecessary NULL test.
  sysfs: Fix memory leak in sysfs_sd_setsecdata().
  intel_idle: Revert change of auto_demotion_disable_flags for Nehalem
  w1: Fix w1_bq27000
  driver-core: documentation: fix up Greg's email address
  powernow-k6: Really enable auto-loading
  powernow-k7: Fix CPU family number
  ...

1  2 
arch/x86/Kconfig
include/linux/netdevice.h
include/linux/printk.h

diff --combined arch/x86/Kconfig
@@@ -82,7 -82,6 +82,7 @@@ config X8
        select CLKEVT_I8253
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_IOMAP
 +      select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC
  
  config INSTRUCTION_DECODER
        def_bool (KPROBES || PERF_EVENTS)
@@@ -180,6 -179,9 +180,9 @@@ config ARCH_HAS_DEFAULT_IDL
  config ARCH_HAS_CACHE_LINE_SIZE
        def_bool y
  
+ config ARCH_HAS_CPU_AUTOPROBE
+       def_bool y
  config HAVE_SETUP_PER_CPU_AREA
        def_bool y
  
@@@ -214,8 -214,8 +214,8 @@@ enum 
  #include <linux/skbuff.h>
  
  #ifdef CONFIG_RPS
 -#include <linux/jump_label.h>
 -extern struct jump_label_key rps_needed;
 +#include <linux/static_key.h>
 +extern struct static_key rps_needed;
  #endif
  
  struct neighbour;
@@@ -2687,14 -2687,14 +2687,14 @@@ int netdev_info(const struct net_devic
  #define MODULE_ALIAS_NETDEV(device) \
        MODULE_ALIAS("netdev-" device)
  
- #if defined(DEBUG)
- #define netdev_dbg(__dev, format, args...)                    \
-       netdev_printk(KERN_DEBUG, __dev, format, ##args)
- #elif defined(CONFIG_DYNAMIC_DEBUG)
+ #if defined(CONFIG_DYNAMIC_DEBUG)
  #define netdev_dbg(__dev, format, args...)                    \
  do {                                                          \
        dynamic_netdev_dbg(__dev, format, ##args);              \
  } while (0)
+ #elif defined(DEBUG)
+ #define netdev_dbg(__dev, format, args...)                    \
+       netdev_printk(KERN_DEBUG, __dev, format, ##args)
  #else
  #define netdev_dbg(__dev, format, args...)                    \
  ({                                                            \
diff --combined include/linux/printk.h
@@@ -101,11 -101,6 +101,11 @@@ asmlinkage __printf(1, 2) __col
  int printk(const char *fmt, ...);
  
  /*
 + * Special printk facility for scheduler use only, _DO_NOT_USE_ !
 + */
 +__printf(1, 2) __cold int printk_sched(const char *fmt, ...);
 +
 +/*
   * Please don't use printk_ratelimit(), because it shares ratelimiting state
   * with all other unrelated printk_ratelimit() callsites.  Instead use
   * printk_ratelimited() or plain old __ratelimit().
@@@ -132,11 -127,6 +132,11 @@@ int printk(const char *s, ...
  {
        return 0;
  }
 +static inline __printf(1, 2) __cold
 +int printk_sched(const char *s, ...)
 +{
 +      return 0;
 +}
  static inline int printk_ratelimit(void)
  {
        return 0;
@@@ -190,13 -180,13 +190,13 @@@ extern void dump_stack(void) __cold
  #endif
  
  /* If you are writing a driver, please use dev_dbg instead */
- #if defined(DEBUG)
- #define pr_debug(fmt, ...) \
-       printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
- #elif defined(CONFIG_DYNAMIC_DEBUG)
+ #if defined(CONFIG_DYNAMIC_DEBUG)
  /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
  #define pr_debug(fmt, ...) \
        dynamic_pr_debug(fmt, ##__VA_ARGS__)
+ #elif defined(DEBUG)
+ #define pr_debug(fmt, ...) \
+       printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
  #else
  #define pr_debug(fmt, ...) \
        no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)