1. 04 Jun, 2014 1 commit
  2. 25 Apr, 2014 1 commit
  3. 18 Feb, 2014 2 commits
    • Ard Biesheuvel's avatar
      x86: align x86 arch with generic CPU modalias handling · 2b9c1f03
      Ard Biesheuvel authored
      
      The x86 CPU feature modalias handling existed before it was reimplemented
      generically. This patch aligns the x86 handling so that it
      (a) reuses some more code that is now generic;
      (b) uses the generic format for the modalias module metadata entry, i.e., it
          now uses 'cpu:type:x86,venVVVVfamFFFFmodMMMM:feature:,XXXX,YYYY' instead of
          the 'x86cpu:vendor:VVVV:family:FFFF:model:MMMM:feature:,XXXX,YYYY' that was
          used before.
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Acked-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2b9c1f03
    • Ard Biesheuvel's avatar
      cpu: add generic support for CPU feature based module autoloading · 67bad2fd
      Ard Biesheuvel authored
      
      This patch adds support for advertising optional CPU features over udev
      using the modalias, and for declaring compatibility with/dependency upon
      such a feature in a module.
      
      The mapping between feature numbers and actual features should be provided
      by the architecture in a file called <asm/cpufeature.h> which exports the
      following functions/macros:
      - cpu_feature(FEAT), a preprocessor macro that maps token FEAT to a
        numeric index;
      - bool cpu_have_feature(n), returning whether this CPU has support for
        feature #n;
      - MAX_CPU_FEATURES, an upper bound for 'n' in the previous function.
      
      The feature can then be enabled by setting CONFIG_GENERIC_CPU_AUTOPROBE
      for the architecture.
      
      For instance, a module that registers its module init function using
      
        module_cpu_feature_match(FEAT_X, module_init_function)
      
      will be probed automatically when the CPU's support for the 'FEAT_X'
      feature is advertised over udev, and will only allow the module to be
      loaded by hand if the 'FEAT_X' feature is supported.
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      67bad2fd
  4. 19 Dec, 2013 1 commit
  5. 02 Jul, 2013 1 commit
  6. 03 Jun, 2013 1 commit
  7. 04 Feb, 2013 1 commit
  8. 25 Oct, 2012 1 commit
  9. 23 Oct, 2012 1 commit
  10. 01 Aug, 2012 1 commit
  11. 21 May, 2012 1 commit
  12. 10 Feb, 2012 1 commit
    • Lee Jones's avatar
      drivers/base: add bus for System-on-Chip devices · 74d1d82c
      Lee Jones authored
      
      Traditionally, any System-on-Chip based platform creates a flat list
      of platform_devices directly under /sys/devices/platform.
      
      In order to give these some better structure, this introduces a new
      bus type for soc_devices that are registered with the new
      soc_device_register() function.  All devices that are on the same
      chip should then be registered as child devices of the soc device.
      
      The soc bus also exports a few standardised device attributes which
      allow user space to query the specific type of soc.
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      74d1d82c
  13. 13 Jan, 2012 1 commit
  14. 11 Jan, 2012 1 commit
  15. 06 Jan, 2012 2 commits
    • Sumit Semwal's avatar
      dma-buf: mark EXPERIMENTAL for 1st release. · a125a394
      Sumit Semwal authored
      
      Mark dma-buf buffer sharing API as EXPERIMENTAL for first release.
      We will remove this in later versions, once it gets smoothed out
      and has more users.
      Signed-off-by: default avatarSumit Semwal <sumit.semwal@linaro.org>
      Signed-off-by: default avatarSumit Semwal <sumit.semwal@ti.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a125a394
    • Sumit Semwal's avatar
      dma-buf: Introduce dma buffer sharing mechanism · d15bd7ee
      Sumit Semwal authored
      This is the first step in defining a dma buffer sharing mechanism.
      
      A new buffer object dma_buf is added, with operations and API to allow easy
      sharing of this buffer object across devices.
      
      The framework allows:
      - creation of a buffer object, its association with a file pointer, and
         associated allocator-defined operations on that buffer. This operation is
         called the 'export' operation.
      - different devices to 'attach' themselves to this exported buffer object, to
        facilitate backing storage negotiation, using dma_buf_attach() API.
      - the exported buffer object to be shared with the other entity by asking for
         its 'file-descriptor (fd)', and sharing the fd across.
      - a received fd to get the buffer object back, where it can be accessed using
         the associated exporter-defined operations.
      - the exporter and user to share the scatterlist associated with this buffer
         object using map_dma_buf and unmap_dma_buf operations.
      
      Atleast one 'attach()' call is required to be made prior to calling the
      map_dma_buf() operation.
      
      Couple of building blocks in map_dma_buf() are added to ease introduction
      of sync'ing across exporter and users, and late allocation by the exporter.
      
      For this first version, this framework will work with certain conditions:
      - *ONLY* exporter will be allowed to mmap to userspace (outside of this
         framework - mmap is not a buffer object operation),
      - currently, *ONLY* users that do not need CPU access to the buffer are
         allowed.
      
      More details are there in the documentation patch.
      
      This is based on design suggestions from many people at the mini-summits[1],
      most notably from Arnd Bergmann <arnd@arndb.de>, Rob Clark <rob@ti.com> and
      Daniel Vetter <daniel@ffwll.ch>.
      
      The implementation is inspired from proof-of-concept patch-set from
      Tomasz Stanislawski <t.stanislaws@samsung.com>, who demonstrated buffer sharing
      between two v4l2 devices. [2]
      
      [1]: https://wiki.linaro.org/OfficeofCTO/MemoryManagement
      [2]: http://lwn.net/Articles/454389
      
      Signed-off-by: default avatarSumit Semwal <sumit.semwal@linaro.org>
      Signed-off-by: default avatarSumit Semwal <sumit.semwal@ti.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
      Reviewed-and-Tested-by: default avatarRob Clark <rob.clark@linaro.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d15bd7ee
  16. 23 Jul, 2011 1 commit
    • Mark Brown's avatar
      regmap: Add generic non-memory mapped register access API · b83a313b
      Mark Brown authored
      
      There are many places in the tree where we implement register access for
      devices on non-memory mapped buses, especially I2C and SPI. Since hardware
      designers seem to have settled on a relatively consistent set of register
      interfaces this can be effectively factored out into shared code.  There
      are a standard set of formats for marshalling data for exchange with the
      device, with the actual I/O mechanisms generally being simple byte
      streams.
      
      We create an abstraction for marshaling data into formats which can be
      sent on the control interfaces, and create a standard method for
      plugging in actual transport underneath that.
      
      This is mostly a refactoring and renaming of the bottom level of the
      existing code for sharing register I/O which we have in ASoC. A
      subsequent patch in this series converts ASoC to use this.  The main
      difference in interface is that reads return values by writing to a
      location provided by a pointer rather than in the return value, ensuring
      we can use the full range of the type for register data.  We also use
      unsigned types rather than ints for the same reason.
      
      As some of the devices can have very large register maps the existing
      ASoC code also contains infrastructure for managing register caches.
      This cache work will be moved over in a future stage to allow for
      separate review, the current patch only deals with the physical I/O.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: default avatarLiam Girdwood <lrg@ti.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      b83a313b
  17. 01 Jul, 2011 3 commits
  18. 11 May, 2011 1 commit
  19. 23 Mar, 2011 1 commit
    • Rafael J. Wysocki's avatar
      Introduce ARCH_NO_SYSDEV_OPS config option (v2) · d47d81c0
      Rafael J. Wysocki authored
      
      Introduce Kconfig option allowing architectures where sysdev
      operations used during system suspend, resume and shutdown have been
      completely replaced with struct sycore_ops operations to avoid
      building sysdev code that will never be used.
      
      Make callbacks in struct sys_device and struct sysdev_driver depend
      on ARCH_NO_SYSDEV_OPS to allows us to verify if all of the references
      have been actually removed from the code the given architecture
      depends on.
      
      Make x86 select ARCH_NO_SYSDEV_OPS.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      d47d81c0
  20. 21 Jan, 2011 1 commit
    • David Rientjes's avatar
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes authored
      
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      Reviewed-by: default avatarIngo Molnar <mingo@elte.hu>
      Acked-by: default avatarDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
  21. 22 Oct, 2010 1 commit
    • Randy Dunlap's avatar
      FW_LOADER: fix kconfig dependency warning on HOTPLUG · 5fc6e9cb
      Randy Dunlap authored
      
      Fix kconfig dependency warning for FW_LOADER.
      
      Lots of drivers select FW_LOADER without bothering to depend on
      HOTPLUG and/or without selecting HOTPLUG.  A kernel builds fine
      when FW_LOADER is enabled, whether HOTPLUG is enabled or not, and
      a kernel config file (make oldconfig) is not changed by this patch.
      (Yes, drivers/base/firmware_class.c uses interfaces from linux/kobject.h,
      which does have some CONFIG_HOTPLUG dependencies, but this patch does
      not change that.)
      
      warning: (MICROCODE || MICROCODE_INTEL && MICROCODE || MICROCODE_AMD && MICROCODE || PCMCIA_LOAD_CIS && PCCARD && PCMCIA && EXPERIMENTAL || USB_IRDA && NET && IRDA && USB || BT_HCIBCM203X && NET && BT && USB || BT_HCIBFUSB && NET && BT && USB || BT_HCIBT3C && NET && BT && PCMCIA || BT_MRVL_SDIO && NET
      ...
      !STAGING_EXCLUDE_BUILD && USB && (X86 || ARM) && WLAN || DRM_NOUVEAU && STAGING && !STAGING_EXCLUDE_BUILD && DRM && PCI || TI_ST && STAGING && !STAGING_EXCLUDE_BUILD && RFKILL || DELL_RBU && X86) selects FW_LOADER which has unmet direct dependencies (HOTPLUG)
      (5200 byte line reduced a lot)
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5fc6e9cb
  22. 21 May, 2010 1 commit
  23. 08 Mar, 2010 2 commits
  24. 15 Sep, 2009 1 commit
    • Kay Sievers's avatar
      Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev · 2b2af54a
      Kay Sievers authored
      
      Devtmpfs lets the kernel create a tmpfs instance called devtmpfs
      very early at kernel initialization, before any driver-core device
      is registered. Every device with a major/minor will provide a
      device node in devtmpfs.
      
      Devtmpfs can be changed and altered by userspace at any time,
      and in any way needed - just like today's udev-mounted tmpfs.
      Unmodified udev versions will run just fine on top of it, and will
      recognize an already existing kernel-created device node and use it.
      The default node permissions are root:root 0600. Proper permissions
      and user/group ownership, meaningful symlinks, all other policy still
      needs to be applied by userspace.
      
      If a node is created by devtmps, devtmpfs will remove the device node
      when the device goes away. If the device node was created by
      userspace, or the devtmpfs created node was replaced by userspace, it
      will no longer be removed by devtmpfs.
      
      If it is requested to auto-mount it, it makes init=/bin/sh work
      without any further userspace support. /dev will be fully populated
      and dynamic, and always reflect the current device state of the kernel.
      With the commonly used dynamic device numbers, it solves the problem
      where static devices nodes may point to the wrong devices.
      
      It is intended to make the initial bootup logic simpler and more robust,
      by de-coupling the creation of the inital environment, to reliably run
      userspace processes, from a complex userspace bootstrap logic to provide
      a working /dev.
      Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarJan Blunck <jblunck@suse.de>
      Tested-By: default avatarHarald Hoyer <harald@redhat.com>
      Tested-By: default avatarScott James Remnant <scott@ubuntu.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2b2af54a
  25. 06 Jan, 2009 1 commit
  26. 16 Oct, 2008 1 commit
  27. 22 Jul, 2008 1 commit
    • Adrian Bunk's avatar
      always enable FW_LOADER unless EMBEDDED=y · d9b19199
      Adrian Bunk authored
      
      James Bottomley recently discovered that we have
      {request,release}_firmware() dummies for the case of the actual
      functions not being available and has a fix for the bug that was
      actually causing build errors for built-in users with
      CONFIG_FW_LOADER=m.
      
      But now missing selects on FW_LOADER are no longer visible at
      compile-time at all and can become runtime problems.
      
      FW_LOADER is infrastructure with relatively small codesize we can safely
      enable for everyone, and only for people who really need small kernels
      (and can be expected to know what they are doing) it matters being able
      to disable it.
      
      This patch therefore always sets FW_LOADER=y and allows users only to
      disable it with EMBEDDED=y.
      
      As a bonus, we can then get rid of all "select FW_LOADER" plus the due
      to it required "depends on HOTPLUG" which removes some complexity from
      our Kconfig files.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d9b19199
  28. 10 Jul, 2008 2 commits
  29. 12 Oct, 2007 1 commit
  30. 09 Feb, 2007 1 commit
    • Tejun Heo's avatar
      devres: device resource management · 9ac7849e
      Tejun Heo authored
      
      Implement device resource management, in short, devres.  A device
      driver can allocate arbirary size of devres data which is associated
      with a release function.  On driver detach, release function is
      invoked on the devres data, then, devres data is freed.
      
      devreses are typed by associated release functions.  Some devreses are
      better represented by single instance of the type while others need
      multiple instances sharing the same release function.  Both usages are
      supported.
      
      devreses can be grouped using devres group such that a device driver
      can easily release acquired resources halfway through initialization
      or selectively release resources (e.g. resources for port 1 out of 4
      ports).
      
      This patch adds devres core including documentation and the following
      managed interfaces.
      
      * alloc/free	: devm_kzalloc(), devm_kzfree()
      * IO region	: devm_request_region(), devm_release_region()
      * IRQ		: devm_request_irq(), devm_free_irq()
      * DMA		: dmam_alloc_coherent(), dmam_free_coherent(),
      		  dmam_declare_coherent_memory(), dmam_pool_create(),
      		  dmam_pool_destroy()
      * PCI		: pcim_enable_device(), pcim_pin_device(), pci_is_managed()
      * iomap		: devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),
      		  devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),
      		  pcim_iomap(), pcim_iounmap()
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      9ac7849e
  31. 28 Oct, 2006 1 commit
  32. 10 Jul, 2006 1 commit
    • Andrew Morton's avatar
      [PATCH] don't select CONFIG_HOTPLUG · 135c294f
      Andrew Morton authored
      
      It's useful to be able to turn off CONFIG_HOTPLUG for compile-coverage testing
      and for section-checking coverage.  But a few things go and select
      CONFIG_HOTPLUG, making it a royal PITA to turn the thing off.
      
      It's only turnable offable if CONFIG_EMBEDDED anyway.  So let's make those
      things depend on HOTPLUG, not select it.
      
      Cc: Greg KH <greg@kroah.com>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      135c294f
  33. 21 Jun, 2006 1 commit
  34. 05 Jan, 2006 1 commit