02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

20 Oct, 2015

1 commit


26 Aug, 2015

1 commit

  • When snd_hdac_refresh_widget_sysfs() is called before the first
    hda_widget_sysfs_init(), the next call overrides and eventually
    fails. This results in unexpected Oops, something like:
    BUG: unable to handle kernel NULL pointer dereference at 00000000000000c8
    IP: [] hdmi_chmap_ctl_info+0x23/0x40

    The fix is to add a check of the existing sysfs tree. Also, for more
    safety, this patch adds the checks of device_is_registered() in
    snd-hdac_refresh_wdiget_sysfs(), too.

    Fixes: fa4f18b4f402 ('ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs')
    Bugizlla: https://bugzilla.kernel.org/show_bug.cgi?id=103431
    Reported-by: Andreas Reis
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

09 Jul, 2015

1 commit


13 Apr, 2015

1 commit


08 Apr, 2015

1 commit


23 Mar, 2015

1 commit

  • This patch changes the sysfs files assigned to the codec device on the
    bus which were formerly identical with hwdep sysfs files. Now it
    shows only a few core parameter, vendor_id, subsystem_id, revision_id,
    afg, mfg, vendor_name and chip_name.

    In addition, now a widget tree is added to the bus device sysfs
    directory for showing the widget topology and attributes. It's just a
    flat tree consisting of subdirectories named as the widget NID
    including various attributes like widget capability bits. The AFG
    (usually NID 0x01) is always found there, and it contains always
    amp_in_caps, amp_out_caps and power_caps files. Each of these
    attributes show a single value. The rest are the widget nodes
    belonging to that AFG. Note that the child node might not start from
    0x02 but from another value like 0x0a.

    Each child node may contain caps, pin_caps, amp_in_caps, amp_out_caps,
    power_caps and connections files. The caps (representing the widget
    capability bits) always contain a value. The rest may contain
    value(s) if the attribute exists on the node. Only connections file
    show multiple values while other attributes have zero or one single
    value.

    An example of ls -R output is like below:
    % ls -R /sys/bus/hdaudio/devices/hdaudioC0D0/
    /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/:
    01/ 04/ 07/ 0a/ 0d/ 10/ 13/ 16/ 19/ 1c/ 1f/ 22/
    02/ 05/ 08/ 0b/ 0e/ 11/ 14/ 17/ 1a/ 1d/ 20/ 23/
    03/ 06/ 09/ 0c/ 0f/ 12/ 15/ 18/ 1b/ 1e/ 21/

    /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/01:
    amp_in_caps amp_out_caps power_caps

    /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/02:
    amp_in_caps amp_out_caps caps connections pin_caps pin_cfg
    power_caps

    /sys/bus/hdaudio/devices/hdaudioC0D0/widgets/03:
    .....

    Signed-off-by: Takashi Iwai

    Takashi Iwai