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
     

28 Jan, 2017

1 commit

  • Declare reset_control_ops as const as they are only stored in the ops
    field of a reset_controller_dev structure. This field is of type const
    struct reset_control_ops *, so reset_control_ops structures having this
    property can be declared as const.
    Done using Coccinelle:

    @r1 disable optional_qualifier@
    identifier i;
    position p;
    @@
    static struct reset_control_ops i@p={...};

    @ok1@
    identifier r1.i;
    position p;
    struct reset_controller_dev x;
    @@
    x.ops=&i@p;

    @bad@
    position p!={r1.p,ok1.p};
    identifier r1.i;
    @@
    i@p

    @depends on !bad disable optional_qualifier@
    identifier r1.i;
    @@
    +const
    struct reset_control_ops i;

    File size before: drivers/soc/dove/pmu.o
    text data bss dec hex filename
    2447 112 16 2575 a0f drivers/soc/dove/pmu.o

    File size after: drivers/soc/dove/pmu.o
    text data bss dec hex filename
    2479 80 16 2575 a0f drivers/soc/dove/pmu.o

    Signed-off-by: Bhumika Goyal
    Acked-by: Russell King
    Signed-off-by: Gregory CLEMENT

    Bhumika Goyal
     

08 Dec, 2015

1 commit

  • Add support for legacy non-DT Dove to the PMU driver, so that we can
    transition the legacy support over.

    [gregory.clement@free-electrons.com: removed pm_genpd_poweroff_unused]
    Acked-by: Arnd Bergmann
    Signed-off-by: Russell King
    Signed-off-by: Gregory CLEMENT

    Russell King
     

13 Oct, 2015

1 commit


16 Sep, 2015

1 commit

  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

14 Sep, 2015

2 commits


06 Aug, 2015

1 commit

  • The PMU device contains an interrupt controller, power control and
    resets. The interrupt controller is a little sub-standard in that
    there is no race free way to clear down pending interrupts, so we try
    to avoid problems by reducing the window as much as possible, and
    clearing as infrequently as possible.

    The interrupt support is implemented using an IRQ domain, and the
    parent interrupt referenced in the standard DT way.

    The power domains and reset support is closely related - there is a
    defined sequence for powering down a domain which is tightly coupled
    with asserting the reset. Hence, it makes sense to group these two
    together, and in order to avoid any locking contention disrupting this
    sequence, we avoid the use of syscon or regmap.

    This patch adds the core PMU driver: power domains must be defined in
    the DT file in order to make use of them. The reset controller can
    be referenced in the standard way for reset controllers.

    Signed-off-by: Russell King
    Signed-off-by: Andrew Lunn
    Signed-off-by: Gregory CLEMENT

    Russell King