25 May, 2011

2 commits

  • …/git/tip/linux-2.6-tip

    * 'timers-ptp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    ptp: Fix dp83640 build warning when building statically
    ptp: Added a clock driver for the National Semiconductor PHYTER.
    ptp: Added a clock driver for the IXP46x.
    ptp: Added a clock that uses the eTSEC found on the MPC85xx.
    ptp: Added a brand new class driver for ptp clocks.

    Linus Torvalds
     
  • This function makes a deep copy of the platform data to allow it to live
    in init memory. For a kernel that supports several machines and so
    includes the definition for several leds-gpio devices this saves quite
    some memory because all but one definition can be free'd after boot.

    As the function is used by arch code it must be builtin and so cannot go
    into leds-gpio.c.

    [akpm@linux-foundation.org: s/CONFIG_LED_REGISTER_GPIO/CONFIG_LEDS_REGISTER_GPIO/]
    Signed-off-by: Uwe Kleine-König
    Cc: Russell King
    Acked-by: Richard Purdie
    Cc: Fabio Estevam
    Cc: Sascha Hauer
    Tested-by: H Hartley Sweeten
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     

24 May, 2011

2 commits

  • This patch adds an infrastructure for hardware clocks that implement
    IEEE 1588, the Precision Time Protocol (PTP). A class driver offers a
    registration method to particular hardware clock drivers. Each clock is
    presented as a standard POSIX clock.

    The ancillary clock features are exposed in two different ways, via
    the sysfs and by a character device.

    Signed-off-by: Richard Cochran
    Acked-by: Arnd Bergmann
    Acked-by: David S. Miller
    Signed-off-by: John Stultz

    Richard Cochran
     
  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (205 commits)
    USB: EHCI: Remove SPARC_LEON {read,write}_be definitions from ehci.h
    USB: UHCI: Support big endian GRUSBHC HC
    sparc: add {read,write}*_be routines
    USB: UHCI: Add support for big endian descriptors
    USB: UHCI: Use ACCESS_ONCE rather than using a full compiler barrier
    USB: UHCI: Add support for big endian mmio
    usb-storage: Correct adjust_quirks to include latest flags
    usb/isp1760: Fix possible unlink problems
    usb/isp1760: Move function isp1760_endpoint_disable() within file.
    USB: remove remaining usages of hcd->state from usbcore and fix regression
    usb: musb: ux500: add configuration and build options for ux500 dma
    usb: musb: ux500: add dma glue layer for ux500
    usb: musb: ux500: add dma name for ux500
    usb: musb: ux500: add ux500 specific code for gadget side
    usb: musb: fix compile error
    usb-storage: fix up the unusual_realtek device list
    USB: gadget: f_audio: Fix invalid dereference of initdata
    EHCI: don't rescan interrupt QHs needlessly
    OHCI: fix regression caused by nVidia shutdown workaround
    USB: OTG: msm: Free VCCCX regulator even if we can't set the voltage
    ...

    Linus Torvalds
     

11 May, 2011

1 commit

  • Broadcom has released cards based on a new AMBA-based bus type. From a
    programming point of view, this new bus type differs from AMBA and does
    not use AMBA common registers. It also differs enough from SSB. We
    decided that a new bus driver is needed to keep the code clean.

    In its current form, the driver detects devices present on the bus and
    registers them in the system. It allows registering BCMA drivers for
    specified bus devices and provides them basic operations. The bus driver
    itself includes two important bus managing drivers: ChipCommon core
    driver and PCI(c) core driver. They are early used to allow correct
    initialization.

    Currently code is limited to supporting buses on PCI(e) devices, however
    the driver is designed to be used also on other hosts. The host
    abstraction layer is implemented and already used for PCI(e).

    Support for PCI(e) hosts is working and seems to be stable (access to
    80211 core was tested successfully on a few devices). We can still
    optimize it by using some fixed windows, but this can be done later
    without affecting any external code. Windows are just ranges in MMIO
    used for accessing cores on the bus.

    Cc: Greg KH
    Cc: Michael Büsch
    Cc: Larry Finger
    Cc: George Kashperko
    Cc: Arend van Spriel
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Russell King
    Cc: Arnd Bergmann
    Cc: Andy Botting
    Cc: linuxdriverproject
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

14 Apr, 2011

2 commits


18 Feb, 2011

1 commit

  • Add a platform-independent hwspinlock framework.

    Hardware spinlock devices are needed, e.g., in order to access data
    that is shared between remote processors, that otherwise have no
    alternative mechanism to accomplish synchronization and mutual exclusion
    operations.

    Signed-off-by: Ohad Ben-Cohen
    Cc: Hari Kanigeri
    Cc: Benoit Cousson
    Cc: Kevin Hilman
    Cc: Grant Likely
    Cc: Paul Walmsley
    Cc: Russell King
    Acked-by: Arnd Bergmann
    Signed-off-by: Tony Lindgren

    Ohad Ben-Cohen
     

21 Jan, 2011

1 commit


15 Jan, 2011

1 commit

  • LIO target is a full featured in-kernel target framework with the
    following feature set:

    High-performance, non-blocking, multithreaded architecture with SIMD
    support.

    Advanced SCSI feature set:

    * Persistent Reservations (PRs)
    * Asymmetric Logical Unit Assignment (ALUA)
    * Protocol and intra-nexus multiplexing, load-balancing and failover (MC/S)
    * Full Error Recovery (ERL=0,1,2)
    * Active/active task migration and session continuation (ERL=2)
    * Thin LUN provisioning (UNMAP and WRITE_SAMExx)

    Multiprotocol target plugins

    Storage media independence:

    * Virtualization of all storage media; transparent mapping of IO to LUNs
    * No hard limits on number of LUNs per Target; maximum LUN size ~750 TB
    * Backstores: SATA, SAS, SCSI, BluRay, DVD, FLASH, USB, ramdisk, etc.

    Standards compliance:

    * Full compliance with IETF (RFC 3720)
    * Full implementation of SPC-4 PRs and ALUA

    Significant code cleanups done by Christoph Hellwig.

    [jejb: fix up for new block bdev exclusive interface. Minor fixes from
    Randy Dunlap and Dan Carpenter.]
    Signed-off-by: Nicholas A. Bellinger
    Signed-off-by: James Bottomley

    Nicholas Bellinger
     

14 Jan, 2011

2 commits

  • The serial drivers are really just tty drivers, so move them to
    drivers/tty/ to make things a bit neater overall.

    This is part of the tty/serial driver movement proceedure as proposed by
    Arnd Bergmann and approved by everyone involved a number of months ago.

    Cc: Arnd Bergmann
    Cc: Alan Cox
    Cc: Geert Uytterhoeven
    Cc: Rogier Wolff
    Cc: Michael H. Warfield
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Creates a new "Near Field Communication" subsystem in drivers/nfc.
    http://en.wikipedia.org/wiki/Near_Field_Communication is useful ;)

    This is a driver for the pn544 NFC device. The driver transfers
    ETSI messages between the device and the user space.

    Signed-off-by: Matti J. Aaltonen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matti J. Aaltonen
     

07 Jan, 2011

1 commit


26 Nov, 2010

1 commit


05 Nov, 2010

1 commit


25 Oct, 2010

2 commits

  • …/ieee1394/linux1394-2.6

    * 'ieee1394-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    ieee1394: remove the old IEEE 1394 driver stack
    ieee1394: move init_ohci1394_dma to drivers/firewire/

    Fix trivial change/delete conflict: drivers/ieee1394/eth1394.c is
    getting removed, but was modified by the networking merge.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits)
    sh: i2c-sh7760: Replase from ctrl_* to __raw_*
    sh: clkfwk: Shuffle around to match the intc split up.
    sh: clkfwk: modify for_each_frequency end condition
    sh: fix clk_get() error handling
    sh: clkfwk: Fix fault in frequency iterator.
    sh: clkfwk: Add a helper for rate rounding by divisor ranges.
    sh: clkfwk: Abstract rate rounding helper.
    sh: clkfwk: support clock remapping.
    sh: pci: Convert to upper/lower_32_bits() helpers.
    sh: mach-sdk7786: Add support for the FPGA SRAM.
    sh: Provide a generic SRAM pool for tiny memories.
    sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786.
    sh: pci: Support slot 4 routing on SDK7786.
    sh: Fix up PMB locking.
    sh: mach-sdk7786: Add support for fpga gpios.
    sh: use pr_fmt for clock framework, too.
    sh: remove name and id from struct clk
    sh: free-without-alloc fix for sh_mobile_lcdcfb
    sh: perf: Set up perf_max_events.
    sh: perf: Support SH-X3 hardware counters.
    ...

    Fix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c

    Linus Torvalds
     

11 Oct, 2010

1 commit

  • The drivers
    - ohci1394 (controller driver)
    - ieee1394 (core)
    - dv1394, raw1394, video1394 (userspace ABI)
    - eth1394, sbp2 (protocol drivers)
    are replaced by
    - firewire-ohci (controller driver)
    - firewire-core (core and userspace ABI)
    - firewire-net, firewire-sbp2 (protocol drivers)
    which are more featureful, better performing, and more secure than the older
    drivers; all with a smaller and more modern code base.

    The driver firedtv in drivers/media/dvb/firewire/ contains backends to both
    ieee1394 and firewire-core. Its ieee1394 backend code can be removed in an
    independent commit; firedtv as-is builds and works fine without ieee1394.

    The driver pcilynx (an incomplete controller driver) is deleted without
    replacement since PCILynx cards are extremely rare. Owners of these cards
    use them with the stand-alone bus sniffer driver nosy instead.

    The drivers nosy and init_ohci1394_dma which do not interact with either of
    the two IEEE 1394 stacks are not affected by the ieee1394 subsystem removal.

    There are still some issues with the newer firewire subsystem compared to
    the older one:
    - The rare and quirky controllers ALi M52xx, Apple UniNorth v1, NVIDIA
    NForce2 are even less well supported by firewire-ohci than by ohci1394.
    I am looking into the M52xx issue.
    - The experimental firewire-net is reportedly less stable than its
    experimental cousin eth1394.
    - Audio playback of a certain group of audio devices (ones based on DICE
    chipset with EAP; supported by prerelease FFADO code) does not work yet.
    This issue is still under investigation.
    - There were some ieee1394 based out-of-the-mainline drivers. Of them,
    only lisight, an audio driver for iSight webcams, seems still useful.
    Work is underway to reimplement it on top of firewire-core.

    All these remainig issues are minor; they should not stand in the way of
    overall better user experience of IEEE 1394 on Linux, together with a
    reduction in support efforts and maintenance burden. The coexistence of two
    IEEE 1394 kernel driver stacks in the mainline since 2.6.22 shall end now,
    as announced earlier this year.

    Signed-off-by: Stefan Richter

    Stefan Richter
     

18 Sep, 2010

1 commit


17 Sep, 2010

1 commit

  • drivers/firewire/nosy* is a stand-alone driver that does not depend on
    CONFIG_FIREWIRE. Hence let make descend into drivers/firewire/ also
    if that option is off.

    The stand-alone driver drivers/ieee1394/init_ohci1394_dma* will soon be
    moved into drivers/firewire/ too and will require the same makefile fix.

    Side effect:
    As mentioned in https://bugzilla.novell.com/show_bug.cgi?id=586172#c24
    this influences the order in which either firewire-ohci or ohci1394 is
    going to be bound to an OHCI-1394 controller in case of a modular build
    of both drivers if no modprobe blacklist entries are configured.
    However, a user of such a setup cannot expect deterministic behavior
    anyway. The Kconfig help and the migration guide at
    ieee1394.wiki.kernel.org recommend blacklist entries when a dual
    IEEE 1394 stack build is being used. (The coexistence period of the two
    stacks is planned to end soon.)

    Cc: Michal Marek
    Signed-off-by: Stefan Richter

    Stefan Richter
     

16 Aug, 2010

1 commit


27 Jul, 2010

1 commit

  • Now that all arches have been converted over to use generic time via
    clocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME
    config option and simplify the generic code.

    Signed-off-by: John Stultz
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    John Stultz
     

02 Jul, 2010

1 commit


29 May, 2010

1 commit

  • This EXPERIMENTAL driver supersedes acpi_idle on
    Intel Atom Processors, Intel Core i3/i5/i7 Processors
    and associated Intel Xeon processors.

    It does not support the Intel Core2 processor or earlier.

    For kernels configured with ACPI, CONFIG_INTEL_IDLE=y
    allows intel_idle to probe before the ACPI processor driver.
    Booting with "intel_idle.max_cstate=0" disables intel_idle
    and the system will fall back on ACPI's "acpi_idle".

    Typical Linux distributions load ACPI processor module early,
    making CONFIG_INTEL_IDLE=m not easily useful on ACPI platforms.

    intel_idle probes all processors at module_init time.
    Processors that are hot-added later will be limited
    to using C1 in idle.

    Signed-off-by: Len Brown

    Len Brown
     

08 May, 2010

1 commit

  • Move initialization of the virtio framework before the initialization of
    mtd, so that block2mtd can be used on virtio-based block devices.

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15644

    Signed-off-by: Stijn Tintel
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Stijn Tintel
     

09 Mar, 2010

1 commit


08 Feb, 2010

1 commit


15 Jan, 2010

1 commit

  • What it is: vhost net is a character device that can be used to reduce
    the number of system calls involved in virtio networking.
    Existing virtio net code is used in the guest without modification.

    There's similarity with vringfd, with some differences and reduced scope
    - uses eventfd for signalling
    - structures can be moved around in memory at any time (good for
    migration, bug work-arounds in userspace)
    - write logging is supported (good for migration)
    - support memory table and not just an offset (needed for kvm)

    common virtio related code has been put in a separate file vhost.c and
    can be made into a separate module if/when more backends appear. I used
    Rusty's lguest.c as the source for developing this part : this supplied
    me with witty comments I wouldn't be able to write myself.

    What it is not: vhost net is not a bus, and not a generic new system
    call. No assumptions are made on how guest performs hypercalls.
    Userspace hypervisors are supported as well as kvm.

    How it works: Basically, we connect virtio frontend (configured by
    userspace) to a backend. The backend could be a network device, or a tap
    device. Backend is also configured by userspace, including vlan/mac
    etc.

    Status: This works for me, and I haven't see any crashes.
    Compared to userspace, people reported improved latency (as I save up to
    4 system calls per packet), as well as better bandwidth and CPU
    utilization.

    Features that I plan to look at in the future:
    - mergeable buffers
    - zero copy
    - scalability tuning: figure out the best threading model to use

    Note on RCU usage (this is also documented in vhost.h, near
    private_pointer which is the value protected by this variant of RCU):
    what is happening is that the rcu_dereference() is being used in a
    workqueue item. The role of rcu_read_lock() is taken on by the start of
    execution of the workqueue item, of rcu_read_unlock() by the end of
    execution of the workqueue item, and of synchronize_rcu() by
    flush_workqueue()/flush_work(). In the future we might need to apply
    some gcc attribute or sparse annotation to the function passed to
    INIT_WORK(). Paul's ack below is for this RCU usage.

    (Includes fixes by Alan Cox ,
    David L Stevens ,
    Chris Wright )

    Acked-by: Rusty Russell
    Acked-by: Arnd Bergmann
    Acked-by: "Paul E. McKenney"
    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     

24 Sep, 2009

1 commit

  • * git://git.infradead.org/mtd-2.6: (58 commits)
    mtd: jedec_probe: add PSD4256G6V id
    mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board)
    mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board)
    m25p80: Add Spansion S25FL129P serial flashes
    jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs
    mtd: sh_flctl: register sh_flctl using platform_driver_probe()
    mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible
    mtd: nand: fix tmio_nand ecc correction
    mtd: nand: add __nand_correct_data helper function
    mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G
    mtd: inftl: fix fold chain block number
    mtd: jedec: fix compilation problem with I28F640C3B definition
    mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver
    mtd: ofpart: Check availability of reg property instead of name property
    driver/Makefile: Initialize "mtd" and "spi" before "net"
    mtd: omap: adding DMA mode support in nand prefetch/post-write
    mtd: omap: add support for nand prefetch-read and post-write
    mtd: add nand support for w90p910 (v2)
    mtd: maps: add mtd-ram support to physmap_of
    mtd: pxa3xx_nand: add single-bit error corrections reporting
    ...

    Linus Torvalds
     

20 Sep, 2009

1 commit


29 Aug, 2009

1 commit


19 Jun, 2009

1 commit

  • 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: Rodolfo Giometti
    Cc: David Woodhouse
    Cc: Greg KH
    Cc: Randy Dunlap
    Cc: Kay Sievers
    Acked-by: Alan Cox
    Cc: Michael Kerrisk
    Cc: Christoph Hellwig
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti
     

17 Jun, 2009

1 commit

  • Add support for the TI VLYNQ high-speed, serial and packetized bus.

    This bus allows external devices to be connected to the System-on-Chip and
    appear in the main system memory just like any memory mapped peripheral.
    It is widely used in TI's networking and multimedia SoC, including the AR7
    SoC.

    Signed-off-by: Eugene Konev
    Signed-off-by: Florian Fainelli
    Cc: Ralf Baechle
    Cc: Alan Cox
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Fainelli
     

09 Jun, 2009

1 commit


30 Apr, 2009

1 commit

  • Currently drivers/media drivers are linked very early - directly after
    base, block, misc, and mfd and before ata, scsi, ide, input, firewire,
    usb, and i2c. This breaks static build of video4linux drivers, that use
    generic CPU i2c adapter drivers and the v4l2-subdev subsystem, because
    during video4linux probing the v4l2-subdev core requires a struct
    i2c_adapter context, which cannot be satisfied before the i2c subsystem is
    initialised. Moving drivers/media after drivers/i2c fixes this problem.

    The best way to trigger action is by submitting a patch:-) So, let's see
    what comes out of it - on the one hand I don't see any reason why media
    has to be linked this early, and nobody was able to give me one yesterday
    as this problem has been discussed on linux-media, OTOH, maybe indeed it
    would be better to move i2c the whole way up above media, but that'd be
    much bigger of a change, I think.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-media" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Jean Delvare
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     

29 Mar, 2009

1 commit

  • this patch flips the order in which sata and network drivers are initialized.

    SATA probing takes quite a bit of time, and with the asynchronous infrastructure
    other drivers that run after it can execute in parallel. Network drivers do tend
    to take some real time talking to the hardware, so running these later is
    a good thing (the sata probe then runs concurrent)

    This saves about 15% of my kernels boot time.

    Both Dave and Jeff acked this patch and suggested it should go via the async
    tree.

    Signed-off-by: Arjan van de Ven
    Acked-by: David S. Miller
    Acked-by: Jeff Garzik

    Arjan van de Ven
     

09 Jan, 2009

2 commits


08 Jan, 2009

1 commit

  • This moves the isp1301-omap driver from the drivers/i2c/chips
    directory (which will be shrinking) into a new drivers/usb/otg
    directory (which will grow, with more drivers and utilities).

    Note that OTG infrastructure needs to be initialized before
    either host or peripheral side USB support, and may be needed
    before for pure host or pure peripheral configurations.

    Signed-off-by: David Brownell
    Acked-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     

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