1. 14 Oct, 2009 1 commit
  2. 01 Oct, 2009 4 commits
  3. 23 Sep, 2009 1 commit
    • Daniel Glöckner's avatar
      gpiolib: allow poll() on value · ff77c352
      Daniel Glöckner authored
      
      
      Many gpio chips allow to generate interrupts when the value of a pin
      changes.  This patch gives usermode application the opportunity to make
      use of this feature by calling poll(2) on the /sys/class/gpio/gpioN/value
      sysfs file.  The edge to trigger can be set in the edge file in the same
      directory.  Possible values are "none", "rising", "falling", and "both".
      
      Using level triggers is not possible with current sysfs since nothing
      changes the GPIO value (and the IRQ keeps triggering).  Edge triggering
      will "just work".  Note that if there was an event between read() and
      poll(), the poll() returns immediately.
      
      Also note that this version only supports true GPIO interrupts.  Some
      later patch might be able to synthesize this behavior by timer-driven
      polling; some systems seem to need that.
      
      [dbrownell@users.sourceforge.net: align ids to 16 bit ids; whitespace]
      Signed-off-by: default avatarDaniel Glöckner <dg@emlix.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ff77c352
  4. 09 Sep, 2009 1 commit
  5. 28 Aug, 2009 5 commits
  6. 01 Aug, 2009 1 commit
  7. 18 Jun, 2009 1 commit
    • Rodolfo Giometti's avatar
      LinuxPPS: core support · eae9d2ba
      Rodolfo Giometti authored
      
      
      This patch adds the kernel side of the PPS support currently named
      "LinuxPPS".
      
      PPS means "pulse per second" and a PPS source is just a device which
      provides a high precision signal each second so that an application can
      use it to adjust system clock time.
      
      Common use is the combination of the NTPD as userland program with a GPS
      receiver as PPS source to obtain a wallclock-time with sub-millisecond
      synchronisation to UTC.
      
      To obtain this goal the userland programs shoud use the PPS API
      specification (RFC 2783 - Pulse-Per-Second API for UNIX-like Operating
      Systems, Version 1.0) which in part is implemented by this patch.  It
      provides a set of chars devices, one per PPS source, which can be used to
      get the time signal.  The RFC's functions can be implemented by accessing
      to these char devices.
      Signed-off-by: default avatarRodolfo Giometti <giometti@linux.it>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Greg KH <greg@kroah.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Acked-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Michael Kerrisk <mtk.manpages@googlemail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eae9d2ba
  8. 16 Jun, 2009 1 commit
  9. 13 Jun, 2009 1 commit
    • Andreas Dilger's avatar
      ext4: teach the inode allocator to use a goal inode number · 11013911
      Andreas Dilger authored
      
      
      Enhance the inode allocator to take a goal inode number as a
      paremeter; if it is specified, it takes precedence over Orlov or
      parent directory inode allocation algorithms.
      
      The extents migration function uses the goal inode number so that the
      extent trees allocated the migration function use the correct flex_bg.
      In the future, the goal inode functionality will also be used to
      allocate an adjacent inode for the extended attributes.
      
      Also, for testing purposes the goal inode number can be specified via
      /sys/fs/{dev}/inode_goal.  This can be useful for testing inode
      allocation beyond 2^32 blocks on very large filesystems.
      Signed-off-by: default avatarAndreas Dilger <adilger@sun.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      11013911
  10. 02 Jun, 2009 1 commit
    • Andrew Patterson's avatar
      cciss: add cciss driver sysfs entries · 7fe06326
      Andrew Patterson authored
      
      
      Add sysfs entries to the cciss driver needed for the dm/multipath tools.
      
      A file for vendor, model, rev, and unique_id is added for each logical
      drive under directory /sys/bus/pci/devices/<dev>/ccissX/cXdY.  Where X =
      the controller (or host) number and Y is the logical drive number.
      
      A link from /sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY to
      /sys/block/cciss!cXdY/device is also created.  A bus is created in
      /sys/bus/cciss.  A link is created from the pci ccissX entry to
      /sys/bus/cciss/devices/ccissX.  Please consider this for inclusion.
      Signed-off-by: default avatarMike Miller <mike.miller@hp.com>
      Cc: Stephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      7fe06326
  11. 29 May, 2009 1 commit
  12. 22 May, 2009 1 commit
    • Martin K. Petersen's avatar
      block: Export I/O topology for block devices and partitions · c72758f3
      Martin K. Petersen authored
      
      
      To support devices with physical block sizes bigger than 512 bytes we
      need to ensure proper alignment.  This patch adds support for exposing
      I/O topology characteristics as devices are stacked.
      
        logical_block_size is the smallest unit the device can address.
      
        physical_block_size indicates the smallest I/O the device can write
        without incurring a read-modify-write penalty.
      
        The io_min parameter is the smallest preferred I/O size reported by
        the device.  In many cases this is the same as the physical block
        size.  However, the io_min parameter can be scaled up when stacking
        (RAID5 chunk size > physical block size).
      
        The io_opt characteristic indicates the optimal I/O size reported by
        the device.  This is usually the stripe width for arrays.
      
        The alignment_offset parameter indicates the number of bytes the start
        of the device/partition is offset from the device's natural alignment.
        Partition tools and MD/DM utilities can use this to pad their offsets
        so filesystems start on proper boundaries.
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      c72758f3
  13. 28 Apr, 2009 1 commit
  14. 21 Apr, 2009 1 commit
  15. 13 Apr, 2009 1 commit
  16. 10 Apr, 2009 1 commit
  17. 31 Mar, 2009 1 commit
    • David Brownell's avatar
      regulator: add get_status() · 853116a1
      David Brownell authored
      
      
      Based on previous LKML discussions:
      
       * Update docs for regulator sysfs class attributes to highlight
         the fact that all current attributes are intended to be control
         inputs, including notably "state" and "opmode" which previously
         implied otherwise.
      
       * Define a new regulator driver get_status() method, which is the
         first method reporting regulator outputs instead of inputs.
         It can report on/off and error status; or instead of simply
         "on", report the actual operating mode.
      
      For the moment, this is a sysfs-only interface, not accessible to
      regulator clients.  Such clients can use the current notification
      interfaces to detect errors, if the regulator reports them.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      853116a1
  18. 20 Mar, 2009 5 commits
  19. 31 Mar, 2009 1 commit
  20. 24 Feb, 2009 1 commit
  21. 18 Feb, 2009 1 commit
  22. 05 Feb, 2009 1 commit
  23. 08 Jan, 2009 1 commit
    • David Brownell's avatar
      regulator: sysfs attribute reduction (v2) · 7ad68e2f
      David Brownell authored
      
      
      Clean up the sysfs interface to regulators by only exposing the
      attributes that can be properly displayed.  For example: when a
      particular regulator method is needed to display the value, only
      create that attribute when that method exists.
      
      This cleaned-up interface is much more comprehensible.  Most
      regulators only support a subset of the possible methods, so
      often more than half the attributes would be meaningless.  Many
      "not defined" values are no longer necessary.  (But handling
      of out-of-range values still looks a bit iffy.)
      
      Documentation is updated to reflect that few of the attributes
      are *always* present, and to briefly explain why a regulator may
      not have a given attribute.
      
      This adds object code, about a dozen bytes more than was removed
      by the preceding patch, but saves a bunch of per-regulator data
      associated with the now-removed attributes.  So there's a net
      reduction in memory footprint.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      7ad68e2f
  24. 06 Jan, 2009 1 commit
    • Gary Hade's avatar
      mm: show node to memory section relationship with symlinks in sysfs · c04fc586
      Gary Hade authored
      
      
      Show node to memory section relationship with symlinks in sysfs
      
      Add /sys/devices/system/node/nodeX/memoryY symlinks for all
      the memory sections located on nodeX.  For example:
      /sys/devices/system/node/node1/memory135 -> ../../memory/memory135
      indicates that memory section 135 resides on node1.
      
      Also revises documentation to cover this change as well as updating
      Documentation/ABI/testing/sysfs-devices-memory to include descriptions
      of memory hotremove files 'phys_device', 'phys_index', and 'state'
      that were previously not described there.
      
      In addition to it always being a good policy to provide users with
      the maximum possible amount of physical location information for
      resources that can be hot-added and/or hot-removed, the following
      are some (but likely not all) of the user benefits provided by
      this change.
      Immediate:
        - Provides information needed to determine the specific node
          on which a defective DIMM is located.  This will reduce system
          downtime when the node or defective DIMM is swapped out.
        - Prevents unintended onlining of a memory section that was
          previously offlined due to a defective DIMM.  This could happen
          during node hot-add when the user or node hot-add assist script
          onlines _all_ offlined sections due to user or script inability
          to identify the specific memory sections located on the hot-added
          node.  The consequences of reintroducing the defective memory
          could be ugly.
        - Provides information needed to vary the amount and distribution
          of memory on specific nodes for testing or debugging purposes.
      Future:
        - Will provide information needed to identify the memory
          sections that need to be offlined prior to physical removal
          of a specific node.
      
      Symlink creation during boot was tested on 2-node x86_64, 2-node
      ppc64, and 2-node ia64 systems.  Symlink creation during physical
      memory hot-add tested on a 2-node x86_64 system.
      Signed-off-by: default avatarGary Hade <garyhade@us.ibm.com>
      Signed-off-by: default avatarBadari Pulavarty <pbadari@us.ibm.com>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c04fc586
  25. 29 Dec, 2008 2 commits
  26. 19 Nov, 2008 1 commit
    • David Vrabel's avatar
      uwb: add basic radio manager · 6fae35f9
      David Vrabel authored
      
      
      The UWB radio manager coordinates the use of the radio between the
      PALs that may be using it.  PALs request use of the radio with
      uwb_radio_start() and the radio manager will start beaconing if its
      not already doing so.  When the last PAL has called uwb_radio_stop()
      beaconing will be stopped.
      
      In the future, the radio manager will have a more sophisticated channel
      selection algorithm, probably following the Channel Selection Policy
      from the WiMedia Alliance when it is finalized.  For now, channel 9
      (BG1, TFC1) is selected.
      
      The user may override the channel selected by the radio manager and may
      force the radio to stop beaconing.
      
      The WUSB Host Controller PAL makes use of this and there are two new
      debug PAL commands that can be used for testing.
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@csr.com>
      6fae35f9
  27. 13 Nov, 2008 1 commit
  28. 28 Oct, 2008 1 commit
    • Zhang Rui's avatar
      ACPI: bugfix reporting of event handler status · ed206fac
      Zhang Rui authored
      
      
      Introduce a new flag showing whether the event has an event handler/method.
      
      For all the GPEs and Fixed Events,
       1. ACPI_EVENT_FLAG_HANDLE is cleared, it's an "invalid" ACPI event.
       2. Both ACPI_EVENT_FLAG_HANDLE and ACPI_EVENT_FLAG_DISABLE are set,
          it's "disabled".
       3. Both ACPI_EVENT_FLAG_HANDLE and ACPI_EVENT_FLAG_ENABLE are set,
          it's "enabled".
       4. Both ACPI_EVENT_FLAG_HANDLE and ACPI_EVENT_FLAG_WAKE_ENABLE are set,
          it's "wake_enabled".
      
      Among other things, this prevents incorrect reporting of ACPI events
      as being "invalid" when it's really just (temporarily) "disabled".
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      ed206fac