mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-01 01:14:19 -04:00
50da8d04ee52a0700ec6686e745379578246a9fb
The MAX8903 uses up to 5 different GPIO lines to control and
monitor charging.
When converting to use GPIO descriptors instead of the old
GPIO numbers the following side-refactorings were done:
- Decomission the platform data container struct as all
GPIO descriptors are now "live" members of the driver
state container. The "dc_valid" and "usb_valid" just
indicate the presence of a DC or USB charger detection
line, and this can be handled by just checking if
the optional GPIO descriptor for each is != NULL.
- The gpiolib will now respect the GPIO_ACTIVE_LOW flag
for each of the lines, meaning gpiod_get_value() for example
will return 1 (asserted) if a line is flagged as
active low and is also physically low. The same applies
to output lines, vice versa mutatis mutandis. The code
has been augmented to account for this in all sites.
- The terse parenthesis such as this:
gpio_set_value(pdata->cen, ta_in ? 0 :
(data->usb_in ? 0 : 1));
have been expanded to more readable if / else if / else
statements that are easier for humans to read.
- Comments were inserted to underscore polarity in each
case where it could be confusing to users of the old code.
One thing is notable: the device tree bindings does not show
an example of polarity assigned for the line "dcm-gpios"
DC current monitor, is assumed to be flagged GPIO_ACTIVE_HIGH
and driving it high (asserted) will achieve DC charger current
limits and driving it low will achieve USB charger current
limits. Device trees with this (optional) GPIO line defined
should definately be flagged as GPIO_ACTIVE_HIGH.
Cc: Chris Lapa <chris@lapa.com.au>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97%
Assembly
1%
Shell
0.6%
Rust
0.5%
Python
0.4%
Other
0.3%