19 Dec, 2008

1 commit

  • Move x86 platform specific drivers from drivers/misc/
    to a new home under drivers/platform/x86/.

    The community has been maintaining x86 vendor-specific
    platform specific drivers under /drivers/misc/ for a few years.
    The oldest ones started life under drivers/acpi.
    They moved out of drivers/acpi/ because they don't actually
    implement the ACPI specification, but either simply
    use ACPI, or implement vendor-specific ACPI extensions.

    In the future we anticipate...
    drivers/misc/ will go away.
    other architectures will create drivers/platform/

    Signed-off-by: Len Brown

    Len Brown
     

29 Oct, 2008

1 commit

  • When the regulator API was merged it was added to the separate Kconfig
    which ARM uses for drivers but not the generic one in drivers/. Since
    there is nothing ARM-specific about the API add it there too.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     

20 Oct, 2008

1 commit


11 Oct, 2008

1 commit


17 Sep, 2008

1 commit


30 Apr, 2008

1 commit

  • This adds a minimalistic braille screen reader support. This is meant to
    be used by blind people e.g. on boot failures or when / cannot be mounted
    etc and thus the userland screen readers can not work.

    [akpm@linux-foundation.org: fix exports]
    Signed-off-by: Samuel Thibault
    Cc: Jiri Kosina
    Cc: Dmitry Torokhov
    Acked-by: Alan Cox
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Samuel Thibault
     

25 Apr, 2008

1 commit

  • The balloon driver allows memory to be dynamically added or removed from the domain,
    in order to allow host memory to be balanced between multiple domains.

    This patch introduces the Xen balloon driver, though it currently only
    allows a domain to be shrunk from its initial size (and re-grown back to
    that size). A later patch will add the ability to grow a domain beyond
    its initial size.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Jeremy Fitzhardinge
     

10 Feb, 2008

1 commit

  • Sony MemoryStick cards are used in many products manufactured by Sony.
    They are available both as storage and as IO expansion cards. Currently,
    only MemoryStick Pro storage cards are supported via TI FlashMedia
    MemoryStick interface.

    [mboton@gmail.com: biuld fix]
    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Alex Dubov
    Signed-off-by: Miguel Boton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alex Dubov
     

07 Feb, 2008

1 commit


06 Feb, 2008

1 commit

  • 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: David Brownell
    Acked-by: Jean Delvare
    Cc: Eric Miao
    Cc: Sam Ravnborg
    Cc: Haavard Skinnemoen
    Cc: Philipp Zabel
    Cc: Russell King
    Cc: Ben Gardner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

04 Feb, 2008

1 commit


02 Feb, 2008

1 commit


31 Jan, 2008

1 commit


23 Oct, 2007

2 commits

  • 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: Rusty Russell
    Cc: Dor Laor
    Cc: Arnd Bergmann

    Rusty Russell
     
  • Move lguest under the virtualization menu.

    Signed-off-by: Rusty Russell
    Cc: Avi Kivity

    Rusty Russell
     

18 Oct, 2007

1 commit


17 Oct, 2007

1 commit

  • 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: Shannon Nelson
    Acked-by: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shannon Nelson
     

11 Oct, 2007

1 commit

  • SSB is an SoC bus used in a number of embedded devices. The most
    well-known of these devices is probably the Linksys WRT54G, but there
    are others as well. The bus is also used internally on the BCM43xx
    and BCM44xx devices from Broadcom.

    This patch also includes support for SSB ID tables in modules, so
    that SSB drivers can be loaded automatically.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     

20 Jul, 2007

2 commits

  • This moves all the common parts for the Sparc, Sparc64 and PowerPC
    of_device.c files into drivers/of/device.c.

    Apart from the simple move, Sparc gains of_match_node() and a call to
    of_node_put in of_release_dev(). PowerPC gains better recovery if
    device_create_file() fails in of_device_register().

    Signed-off-by: Stephen Rothwell
    Acked-by: Paul Mackerras
    Acked-by: David S. Miller

    Stephen Rothwell
     
  • This is the Kconfig and Makefile to allow lguest to actually be
    compiled.

    Signed-off-by: Rusty Russell
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rusty Russell
     

19 Jul, 2007

1 commit

  • 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
    Cc: Thomas Gleixner
    Cc: Benedikt Spranger
    Signed-off-by: Greg Kroah-Hartman

    Hans J. Koch
     

11 Jul, 2007

1 commit

  • * git://git.infradead.org/~dwmw2/battery-2.6:
    [BATTERY] ds2760 W1 slave
    [BATTERY] One Laptop Per Child power/battery driver
    [BATTERY] Apple PMU driver
    [BATTERY] 1-Wire ds2760 chip battery driver
    [BATTERY] APM emulation driver for class batteries
    [BATTERY] pda_power platform driver
    [BATTERY] Universal power supply class (was: battery class)

    Linus Torvalds
     

10 Jul, 2007

2 commits

  • 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: Anton Vorontsov
    Signed-off-by: David Woodhouse
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     
  • 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: Jens Axboe

    Jens Axboe
     

12 Feb, 2007

1 commit

  • 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: Miguel Ojeda Sandonis
    Cc: Greg KH
    Acked-by: Paulo Marques
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miguel Ojeda Sandonis
     

11 Dec, 2006

1 commit

  • 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: Yaniv Kamay
    Signed-off-by: Avi Kivity
    Cc: Simon Kagstrom
    Cc: Bernhard Rosenkraenzer
    Signed-off-by: Uri Lublin
    Cc: Ingo Molnar
    Cc: Roland Dreier
    Signed-off-by: Randy Dunlap
    Signed-off-by: Anthony Liguori
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     

09 Dec, 2006

1 commit

  • This modifies Makefiles and Kconfigs to properly reflect the creation of
    generic HID layer.

    It also removes the dependency of BROKEN, which was introduced by the
    first patch in series (see the comment). Also updates credits.

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     

17 Oct, 2006

1 commit

  • The SGI PCI-RT card, based on the SGI IOC4 chip, will be made available on
    Altix XE (x86_64) platforms in the near future. As such it is now a
    misnomer for the IOC4 base device driver to live under drivers/sn, and
    would complicate builds for non-SN2.

    This patch moves the IOC4 base driver code from drivers/sn to drivers/misc,
    and updates the associated Makefiles and Kconfig files to allow building on
    non-SN2 configs. Due to the resulting change in link order, it is now
    necessary to use late_initcall() for IOC4 subdriver initialization.

    [akpm@osdl.org: __udivdi3 fix]
    [akpm@osdl.org: fix default in Kconfig]
    Acked-by: Pat Gefre
    Acked-by: Jeremy Higdon
    Signed-off-by: Brent Casavant
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brent Casavant
     

10 Aug, 2006

1 commit


18 Jun, 2006

1 commit


22 Apr, 2006

1 commit

  • SERIAL_SGI_IOC4 and BLK_DEV_SGIIOC4 depend upon SGI_IOC4, and
    SERIAL_SGI_IOC3 depends upon SGI_IOC3. Currently the definitions
    are out of order in the config sequence.

    Fix by including drivers/sn/Kconfig immediately after SGI_SN,
    upon which SGI_IOC4 and SGI_IOC3 depend.

    Signed-off-by: Brent Casavant
    Signed-off-by: Tony Luck

    Brent Casavant
     

01 Apr, 2006

1 commit

  • Add the foundations of a new LEDs subsystem. This patch adds a class which
    presents LED devices within sysfs and allows their brightness to be
    controlled.

    Signed-off-by: Richard Purdie
    Cc: Russell King
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Purdie
     

28 Mar, 2006

1 commit


19 Jan, 2006

1 commit

  • This is a subset of the bluesmoke project core code, stripped of the NMI work
    which isn't ready to merge and some of the "interesting" proc functionality
    that needs reworking or just has no place in kernel. It requires no core
    kernel changes except the added scrub functions already posted.

    The goal is to merge further functionality only after the core code is
    accepted and proven in the base kernel, and only at the point the upstream
    extras are really ready to merge.

    From: doug thompson

    This converts EDAC to sysfs and is the final chunk neccessary before EDAC
    has a stable user space API and can be considered for submission into the
    base kernel.

    Signed-off-by: Alan Cox
    Signed-off-by: Adrian Bunk
    Signed-off-by: Jesper Juhl
    Signed-off-by: doug thompson
    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

14 Jan, 2006

1 commit

  • 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

    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: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     

12 Sep, 2005

1 commit

  • 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: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Evgeniy Polyakov
     

18 Aug, 2005

1 commit


13 Jul, 2005

1 commit


12 Jul, 2005

2 commits

  • Create a new top-level menu named "Networking" thus moving
    net related options and protocol selection way from the drivers
    menu and up on the top-level where they belong.

    To implement this all architectures has to source "net/Kconfig" before
    drivers/*/Kconfig in their Kconfig file. This change has been
    implemented for all architectures.

    Device drivers for ordinary NIC's are still to be found
    in the Device Drivers section, but Bluetooth, IrDA and ax25
    are located with their corresponding menu entries under the new
    networking menu item.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • Part 1: Configuration files and Makefiles.

    From: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare