1. 10 2月, 2008 1 次提交
  2. 06 2月, 2008 1 次提交
    • D
      gpiolib: add drivers/gpio directory · a9c5fff5
      David Brownell 提交于
      Add an empty drivers/gpio directory for gpiolib infrastructure and GPIO
      expanders.  It will be populated by later patches.
      
      This won't be the only place to hold such gpio_chip code.  Many external chips
      add a few GPIOs as secondary functionality (such as MFD drivers) and platform
      code frequently needs to closely integrate GPIO and IRQ support.
      
      This is placed *early* in the build/link sequence since it's common for other
      drivers to depend on GPIOs to do their work, so they must be initialized early
      in the device_initcall() sequence.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Acked-by: NJean Delvare <khali@linux-fr.org>
      Cc: Eric Miao <eric.miao@marvell.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Philipp Zabel <philipp.zabel@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ben Gardner <bgardner@wabtec.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a9c5fff5
  3. 04 2月, 2008 1 次提交
  4. 02 2月, 2008 1 次提交
  5. 31 1月, 2008 1 次提交
  6. 23 10月, 2007 2 次提交
    • R
      Virtio interface · ec3d41c4
      Rusty Russell 提交于
      This attempts to implement a "virtual I/O" layer which should allow
      common drivers to be efficiently used across most virtual I/O
      mechanisms.  It will no-doubt need further enhancement.
      
      The virtio drivers add buffers to virtio queues; as the buffers are consumed
      the driver "interrupt" callbacks are invoked.
      
      There is also a generic implementation of config space which drivers can query
      to get setup information from the host.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Dor Laor <dor.laor@qumranet.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      ec3d41c4
    • R
      Consolidate host virtualization support under Virtualization menu · 9525ca02
      Rusty Russell 提交于
      Move lguest under the virtualization menu.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Avi Kivity <avi@qumranet.com>
      9525ca02
  7. 18 10月, 2007 1 次提交
  8. 17 10月, 2007 1 次提交
    • S
      DCA: Add Direct Cache Access driver · 7589670f
      Shannon Nelson 提交于
      Direct Cache Access (DCA) is a method for warming the CPU cache before data
      is used, with the intent of lessening the impact of cache misses.  This
      patch adds a manager and interface for matching up client requests for DCA
      services with devices that offer DCA services.
      
      In order to use DCA, a module must do bus writes with the appropriate tag
      bits set to trigger a cache read for a specific CPU.  However, different
      CPUs and chipsets can require different sets of tag bits, and the methods
      for determining the correct bits may be simple hardcoding or may be a
      hardware specific magic incantation.  This interface is a way for DCA
      clients to find the correct tag bits for the targeted CPU without needing
      to know the specifics.
      
          [Dave Miller] use DEFINE_SPINLOCK()
      Signed-off-by: NShannon Nelson <shannon.nelson@intel.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7589670f
  9. 11 10月, 2007 1 次提交
  10. 20 7月, 2007 2 次提交
  11. 19 7月, 2007 1 次提交
    • H
      UIO: Add the User IO core code · beafc54c
      Hans J. Koch 提交于
      This interface allows the ability to write the majority of a driver in
      userspace with only a very small shell of a driver in the kernel itself.
      It uses a char device and sysfs to interact with a userspace process to
      process interrupts and control memory accesses.
      
      See the docbook documentation for more details on how to use this
      interface.
      
      From: Hans J. Koch <hjk@linutronix.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Benedikt Spranger <b.spranger@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      beafc54c
  12. 10 7月, 2007 2 次提交
    • A
      [BATTERY] Universal power supply class (was: battery class) · 4a11b59d
      Anton Vorontsov 提交于
      This class is result of "external power" and "battery" classes merge,
      as suggested by David Woodhouse. He also implemented uevent support.
      
      Here how userspace seeing it now:
      
          	# ls /sys/class/power\ supply/
          	ac  main-battery  usb
      
          	# cat /sys/class/power\ supply/ac/type
          	AC
      
          	# cat /sys/class/power\ supply/usb/type
          	USB
      
          	# cat /sys/class/power\ supply/main-battery/type
          	Battery
      
          	# cat /sys/class/power\ supply/ac/online
          	1
      
          	# cat /sys/class/power\ supply/usb/online
          	0
      
          	# cat /sys/class/power\ supply/main-battery/status
          	Charging
      
          	# cat /sys/class/leds/h5400\:red-left/trigger
          	none h5400-radio timer hwtimer ac-online usb-online
          	main-battery-charging-or-full [main-battery-charging]
          	main-battery-full
      Signed-off-by: NAnton Vorontsov <cbou@mail.ru>
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      4a11b59d
    • J
      Remove legacy CDROM drivers · f3f541f9
      Jens Axboe 提交于
      They are all broken beyond repair. Given that nobody has complained
      about them (most haven't worked in 2.6 AT ALL), remove them from the
      tree.
      
      A new mitsumi driver that actually works is in progress, it'll get
      added when completed.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      f3f541f9
  13. 10 3月, 2007 2 次提交
  14. 12 2月, 2007 1 次提交
    • M
      [PATCH] drivers: add LCD support · 70e84049
      Miguel Ojeda Sandonis 提交于
      Add support for auxiliary displays, the ks0108 LCD controller, the
      cfag12864b LCD and adds a framebuffer device: cfag12864bfb.
      
      - Add a "auxdisplay/" folder in "drivers/" for auxiliary display
        drivers.
      
      - Add support for the ks0108 LCD Controller as a device driver.  (uses
        parport interface)
      
      - Add support for the cfag12864b LCD as a device driver.  (uses ks0108
        LCD Controller driver)
      
      - Add a framebuffer device called cfag12864bfb.  (uses cfag12864b LCD
        driver)
      
      - Add the usual Documentation, includes, Makefiles, Kconfigs,
        MAINTAINERS, CREDITS...
      
      - Miguel Ojeda will maintain all the stuff above.
      
      [rdunlap@xenotime.net: workqueue fixups]
      [akpm@osdl.org: kconfig fix]
      Signed-off-by: NMiguel Ojeda Sandonis <maxextreme@gmail.com>
      Cc: Greg KH <greg@kroah.com>
      Acked-by: NPaulo Marques <pmarques@grupopie.com>
      Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      70e84049
  15. 11 12月, 2006 1 次提交
    • A
      [PATCH] kvm: userspace interface · 6aa8b732
      Avi Kivity 提交于
      web site: http://kvm.sourceforge.net
      
      mailing list: kvm-devel@lists.sourceforge.net
        (http://lists.sourceforge.net/lists/listinfo/kvm-devel)
      
      The following patchset adds a driver for Intel's hardware virtualization
      extensions to the x86 architecture.  The driver adds a character device
      (/dev/kvm) that exposes the virtualization capabilities to userspace.  Using
      this driver, a process can run a virtual machine (a "guest") in a fully
      virtualized PC containing its own virtual hard disks, network adapters, and
      display.
      
      Using this driver, one can start multiple virtual machines on a host.
      
      Each virtual machine is a process on the host; a virtual cpu is a thread in
      that process.  kill(1), nice(1), top(1) work as expected.  In effect, the
      driver adds a third execution mode to the existing two: we now have kernel
      mode, user mode, and guest mode.  Guest mode has its own address space mapping
      guest physical memory (which is accessible to user mode by mmap()ing
      /dev/kvm).  Guest mode has no access to any I/O devices; any such access is
      intercepted and directed to user mode for emulation.
      
      The driver supports i386 and x86_64 hosts and guests.  All combinations are
      allowed except x86_64 guest on i386 host.  For i386 guests and hosts, both pae
      and non-pae paging modes are supported.
      
      SMP hosts and UP guests are supported.  At the moment only Intel
      hardware is supported, but AMD virtualization support is being worked on.
      
      Performance currently is non-stellar due to the naive implementation of the
      mmu virtualization, which throws away most of the shadow page table entries
      every context switch.  We plan to address this in two ways:
      
      - cache shadow page tables across tlb flushes
      - wait until AMD and Intel release processors with nested page tables
      
      Currently a virtual desktop is responsive but consumes a lot of CPU.  Under
      Windows I tried playing pinball and watching a few flash movies; with a recent
      CPU one can hardly feel the virtualization.  Linux/X is slower, probably due
      to X being in a separate process.
      
      In addition to the driver, you need a slightly modified qemu to provide I/O
      device emulation and the BIOS.
      
      Caveats (akpm: might no longer be true):
      
      - The Windows install currently bluescreens due to a problem with the
        virtual APIC.  We are working on a fix.  A temporary workaround is to
        use an existing image or install through qemu
      - Windows 64-bit does not work.  That's also true for qemu, so it's
        probably a problem with the device model.
      
      [bero@arklinux.org: build fix]
      [simon.kagstrom@bth.se: build fix, other fixes]
      [uril@qumranet.com: KVM: Expose interrupt bitmap]
      [akpm@osdl.org: i386 build fix]
      [mingo@elte.hu: i386 fixes]
      [rdreier@cisco.com: add log levels to all printks]
      [randy.dunlap@oracle.com: Fix sparse NULL and C99 struct init warnings]
      [anthony@codemonkey.ws: KVM: AMD SVM: 32-bit host support]
      Signed-off-by: NYaniv Kamay <yaniv@qumranet.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      Cc: Simon Kagstrom <simon.kagstrom@bth.se>
      Cc: Bernhard Rosenkraenzer <bero@arklinux.org>
      Signed-off-by: NUri Lublin <uril@qumranet.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Roland Dreier <rolandd@cisco.com>
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAnthony Liguori <anthony@codemonkey.ws>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6aa8b732
  16. 09 12月, 2006 1 次提交
  17. 17 10月, 2006 1 次提交
  18. 10 8月, 2006 1 次提交
  19. 18 6月, 2006 1 次提交
  20. 22 4月, 2006 1 次提交
  21. 01 4月, 2006 1 次提交
  22. 28 3月, 2006 1 次提交
  23. 19 1月, 2006 1 次提交
  24. 14 1月, 2006 1 次提交
    • D
      [PATCH] spi: simple SPI framework · 8ae12a0d
      David Brownell 提交于
      This is the core of a small SPI framework, implementing the model of a
      queue of messages which complete asynchronously (with thin synchronous
      wrappers on top).
      
        - It's still less than 2KB of ".text" (ARM).  If there's got to be a
          mid-layer for something so simple, that's the right size budget.  :)
      
        - The guts use board-specific SPI device tables to build the driver
          model tree.  (Hardware probing is rarely an option.)
      
        - This version of Kconfig includes no drivers.  At this writing there
          are two known master controller drivers (PXA/SSP, OMAP MicroWire)
          and three protocol drivers (CS8415a, ADS7846, DataFlash) with LKML
          mentions of other drivers in development.
      
        - No userspace API.  There are several implementations to compare.
          Implement them like any other driver, and bind them with sysfs.
      
      The changes from last version posted to LKML (on 11-Nov-2005) are minor,
      and include:
      
        - One bugfix (removes a FIXME), with the visible effect of making device
          names be "spiB.C" where B is the bus number and C is the chipselect.
      
        - The "caller provides DMA mappings" mechanism now has kerneldoc, for
          DMA drivers that want to be fancy.
      
        - Hey, the framework init can be subsys_init.  Even though board init
          logic fires earlier, at arch_init ... since the framework init is
          for driver support, and the board init support uses static init.
      
        - Various additional spec/doc clarifications based on discussions
          with other folk.  It adds a brief "thank you" at the end, for folk
          who've helped nudge this framework into existence.
      
      As I've said before, I think that "protocol tweaking" is the main support
      that this driver framework will need to evolve.
      
      From: Mark Underwood <basicmark@yahoo.com>
      
        Update the SPI framework to remove a potential priority inversion case by
        reverting to kmalloc if the pre-allocated DMA-safe buffer isn't available.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8ae12a0d
  25. 12 9月, 2005 1 次提交
    • E
      [NET]: Add netlink connector. · 7672d0b5
      Evgeniy Polyakov 提交于
      Kernel connector - new userspace <-> kernel space easy to use
      communication module which implements easy to use bidirectional
      message bus using netlink as it's backend.  Connector was created to
      eliminate complex skb handling both in send and receive message bus
      direction.
      
      Connector driver adds possibility to connect various agents using as
      one of it's backends netlink based network.  One must register
      callback and identifier. When driver receives special netlink message
      with appropriate identifier, appropriate callback will be called.
      
      From the userspace point of view it's quite straightforward:
      
      	socket();
      	bind();
      	send();
      	recv();
      
      But if kernelspace want to use full power of such connections, driver
      writer must create special sockets, must know about struct sk_buff
      handling...  Connector allows any kernelspace agents to use netlink
      based networking for inter-process communication in a significantly
      easier way:
      
      int cn_add_callback(struct cb_id *id, char *name, void (*callback) (void *));
      void cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);
      
      struct cb_id
      {
      	__u32			idx;
      	__u32			val;
      };
      
      idx and val are unique identifiers which must be registered in
      connector.h for in-kernel usage.  void (*callback) (void *) - is a
      callback function which will be called when message with above idx.val
      will be received by connector core.
      
      Using connector completely hides low-level transport layer from it's
      users.
      
      Connector uses new netlink ability to have many groups in one socket.
      
      [ Incorporating many cleanups and fixes by myself and
        Andrew Morton -DaveM ]
      Signed-off-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7672d0b5
  26. 18 8月, 2005 1 次提交
  27. 12 7月, 2005 2 次提交
  28. 22 6月, 2005 1 次提交
  29. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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!
      1da177e4