1. 23 Oct, 2012 1 commit
  2. 31 Jul, 2012 1 commit
  3. 21 May, 2012 1 commit
  4. 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>
  5. 13 Jan, 2012 1 commit
  6. 11 Jan, 2012 1 commit
  7. 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>
    • 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
      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>
  8. 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
      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>
  9. 01 Jul, 2011 3 commits
  10. 11 May, 2011 1 commit
  11. 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>
  12. 20 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>
  13. 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.)
      !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>
  14. 21 May, 2010 1 commit
  15. 07 Mar, 2010 2 commits
  16. 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>
  17. 06 Jan, 2009 1 commit
  18. 16 Oct, 2008 1 commit
  19. 21 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
      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>
  20. 10 Jul, 2008 2 commits
  21. 12 Oct, 2007 1 commit
  22. 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
      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
      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(),
      * 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>
  23. 28 Oct, 2006 1 commit
  24. 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>
  25. 21 Jun, 2006 1 commit
  26. 04 Jan, 2006 1 commit
  27. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      Let it rip!