07 May, 2013

2 commits

  • Pull kbuild changes from Michal Marek:
    "Kbuild commits for v3.10-rc1:

    - Fix make mrproper after mod/file2alias rework
    - Fix ld-option Makefile function
    - Rewrite headers_install to shell to drop Perl dependency.

    There are some more patches I have to look at, so I might send another
    pull request later. Or just queue them for 3.11."

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    Fix cleaning in scripts/mod
    headers_install.pl: convert to headers_install.sh
    kbuild: fix ld-option function

    Linus Torvalds
     
  • Make sure devicetable-offsets.h is cleaned in the scripts/mod directory

    Signed-off-by: Andreas Schwab
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Michal Marek

    Andreas Schwab
     

06 May, 2013

1 commit

  • Pull mudule updates from Rusty Russell:
    "We get rid of the general module prefix confusion with a binary config
    option, fix a remove/insert race which Never Happens, and (my
    favorite) handle the case when we have too many modules for a single
    commandline. Seriously, the kernel is full, please go away!"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    modpost: fix unwanted VMLINUX_SYMBOL_STR expansion
    X.509: Support parse long form of length octets in Authority Key Identifier
    module: don't unlink the module until we've removed all exposure.
    kernel: kallsyms: memory override issue, need check destination buffer length
    MODSIGN: do not send garbage to stderr when enabling modules signature
    modpost: handle huge numbers of modules.
    modpost: add -T option to read module names from file/stdin.
    modpost: minor cleanup.
    genksyms: pass symbol-prefix instead of arch
    module: fix symbol versioning with symbol prefixes
    CONFIG_SYMBOL_PREFIX: cleanup.

    Linus Torvalds
     

29 Apr, 2013

1 commit

  • Commit a4b6a77b77ba4f526392612c2365797fab956014 ("module: fix symbol
    versioning with symbol prefixes") broke the MODVERSIONS loading of any
    module using memcmp (e.g. ipv6) on x86_32, as it's defined to
    __builtin_memcmp which is expanded by VMLINUX_SYMBOL_STR. Use
    __VMLINUX_SYMBOL_STR instead which doesn't expand the argument.

    Reported-by: Tetsuo Handa
    Reported-by: Andy Shevchenko
    Signed-off-by: James Hogan
    Cc: H. Peter Anvin
    Tested-by: Tetsuo Handa
    Tested-by: Andy Shevchenko
    Signed-off-by: Rusty Russell
    Cc: # 3.9

    James Hogan
     

05 Apr, 2013

2 commits


29 Mar, 2013

1 commit

  • mei client bus will present some of the mei clients
    as devices for other standard subsystems

    Implement the probe, remove, match, device addtion routines, along with
    the sysfs and uevent ones. mei_cl_device_id is also added to
    mod_devicetable.h
    A mei-cleint-bus.txt document describing the rationale and the API usage
    is also added while ABI/testing/sysfs-bus-mei describeis the modalias ABI.

    Signed-off-by: Samuel Ortiz
    Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Samuel Ortiz
     

20 Mar, 2013

1 commit

  • Fix symbol versioning on architectures with symbol prefixes. Although
    the build was free from warnings the actual modules still wouldn't load
    as the ____versions table contained unprefixed symbol names, which were
    being compared against the prefixed symbol names when checking the
    symbol versions.

    This is fixed by modifying modpost to add the symbol prefix to the
    ____versions table it outputs (Modules.symvers still contains unprefixed
    symbol names). The check_modstruct_version() function is also fixed as
    it checks the version of the unprefixed "module_layout" symbol which
    would no longer work.

    Signed-off-by: James Hogan
    Cc: Michal Marek
    Cc: Sam Ravnborg
    Cc: Greg Kroah-Hartman
    Cc: Jonathan Kliegman
    Signed-off-by: Rusty Russell (use VMLINUX_SYMBOL_STR)

    James Hogan
     

15 Mar, 2013

1 commit

  • We have CONFIG_SYMBOL_PREFIX, which three archs define to the string
    "_". But Al Viro broke this in "consolidate cond_syscall and
    SYSCALL_ALIAS declarations" (in linux-next), and he's not the first to
    do so.

    Using CONFIG_SYMBOL_PREFIX is awkward, since we usually just want to
    prefix it so something. So various places define helpers which are
    defined to nothing if CONFIG_SYMBOL_PREFIX isn't set:

    1) include/asm-generic/unistd.h defines __SYMBOL_PREFIX.
    2) include/asm-generic/vmlinux.lds.h defines VMLINUX_SYMBOL(sym)
    3) include/linux/export.h defines MODULE_SYMBOL_PREFIX.
    4) include/linux/kernel.h defines SYMBOL_PREFIX (which differs from #7)
    5) kernel/modsign_certificate.S defines ASM_SYMBOL(sym)
    6) scripts/modpost.c defines MODULE_SYMBOL_PREFIX
    7) scripts/Makefile.lib defines SYMBOL_PREFIX on the commandline if
    CONFIG_SYMBOL_PREFIX is set, so that we have a non-string version
    for pasting.

    (arch/h8300/include/asm/linkage.h defines SYMBOL_NAME(), too).

    Let's solve this properly:
    1) No more generic prefix, just CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX.
    2) Make linux/export.h usable from asm.
    3) Define VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR().
    4) Make everyone use them.

    Signed-off-by: Rusty Russell
    Reviewed-by: James Hogan
    Tested-by: James Hogan (metag)

    Rusty Russell
     

28 Feb, 2013

1 commit

  • Pull kbuild changes from Michal Marek:

    - Alias generation in modpost is cross-compile safe.

    - kernel/timeconst.h is now generated using a bc script instead of
    perl.

    - scripts/link-vmlinux.sh now works with an alternative
    $KCONFIG_CONFIG.

    - destination-y for exported headers is supported in Kbuild files
    again.

    - depmod is called with -P $CONFIG_SYMBOL_PREFIX on architectures that
    need it.

    - CONFIG_DEBUG_INFO_REDUCED disables var-tracking

    - scripts/setlocalversion works with too much translated locales ;)

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Fix reading of .config in link-vmlinux.sh
    kbuild: Unset language specific variables in setlocalversion script
    Kbuild: Disable var tracking with CONFIG_DEBUG_INFO_REDUCED
    depmod: pass -P $CONFIG_SYMBOL_PREFIX
    kbuild: Fix destination-y for installed headers
    scripts/link-vmlinux.sh: source variables from KCONFIG_CONFIG
    kernel: Replace timeconst.pl with a bc script
    mod/file2alias: make modalias generation safe for cross compiling

    Linus Torvalds
     

25 Jan, 2013

1 commit


21 Jan, 2013

1 commit

  • ARC relocatable object files contain one/more .gnu.linkonce.arcextmap.*
    sections (collated by kernel/vmlinux.lds into .arcextmap in final link).
    This section is used by debuggers to display the extension instructions
    and need-not be loaded by target (hence !SHF_ALLOC)

    The final kernel binary only needs .arcextmap entry in modpost's ignore
    list (section_white_list[]). However when building modules, modpost scans
    each object file individually, hence tripping on non-aggregated
    .gnu.linkonce.arcextmap.* entries as well.

    Thus need for the 2 entires !

    Signed-off-by: Vineet Gupta
    Acked-by: Sam Ravnborg
    Signed-off-by: Rusty Russell

    Vineet Gupta
     

01 Dec, 2012

1 commit


12 Oct, 2012

2 commits

  • Pull kbuild changes from Michal Marek:
    "The main part of kbuild for v3.7 contains:
    - Fix for scripts/Makefile.modpost to not choke on a '.ko' substring
    in the build directory path
    - Two warning fixes (modpost and main Makefile)
    - __compiletime_error works also with gcc 4.3
    - make tar{gz,bz2,xz}-pkg uses default compression settings instead
    of saving as many bytes as possible (this should actually be in the
    misc branch, I don't know why I applied it here)."

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    compiler-gcc4.h: correct verion check for __compiletime_error
    modpost: Permit .GCC.command.line sections
    Kbuild: use normal compression settings for tar*-pkg
    scripts/Makefile.modpost: error in finding modules from .mod files.
    kbuild: Remove useless warning while appending KCFLAGS

    Linus Torvalds
     
  • Allow .GCC.command.line sections in modules to prevent modpost warnings:
    WARNING: sound/usb/snd-usbmidi-lib.o (.GCC.command.line): unexpected non-allocatable section.
    Did you forget to use "ax"/"aw" in a .S file?
    Note that for example contains
    section definitions for use in .S files.

    Signed-off-by: Jonathan Kliegman
    Signed-off-by: Michal Marek

    Jonathan Kliegman
     

09 Oct, 2012

1 commit

  • Pull Xtensa patchset from Chris Zankel:
    "The Xtensa tree has been broken for some time now, and this patchset
    brings it back to life. It has been part of the linux-next tree for
    some time.

    Most changes are inside the xtensa subdirectory; the other changes
    mostly add another rule to already existing #ifdefs to exclude Xtensa,
    where required. The only 'common' change is to add two more sections
    ('.xt.prop' and '.xt.lit') to the white list in modpost."

    * tag 'xtensa-next-20121008' of git://github.com/czankel/xtensa-linux: (27 commits)
    xtensa: Setup CROSS_COMPILE at the top
    xtensa: drop CONFIG_EMBEDDED_RAMDISK
    xtensa: fix TIOCGSERIAL and TIOCSSERIAL definitions
    xtensa: provide dummy gcc intrinsics
    xtensa: add missing symbol exports
    parport: disable for xtensa arch
    xtensa: rename MISC SR definition to avoid name clashes
    hisax: disable build for big-endian xtensa
    xtensa: fix CODA build
    xtensa: fix parallel make
    xtensa: ISS: drop unused io.c
    xtensa: ISS: exit simulator in case of halt or poweroff
    xtensa: ISS: change keyboard polling rate
    xtensa: ISS: add platform_pcibios_init
    xtensa: ISS: add dummy serial.h for ISS platform
    xtensa: change default platform clock frequency to 10MHz
    xtensa: add ARCH_WANT_OPTIONAL_GPIOLIB to xtensa config
    xtensa: set NO_IOPORT to 'n' by default
    xtensa: adopt generic io routines
    xtensa: fix ioremap
    ...

    Linus Torvalds
     

04 Oct, 2012

1 commit


07 Sep, 2012

1 commit


05 Sep, 2012

1 commit

  • The modaliases look like ipack:fXvNdM, where X is the format version (8
    bit) and N and M are the vendor and device ID represented as 32 bit
    hexadecimal numbers each. Using 32 bits allows us to define IPACK_ANY_ID
    as (~0) without interfering with the valid ids.

    The resulting modalias string for ipoctal.ko looks like this (once
    ipoctal provides a device table):
    alias: ipack:f01v000000F0d00000048*
    alias: ipack:f01v000000F0d0000002A*
    alias: ipack:f01v000000F0d00000022*
    (output from modinfo)

    Signed-off-by: Jens Taprogge
    Signed-off-by: Samuel Iglesias Gonsálvez
    Signed-off-by: Greg Kroah-Hartman

    Jens Taprogge
     

27 Jul, 2012

1 commit

  • Pull USB patches from Greg Kroah-Hartman:
    "Here's the big USB patch set for the 3.6-rc1 merge window.

    Lots of little changes in here, primarily for gadget controllers and
    drivers. There's some scsi changes that I think also went in through
    the scsi tree, but they merge just fine. All of these patches have
    been in the linux-next tree for a while now.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up trivial conflicts in include/scsi/scsi_device.h (same libata
    conflict that Jeff had already encountered)

    * tag 'usb-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (207 commits)
    usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams
    usb: Add quirk detection based on interface information
    usb: s3c-hsotg: Add header file protection macros in s3c-hsotg.h
    USB: ehci-s5p: Add vbus setup function to the s5p ehci glue layer
    USB: add USB_VENDOR_AND_INTERFACE_INFO() macro
    USB: notify phy when root hub port connect change
    USB: remove 8 bytes of padding from usb_host_interface on 64 bit builds
    USB: option: add ZTE MF821D
    USB: sierra: QMI mode MC7710 moved to qcserial
    USB: qcserial: adding Sierra Wireless devices
    USB: qcserial: support generic Qualcomm serial ports
    USB: qcserial: make probe more flexible
    USB: qcserial: centralize probe exit path
    USB: qcserial: consolidate usb_set_interface calls
    USB: ehci-s5p: Add support for device tree
    USB: ohci-exynos: Add support for device tree
    USB: ehci-omap: fix compile failure(v1)
    usb: host: tegra: pass correct pointer in ehci_setup()
    USB: ehci-fsl: Update ifdef check to work on 64-bit ppc
    USB: serial: keyspan: Removed unrequired parentheses.
    ...

    Linus Torvalds
     

17 Jun, 2012

1 commit

  • Functions used for PCI fixups (like DECLARE_PCI_FIXUP_HEADER) are often
    marked __init. This is okay as long as nobody is using PCI hotplug.
    However if one does execute
    | echo 1 > /sys/bus/pci/rescan

    and we hit a module which is marked __init istead of __devinit then we
    go boom because the code is removed after the kernel booted. This patch
    help to see those section mismatches.

    Cc: Michal Marek
    Cc: linux-kbuild@vger.kernel.org
    Cc: Rusty Russell
    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Bjorn Helgaas

    Sebastian Andrzej Siewior
     

14 Jun, 2012

1 commit

  • Some composite USB devices provide multiple interfaces
    with different functions, all using "vendor-specific"
    for class/subclass/protocol. Another OS use interface
    numbers to match the driver and interface. It seems
    these devices are designed with that in mind - using
    static interface numbers for the different functions.

    This adds support for matching against the
    bInterfaceNumber, allowing such devices to be supported
    without having to resort to testing against interface
    number whitelists and/or blacklists in the probe.

    Signed-off-by: Bjørn Mork
    Signed-off-by: Greg Kroah-Hartman

    Bjørn Mork
     

23 May, 2012

3 commits

  • If the kernel build process is creating files automatically, the least
    it can do is create them in a properly formatted manner. Sure, it's a
    minor issue, but being consistent is nice.

    Cc: Rusty Russell
    Cc: Alessio Igor Bogani
    Cc: Tony Lindgren
    Cc: Ben Hutchings
    Cc: Russell King
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Rusty Russell

    Greg Kroah-Hartman
     
  • In case the open() call succeeds but the subsequent fstat() call
    fails, then we'll return without close()'ing the filedescriptor.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Rusty Russell

    Jesper Juhl
     
  • Pull HID subsystem updates from Jiri Kosina:
    "Apart from various driver updates and added support for a number of
    new devices (mostly multitouch ones, but not limited to), there is one
    change that is worth pointing out explicitly: creation of HID device
    groups and proper autoloading of hid-multitouch, implemented by Henrik
    Rydberg."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (50 commits)
    HID: wacom: fix build breakage without CONFIG_LEDS_CLASS
    HID: waltop: Extend barrel button fix
    HID: hyperv: Set the hid drvdata correctly
    HID: wacom: Unify speed setting
    HID: wacom: Add speed setting for Intuos4 WL
    HID: wacom: Move Graphire raport header check.
    HID: uclogic: Add support for UC-Logic TWHL850
    HID: explain the signed/unsigned handling in hid_add_field()
    HID: handle logical min/max signedness properly in parser
    HID: logitech: read all 32 bits of report type bitfield
    HID: wacom: Add LED selector control for Wacom Intuos4 WL
    HID: hid-multitouch: fix wrong protocol detection
    HID: wiimote: Fix IR data parser
    HID: wacom: Add tilt reporting for Intuos4 WL
    HID: multitouch: MT interface matching for Baanto
    HID: hid-multitouch: Only match MT interfaces
    HID: Create a common generic driver
    HID: hid-multitouch: Switch to device groups
    HID: Create a generic device group
    HID: Allow bus wildcard matching
    ...

    Linus Torvalds
     

01 May, 2012

2 commits

  • Most HID drivers do not need to know what bus driver is in use.
    A generic group driver can drive any hid device, and the device
    list should not need to be duplicated for each new bus.

    This patch adds wildcard matching to the HID bus, simplifying device
    list handling for group drivers.

    Signed-off-by: Henrik Rydberg
    Acked-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina

    Henrik Rydberg
     
  • HID devices are only partially presented to userland. Hotplugged
    devices emit events containing a modalias based on the basic bus,
    vendor and product entities. However, in practise a hid device can
    depend on details such as a single usb interface or a particular item
    in a report descriptor.

    This patch adds a device group to the hid device id, and broadcasts it
    using uevent and the device modalias. The module alias generation is
    modified to match. As a consequence, a device with a non-zero group
    will be processed by the corresponding group driver instead of by the
    generic hid driver.

    Signed-off-by: Henrik Rydberg
    Acked-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina

    Henrik Rydberg
     

24 Apr, 2012

1 commit


19 Apr, 2012

1 commit

  • The symbol table on x86-64 starts to have entries that have names
    like:

    _GLOBAL__sub_I_65535_0___mod_x86cpu_device_table

    They are of type STT_FUNCTION and this one had a length of 18. This
    matched the device ID validation logic and it barfed because the
    length did not meet the device type's criteria.

    --------------------
    FATAL: arch/x86/crypto/aesni-intel: sizeof(struct x86cpu_device_id)=16 is not a modulo of the size of section __mod_x86cpu_device_table=18.
    Fix definition of struct x86cpu_device_id in mod_devicetable.h
    --------------------

    These are some kind of compiler tool internal stuff being emitted and
    not something we want to inspect in modpost's device ID table
    validation code.

    So skip the symbol if it is not of type STT_OBJECT.

    Signed-off-by: David S. Miller
    Acked-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    David Miller
     

10 Apr, 2012

1 commit

  • Commit f02e8a6596b7 ("module: Sort exported symbols") sorts symbols
    placing each of them in its own elf section. This sorting and merging
    into the canonical sections are done by the linker.

    Unfortunately modpost to generate Module.symvers file parses vmlinux.o
    (which is not linked yet) and all modules object files (which aren't
    linked yet). These aren't sanitized by the linker yet. That breaks
    modpost that can't detect license properly for modules.

    This patch makes modpost aware of the new exported symbols structure.

    [ This above is a slightly corrected version of the explanation of the
    problem, copied from commit 62a2635610db ("modpost: Fix modpost's
    license checking V3"). That commit fixed the problem for module
    object files, but not for vmlinux.o. This patch fixes modpost for
    vmlinux.o. ]

    Signed-off-by: Frank Rowand
    Signed-off-by: Alessio Igor Bogani
    Signed-off-by: Linus Torvalds

    Frank Rowand
     

31 Mar, 2012

1 commit

  • Pull kbuild changes from Michal Marek:
    - Unification of cmd_uimage among archs that use it
    - make headers_check tries harder before reporting a missing
    include
    - kbuild portability fix for shells that do not support echo -e
    - make clean descends into samples/
    - setlocalversion grep fix
    - modpost typo fix
    - dtc warnings fix

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    setlocalversion: Use "grep -q" instead of piping output to "read dummy"
    modpost: fix ALL_INIT_DATA_SECTIONS
    Kbuild: centralize MKIMAGE and cmd_uimage definitions
    headers_check: recursively search for linux/types.h inclusion
    scripts/Kbuild.include: Fix portability problem of "echo -e"
    scripts: dtc: fix compile warnings
    kbuild: clean up samples directory
    kbuild: disable -Wmissing-field-initializers for W=1

    Linus Torvalds
     

27 Mar, 2012

1 commit


10 Mar, 2012

1 commit


27 Feb, 2012

1 commit

  • commit e49ce14150c64b29a8dd211df785576fa19a9858 breaks cross compiling
    the linux kernel on darwin hosts.
    This fix introduce some minimal glue to adopt linker section handling
    for darwin hosts.

    Signed-off-by: Andreas Bießmann
    CC: Rusty Russell
    CC: Greg Kroah-Hartman
    CC: Jochen Friedrich
    CC: Samuel Ortiz
    CC: "K. Y. Srinivasan"
    Signed-off-by: Rusty Russell
    Tested-by: Bernhard Walle

    Andreas Bießmann
     

15 Feb, 2012

1 commit

  • It turns out that many compilers don't show section warnings on ARM
    currently because handling for ARM_CALL relocs are missing from
    modpost.c.

    Based on commit c2e26114 ([ARM] 3205/1: Handle new EABI relocations when
    loading kernel modules) it seems that R_ARM_PC24, R_ARM_CALL and
    R_ARM_JUMP24 can be handled the same way.

    Note that at least Debian libc6-dev is missing defines for both
    R_ARM_CALL and R_ARM_JUMP24 in /usr/include/elf.h. So for now
    we need to define them in modpost.c if not defined.

    Acked-by: Rusty Russell
    Cc: Ben Hutchings
    Cc: Anders Kaseorg
    Cc: Greg KH
    Signed-off-by: Tony Lindgren
    Signed-off-by: Russell King

    Tony Lindgren
     

14 Feb, 2012

2 commits

  • Handling of isapnp module aliases was broken by commit
    626596e295d477c0fefa08cd5daa7dd011b1bb2c by changing "isapnp" string to "isa".
    The code was then modified by commit
    e49ce14150c64b29a8dd211df785576fa19a9858 but this bug remained.

    Change the string back to "isapnp".

    Signed-off-by: Ondrej Zary
    Signed-off-by: Rusty Russell

    Ondrej Zary
     
  • We currently include commas on both sides of the feature ID in a
    modalias, but this prevents the lowest numbered feature of a CPU from
    being matched. Since all feature IDs have the same length, we do not
    need to worry about substring matches, so omit commas from the
    modalias entirely.

    Avoid generating multiple adjacent wildcards when there is no
    feature ID to match.

    Signed-off-by: Ben Hutchings
    Acked-by: Thomas Renninger
    Acked-by: H. Peter Anvin
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     

03 Feb, 2012

1 commit


27 Jan, 2012

1 commit

  • There's a growing number of drivers that support a specific x86 feature
    or CPU. Currently loading these drivers currently on a generic
    distribution requires various driver specific hacks and it often
    doesn't work.

    This patch adds auto probing for drivers based on the x86 cpuid
    information, in particular based on vendor/family/model number
    and also based on CPUID feature bits.

    For example a common issue is not loading the SSE 4.2 accelerated
    CRC module: this can significantly lower the performance of BTRFS
    which relies on fast CRC.

    Another issue is loading the right CPUFREQ driver for the current CPU.
    Currently distributions often try all all possible driver until
    one sticks, which is not really a good way to do this.

    It works with existing udev without any changes. The code
    exports the x86 information as a generic string in sysfs
    that can be matched by udev's pattern matching.

    This scheme does not support numeric ranges, so if you want to
    handle e.g. ranges of model numbers they have to be encoded
    in ASCII or simply all models or families listed. Fixing
    that would require changing udev.

    Another issue is that udev will happily load all drivers that match,
    there is currently no nice way to stop a specific driver from
    being loaded if it's not needed (e.g. if you don't need fast CRC)
    But there are not that many cpu specific drivers around and they're
    all not that bloated, so this isn't a particularly serious issue.

    Originally this patch added the modalias to the normal cpu
    sysdevs. However sysdevs don't have all the infrastructure
    needed for udev, so it couldn't really autoload drivers.
    This patch instead adds the CPU modaliases to the cpuid devices,
    which are real devices with full support for udev. This implies
    that the cpuid driver has to be loaded to use this.

    This patch just adds infrastructure, some driver conversions
    in followups.

    Thanks to Kay for helping with some sysfs magic.

    v2: Constifcation, some updates
    v4: (trenn@suse.de):
    - Use kzalloc instead of kmalloc to terminate modalias buffer
    - Use uppercase hex values to match correctly against hex values containing
    letters

    Cc: Dave Jones
    Cc: Kay Sievers
    Cc: Jen Axboe
    Cc: Herbert Xu
    Cc: Huang Ying
    Cc: Len Brown
    Signed-off-by: Andi Kleen
    Signed-off-by: Thomas Renninger
    Acked-by: H. Peter Anvin
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     

21 Jan, 2012

1 commit

  • This reverts commit 5dd7bf59e0e8563265b3e5b33276099ef628fcc7.

    Conflicts:

    scripts/mod/file2alias.c

    This change is wrong on many levels. First and foremost, it causes a
    regression. On boot on Assabet, which this patch gives a codec id of
    'ucb1x00', it gives:

    ucb1x00 ID not found: 1005

    0x1005 is a valid ID for the UCB1300 device.

    Secondly, this patch is way over the top in terms of complexity. The
    only device which has been seen to be connected with this MCP code is
    the UCB1x00 (UCB1200, UCB1300 etc) devices, and they all use the same
    driver. Adding a match table, requiring the codec string to match the
    hardware ID read out of the ID register, etc is completely over the top
    when we can just read the hardware ID register.

    Russell King