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>
6 files changed