09 Sep, 2020

1 commit

  • If something goes wrong (such as the SCL being stuck low) then we need
    to reset the PCA chip. The issue with this is that on reset we lose all
    config settings and the chip ends up in a disabled state which results
    in a lock up/high CPU usage. We need to re-apply any configuration that
    had previously been set and re-enable the chip.

    Signed-off-by: Evan Nimmo
    Reviewed-by: Chris Packham
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Wolfram Sang

    Evan Nimmo
     

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
     

06 Oct, 2012

1 commit

  • The parameter passed to pca9665_reset is adap->data (which is bus driver
    specific), not i2c_algp_pca_data *adap. pca9665_reset expects it to be
    i2c_algp_pca_data *adap. All other wrappers from the algo call back to
    the bus driver, which knows to handle its custom data. Only pca9665_reset
    resides inside the algorithm code and does not know how to handle a custom
    data structure. This can result in a kernel crash.

    Fix by re-factoring pca_reset() from a macro to a function handling chip
    specific code, and only call adap->reset_chip() if the chip is not PCA9665.

    Signed-off-by: Thomas Kavanagh
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wolfram Sang

    Thomas Kavanagh
     

29 Mar, 2009

1 commit


23 Apr, 2008

1 commit

  • The separation between algorithm and adapter was unsharp at places. This was
    partly hidden by the fact, that the ISA-driver allowed just one instance and
    had all private data in static variables. This patch makes neccessary
    preparations to add a platform driver on top of the algorithm, while still
    supporting ISA. Note: Due to lack of hardware, the ISA-driver could not be
    tested except that it builds.

    Concerning the core struct i2c_algo_pca_data:

    - A private data field was added, all hardware dependant data may go here.
    Similar to other algorithms, now a pointer to this data is passed to the
    adapter's functions. In order to make as less changes as possible to the
    ISA-driver, it leaves the private data empty and still only uses its static
    variables.

    - A "reset_chip" function pointer was added; such a functionality must come
    from the adapter, not the algorithm.

    - use a variable "i2c_clock" instead of a function pointer "get_clock",
    allowing for write access to a default in case a wrong value was supplied.

    In the algorithm-file:

    - move "i2c-pca-algo.h" into "linux/i2c-algo-pca.h"
    - now using per_instance timeout values (i2c_adap->timeout)
    - error messages specify the device, not only the driver name
    - restructure initialization to easily support "i2c_add_numbered_adapter"
    - drop "retries" and "own" (i2c address) as they were unused

    (The state-machine for I2C-communication was not touched.)

    In the ISA-driver:

    - adapt to new algorithm

    Signed-off-by: Wolfram Sang
    Signed-off-by: Jean Delvare

    Wolfram Sang
     

11 Dec, 2006

1 commit


29 Oct, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds