20 May, 2019

3 commits

  • It's based off the driver from the OLPC kernel sources. Somewhat
    modernized and cleaned up, for better or worse.

    Modified to plug into the olpc-ec driver infrastructure (so that battery
    interface and debugfs could be reused) and the SPI slave framework.

    Signed-off-by: Lubomir Rintel
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Andy Shevchenko

    Lubomir Rintel
     
  • Just a cosmetic tidy-up.

    Signed-off-by: Lubomir Rintel
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Andy Shevchenko

    Lubomir Rintel
     
  • Move the olpc-ec driver away from the X86 OLPC platform so that it could be
    used by the ARM based laptops too. Notably, the driver for the OLPC battery,
    which is also used on the ARM models, builds on this driver's interface.

    It is actually plaform independent: the OLPC EC commands with their argument
    and responses are mostly the same despite the delivery mechanism is
    different.

    Signed-off-by: Lubomir Rintel
    Acked-by: Pavel Machek
    Signed-off-by: Andy Shevchenko

    Lubomir Rintel
     

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
     

16 Aug, 2013

1 commit

  • This patch replace some magic numbers. I believe it makes
    the driver more readable.

    The magic number 0x26 is the XO system embedded controller
    (EC) command 'DCON power enable/disable'.

    Number 0x41, and 0x42 are special memory controller settings
    register. The 0x41 initialize bit sequence 0x101 means:
    enable memory power down function and special SDRAM clock
    delay for synchronize SDRAM output and clock signal.

    The 0x42 initialize squence 0x101 is wrong. According to
    the specification Bit 8 is reserved, thus not in use.
    I removed it.

    Signed-off-by: Jens Frederich
    Signed-off-by: Greg Kroah-Hartman

    Jens Frederich
     

01 Aug, 2012

3 commits

  • The 1.75-based OLPC EC driver already does this; let's do it for all EC
    drivers. This gives us nice suspend/resume hooks, amongst other things.

    We want to run the EC's suspend hooks later than other drivers (which may
    be setting wakeup masks or be running EC commands). We also want to run
    the EC's resume hooks earlier than other drivers (which may want to run EC
    commands).

    Signed-off-by: Andres Salomon
    Acked-by: Paul Fox
    Reviewed-by: Thomas Gleixner

    Andres Salomon
     
  • This provides a new API allows different OLPC architectures to override the
    EC driver. x86 and ARM OLPC machines use completely different EC backends.

    The olpc_ec_cmd is synchronous, and waits for the workqueue to send the
    command to the EC. Multiple callers can run olpc_ec_cmd() at once, and
    they will by serialized and sleep while only one executes on the EC at a time.

    We don't provide an unregister function, as that doesn't make sense within
    the context of OLPC machines - there's only ever 1 EC, it's critical to
    functionality, and it certainly not hotpluggable.

    Signed-off-by: Andres Salomon
    Acked-by: Paul Fox
    Reviewed-by: Thomas Gleixner

    Andres Salomon
     
  • The OLPC EC driver has outgrown arch/x86/platform/. It's time to both
    share common code amongst different architectures, as well as move it out
    of arch/x86/. The XO-1.75 is ARM-based, and the EC driver shares a lot of
    code with the x86 code.

    Signed-off-by: Andres Salomon
    Acked-by: Paul Fox
    Reviewed-by: Thomas Gleixner

    Andres Salomon