02 Dec, 2006

40 commits

  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [PATCH] libata: add missing sht->slave_destroy
    [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (31 commits)
    [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case.
    [MIPS] Remove unused definition of cpu_to_lelongp()
    [MIPS] Remove userspace proofing from .
    [MIPS] Remove old junk left from old atomic_lock.
    [MIPS] Use conditional traps for BUG_ON on MIPS II and better.
    [MIPS] mips HPT cleanup: make clocksource_mips public
    [MIPS] do_IRQ cleanup
    [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants.
    [MIPS] Remove redundant r4k_blast_icache() calls
    [MIPS] Work around bogus gcc warnings.
    [MIPS] Fix double inclusions
    [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq
    [MIPS] IRQ cleanups
    [MIPS] mips hpt cleanup: get rid of mips_hpt_init
    [MIPS] PB1200: Remove duplicate definitions
    [MIPS] Fix alignment hole in struct cache_desc; shrink struct.
    [MIPS] Oprofile: kernel support for the R10000.
    [MIPS] Remove unused R10000 performance counter definitions.
    [MIPS] Add support for kexec
    [MIPS] Don't print presence of WAIT instruction on bootup.
    ...

    Linus Torvalds
     
  • * 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
    SELinux: validate kernel object classes and permissions
    SELinux: ensure keys constant in hashtab_search
    SELinux: export object class and permission definitions
    SELinux: remove current object class and permission validation mechanism

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (25 commits)
    IB/ucm: Fix deadlock in cleanup
    IB/cm: Fix automatic path migration support
    IPoIB: Fix skb leak when freeing neighbour
    IB/srp: Fix memory leak on reconnect
    RDMA/addr: list_move() cleanups
    RDMA/addr: Fix some cancellation problems in process_req()
    RDMA/amso1100: Prevent deadlock in destroy QP
    IB/mthca: Fix initial SRQ logsize for mem-free HCAs
    IB/ehca: Use WQE offset instead of WQE addr for pending work reqs
    RDMA/iwcm: Fix comment for iwcm_deref_id() to match code
    RDMA/iwcm: Remove unnecessary function argument
    RDMA/iwcm: Remove unnecessary initializations
    RDMA/iwcm: Fix memory leak
    RDMA/iwcm: Fix memory corruption bug in cm_work_handler()
    IB: Convert kmem_cache_t -> struct kmem_cache
    IB/ipath: Fix typo in pma_counter_select subscript
    RDMA/amso1100: Fix section mismatches
    IB/mthca: Fix section mismatches
    IB/srp: Increase supported CDB size
    RDMA/cm: Remove setting local write as part of QP access flags
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (103 commits)
    usbcore: remove unused argument in autosuspend
    USB: keep count of unsuspended children
    USB hub: simplify remote-wakeup handling
    USB: struct usb_device: change flag to bitflag
    OHCI: make autostop conditional on CONFIG_PM
    USB: Add autosuspend support to the hub driver
    EHCI: Fix root-hub and port suspend/resume problems
    USB: create a new thread for every USB device found during the probe sequence
    USB: add driver for the USB debug devices
    USB: added dynamic major number for USB endpoints
    USB: pegasus error path not resetting task's state
    USB: endianness fix for asix.c
    USB: build the appledisplay driver
    USB serial: replace kmalloc+memset with kzalloc
    USB: hid-core: canonical defines for Apple USB device IDs
    USB: idmouse cleanup
    USB: make drivers/usb/core/driver.c:usb_device_match() static
    USB: lh7a40x_udc remove double declaration
    USB: pxa2xx_udc recognizes ixp425 rev b0 chip
    usbtouchscreen: add support for DMC TSC-10/25 devices
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (28 commits)
    PCI: make arch/i386/pci/common.c:pci_bf_sort static
    PCI: ibmphp_pci.c: fix NULL dereference
    pciehp: remove unnecessary pci_disable_msi
    pciehp: remove unnecessary free_irq
    PCI: rpaphp: change device tree examination
    PCI: Change memory allocation for acpiphp slots
    i2c-i801: SMBus patch for Intel ICH9
    PCI: irq: irq and pci_ids patch for Intel ICH9
    PCI: pci_{enable,disable}_device() nestable ports
    PCI: switch pci_{enable,disable}_device() to be nestable
    PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap
    pci/i386: style cleanups
    PCI: Block on access to temporarily unavailable pci device
    pci: fix __pci_register_driver error handling
    pci: clear osc support flags if no _OSC method
    acpiphp: fix missing acpiphp_glue_exit()
    acpiphp: fix use of list_for_each macro
    Altix: Initial ACPI support - ROM shadowing.
    Altix: SN ACPI hotplug support.
    Altix: Add initial ACPI IO support
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)
    Driver core: show drivers in /sys/module/
    Documentation/driver-model/platform.txt update/rewrite
    Driver core: platform_driver_probe(), can save codespace
    driver core: Use klist_remove() in device_move()
    driver core: Introduce device_move(): move a device to a new parent.
    Driver core: make drivers/base/core.c:setup_parent() static
    driver core: Introduce device_find_child().
    sysfs: sysfs_write_file() writes zero terminated data
    cpu topology: consider sysfs_create_group return value
    Driver core: Call platform_notify_remove later
    ACPI: Change ACPI to use dev_archdata instead of firmware_data
    Driver core: add dev_archdata to struct device
    Driver core: convert sound core to use struct device
    Driver core: change mem class_devices to be real devices
    Driver core: convert fb code to use struct device
    Driver core: convert firmware code to use struct device
    Driver core: convert mmc code to use struct device
    Driver core: convert ppdev code to use struct device
    Driver core: convert PPP code to use struct device
    Driver core: convert cpuid code to use struct device
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [CIFS] Fix timezone handling on stat to os/2
    [CIFS] Incorrect hardlink count when original file is cached (oplocked)

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    Fix typos in drivers/isdn/hisax/isdnl2.c
    Fix typos in doc and comments
    BUG_ON conversion for fs/aio.c
    BUG_ON conversion for drivers/mmc/omap.c
    BUG_ON conversion for drivers/media/video/pwc/pwc-if.c
    Fix misc .c/.h comment typos
    Fix misc Kconfig typos
    Fix typos in /Documentation : Misc
    Fix typos in /Documentation : 'U-Z'
    Fix typos in /Documentation : 'T''
    Fix jiffies.h comment
    tabify MAINTAINERS
    fix spelling error in include/linux/kernel.h
    mqueue.h: don't include linux/types.h

    Linus Torvalds
     
  • Show the drivers, which belong to the module:
    $ ls -l /sys/module/usbcore/drivers/
    hub -> ../../../bus/usb/drivers/hub
    usb -> ../../../bus/usb/drivers/usb
    usbfs -> ../../../bus/usb/drivers/usbfs

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • This is almost a rewrite of the driver-model/platform.txt documentation;
    the previous text was obsolete (for several years), evidently it never
    got updated to match the change from being a PC "legacy_bus" to the more
    widely used core bus for most embedded systems.

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

    David Brownell
     
  • This defines a new platform_driver_probe() method allowing the driver's
    probe() method, and its support code+data, to safely live in __init
    sections for typical system configurations.

    Many system-on-chip processors could benefit from this API, to the tune
    of recovering hundreds to thousands of bytes per driver. That's memory
    which is currently wasted holding code which can never be called after
    system startup, yet can not be removed. It can't be removed because of
    the linkage requirement that pointers to init section code (like, ideally,
    probe support) must not live in other sections (like driver method tables)
    after those pointers would be invalid.

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

    David Brownell
     
  • As pointed out by Alan Stern, device_move needs to use klist_remove which waits
    until removal is complete.

    Signed-off-by: Cornelia Huck
    Cc: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Cornelia Huck
     
  • Provide a function device_move() to move a device to a new parent device. Add
    auxilliary functions kobject_move() and sysfs_move_dir().
    kobject_move() generates a new uevent of type KOBJ_MOVE, containing the
    previous path (DEVPATH_OLD) in addition to the usual values. For this, a new
    interface kobject_uevent_env() is created that allows to add further
    environmental data to the uevent at the kobject layer.

    Signed-off-by: Cornelia Huck
    Acked-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Cornelia Huck
     
  • This patch makes the needlessly global setup_parent() static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • Introduce device_find_child() to match device_for_each_child().

    Signed-off-by: Cornelia Huck
    Signed-off-by: Greg Kroah-Hartman

    Cornelia Huck
     
  • since most of the files in sysfs are text files,
    it would be nice, if the "store" function called
    during sysfs_write_file() gets a zero terminated
    string / data.
    The current implementation seems not to ensure this.
    (But only if it is the first time the zeroed buffer
    page is allocated.)

    So the buffer can be scanned by sscanf() easily,
    for example.

    This patch simply sets a \0 char behind the
    data in buffer->page.

    Signed-off-by: Thomas Maier
    Signed-off-by: Greg Kroah-Hartman

    Thomas Maier
     
  • Take return value of sysfs_create_group() into account. That function got
    called in case of CPU_ONLINE notification. Since callbacks are not allowed
    to fail on CPU_ONLINE notification do the sysfs group creation on
    CPU_UP_PREPARE notification.

    Also remember if creation succeeded in a bitmask. So it's possible to know
    whether it's legal to call sysfs_remove_group or not.

    In addition some other minor stuff:

    - since CPU_UP_PREPARE might fail add CPU_UP_CANCELED handling as well.
    - use hotcpu_notifier instead of register_hotcpu_notifier.
    - #ifdef code that isn't needed in the !CONFIG_HOTPLUG_CPU case.

    Signed-off-by: Heiko Carstens
    Acked-by: Cornelia Huck
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Heiko Carstens
     
  • Move the call to platform_notify_remove() to after the call to
    bus_remove_device(), where it belongs. It's bogus to notify the platform
    of removal while drivers are still attached to the device and possibly
    still operating since the platform might use this callback to tear down
    some resources used by the driver (ACPI bits, iommu table, ...)

    Signed-off-by: Benjamin Herrenschmidt
    Cc: "Brown, Len"
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     
  • Change ACPI to use dev_archdata instead of firmware_data

    This patch changes ACPI to use the new dev_archdata on i386, x86_64
    and ia64 (is there any other arch using ACPI ?) to store it's
    acpi_handle.

    It also removes the firmware_data field from struct device as this
    was the only user.

    Only build-tested on x86

    Signed-off-by: Benjamin Herrenschmidt
    Cc: Len Brown
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     
  • Add arch specific dev_archdata to struct device

    Adds an arch specific struct dev_arch to struct device. This enables
    architecture to add specific fields to every device in the system, like
    DMA operation pointers, NUMA node ID, firmware specific data, etc...

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Andi Kleen
    Acked-By: David Howells
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    It also makes the struct sound_card to show up as a "real" device
    where all the different sound class devices are placed as childs
    and different card attribute files can hang off of. /sys/class/sound is
    still a flat directory, but the symlink targets of all devices belonging
    to the same card, point the the /sys/devices tree below the new card
    device object.

    Thanks to Kay for the updates to this patch.

    Signed-off-by: Kay Sievers
    Acked-by: Jaroslav Kysela
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • As class_device is going away eventually...

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

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Also fixes up the isdn drivers that were putting something in the class
    device's directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This also ment that some of the misc drivers had to also be fixed
    up as they were assuming the device was a class_device.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Converts from using struct "class_device" to "struct device" making
    everything show up properly in /sys/devices/ with symlinks from the
    /sys/class directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Turn off class symlinks CONFIG_SYSFS_DEPRECATED is enabled.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Disable the PHYSDEV* uevent variables if CONFIG_SYSFS_DEPRECATED is
    enabled.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Turn off device symlinks CONFIG_SYSFS_DEPRECATED is enabled.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers