1. 27 Jan, 2012 6 commits
    • Andi Kleen's avatar
      HWMON: Convert coretemp to x86 cpuid autoprobing · 9b38096f
      Andi Kleen authored
      Use the new x86 cpuid autoprobe interface for the Intel coretemp
      driver.
      
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Guenter Roeck <guenter.roeck@ericsson.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9b38096f
    • Andi Kleen's avatar
      HWMON: Convert via-cputemp to x86 cpuid autoprobing · 267fc978
      Andi Kleen authored
      Use the new x86 cpuid autoprobe interface.
      
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Guenter Roeck <guenter.roeck@ericsson.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      267fc978
    • Andi Kleen's avatar
      ACPI: Load acpi-cpufreq from processor driver automatically · 9061e0e1
      Andi Kleen authored
      The only left over hole in automatic cpufreq driver loading was the loading
      of ACPI cpufreq. This driver should be loaded when ACPI supports a _PDC
      method and the CPU vendor wants to use acpi cpufreq.
      
      Simply add a request module call to the acpi processor core driver
      when this is true. This seems like the simplest solution for this.
      
      Cc: Len Brown <lenb@kernel.org>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9061e0e1
    • Andi Kleen's avatar
      intel-idle: convert to x86_cpu_id auto probing · b66b8b9a
      Andi Kleen authored
      With this it should be automatically loaded on suitable systems by
      udev.
      
      The old switch () is replaced with a table based approach, this
      also cleans up the code.
      
      Cc: Len Brown <lenb@kernel.org>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b66b8b9a
    • Andi Kleen's avatar
      crypto: Add support for x86 cpuid auto loading for x86 crypto drivers · 3bd391f0
      Andi Kleen authored
      Add support for auto-loading of crypto drivers based on cpuid features.
      This enables auto-loading of the VIA and Intel specific drivers
      for AES, hashing and CRCs.
      
      Requires the earlier infrastructure patch to add x86 modinfo.
      I kept it all in a single patch for now.
      
      I dropped the printks when the driver cpuid doesn't match (imho
      drivers never should print anything in such a case)
      
      One drawback is that udev doesn't know if the drivers are used or not,
      so they will be unconditionally loaded at boot up. That's better
      than not loading them at all, like it often happens.
      
      Cc: Dave Jones <davej@redhat.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Jen Axboe <axboe@kernel.dk>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Huang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3bd391f0
    • Andi Kleen's avatar
      Add driver auto probing for x86 features v4 · 644e9cbb
      Andi Kleen authored
      There's a growing number of drivers that support a specific x86 feature
      or CPU.  Currently loading these drivers currently on a generic
      distribution requires various driver specific hacks and it often
      doesn't work.
      
      This patch adds auto probing for drivers based on the x86 cpuid
      information, in particular based on vendor/family/model number
      and also based on CPUID feature bits.
      
      For example a common issue is not loading the SSE 4.2 accelerated
      CRC module: this can significantly lower the performance of BTRFS
      which relies on fast CRC.
      
      Another issue is loading the right CPUFREQ driver for the current CPU.
      Currently distributions often try all all possible driver until
      one sticks, which is not really a good way to do this.
      
      It works with existing udev without any changes. The code
      exports the x86 information as a generic string in sysfs
      that can be matched by udev's pattern matching.
      
      This scheme does not support numeric ranges, so if you want to
      handle e.g. ranges of model numbers they have to be encoded
      in ASCII or simply all models or families listed. Fixing
      that would require changing udev.
      
      Another issue is that udev will happily load all drivers that match,
      there is currently no nice way to stop a specific driver from
      being loaded if it's not needed (e.g. if you don't need fast CRC)
      But there are not that many cpu specific drivers around and they're
      all not that bloated, so this isn't a particularly serious issue.
      
      Originally this patch added the modalias to the normal cpu
      sysdevs. However sysdevs don't have all the infrastructure
      needed for udev, so it couldn't really autoload drivers.
      This patch instead adds the CPU modaliases to the cpuid devices,
      which are real devices with full support for udev. This implies
      that the cpuid driver has to be loaded to use this.
      
      This patch just adds infrastructure, some driver conversions
      in followups.
      
      Thanks to Kay for helping with some sysfs magic.
      
      v2: Constifcation, some updates
      v4: (trenn@suse.de):
          - Use kzalloc instead of kmalloc to terminate modalias buffer
          - Use uppercase hex values to match correctly against hex values containing
            letters
      
      Cc: Dave Jones <davej@redhat.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Jen Axboe <axboe@kernel.dk>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      644e9cbb
  2. 26 Jan, 2012 1 commit
    • Ludwig Nussel's avatar
      debugfs: add mode, uid and gid options · d6e48686
      Ludwig Nussel authored
      Cautious admins may want to restrict access to debugfs. Currently a
      manual chown/chmod e.g. in an init script is needed to achieve that.
      Distributions that want to make the mount options configurable need
      to add extra config files. By allowing to set the root inode's uid,
      gid and mode via mount options no such hacks are needed anymore.
      Instead configuration becomes straight forward via fstab.
      Signed-off-by: default avatarLudwig Nussel <ludwig.nussel@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d6e48686
  3. 25 Jan, 2012 5 commits
    • Alan Stern's avatar
      Eliminate get_driver() and put_driver() · 9875bb48
      Alan Stern authored
      Now that there are no users of get_driver() or put_driver(), this
      patch (as1513) removes those routines completely.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9875bb48
    • Alan Stern's avatar
      Remove useless get_driver()/put_driver() calls · f3ff9247
      Alan Stern authored
      As part of the removal of get_driver()/put_driver(), this patch
      (as1512) gets rid of various useless and unnecessary calls in several
      drivers.  In some cases it may be desirable to pin the driver by
      calling try_module_get(), but that can be done later.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      CC: Michael Buesch <m@bues.ch>
      CC: Joerg Roedel <joerg.roedel@amd.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f3ff9247
    • Sebastian Ott's avatar
      cio: remove {get,put}_driver · 9f30ea95
      Sebastian Ott authored
      Remove useless {get,put}_driver - the caller of the functions
      has to ensure valid driver pointers.
      Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9f30ea95
    • Alan Stern's avatar
      Dynamic ID addition doesn't need get_driver() · cef9bc56
      Alan Stern authored
      As part of the removal of get_driver()/put_driver(), this patch
      (as1511) changes all the places that add dynamic IDs for drivers.
      Since these additions are done by writing to the drivers' sysfs
      attribute files, and the attributes are removed when the drivers are
      unregistered, there is no reason to take an extra reference to the
      drivers.
      
      The one exception is the pci-stub driver, which calls pci_add_dynid()
      as part of its registration.  But again, there's no reason to take an
      extra reference here, because the driver can't be unloaded while it is
      being registered.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      CC: Jiri Kosina <jkosina@suse.cz>
      CC: Jesse Barnes <jbarnes@virtuousgeek.org>
      CC: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      cef9bc56
    • Alan Stern's avatar
      Driver core: driver_find() drops reference before returning · fde25a9b
      Alan Stern authored
      As part of the removal of get_driver()/put_driver(), this patch
      (as1510) changes driver_find(); it now drops the reference it acquires
      before returning.  The patch also adjusts all the callers of
      driver_find() to remove the now unnecessary calls to put_driver().
      
      In addition, the patch adds a warning to driver_find(): Callers must
      make sure the driver they are searching for does not get unloaded
      while they are using it.  This has always been the case; driver_find()
      has never prevented a driver from being unregistered or unloaded.
      Hence the patch will not introduce any new bugs.  The existing callers
      all seem to be okay in this respect, however I don't understand the
      video drivers well enough to be certain about them.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      CC: Kyungmin Park <kyungmin.park@samsung.com>
      CC: Andy Walls <awalls@md.metrocast.net>
      CC: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      fde25a9b
  4. 24 Jan, 2012 23 commits
  5. 19 Jan, 2012 5 commits