29 Oct, 2006

1 commit

  • Put SYS_HYPERVISOR inside the Generic Driver Config menu where it should
    be. Otherwise xconfig displays it as a dangling (lost) menu item under
    Device Drivers, all by itself (when all options are displayed).

    Signed-off-by: Randy Dunlap
    Cc:
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

28 Oct, 2006

1 commit

  • The multithreaded-probing code has a problem: after one initcall level (eg,
    core_initcall) has been processed, we will then start processing the next
    level (postcore_initcall) while the kernel threads which are handling
    core_initcall are still executing. This breaks the guarantees which the
    layered initcalls previously gave us.

    IOW, we want to be multithreaded _within_ an initcall level, but not between
    different levels.

    Fix that up by causing the probing code to wait for all outstanding probes at
    one level to complete before we start processing the next level.

    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

19 Oct, 2006

12 commits


01 Oct, 2006

1 commit


30 Sep, 2006

2 commits


27 Sep, 2006

2 commits

  • Using request_firmware to pull ucode from userspace, so we don't need the
    application 'microcode_ctl' to assist. We name each ucode file according
    to CPU's info as intel-ucode/family-model-stepping. In this way we could
    split ucode file as small one. This has a lot of advantages such as
    selectively update and validate microcode for specific models, better
    manage microcode file, easily write tools for administerators and so on.
    with the changes, we should put all intel-ucode/xx-xx-xx microcode files
    into the firmware dir (I had a tool to split previous big data file into
    small one and later we will release new style data file). The init script
    should be changed to just loading the driver without unloading

    Signed-off-by: Shaohua Li
    Acked-by: Tigran Aivazian
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (47 commits)
    Driver core: Don't call put methods while holding a spinlock
    Driver core: Remove unneeded routines from driver core
    Driver core: Fix potential deadlock in driver core
    PCI: enable driver multi-threaded probe
    Driver Core: add ability for drivers to do a threaded probe
    sysfs: add proper sysfs_init() prototype
    drivers/base: check errors
    drivers/base: Platform notify needs to occur before drivers attach to the device
    v4l-dev2: handle __must_check
    add CONFIG_ENABLE_MUST_CHECK
    add __must_check to device management code
    Driver core: fixed add_bind_files() definition
    Driver core: fix comments in drivers/base/power/resume.c
    sysfs_remove_bin_file: no return value, dump_stack on error
    kobject: must_check fixes
    Driver core: add ability for devices to create and remove bin files
    Class: add support for class interfaces for devices
    Driver core: create devices/virtual/ tree
    Driver core: add device_rename function
    Driver core: add ability for classes to handle devices properly
    ...

    Linus Torvalds
     

26 Sep, 2006

21 commits

  • Remove the atomic counter for slab_reclaim_pages and replace the counter
    and NR_SLAB with two ZVC counter that account for unreclaimable and
    reclaimable slab pages: NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE.

    Change the check in vmscan.c to refer to to NR_SLAB_RECLAIMABLE. The
    intend seems to be to check for slab pages that could be freed.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Do not display HIGHMEM memory sizes if CONFIG_HIGHMEM is not set.

    Make HIGHMEM dependent texts and make display of highmem counters optional

    Some texts are depending on CONFIG_HIGHMEM.

    Remove those strings and remove the display of highmem counter values if
    CONFIG_HIGHMEM is not set.

    [akpm@osdl.org: remove some ifdefs]
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • This patch (as783) simplifies the driver core slightly by removing four
    unnecessary _get and _put methods.

    It is vital that when a driver is removed from its bus's klist of
    registered drivers, or when a device is removed from a driver's klist
    of bound devices, that the klist updates complete synchronously.
    Otherwise the kernel might try binding an unregistered driver to a
    newly-registered device, or adding a device to the klist for a new
    driver before it has been removed from the old driver's klist.

    Since the removals must be synchronous, they don't need to update any
    reference counts. Hence the _get and _put methods can be dispensed
    with.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • There is a potential deadlock in the driver core. It boils down to
    the fact that bus_remove_device() calls klist_remove() instead of
    klist_del(), thereby waiting until the reference count of the
    klist_node in the bus's klist of devices drops to 0. The refcount
    can't reach 0 so long as a modprobe process is trying to bind a new
    driver to the device being removed, by calling __driver_attach(). The
    problem is that __driver_attach() tries to acquire the device's
    parent's semaphore, but the caller of bus_remove_device() is quite
    likely to own that semaphore already.

    It isn't sufficient just to replace klist_remove() with klist_del().
    Doing so runs the risk that the device would remain on the bus's klist
    of devices for some time, and so could be bound to another driver even
    after it was unregistered. What's needed is a new way to distinguish
    whether or not a device is registered, based on a criterion other than
    whether its klist_node is linked into the bus's klist of devices. That
    way driver binding can fail when the device is unregistered, even if
    it is still linked into the klist.

    This patch (as782) implements the solution, by adding a new bitflag to
    indiate when a struct device is registered, by testing the flag before
    allowing a driver to bind a device, and by changing the definition of
    the device_is_registered() inline.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This adds the infrastructure for drivers to do a threaded probe, and
    waits at init time for all currently outstanding probes to complete.

    A new kernel thread will be created when the probe() function for the
    driver is called, if the multithread_probe bit is set in the driver
    saying it can support this kind of operation.

    I have tested this with USB and PCI, and it works, and shaves off a lot
    of time in the boot process, but there are issues with finding root boot
    disks, and some USB drivers assume that this can never happen, so it is
    currently not enabled for any bus type. Individual drivers can enable
    this right now if they wish, and bus authors can selectivly turn it on
    as well, once they determine that their subsystem will work properly
    with it.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Add lots of return-value checking.

    : fix bus_rescan_devices()]
    Cc: "Randy.Dunlap"
    Signed-off-by: Cornelia Huck
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Andrew Morton
     
  • The platform_notify call for Arm and PPC architectures needs to be called
    before the driver attaches to the device. The problem only presents itself
    when hotplugging certain devices while the driver is already loaded.

    Signed-off-by: Brian Walsh
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Brian Walsh
     
  • When CONFIG_HOTPLUG is n, add_bind_files() definition is wrong.
    This patch has fixed it.

    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Greg Kroah-Hartman

    Yoichi Yuasa
     
  • Driver core: fix comments in drivers/base/power/resume.c

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Torokhov
     
  • Makes it easier for devices to create and remove binary attribute files
    so they don't have to call directly into sysfs. This is needed to help
    with the conversion from struct class_device to struct device.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • When moving class_device usage over to device, we need to handle
    class_interfaces properly with devices. This patch adds that support.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This change creates a devices/virtual/CLASS_NAME tree for struct devices
    that belong to a class, yet do not have a "real" struct device for a
    parent. It automatically creates the directories on the fly as needed.

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

    Greg Kroah-Hartman
     
  • The network layer needs this to convert to using struct device instead
    of a struct class_device.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This adds two new callbacks to the class structure:
    int (*dev_uevent)(struct device *dev, char **envp, int num_envp,
    char *buffer, int buffer_size);
    void (*dev_release)(struct device *dev);

    And one pointer:
    struct device_attribute * dev_attrs;

    which all corrispond with the same thing as the "normal" class devices
    do, yet this is for when a struct device is bound to a class.

    Someday soon, struct class_device will go away, and then the other
    fields in this structure can be removed too. But this is necessary in
    order to get the transition to work properly.

    Tested out on a network core patch that converted it to use struct
    device instead of struct class_device.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This fixes an oops when a device is attached to a class, yet has no
    "parent" device. An example of this would be the "lo" device in the
    network core.

    We should create a "virtual" subdirectory under /sys/devices/ for these,
    but no one seems to agree on a proper name for it yet...

    Oh, and update my copyright on the driver core.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This is needed for the network class devices in order to be able to
    convert over to use struct device.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Teach platform_bus about the new suspend_late/resume_early PM calls,
    issued with IRQs off. Do we really need sysdev and friends any more,
    or can janitors start switching its users over to platform_device so
    we can do a minor code-ectomy?

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

    David Brownell
     
  • This adds warning when someone tries them from atomic context.

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Pavel Machek
     
  • Remove the new suspend_prepare() phase. It doesn't seem very usable,
    has never been tested, doesn't address fault cleanup, and would need
    a sibling resume_complete(); plus there are no real use cases. It
    could be restored later if those issues get resolved.

    Signed-off-by: David Brownell
    Cc: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Add a new PM_SYSFS_DEPRECATED config option to control whether or
    not the /sys/devices/.../power/state files are provided. This will
    make it easier to get rid of that mechanism when the time comes,
    and to verify that userspace tools work right without it.

    Signed-off-by: David Brownell
    Acked-by: Pavel Machek
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Updates to match current code:

    - Make writes to the /sys/devices/.../power/state files fail cleanly
    if the device requires the irqs-off call variants.

    - Fix comments describing the /sys/devices/.../power/state file writes
    to match the code; the last several releases have invalidated the
    previous text.

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

    David Brownell