08 May, 2007

2 commits

  • Adds /proc/pid/clear_refs. When any non-zero number is written to this file,
    pte_mkold() and ClearPageReferenced() is called for each pte and its
    corresponding page, respectively, in that task's VMAs. This file is only
    writable by the user who owns the task.

    It is now possible to measure _approximately_ how much memory a task is using
    by clearing the reference bits with

    echo 1 > /proc/pid/clear_refs

    and checking the reference count for each VMA from the /proc/pid/smaps output
    at a measured time interval. For example, to observe the approximate change
    in memory footprint for a task, write a script that clears the references
    (echo 1 > /proc/pid/clear_refs), sleeps, and then greps for Pgs_Referenced and
    extracts the size in kB. Add the sizes for each VMA together for the total
    referenced footprint. Moments later, repeat the process and observe the
    difference.

    For example, using an efficient Mozilla:

    accumulated time referenced memory
    ---------------- -----------------
    0 s 408 kB
    1 s 408 kB
    2 s 556 kB
    3 s 1028 kB
    4 s 872 kB
    5 s 1956 kB
    6 s 416 kB
    7 s 1560 kB
    8 s 2336 kB
    9 s 1044 kB
    10 s 416 kB

    This is a valuable tool to get an approximate measurement of the memory
    footprint for a task.

    Cc: Hugh Dickins
    Cc: Paul Mundt
    Cc: Christoph Lameter
    Signed-off-by: David Rientjes
    [akpm@linux-foundation.org: build fixes]
    [mpm@selenic.com: rename for_each_pmd]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • PCI drivers have the new_id file in sysfs which allows new IDs to be added
    at runtime. The advantage is to avoid re-compilation of a driver that
    works for a new device, but it's ID table doesn't contain the new device.
    This mechanism is only meant for testing, after the driver has been tested
    successfully, the ID should be added in source code so that new revisions
    of the kernel automatically detect the device.

    The implementation follows the PCI implementation. The interface is documented
    in Documentation/pcmcia/driver.txt. Computations should be done in userspace,
    so the sysfs string contains the raw structure members for matching.

    Signed-off-by: Bernhard Walle
    Cc: Dominik Brodowski
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     

07 May, 2007

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)
    kconfig: fix mconf segmentation fault
    kbuild: enable use of code from a different dir
    kconfig: error out if recursive dependencies are found
    kbuild: scripts/basic/fixdep segfault on pathological string-o-death
    kconfig: correct minor typo in Kconfig warning message.
    kconfig: fix path to modules.txt in Kconfig help
    usr/Kconfig: fix typo
    kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs'
    kbuild: be more explicit on missing .config file
    kbuild: clarify the creation of the LOCALVERSION_AUTO string.
    kbuild: propagate errors from find in scripts/gen_initramfs_list.sh
    kconfig: refer to qt3 if we cannot find qt libraries
    kbuild: handle compressed cpio initramfs-es
    kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text
    kbuild: remove stale comment in modpost.c
    kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE
    kbuild: fix make mrproper for Documentation/DocBook/man
    kbuild: remove kconfig binaries during make mrproper
    kconfig/menuconfig: do not hardcode '.config'
    kbuild: override build timestamp & version
    ...

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)
    [ARM] Add comments marking in-use ptrace numbers
    [ARM] Move syscall saving out of the way of utrace
    [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro
    [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header
    [ARM] mm 10: allow memory type to be specified with ioremap
    [ARM] mm 9: add additional device memory types
    [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6
    [ARM] iop: add missing parens in macro
    [ARM] mm 7: remove duplicated __ioremap() prototypes
    ARM: OMAP: fix OMAP1 mpuio suspend/resume oops
    ARM: OMAP: MPUIO wake updates
    ARM: OMAP: speed up gpio irq handling
    ARM: OMAP: plat-omap changes for 2430 SDP
    ARM: OMAP: gpio object shrinkage, cleanup
    ARM: OMAP: /sys/kernel/debug/omap_gpio
    ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon
    ARM: OMAP: Enable 24xx GPIO autoidling
    [ARM] 4318/2: DSM-G600 Board Support
    [ARM] 4227/1: minor head.S fixups
    [ARM] 4328/1: Move i.MX UART regs to driver
    ...

    Linus Torvalds
     

06 May, 2007

2 commits

  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits)
    [PATCH] i386: Don't delete cpu_devs data to identify different x86 types in late_initcall
    [PATCH] i386: type may be unused
    [PATCH] i386: Some additional chipset register values validation.
    [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.
    [PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff
    [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu
    [PATCH] i386: white space fixes in i387.h
    [PATCH] i386: Drop noisy e820 debugging printks
    [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c
    [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems
    [PATCH] x86-64: Share identical video.S between i386 and x86-64
    [PATCH] x86-64: Remove CONFIG_REORDER
    [PATCH] x86-64: Print type and size correctly for unknown compat ioctls
    [PATCH] i386: Remove copy_*_user BUG_ONs for (size < 0)
    [PATCH] i386: Little cleanups in smpboot.c
    [PATCH] x86-64: Don't enable NUMA for a single node in K8 NUMA scanning
    [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible
    [PATCH] i386: Add X86_FEATURE_RDTSCP
    [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386
    [PATCH] i386: Implement alternative_io for i386
    ...

    Fix up trivial conflict in include/linux/highmem.h manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (87 commits)
    [SCSI] fusion: fix domain validation loops
    [SCSI] qla2xxx: fix regression on sparc64
    [SCSI] modalias for scsi devices
    [SCSI] sg: cap reserved_size values at max_sectors
    [SCSI] BusLogic: stop using check_region
    [SCSI] tgt: fix rdma transfer bugs
    [SCSI] aacraid: fix aacraid not finding device
    [SCSI] aacraid: Correct SMC products in aacraid.txt
    [SCSI] scsi_error.c: Add EH Start Unit retry
    [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during 'insmod' for kexec test.
    [SCSI] ipr: Driver version to 2.3.2
    [SCSI] ipr: Faster sg list fetch
    [SCSI] ipr: Return better qc_issue errors
    [SCSI] ipr: Disrupt device error
    [SCSI] ipr: Improve async error logging level control
    [SCSI] ipr: PCI unblock config access fix
    [SCSI] ipr: Fix for oops following SATA request sense
    [SCSI] ipr: Log error for SAS dual path switch
    [SCSI] ipr: Enable logging of debug error data for all devices
    [SCSI] ipr: Add new PCI-E IDs to device table
    ...

    Linus Torvalds
     

05 May, 2007

6 commits

  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (65 commits)
    Input: gpio_keys - add support for switches (EV_SW)
    Input: cobalt_btns - convert to use polldev library
    Input: add skeleton for simple polled devices
    Input: update some documentation
    Input: wistron - fix typo in keymap for Acer TM610
    Input: add input_set_capability() helper
    Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs
    Input: i8042 - add Panasonic CF-29 to nomux list
    Input: lifebook - split into 2 devices
    Input: lifebook - add signature of Panasonic CF-29
    Input: lifebook - activate 6-byte protocol on select models
    Input: lifebook - work properly on Panasonic CF-18
    Input: cobalt buttons - separate device and driver registration
    Input: ati_remote - make button repeat sensitivity configurable
    Input: pxa27x - do not use deprecated SA_INTERRUPT flag
    Input: ucb1400 - make delays configurable
    Input: misc devices - switch to using input_dev->dev.parent
    Input: joysticks - switch to using input_dev->dev.parent
    Input: touchscreens - switch to using input_dev->dev.parent
    Input: mice - switch to using input_dev->dev.parent
    ...

    Fixed up conflicts with core device model removal of "struct subsystem" manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
    remove "struct subsystem" as it is no longer needed
    sysfs: printk format warning
    DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt
    platform: reorder platform_device_del
    Driver core: fix show_uevent from taking up way too much stack

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (59 commits)
    PCI: Free resource files in error path of pci_create_sysfs_dev_files()
    pci-quirks: disable MSI on RS400-200 and RS480
    PCI hotplug: Use menuconfig objects
    PCI: ZT5550 CPCI Hotplug driver fix
    PCI: rpaphp: Remove semaphores
    PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry
    PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
    PCI: rpaphp: Document is_php_dn()
    PCI: rpaphp: Document find_php_slot()
    PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot()
    PCI: rpaphp: refactor tail call to rpaphp_register_slot()
    PCI: rpaphp: remove rpaphp_set_attention_status()
    PCI: rpaphp: remove print_slot_pci_funcs()
    PCI: rpaphp: Remove setup_pci_slot()
    PCI: rpaphp: remove a call that does nothing but a pointer lookup
    PCI: rpaphp: Remove another wrappered function
    PCI: rpaphp: Remve another call that is a wrapper
    PCI: rpaphp: remove a function that does nothing but wrap debug printks
    PCI: rpaphp: Remove un-needed goto
    PCI: rpaphp: Fix a memleak; slot->location string was never freed
    ...

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (44 commits)
    i2c-s3c2410: Fix bug in releasing driver
    i2c-s3c2410: Fix I2C SDA to SCL setup time
    i2c: New i2c-tiny-usb bus driver
    i2c: Documentation update
    i2c: SPIN_LOCK_UNLOCKED cleanup
    i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2c
    i2c: New Simtec I2C bus driver
    i2c: Bitbanging I2C bus driver using the GPIO API
    Use menuconfig objects - I2C
    i2c: Restore i2c_smbus_read_block_data
    i2c-pxa: Clean transaction stop
    i2c-algo-bit: Improve debugging
    i2c-algo-bit: Implement a 50/50 SCL duty cycle
    i2c-omap: Switch to static adapter numbering
    i2c: Blackfin Two Wire Interface driver
    i2c-algo-sgi: Comment and whitespace cleanups
    i2c: Make i2c_del_driver a void function
    i2c: Move i2c-isa-only exported symbol declarations
    i2c: Document i2c_new_device()
    i2c: Add i2c_new_probed_device()
    ...

    Fixed trivial conflict in Documentation/feature-removal-schedule.txt manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • I am no longer with CTI. The Support Department will handle all
    inquiries regarding the WH.

    Signed-off-by: Stuart MacDonald
    Signed-off-by: Linus Torvalds

    Stuart MacDonald
     
  • These helper functions are a leftover from 2.4 sync I/O and are a
    notorious source for bugs. They lead to device driver specific code
    creeping into cio, and some issues can't really be fixed at all.

    Device drivers can easily implement those functions themselves in a
    more robust manner, so let's get rid of them.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     

03 May, 2007

19 commits

  • Unless we finally completely remove it, people will always add new users.

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

    Adrian Bunk
     
  • This patch removes the PCI_MULTITHREAD_PROBE option that had already
    been marked as broken.

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

    Adrian Bunk
     
  • Correct function name copy-paste error.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Currently, there is no minimum number of fields required when adding
    a new device ID to a PCI driver through the new_id sysfs file. It is
    possible to add a new ID with only the vendor ID set, causing the
    driver to attempt to attach to all PCI devices from that vendor. This
    has been reported to happen accidentally:
    http://lists.lm-sensors.org/pipermail/lm-sensors/2007-March/019366.html
    It is even possible to not even set the vendor ID field, causing the
    driver to attempt to attach to _all_ the PCI devices.

    This sounds dangerous and I fail to see any valid use of this
    "feature". Thus I suggest that we now require at least the first two
    fields (vendor ID and device ID) to be set. For what it's worth, this
    is what the USB subsystem does.

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

    Jean Delvare
     
  • Above and below we talk about my_midlayer_create_something, I assume that is
    also meant here.

    Signed-off-by: Rolf Eike Beer
    Signed-off-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Rolf Eike Beer
     
  • Make docbook index.html contain sorted output.

    I prefer to let the computer do it. This also avoids
    people not reading the comment(s).

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     
  • "make mandocs" generate > 2000 files in Documentation/DocBook/man
    and this caused kbuild to barf out during make mrproper like this:

    make -f scripts/Makefile.clean obj=Documentation/DocBook
    make -f scripts/Makefile.clean obj=Documentation/DocBook/man/
    make[2]: execvp: /bin/sh: Argument list too long
    make[2]: *** [__clean] Error 127
    make[1]: *** [Documentation/DocBook/man/] Error 2
    make: *** [_mrproper_Documentation/DocBook] Error 2

    The man directory were solely used for output
    so the fix is to remove it entirely during the
    make mrproper process.

    Signed-off-by: Sam Ravnborg
    Acked-by: Randy Dunlap

    Sam Ravnborg
     
  • The Makefile fragment in Documentation/kbuild/modules.txt looks to be
    missing some braces.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Sam Ravnborg

    Anton Blanchard
     
  • asm-offsets.c is valid source code and needs to be diffed.

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Background:
    We've found that MCEs (specifically DRAM SBEs) tend to come in bunches,
    especially when we are trying really hard to stress the system out. The
    current MCE poller uses a static interval which does not care whether it
    has or has not found MCEs recently.

    Description:
    This patch makes the MCE poller adjust the polling interval dynamically.
    If we find an MCE, poll 2x faster (down to 10 ms). When we stop finding
    MCEs, poll 2x slower (up to check_interval seconds). The check_interval
    tunable becomes the max polling interval. The "Machine check events
    logged" printk() is rate limited to the check_interval, which should be
    identical behavior to the old functionality.

    Result:
    If you start to take a lot of correctable errors (not exceptions), you
    log them faster and more accurately (less chance of overflowing the MCA
    registers). If you don't take a lot of errors, you will see no change.

    Alternatives:
    I considered simply reducing the polling interval to 10 ms immediately
    and keeping it there as long as we continue to find errors. This felt a
    bit heavy handed, but does perform significantly better for the default
    check_interval of 5 minutes (we're using a few seconds when testing for
    DRAM errors). I could be convinced to go with this, if anyone felt it
    was not too aggressive.

    Testing:
    I used an error-injecting DIMM to create lots of correctable DRAM errors
    and verified that the polling interval accelerates. The printk() only
    happens once per check_interval seconds.

    Patch:
    This patch is against 2.6.21-rc7.

    Signed-Off-By: Tim Hockin
    Signed-off-by: Andi Kleen

    Tim Hockin
     
  • Add "noreplace-paravirt" to disable paravirt_ops patching.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen
    Cc: Rusty Russell
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton

    Jeremy Fitzhardinge
     
  • Add "noreplace-smp" to disable SMP instruction replacement.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen

    Jeremy Fitzhardinge
     
  • It doesn't put the CPU into deeper sleep states, so it's better to use the standard
    idle loop to save power. But allow to reenable it anyways for benchmarking.

    I also removed the obsolete idle=halt on i386

    Cc: andreas.herrmann@amd.com

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Now that relocation of the VDSO for COMPAT_VDSO users is done at
    runtime rather than compile time, it is possible to enable/disable
    compat mode at runtime.

    This patch allows you to enable COMPAT_VDSO mode with "vdso=2" on the
    kernel command line, or via sysctl. (Switching on a running system
    shouldn't be done lightly; any process which was relying on the compat
    VDSO will be upset if it goes away.)

    The COMPAT_VDSO config option still exists, but if enabled it just
    makes vdso_enabled default to VDSO_COMPAT.

    +From: Hugh Dickins

    Fix oops from i386-make-compat_vdso-runtime-selectable.patch.

    Even mingetty at system startup finds it easy to trigger an oops
    while reading /proc/PID/maps: though it has a good hold on the mm
    itself, that cannot stop exit_mm() from resetting tsk->mm to NULL.

    (It is usually show_map()'s call to get_gate_vma() which oopses,
    and I expect we could change that to check priv->tail_vma instead;
    but no matter, even m_start()'s call just after get_task_mm() is racy.)

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen
    Cc: Zachary Amsden
    Cc: "Jan Beulich"
    Cc: Eric W. Biederman
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Roland McGrath

    Jeremy Fitzhardinge
     
  • Because the command line is increased to 2048 characters after 2.6.21, it's
    not possible for boot loaders and userspace tools to determine the length
    of the command line the kernel can understand. The benefit of knowing the
    length is that users can be warned if the command line size is too long
    which prevents surprise if things don't work after bootup.

    This patch updates the boot protocol to contain a field called
    "cmdline_size" that contain the length of the command line (excluding the
    terminating zero).

    The patch also adds missing fields (of protocol version 2.05) to the x86_64
    setup code.

    Signed-off-by: Bernhard Walle
    Signed-off-by: Andi Kleen
    Cc: Alon Bar-Lev
    Acked-by: H. Peter Anvin
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton

    Bernhard Walle
     
  • Create a document to explain how to use numa=fake in conjunction with cpusets
    for coarse memory resource management.

    An attempt to get more awareness and testing for this feature.

    Cc: Andi Kleen
    Signed-off-by: David Rientjes
    Signed-off-by: Andi Kleen
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton

    David Rientjes
     
  • Extends the numa=fake x86_64 command-line option to split the remaining system
    memory into nodes of fixed size. Any leftover memory is allocated to a final
    node unless the command-line ends with a comma.

    For example:
    numa=fake=2*512,*128 gives two 512M nodes and the remaining system
    memory is split into nodes of 128M each.

    This is beneficial for systems where the exact size of RAM is unknown or not
    necessarily relevant, but the size of the remaining nodes to be allocated is
    known based on their capacity for resource management.

    Cc: Andi Kleen
    Signed-off-by: David Rientjes
    Signed-off-by: Andi Kleen
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton

    David Rientjes
     
  • Extends the numa=fake x86_64 command-line option to split the remaining
    system memory into equal-sized nodes.

    For example:
    numa=fake=2*512,4* gives two 512M nodes and the remaining system
    memory is split into four approximately equal
    chunks.

    This is beneficial for systems where the exact size of RAM is unknown or not
    necessarily relevant, but the granularity with which nodes shall be allocated
    is known.

    Cc: Andi Kleen
    Signed-off-by: David Rientjes
    Signed-off-by: Andi Kleen
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton

    David Rientjes
     
  • Extends the numa=fake x86_64 command-line option to allow for configurable
    node sizes. These nodes can be used in conjunction with cpusets for coarse
    memory resource management.

    The old command-line option is still supported:
    numa=fake=32 gives 32 fake NUMA nodes, ignoring the NUMA setup of the
    actual machine.

    But now you may configure your system for the node sizes of your choice:
    numa=fake=2*512,1024,2*256
    gives two 512M nodes, one 1024M node, two 256M nodes, and
    the rest of system memory to a sixth node.

    The existing hash function is maintained to support the various node sizes
    that are possible with this implementation.

    Each node of the same size receives roughly the same amount of available
    pages, regardless of any reserved memory with its address range. The total
    available pages on the system is calculated and divided by the number of equal
    nodes to allocate. These nodes are then dynamically allocated and their
    borders extended until such time as their number of available pages reaches
    the required size.

    Configurable node sizes are recommended when used in conjunction with cpusets
    for memory control because it eliminates the overhead associated with scanning
    the zonelists of many smaller full nodes on page_alloc().

    Cc: Andi Kleen
    Signed-off-by: David Rientjes
    Signed-off-by: Andi Kleen
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton

    David Rientjes
     

02 May, 2007

7 commits

  • Make the documentation on how to write and port i2c drivers more in
    line with the current state of things:
    * i2c-isa is deprecated and soon gone, so stop advertising it.
    * Drop many sensors-specific references. Most of them were outdated
    anyway.
    * Update the example code to reflect the recent and not-so-recent
    API and coding style preference changes.
    * Simplify the example init and cleanup functions.

    This should make things less complex to understand for newcomers.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • The new generic i2c-gpio driver should be used instead.
    The obsolete drivers will be removed in September 2007.

    Signed-off-by: Jean Delvare
    Cc: Deepak Saxena
    Cc: Jordan Crouse

    Jean Delvare
     
  • Make i2c_del_driver a void function, like all other driver removal
    functions. It always returned 0 even when errors occured, and nobody
    ever actually checked the return value anyway. And we cannot fail
    a module removal anyway.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Document the new i2c_new_device(), i2c_new_probed_device() and
    i2c_unregister_device() functions.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Update Documentation/i2c to match previous patches updating probe()
    and remove() logic.

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

    David Brownell
     
  • Signed-off-by: Jean Delvare
    Cc: Hans-Frieder Vogt

    Jean Delvare
     
  • Kill i2c_adapter.class_dev. Instead, set the class of i2c_adapter.dev
    to i2c_adapter_class, so that a symlink will be created for every
    i2c_adapter in /sys/class/i2c-adapter.

    The same change must be mirrored to i2c-isa as it duplicates some
    of the i2c-core functionalities.

    User-space tools and libraries might need some adjustments. In
    particular, libsensors from lm_sensors 2.10.3 or later is required for
    proper discovery of i2c adapter names after this change.

    Signed-off-by: Jean Delvare

    Jean Delvare
     

01 May, 2007

2 commits