tree 86f5de9d15fb6eb74b05441eefa19a50e6579a6b
parent d74c56ece3719d77fbcf8312fcf8816732404bce
author Joel Stanley <joel@jms.id.au> 1504597473 +1000
committer Brad Bishop <bradleyb@fuzziesquirrel.com> 1521837851 +0000

kernel: Move to 4.13 kernel

We have 236 commits, 127 files changed, 17766 insertions(+), 2128
deletions(-). Some of these are backports from upstream. This list
does not include patches from the 4.13 stable releases, but we do
include those in the dev-4.13 branch.

     1  Alexey Khoroshilov
    34  Andrew Jeffery
     1  Arnd Bergmann
     1  Benjamin Herrenschmidt
     1  Bhumika Goyal
     1  Brad Bishop
     1  Brendan Higgins
     11  Christopher Bostic
     1  Cyril Bur
    14  Cédric Le Goater
    49  Edward A. James
     3  Gavin Shan
     1  Guenter Roeck
     8  Ivan Mikhaylov
     1  Jacek Anaszewski
     1  James Feist
     7  Jeremy Kerr
    72  Joel Stanley
     2  Julia Lawall
     1  Ken Chen
     6  Lei YU
     3  Milton Miller
     1  Mykola Kostenok
     1  Patrick Venture
     2  Philipp Zabel
     1  Rick Altherr
    11  Samuel Mendoza-Jonas
     2  Wei Yongjun
     1  Xo Wang
     1  Yong Li

Note that the 4.13 branch is EOL'd by the Linux community, and as such
should not be used for any products beyond development.

React to removal of occ hwmon instances from device trees with a
new startup/shutdown mechanism for phosphor-hwmon.

To fix this, a helper script will be used to start the service that
will pass the service the device tree name if it is present, or the
udev device path if it isn't.  This script will still run from the
udev rule as before, but it will stop and start the service itself
without using the SYSTEMD_WANTS attribute.

As the path to the hwmon environment file matches the service
template argument, the paths for the OCC .conf files need to change
to match the device path instead of the previous device tree path.

Note that the pure device path would have the hwmon instance number
in it, but since that can't be known ahead of time it is stripped
off by the script that starts the service.

In addition, the pure device path for the OCCs contain several
':'s, meaning the associated environment files would also need to.
However, Yocto/Bitbake cannot handle a ':' in a file path, so they
are converted to '--'s by the script that starts the service and
phosphor-hwmon will convert them back internally when it starts.

The service file also needed some changes now that the service
lifetime is no longer controlled by systemd via SYSTEMD_WANTS.

This script will be called by a udev rule to start and
stop phosphor-hwmon when the hwmon device driver is started
and stopped.

It is passed both the device path and the OF_FULLNAME device
tree attribute.  If OF_FULLNAME is present, it will start the
service with that as its template argument, otherwise it will
use the device path.  This is to handle devices that aren't in
the device tree so they won't have OF_FULLNAME.

If a '/hwmon/hwmonN' is in the path it is removed, as this path
is also used as a path to an environment file and so must be
known ahead of time, which the hwmon instance N is not.

If there is a ':' in the path name, it is converted to a '--'.
Yocto/Bitbake cannot handle a ':' in file paths.

Resolves openbmc/openbmc#2953

Change-Id: I815be4d6d9e1cbea8428bb1bb8c332776ee71ece
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
