27 Jun, 2016

1 commit

  • Move the definition of fsl_mc_device_id to its proper location in
    mod_devicetable.h, and add fsl-mc bus support to devicetable-offsets.c
    and file2alias.c to enable device table matching. With this patch udev
    based module loading of fsl-mc drivers is supported.

    Signed-off-by: Stuart Yoder
    Signed-off-by: Greg Kroah-Hartman

    Stuart Yoder
     

08 Jun, 2016

1 commit

  • Because of an improper dereference, a stray 'C' character was output to
    the modalias when no 'compatible' was specified. This is the case for
    some old PowerMac drivers which only set the 'name' property. Fix it to
    let them match again.

    Reported-by: Mathieu Malaterre
    Signed-off-by: Wolfram Sang
    Tested-by: Mathieu Malaterre
    Cc: Philipp Zabel
    Cc: Andreas Schwab
    Fixes: 6543becf26fff6 ("mod/file2alias: make modalias generation safe for cross compiling")
    Cc: stable@vger.kernel.org # v3.9+
    Signed-off-by: Michael Ellerman

    Wolfram Sang
     

06 May, 2016

1 commit

  • Since the wildcard at the end of OF module aliases is gone, autoloading
    of modules that don't match a device's last (most generic) compatible
    value fails.

    For example the CODA960 VPU on i.MX6Q has the SoC specific compatible
    "fsl,imx6q-vpu" and the generic compatible "cnm,coda960". Since the
    driver currently only works with knowledge about the SoC specific
    integration, it doesn't list "cnm,cod960" in the module device table.

    This results in the device compatible
    "of:NvpuTCfsl,imx6q-vpuCcnm,coda960" not matching the module alias
    "of:N*T*Cfsl,imx6q-vpu" anymore, whereas before commit 2f632369ab79
    ("modpost: don't add a trailing wildcard for OF module aliases") it
    matched the module alias "of:N*T*Cfsl,imx6q-vpu*".

    This patch adds two module aliases for each compatible, one without the
    wildcard and one with "C*" appended.

    $ modinfo coda | grep imx6q
    alias: of:N*T*Cfsl,imx6q-vpuC*
    alias: of:N*T*Cfsl,imx6q-vpu

    Fixes: 2f632369ab79 ("modpost: don't add a trailing wildcard for OF module aliases")
    Link: http://lkml.kernel.org/r/1462203339-15340-1-git-send-email-p.zabel@pengutronix.de
    Signed-off-by: Philipp Zabel
    Cc: Javier Martinez Canillas
    Cc: Brian Norris
    Cc: Sjoerd Simons
    Cc: Rusty Russell
    Cc: Greg Kroah-Hartman
    Cc: [4.5+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Philipp Zabel
     

15 Jan, 2016

1 commit

  • Commit ac551828993e ("modpost: i2c aliases need no trailing wildcard")
    removed the wildcard at the end of the I2C module aliases because I2C
    devices have no IDs so the aliases are just arbitrary device names.

    This is also true for OF modaliases since a compatible string is used to
    define a specific IP hardware block. So the modalias should match a
    specific compatible string and not attempt to match a compatible string
    whose name matches the beginning of another one.

    For example, the following driver module:

    $ modinfo cros_ec_keyb | grep alias
    alias: platform:cros-ec-keyb
    alias: of:N*T*Cgoogle,cros-ec-keyb*

    will be tried to be loaded for an alias of:N*T*Cgoogle,cros-ec-keyb-v2
    but there could be a different driver that supports the device for that
    compatible string so it's better to remove the trailing wildcard for OF.

    Also, remove the word "always" from the add_wildcard() function comment
    since that was carried from the time where a wildcard was always added
    at the end of the module alias for all the devices.

    Signed-off-by: Javier Martinez Canillas
    Suggested-by: Brian Norris
    Reviewed-by: Sjoerd Simons
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     

15 Dec, 2015

1 commit


07 Nov, 2015

1 commit

  • Pull sound updates from Takashi Iwai:
    "Here is the first batch of updates for sound system on 4.4-rc1.

    Again at this time, the update looks fairly calm; no big changes in
    either ALSA core or ASoC infrastructures, rather all small cleanups,
    in addition to the new stuff as usual.

    The biggest changes are about Firewire sound devices. It gained lots
    of new device support, and MIDI functionality. Also there are updates
    for a few still working-in-progress stuff (topology API and ASoC
    skylake), too. But overall, this update should give no big surprise.

    Some highlights are below:

    Core:
    - A few more Kconfig items for tinification; it's marked as EXPERT,
    so normal user should't be bothered :)
    - Refactoring with a new PCM hw_constraint helper
    - Removal of unused transfer_ack_{begin,end} PCM callbacks

    Firewire:
    - Restructuring of code subtree, lots of refactoring
    - Support AMDTP variants
    - New driver for Digidesign 002/003 family
    - Adds support for TASCAM FireOne to ALSA OXFW driver
    - Add MIDI support to TASCAM and Digi00x devices

    HD-Audio:
    - Automated modalias generation for codec drivers, finally
    - Improvement on heuristics for setting mixer name
    - A few fixes for longstanding bugs on Creative CA0132 cards
    - Addition of audio rate callback with i915 communication
    - Fix suspend issue on recent Dell XPS
    - Intel Lewisburg controller support

    ASoC:
    - Updates to the topology userspace interface
    - Big updates to the Renesas support (rcar)
    - More updates for supporting Intel Sky Lake systems
    - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10,
    Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825, Rockchip
    S/PDIF, and Atmel class D amplifier

    USB-Audio:
    - A fix for newer Roland MIDI devices
    - Quirks and workarounds for Zoom R16/24 device

    Misc:
    - A few fixes for some old Cirrus CS46xx PCI sound boards
    - Yet another fixes for some old ESS Maestro3 PCI sound boards"

    * tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (330 commits)
    ALSA: hda - Add Intel Lewisburg device IDs Audio
    ALSA: hda - Apply pin fixup for HP ProBook 6550b
    ALSA: hda - Fix lost 4k BDL boundary workaround
    ALSA: maestro3: Fix Allegro mute until master volume/mute is touched
    ALSA: maestro3: Enable docking support for Dell Latitude C810
    ALSA: firewire-digi00x: add another rawmidi character device for MIDI control ports
    ALSA: firewire-digi00x: add MIDI operations for MIDI control port
    ALSA: firewire-digi00x: rename identifiers of MIDI operation for physical ports
    ALSA: cs46xx: Fix suspend for all channels
    ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs
    ALSA: DocBook: Add soc-ops.c and soc-compress.c
    ALSA: hda - Add / fix kernel doc comments
    ALSA: Constify ratden/ratnum constraints
    ALSA: hda - Disable 64bit address for Creative HDA controllers
    ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back
    ALSA: hda/ca0132 - Convert leftover pr_info() and pr_err()
    ASoC: fsl: Use #ifdef instead of #if for CONFIG_PM_SLEEP
    ASoC: rt5645: Sort the order for register bit defines
    ASoC: dwc: add check for master/slave format
    ASoC: rt5645: Add the HWEQ for the speaker output
    ...

    Linus Torvalds
     

20 Oct, 2015

1 commit

  • For generating modalias entries automatically, move the definition of
    struct hda_device_id to linux/mod_devicetable.h and add the handling
    of this record in file2alias helper. The new modalias is represented
    with combination of vendor id, device id, and api version as
    "hdaudio:vNrNaN".

    This patch itself doesn't convert the existing modaliases. Since they
    were added manually, this patch won't give any regression by itself at
    this point.

    [Modified the modalias format to adapt the api_version field, and drop
    invalid ANY_ID definition by tiwai]

    Signed-off-by: Subhransu S. Prusty
    Reviewed-by: Vinod Koul
    Tested-by: Subhransu S Prusty
    Signed-off-by: Takashi Iwai

    Subhransu S. Prusty
     

21 Sep, 2015

2 commits


07 Jul, 2015

1 commit

  • Device drivers typically use ACPI _HIDs/_CIDs listed in struct device_driver
    acpi_match_table to match devices. However, for generic drivers, we do not
    want to list _HID for all supported devices. Also, certain classes of devices
    do not have _CID (e.g. SATA, USB). Instead, we can leverage ACPI _CLS,
    which specifies PCI-defined class code (i.e. base-class, subclass and
    programming interface). This patch adds support for matching ACPI devices using
    the _CLS method.

    To support loadable module, current design uses _HID or _CID to match device's
    modalias. With the new way of matching with _CLS this would requires modification
    to the current ACPI modalias key to include _CLS. This patch appends PCI-defined
    class-code to the existing ACPI modalias as following.

    acpi::::..:::
    E.g:
    # cat /sys/devices/platform/AMDI0600:00/modalias
    acpi:AMDI0600:010601:

    where bb is th base-class code, ss is te sub-class code, and pp is the
    programming interface code

    Since there would not be _HID/_CID in the ACPI matching table of the driver,
    this patch adds a field to acpi_device_id to specify the matching _CLS.

    static const struct acpi_device_id ahci_acpi_match[] = {
    { ACPI_DEVICE_CLASS(PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff) },
    {},
    };

    In this case, the corresponded entry in modules.alias file would be:

    alias acpi*:010601:* ahci_platform

    Acked-by: Mika Westerberg
    Reviewed-by: Hanjun Guo
    Signed-off-by: Suravee Suthikulpanit
    Signed-off-by: Rafael J. Wysocki

    Suthikulpanit, Suravee
     

27 Jun, 2015

1 commit

  • Pull USB updates from Greg KH:
    "Here's the big USB patchset for 4.2-rc1. As is normal these days, the
    majority of changes are in the gadget drivers, with a bunch of other
    small driver changes.

    All of these have been in linux-next with no reported issues"

    * tag 'usb-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (175 commits)
    usb: dwc3: Use ASCII space in Kconfig
    usb: chipidea: add work-around for Marvell HSIC PHY startup
    usb: chipidea: allow multiple instances to use default ci_default_pdata
    dt-bindings: Consolidate ChipIdea USB ci13xxx bindings
    phy: add Marvell HSIC 28nm PHY
    phy: Add Marvell USB 2.0 OTG 28nm PHY
    dt-bindings: Add Marvell PXA1928 USB and HSIC PHY bindings
    USB: ssb: use devm_kzalloc
    USB: ssb: fix error handling in ssb_hcd_create_pdev()
    usb: isp1760: check for null return from kzalloc
    cdc-acm: Add support of ATOL FPrint fiscal printers
    usb: chipidea: usbmisc_imx: Remove unneeded semicolon
    USB: usbtmc: add device quirk for Rigol DS6104
    USB: serial: mos7840: Use setup_timer
    phy: twl4030-usb: add ABI documentation
    phy: twl4030-usb: remove incorrect pm_runtime_get_sync() in probe function.
    phy: twl4030-usb: remove pointless 'suspended' test in 'suspend' callback.
    phy: twl4030-usb: make runtime pm more reliable.
    drivers:usb:fsl: Fix compilation error for fsl ehci drv
    usb: renesas_usbhs: Don't disable the pipe if Control write status stage
    ...

    Linus Torvalds
     

31 May, 2015

1 commit

  • A previous commit, c93b76b34b4d ("mei: bus: report also uuid in module
    alias") caused a build error as I missed applying a needed patch to add
    some macros to uapi/linux/uuid.h. Instead of those additional macros,
    change the mei code to use the existing uuid structure directly.

    Fixes: c93b76b34b4d
    Cc: Tomas Winkler
    Cc: Samuel Ortiz
    Reported-by: Stephen Rothwell
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

25 May, 2015

1 commit

  • In order to automate modules matching add device uuid
    which is reported in client enumeration, keep also
    the name that is needed in for nfc distinguishing radio vendor

    Report mei:name:uuid

    Cc: linux-api@vger.kernel.org
    Cc: Samuel Ortiz
    Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     

14 May, 2015

1 commit

  • UTMI+ Low Pin Interface (ULPI) is a commonly used PHY
    interface for USB 2.0. The ULPI specification describes a
    standard set of registers which the vendors can extend for
    their specific needs. ULPI PHYs provide often functions
    such as charger detection and ADP sensing and probing.

    There are two major issues that the bus type is meant to
    tackle:

    Firstly, ULPI registers are accessed from the controller.
    The bus provides convenient method for the controller
    drivers to share that access with the actual PHY drivers.

    Secondly, there are already platforms that assume ULPI PHYs
    are runtime detected, such as many Intel Baytrail based
    platforms. They do not provide any kind of hardware
    description for the ULPI PHYs like separate ACPI device
    object that could be used to enumerate a device from.

    Signed-off-by: Heikki Krogerus
    Acked-by: David Cohen
    Signed-off-by: Felipe Balbi

    Heikki Krogerus
     

31 Mar, 2015

1 commit

  • Add MIPS Common Device Memory Map (CDMM) support in the form of a bus in
    the standard Linux device model. Each device attached via CDMM is
    discoverable via an 8-bit type identifier and may contain a number of
    blocks of memory mapped registers in the CDMM region. IRQs are expected
    to be handled separately.

    Due to the per-cpu (per-VPE for MT cores) nature of the CDMM devices,
    all the driver callbacks take place from workqueues which are run on the
    right CPU for the device in question, so that the driver doesn't need to
    be as concerned about which CPU it is running on. Callbacks also exist
    for when CPUs are taken offline, so that any per-CPU resources used by
    the driver can be disabled so they don't get forcefully migrated. CDMM
    devices are created as children of the CPU device they are attached to.

    Any existing CDMM configuration by the bootloader will be inherited,
    however platforms wishing to enable CDMM should implement the weak
    mips_cdmm_phys_base() function (see asm/cdmm.h) so that the bus driver
    knows where it should put the CDMM region in the physical address space
    if the bootloader hasn't already enabled it.

    A mips_cdmm_early_probe() function is also provided to allow early boot
    or particularly low level code to set up the CDMM region and probe for a
    specific device type, for example early console or KGDB IO drivers for
    the EJTAG Fast Debug Channel (FDC) CDMM device.

    Signed-off-by: James Hogan
    Cc: Greg Kroah-Hartman
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/9599/
    Signed-off-by: Ralf Baechle

    James Hogan
     

10 Jun, 2014

1 commit


07 Apr, 2014

1 commit

  • Pull module updates from Rusty Russell:
    "Nothing major: the stricter permissions checking for sysfs broke a
    staging driver; fix included. Greg KH said he'd take the patch but
    hadn't as the merge window opened, so it's included here to avoid
    breaking build"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    staging: fix up speakup kobject mode
    Use 'E' instead of 'X' for unsigned module taint flag.
    VERIFY_OCTAL_PERMISSIONS: stricter checking for sysfs perms.
    kallsyms: fix percpu vars on x86-64 with relocation.
    kallsyms: generalize address range checking
    module: LLVMLinux: Remove unused function warning from __param_check macro
    Fix: module signature vs tracepoints: add new TAINT_UNSIGNED_MODULE
    module: remove MODULE_GENERIC_TABLE
    module: allow multiple calls to MODULE_DEVICE_TABLE() per module
    module: use pr_cont

    Linus Torvalds
     

13 Mar, 2014

1 commit

  • Commit 78551277e4df5: "Input: i8042 - add PNP modaliases" had a bug, where the
    second call to MODULE_DEVICE_TABLE() overrode the first resulting in not all
    the modaliases being exposed.

    This fixes the problem by including the name of the device_id table in the
    __mod_*_device_table alias, allowing us to export several device_id tables
    per module.

    Suggested-by: Kay Sievers
    Acked-by: Greg Kroah-Hartman
    Cc: Dmitry Torokhov
    Signed-off-by: Tom Gundersen
    Signed-off-by: Rusty Russell

    Tom Gundersen
     

19 Feb, 2014

2 commits

  • The x86 CPU feature modalias handling existed before it was reimplemented
    generically. This patch aligns the x86 handling so that it
    (a) reuses some more code that is now generic;
    (b) uses the generic format for the modalias module metadata entry, i.e., it
    now uses 'cpu:type:x86,venVVVVfamFFFFmodMMMM:feature:,XXXX,YYYY' instead of
    the 'x86cpu:vendor:VVVV:family:FFFF:model:MMMM:feature:,XXXX,YYYY' that was
    used before.

    Signed-off-by: Ard Biesheuvel
    Acked-by: H. Peter Anvin
    Signed-off-by: Greg Kroah-Hartman

    Ard Biesheuvel
     
  • This patch adds support for advertising optional CPU features over udev
    using the modalias, and for declaring compatibility with/dependency upon
    such a feature in a module.

    The mapping between feature numbers and actual features should be provided
    by the architecture in a file called which exports the
    following functions/macros:
    - cpu_feature(FEAT), a preprocessor macro that maps token FEAT to a
    numeric index;
    - bool cpu_have_feature(n), returning whether this CPU has support for
    feature #n;
    - MAX_CPU_FEATURES, an upper bound for 'n' in the previous function.

    The feature can then be enabled by setting CONFIG_GENERIC_CPU_AUTOPROBE
    for the architecture.

    For instance, a module that registers its module init function using

    module_cpu_feature_match(FEAT_X, module_init_function)

    will be probed automatically when the CPU's support for the 'FEAT_X'
    feature is advertised over udev, and will only allow the module to be
    loaded by hand if the 'FEAT_X' feature is supported.

    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Greg Kroah-Hartman

    Ard Biesheuvel
     

08 Feb, 2014

1 commit

  • Commit afe2dab4f6 ("USB: add hex/bcd detection to usb modalias generation")
    changed the routine that generates alias ranges. Before that change, only
    digits 0-9 were supported; the commit tried to fix the case when the range
    includes higher values than 0x9.

    Unfortunately, the commit didn't fix the case when the range includes both
    0x9 and 0xA, meaning that the final range must look like [x-9A-y] where
    x = 0xA -- instead the [x-9A-x] range was produced.

    Modprobe doesn't complain as it sees no difference between no-match and
    bad-pattern results of fnmatch().

    Fixing this simple bug to fix the aliases.
    Also changing the hardcoded beginning of the range to uppercase as all the
    other letters are also uppercase in the device version numbers.

    Fortunately, this affects only the dvb-usb-dib0700 module, AFAIK.

    Signed-off-by: Jan Moskyto Matejka
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Jan Moskyto Matejka
     

11 Jul, 2013

1 commit

  • Pull kbuild updates from Michal Marek:
    - fix for make headers_install argv explosion with too long path
    - scripts/setlocalversion does not call git update-index needlessly
    - fix for the src.rpm produced by make rpm-pkg. The new make
    image_name can be useful also for other packaging tools.
    - scripts/mod/devicetable-offsets.o is not rebuilt during each make run
    - make modules_install dependency fix
    - scripts/sortextable portability fix
    - fix for kbuild to generate the output directory for all object files
    in subdirs.
    - a couple of minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: create directory for dir/file.o
    tools/include: use stdint types for user-space byteshift headers
    Makefile: Fix install error with make -j option
    Fix a build warning in scripts/mod/file2alias.c
    improve modalias building
    scripts/mod: Spelling s/DEVICEVTABLE/DEVICETABLE/
    kbuild: fix error when building from src rpm
    scripts/setlocalversion on write-protected source tree
    Makefile.lib: align DTB quiet_cmd
    kbuild: fix make headers_install when path is too long

    Linus Torvalds
     

04 Jul, 2013

1 commit

  • Add RapidIO-specific modalias generation to enable udev notifications
    about RapidIO-specific events.

    The RapidIO modalias string format is shown below:

    "rapidio:vNNNNdNNNNavNNNNadNNNN"

    Where:
    v - Device Vendor ID (16 bit),
    d - Device ID (16 bit),
    av - Assembly Vendor ID (16 bit),
    ad - Assembly ID (16 bit),

    as they are reported in corresponding Capability Registers (CARs)
    of each RapidIO device.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Cc: Stef van Os
    Cc: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

03 Jul, 2013

1 commit

  • On some systems, __used is already defined in sys/cdefs.h and causes
    a build warning:

    scripts/mod/file2alias.c:85:1: warning: "__used" redefined
    In file included from /usr/include/stdio.h:64,
    from scripts/mod/modpost.h:1,
    from scripts/mod/file2alias.c:13:
    /usr/include/sys/cdefs.h:146:1: warning: this is the location of the previous definition

    This adds an extra check before defining the __used macro to see if
    the macro was already defined elsewhere.

    Signed-off-by: Daniel Tang
    Signed-off-by: Michal Marek

    Daniel Tang
     

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
     

25 Jan, 2013

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
     

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

1 commit

  • 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
     

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 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
     

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