1. 31 10月, 2009 7 次提交
  2. 15 10月, 2009 1 次提交
  3. 02 10月, 2009 4 次提交
  4. 23 9月, 2009 1 次提交
    • D
      gpiolib: allow poll() on value · ff77c352
      Daniel Glöckner 提交于
      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: NDaniel Glöckner <dg@emlix.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ff77c352
  5. 10 9月, 2009 1 次提交
  6. 29 8月, 2009 4 次提交
  7. 01 8月, 2009 1 次提交
  8. 19 6月, 2009 1 次提交
    • R
      LinuxPPS: core support · eae9d2ba
      Rodolfo Giometti 提交于
      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: NRodolfo 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: NAlan 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eae9d2ba
  9. 17 6月, 2009 1 次提交
  10. 13 6月, 2009 1 次提交
    • A
      ext4: teach the inode allocator to use a goal inode number · 11013911
      Andreas Dilger 提交于
      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: NAndreas Dilger <adilger@sun.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      11013911
  11. 02 6月, 2009 1 次提交
    • A
      cciss: add cciss driver sysfs entries · 7fe06326
      Andrew Patterson 提交于
      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: NMike Miller <mike.miller@hp.com>
      Cc: Stephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      7fe06326
  12. 29 5月, 2009 1 次提交
  13. 23 5月, 2009 1 次提交
    • M
      block: Export I/O topology for block devices and partitions · c72758f3
      Martin K. Petersen 提交于
      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: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      c72758f3
  14. 28 4月, 2009 1 次提交
  15. 21 4月, 2009 1 次提交
  16. 14 4月, 2009 1 次提交
  17. 10 4月, 2009 1 次提交
  18. 31 3月, 2009 1 次提交
    • D
      regulator: add get_status() · 853116a1
      David Brownell 提交于
      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: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      853116a1
  19. 21 3月, 2009 5 次提交
  20. 31 3月, 2009 1 次提交
  21. 25 2月, 2009 1 次提交
  22. 19 2月, 2009 1 次提交
  23. 06 2月, 2009 1 次提交
  24. 09 1月, 2009 1 次提交
    • D
      regulator: sysfs attribute reduction (v2) · 7ad68e2f
      David Brownell 提交于
      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: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      7ad68e2f