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
     

30 Jul, 2007

1 commit

  • Fix for the problem detected by Ingo Molnar:
    enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup.

    The reason for this can be found in drivers/makefile
    We first do:
    obj-y += char/
    and later we do:
    obj-y += base/ block/ misc/ mfd/ net/ media/

    So if we put a platform or isa or usb bus driver in char/watchdog
    (which is called from the Makefile in drivers/char/Makefile)
    then we didn't have the different device drivers initialized yet
    (they are in drivers/base and drivers/usb and ...)

    This fix makes sure that we compile the watchdog drivers after
    drivers/base, drivers/misc, drivers/pci and drivers/usb.
    We also do the compile after hwmon because in the future the
    watchdog temperature support will use the hwmon system.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     

20 Jul, 2007

2 commits


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
     

18 Jul, 2007

1 commit

  • Add Xen 'grant table' driver which allows granting of access to
    selected local memory pages by other virtual machines and,
    symmetrically, the mapping of remote memory pages which other virtual
    machines have granted access to.

    This driver is a prerequisite for many of the Xen virtual device
    drivers, which grant the 'device driver domain' restricted and
    temporary access to only those memory pages that are currently
    involved in I/O operations.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ian Pratt
    Signed-off-by: Christian Limpach
    Signed-off-by: Chris Wright

    Jeremy Fitzhardinge
     

10 Jul, 2007

1 commit

  • 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
     

11 May, 2007

1 commit

  • * 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits)
    firewire: Convert OHCI driver to use standard goto unwinding for error handling.
    firewire: Always use parens with sizeof.
    firewire: Drop single buffer request support.
    firewire: Add a comment to describe why we split the sg list.
    firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand.
    firewire: Handle the last few DMA mapping error cases.
    firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata.
    firewire: Provide module aliase for backwards compatibility.
    firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile.
    firewire: Break out shared IEEE1394 constant to separate header file.
    firewire: Use linux/*.h instead of asm/*.h header files.
    firewire: Uppercase most macro names.
    firewire: Coding style cleanup: no spaces after function names.
    firewire: Convert card_rwsem to a regular mutex.
    firewire: Clean up comment style.
    firewire: Use lib/ implementation of CRC ITU-T.
    CRC ITU-T V.41
    firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux.
    firewire: Future proof the iso ioctls by adding a handle for the iso context.
    firewire: Add read/write and size annotations to IOC numbers.
    ...

    Acked-by: Christoph Hellwig
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

02 May, 2007

1 commit

  • This provides partial support for new-style I2C driver binding. It builds
    on "struct i2c_board_info" declarations that identify I2C devices on a given
    board. This is needed on systems with I2C devices that can't be fully probed
    and/or autoconfigured, such as many embedded Linux configurations where the
    way a given I2C device is wired may affect how it must be used.

    There are two models for declaring such devices:

    * LATE -- using a public function i2c_new_device(). This lets modules
    declare I2C devices found *AFTER* a given I2C adapter becomes available.

    For example, a PCI card could create adapters giving access to utility
    chips on that card, and this would be used to associate those chips with
    those adapters.

    * EARLY -- from arch_initcall() level code, using a non-exported function
    i2c_register_board_info(). This copies the declarations *BEFORE* such
    an i2c_adapter becomes available, arranging that i2c_new_device() will
    be called later when i2c-core registers the relevant i2c_adapter.

    For example, arch/.../.../board-*.c files would declare the I2C devices
    along with their platform data, and I2C devices would behave much like
    PNPACPI devices. (That is, both enumerate from board-specific tables.)

    To match the exported i2c_new_device(), the previously-private function
    i2c_unregister_device() is now exported.

    Pending later patches using these new APIs, this is effectively a NOP.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     

19 Apr, 2007

1 commit


21 Mar, 2007

1 commit


10 Mar, 2007

1 commit


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
     

10 Feb, 2007

1 commit

  • As macbook/macbook pro's also have to live with a single mouse button the
    following patch just enables the Macintosh device drivers menu in Kconfig +
    adds the macintosh dir to the obj-* to make macbook* users happy (who use
    exactly that since months....

    Signed-off-by: Soeren Sonnenburg
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Dmitry Torokhov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Soeren Sonnenburg
     

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
     

04 Dec, 2006

2 commits


10 Aug, 2006

1 commit


27 Jun, 2006

1 commit

  • Implement the time sources for i386 (acpi_pm, cyclone, hpet, pit, and tsc).
    With this patch, the conversion of the i386 arch to the generic timekeeping
    code should be complete.

    The patch should be fairly straight forward, only adding the new clocksources.

    [hirofumi@mail.parknet.co.jp: acpi_pm cleanup]
    Signed-off-by: John Stultz
    Signed-off-by: Adrian Bunk
    Signed-off-by: Paul Mundt
    Signed-off-by: John Stultz
    Signed-off-by: OGAWA Hirofumi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     

18 Jun, 2006

1 commit


03 Apr, 2006

1 commit

  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
    IB/ipath: kbuild infrastructure
    IB/ipath: infiniband verbs support
    IB/ipath: misc infiniband code, part 2
    IB/ipath: misc infiniband code, part 1
    IB/ipath: infiniband RC protocol support
    IB/ipath: infiniband UC and UD protocol support
    IB/ipath: infiniband header files
    IB/ipath: layering interfaces used by higher-level driver code
    IB/ipath: support for userspace apps using core driver
    IB/ipath: sysfs and ipathfs support for core driver
    IB/ipath: misc driver support code
    IB/ipath: chip initialisation code, and diag support
    IB/ipath: support for PCI Express devices
    IB/ipath: support for HyperTransport devices
    IB/ipath: core driver header files
    IB/ipath: core device driver

    Linus Torvalds
     

02 Apr, 2006

1 commit


01 Apr, 2006

2 commits

  • Integrate the ipath core and OpenIB drivers into the kernel build
    infrastructure. Add entry to MAINTAINERS.

    Signed-off-by: Bryan O'Sullivan
    Signed-off-by: Roland Dreier

    Bryan O'Sullivan
     
  • 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 Feb, 2006

1 commit


27 Jan, 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
     

07 Jan, 2006

1 commit


04 Dec, 2005

1 commit

  • We want to link the "regular" SCSI drivers before the USB storage
    driver, since historically we've always detected internal SCSI disks
    before the external USB storage modules.

    The link order matters for initcall ordering, and this got broken by
    mistake by commit 7586269c0b52970f60bb69fcb86e765fc1d72309 which moved
    the USB host controller PCI quirk handling around.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

07 Nov, 2005

2 commits

  • Adds a RapidIO subsystem to the kernel. RIO is a switched fabric interconnect
    used in higher-end embedded applications. The curious can look at the specs
    over at http://www.rapidio.org

    The core code implements enumeration/discovery, management of
    devices/resources, and interfaces for RIO drivers.

    There's a lot more to do to take advantages of all the hardware features.
    However, this should provide a good base for folks with RIO hardware to start
    contributing.

    Signed-off-by: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • drivers/sh/ got dropped from drivers/Makefile, so add it back in..

    Signed-off-by: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     

29 Oct, 2005

1 commit

  • This moves the PCI quirk handling for USB host controllers from the
    PCI directory to the USB directory. Follow-on patches will need to:

    (a) merge these copies with the originals in the HCD reset methods.
    they don't wholly agree, despite doing the very same thing; and

    (b) eventually change it so "usb-handoff" is the default, to help
    get more robust USB/BIOS/input/... interactions.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    drivers/Makefile | 2
    drivers/pci/quirks.c | 253 ---------------------------------------
    drivers/usb/Makefile | 1
    drivers/usb/host/Makefile | 5
    drivers/usb/host/pci-quirks.c | 272 ++++++++++++++++++++++++++++++++++++++++++
    5 files changed, 280 insertions(+), 253 deletions(-)

    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
     

30 Aug, 2005

1 commit


25 Aug, 2005

1 commit