summaryrefslogtreecommitdiff
path: root/meta-ibm/recipes-phosphor
AgeCommit message (Collapse)AuthorFilesLines
2023-11-07ledmanager: Disable persistent-led-asserted by defaultGeorge Liu1-1/+1
Since not all systems start persistent-led-asserted by default, persistent-led-asserted should be disabled by default in Yocto. However, IBM’s p10 machine needs to be enabled by default. Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I9b5302f541bf814f96d5af7d20662b5bfcc4e6a8
2023-11-03meta-ibm: p10bmc: set windows-num overrideAndrew Geissler1-0/+1
p10bmc machines utilize the reserved 64MB of memory for both HIOMAP and MCTP transport implementations. HIOMAP gets the first 63MB and MCTP gets the last 1MB. Tested: - Confirmed mboxd started with "--window-num 63" parameter Change-Id: I2f82875da4b75dbcc4fdd59e9dcea8f0fc46154a Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-11-01meta-ibm: sbp1: ipmi-net: Update ALT_RMCPP_IFACENaresh Solanki1-0/+6
SBP1 BMC has two network interface i.e., eth0/1. Update ALT_RMCPP_IFACE to eth1. TEST=Build for sbp1, check working of IPMI command: ipmitool -C 17 -H 10.93.130.28 -U root -P 0penBmc -I lanplus \ fru print Change-Id: Ibb2325b7b0760f2dfd1057a908100a98098eb774 Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
2023-10-25meta-ibm: system1: enable bmcweb redfish logsAndrew Geissler1-0/+1
Tested: - Confirmed logs present under /redfish/v1/Managers/bmc/LogServices/EventLog/Entries Change-Id: I88daf714e2422924f4a6906d906f0d535d036869 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-25meta-ibm: system1: increase bmcweb upload limitAndrew Geissler1-0/+4
System1 will utilize the large EMMC configuration seen on p10bmc machines so increase its http body limit to match what p10bmc gets via its meta-openpower distro feature override. Tested: - Confirmed a large image upload worked Change-Id: I4d164c3ffb5176cd4fdc5d4c55a268ca71018afe Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-24meta-ibm: pldm: force mctp-demuxPatrick Williams1-0/+3
IBM systems are not ready to transition to the in-kernel MCTP, so force the mctp-demux transport. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I76c635e0ea8e3ce6101fdc882836ca7142dce12f
2023-10-24meta-ibm: override mctp default binding for IBM systemsManojkiran Eda1-0/+12
This commit would override the default null binding with astlpc binding for IBM p10 systems. Tested: - Built the rootfs of both tacoma & p10bmc and made sure the right configuration of mctp is placed in /etc/default location. Change-Id: I446be5ed1ceab44ba914a22d437d65f09b4a77f8 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
2023-10-24meta-ibm: Add libmctp to witherspoon-tacoma rootfsManojkiran Eda1-1/+1
Usage of libmctp is deprecated, and ideally, we would want to be using the in-kernel implementation of mctp (more so as the upstream pldm repo already supports it). But, IBM would probably want some more time before it consumes the in-kernel mctp implementation as the majority of the apps in p10bmc still relies on the libmctp API's to communicate with host. This would be a patch to just fix the broken image temporarily until we migrate to the in-kernel implementation. Change-Id: I6aaf52cd8ce83cd2263af161d94213ab80fe383a Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
2023-10-19meta-ibm: system1: add conf file for obmc-console-clientAndrew Geissler2-0/+5
Required for SOL support Tested: - Confirmed expected conf file was in system1 image Change-Id: I3b655b7cf46d1fb06b2b72d3531dccb7a37717ad Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-19meta-ibm: system1: add in network IPMI supportAndrew Geissler3-0/+185
System1 requires out of band IPMI management so configure some defaults for it. Tested: - Confirmed ipmitool could communicate with system1 out of band with "chassis power status" command Change-Id: Ie52a08ac4861ada682984a5ae695d82d9bb1c31e Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-19meta-ibm: p10bmc:system1: fix power workaroundAndrew Geissler1-2/+2
The variable used to override a portion of the phosphor-skeleton power recipe changed name in the base recipe. Need to adapt our override in meta-ibm layer to match. Tested: - Confirmed the org.openbmc.control.Power instance service was not present on system1 Change-Id: Icd48020cfd2c0a954b79b264b153e71fede9904a Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-19meta-ibm: system1: enable hwmontempsensorAndrew Geissler1-0/+1
Will be utilized to read sensors off of the mudflap panel Change-Id: Ie894f39ae22629fee33b17ab4504969c1a15366f Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-12meta-ibm: Add phosphor-virtual-sensorPatrick Rudolph2-0/+178
Enable virtual sensor to: - provide sensor 'total_power' - expose QSFP temperature sensors to webui Change-Id: I13c64cd9891aee11019dd85a6fa2158482a38c67 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-10-12meta-ibm: system1: add phosphor-powerChris Cain1-0/+1
Add phosphor-power to use the standard GPIOs to initiate power on/off and check pgood. Tested with multiple obmcutil chassison / chassisoff loops Change-Id: I7a03fc40a60513003ed8ebfdb5b5bdbcf80a676b Signed-off-by: Chris Cain <cjcain@us.ibm.com>
2023-10-11meta-phosphor: packagegroup-obmc-apps: simplify software packagePatrick Williams1-4/+4
Eliminate the variable indirection for the package content. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I016e6aa370e7d62e20484af4e91250b38c4c01a0
2023-10-11treewide: clean up webui selectionPatrick Williams1-2/+0
The webui-vue package is now enabled by default. Clean up all the meta layers to clean up the explicit enablement. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4895be56c70d2c8666dd96cec18d2c097f0c05a3
2023-10-05meta-ibm: system1: enable side switch featureAsmitha Karunanithi2-0/+2
This commit enables side switching feature between images on IBM systems. Change-Id: I837d23a56e723f0596004e80fbb5834af536d9ee Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
2023-10-05libmctp: Drop 'astlpc-raw-kcs' PACKAGECONFIG optionAndrew Geissler3-5/+2
Earlier the 'astlpc-raw-kcs' PACKAGECONFIG option was used to populate udev rules from the 'libmctp' repository to the system. Now udev rules are dropped from the repo in favor of a KCS device path argument provided via 'mctp' configuration file. Correct recipe file and all the affected platforms to this new approach. libmctp: srcrev bump 8803dc12a9..400766f943 Konstantin Aladyshev (1): astlpc: Provide KCS device path as a binding argument Change-Id: I480fe1f9d211dca6db29fbedb7836d469ad2ee02 Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com> Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
2023-10-04meta-ibm: system1: add dbus-sensors with adcsensorAndrew Geissler1-0/+4
system1 will utilize the AST2600 ADC engine for the RTC battery reading as well as for some lab debug. Change-Id: I6313af29b277371417128ad2008e399f8cabba22 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-10-04meta-ibm: p10bmc: Added adcsensor to dbus-sensorsTom Ippolito1-1/+4
Change-Id: I54f1719b12a0c8429cb1e793adacfb1153e1a7c9 Signed-off-by: Tom Ippolito <thomas.ippolito@ibm.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-09-28meta-ibm: system1: add in basic chassis power controlAndrew Geissler1-0/+20
Need to eventually get full chassis power support in but for now, to allow BMC Ready, just put in the basic skeleton power control. Change-Id: I8647b11acb472662a40b986f23d28aa3e6a4d8d5 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-09-28meta-ibm: consolidate network device mappingsAndrew Geissler5-7/+22
Move to a common file for all platforms that use the common mapping of ethernet0 and ethernet1. This was done as an optimization while adding system1 support in. Tested: - Confirmed sbp1 and system1 had correct common file - Confirmed witherspoon had it's specific ibm-ac-server file Change-Id: Id96ac9f669fa5cf1241958c5d2d958a95065b25e Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-09-28meta-ibm: utilize new webui IMAGE_FEATUREAndrew Geissler2-2/+4
Remove RDEPENDS usage to bring in the webui and move to the new IMAGE_FEATURE Tested: - Confirmed system1 has webui Change-Id: I942509a3b5db2de8caf693f81f78850afd90f58d Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-09-28meta-ibm: sbp1: Enable ipmbsensorPatrick Rudolph1-0/+1
Enable ipmbsensor to read Intel PCH temperature over IPMB. Tested: After updating entitymanager config the temperature can be read using ipmbsensor. Change-Id: Ifd57dcf380267a5b009c48da1fac960106ded901 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-09-28meta-ibm: sbp1: Configure phosphor-ipmi-ipmbPatrick Rudolph3-0/+19
phosphor-ipmi-ipmb is used for Intel ME communication to get thermal sensor data and to set Intel ME into recovery mode when doing an x86 BIOS update. Tested: Intel ME responds to commands and returns thermal sensor data. Change-Id: Ie4fadafdc98d611420629011a38922cd11692d41 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-09-26meta-ibm: p10bmc: add entity-manager into imageAndrew Geissler1-1/+1
p10bmc utilizes entity-manager in a variety of ways. For examples, openpower-process-host-firmware.service depends on EM's compatible name. IBM is moving more and more of it's inventory function over to EM so add it in by default to p10bmc images. Change-Id: I0b97a90009e058694f88aec6b7d9bb48a7040419 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-09-21meta-ibm: Add FabricAdapter Port Association ExamplesMyung Bae2-0/+48
Add some example port associations to support FabricAdapter and Port. The assocication is defined by https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/62881. FRU examples are added via https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/66540 These associations will be used for bmcweb Port schema implementation. Tested: - Verify bmcweb Port schema https://gerrit.openbmc.org/c/openbmc/bmcweb/+/61097 Change-Id: I8e892f029210d5391456e0ff5827b3d6a18d9c7a Signed-off-by: Myung Bae <myungbae@us.ibm.com>
2023-09-13meta-ibm: Add missing Bonnell device calloutsMatt Spinler1-54/+198
A few paths were missing callouts Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I617085b4a1305ed264f8008b4577567d93e7150e
2023-09-13meta-ibm: Remove PS input_history associationsMatt Spinler3-170/+0
On Rainier and Everest the code to put the power supply input history maximum and average values on D-Bus is being removed and replaced with a single peak input power sensor. Remove the associations to them since they are no longer around. Note: The associations for the new sensor will be handled by the psu-monitor application. Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I07bb6523f60be0e56db5d85932da9193719c7406
2023-09-08meta-ibm: meta-sbp1: Enable nvmesensorPatrick Rudolph1-0/+1
The NVMe SSDs on the ruler drives are already found by FruDevice. Enable nvmesensor to read temperatures as soon as the x86 is powered on. Change-Id: I2191f909ab1b9e4bc79ae0d24de9042fe54291eb Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-08-29meta-ibm: Add Bonnell device callouts fileMatt Spinler2-0/+1028
This file is used to know which location codes to call out in error logs when I2C and other accesses fail. There are still a few missing callouts, but most are there. Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ic0c61e362c5dcab4d374168da84bb7128d0bb22e
2023-08-23meta-ibm: remove ibm-loggingPatrick Williams1-67/+0
There is no in-tree user of this package. Remove it so we can archive the repository. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I777ac0e0ffaf14508a49d5160831e59d3044fe5e
2023-08-16meta-ibm:wspoon: Use gpioset in power-supply-syncMatt Spinler1-1/+5
The phosphor-gpio-util that was being used was a custom tool that can be replaced by gpioset. It was also just removed from its repo. The service now has to be a oneshot because otherwise it isn't allowed to have multiple ExecStart lines. Tested: Powered on multiple times, ensured the power supply input history was cleared on each power on. Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ib181c67b70e2feb109c1a2aabba8d046e7dfe380
2023-08-16meta-ibm/recipes-phosphor/console: Set socket-id to defaultPatrick Rudolph2-0/+6
Makes SOL and obmc-console-client working again. Change-Id: I3d98319c2278794ba3db9ace4c89932c305d66d8 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-08-16meta-ibm/sbp1: Configure dbus-sensorsPatrick Rudolph1-0/+9
Change-Id: I2a3e8bb54e07fc9d3e7b9bbc400c98c44f8d2810 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-08-16meta-ibm/sbp1: Enable backup flashPatrick Rudolph1-1/+6
Change-Id: I55bc9fc8195b5954492d6ba31d9a2cbc10ddbfba Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-08-05meta-ibm: update admin user home directoryRavi Teja4-1/+47
currently admin user created with home directory '/' and there is an error while deleting admin user. this commit updates admin user home directory to /home/admin. Tested by: Notice admin home directory and Delete admin user Change-Id: I32210435ac0a94555d2f369e226df7e04f49d88c Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
2023-08-03meta-ibm: Use gpioset in reset-fan-watchdogMatt Spinler5-5/+2
The reset-fan-watchdog service needs to toggle a GPIO in order to unlock the fan watchdog circuit so fans can be controlled after the watchdog has expired and locked them at high speed. This gets called on every power on to bring the fans under control again in case the watchdog had expired on the previous boot. This was done previously using a custom application which used libgpiod under the covers, which was written before gpioset was around. Now that gpioset is available, just use it instead to toggle the GPIO so there's less custom code we have to worry about maintaining. The actual minimum timing requirement of the toggle is around 5ns, so the 1us being used by all the config files meets that. Tested: Expired the watchdog by stopping the fan-watchdog service, then powered off and back on and made sure the fans can still be controlled. Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ibd36ff17e83b57d521364f0092dfa1f5abf34856
2023-08-03meta-ibm/genesis3: Configure dbus-sensorsPatrick Rudolph1-0/+6
Change-Id: I5be5a644de26648d194b66ae70148201b4dafd58 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-08-01meta-ibm:sensors:p10bmc: Modify ACBEL READ_VOUT labelFaisal Awada2-4/+4
Modify ACBEL PSU configuration file to read output voltage from sysfs in2_label and to read the output current from curr2_label. Testing: Placed the modified config file in /etc//default/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@200/power-supply@5a.conf then verified the output voltage and current output shows up on the BMC sensors web page and redfish. Change-Id: Iacf1469295b99f6a7363d26983786f9c7ed8826a Signed-off-by: Faisal Awada <faisal@us.ibm.com>
2023-07-28meta-ibm/genesis3: Include the meta-ibm layerPatrick Rudolph4-9/+9
Adjust meta-ibm to add support for the new machine. Change-Id: I2eb61f3d9c85c23b16f026f8f9eb4506c78e97ad Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-07-21meta-ibm: Set Dbus timeout for PLDM to 10 secondsvkaverap@in.ibm.com1-0/+7
Dbus timeout for PLDM is set to 5 secs. After reset reload BMC is too busy and cannot return in 5 secs. Increasing the dbus timeout value to 10 seconds to address this issue. Change-Id: I1f513062a617d53061ec3e0a4aca03c996f11d0e Signed-off-by: vkaverap@in.ibm.com <vkaverap@in.ibm.com>
2023-07-20ipmi-fru-parser: srcrev bump 06514028f8..7153343816Andrew Geissler1-7/+3
Patrick Williams (6): clang-format: copy latest and re-format writefrudata: remove vla strgfnhandler: suppress unused parameter warnings frup: suppress stringop-truncation warning scripts: accept absolute paths to YAML build: enable meson builds build: install strgfnhandler into ipmi-providers dir Vernon Mauery (1): Set new maintainer as Patrick Williams Willy Tu (1): fru-parser: Remove the use of mktime Switch to Meson. Change-Id: Iec9c41cc17a72f84248b8cd75f70353e053f17e2 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
2023-07-18meta-ibm: only use openpower bbappend when including layerAndrew Geissler7-62/+0
There is a desire to add non-openpower systems to the meta-ibm layer. To do that, need to ensure the bbappend files that are appending to openpower recipes are only included if the machine being built includes the meta-openpower layer. Tested: - Confirmed a system not including meta-openpower builds ok with this - Confirmed p10bmc still uses the bbappend files Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I32a08e9f20a20152d51c77cdfca6bbc15b5e93d4
2023-07-12meta-ibm: Enable the proper power button profileMatt Spinler1-0/+1
Tell phosphor-buttons the proper power button profile to use for IBM p10bmc systems so it meets IBM's requirements. Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I48337c9b2d31c47c9e3aa0bfaa5f8ebda80e8577
2023-07-04meta-phosphor: libpldm: Rework ABI PACKAGECONFIG configurationAndrew Jeffery1-1/+1
Define three categories of ABI configuration via PACKAGECONFIG: 1. abi-production: Only deprecated and stable symbols are exposed 2. abi-maintenance: Only stable and testing symbols are exposed 3. abi-development: All deprecated, stable and testing symbols are exposed This makes it relatively straight-forward to perform broad testing for use of deprecated functions by setting `PACKAGECONFIG = "abi-maintenance"` in a `libpldm_%.bbappend` in the relevant meta layer. However, build for abi-production by default. Change-Id: I9df824e2543829dbe66a7203240e5367ffded3e3 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-06-20phosphor-state-manager: add PACKAGECONFIG optionsAndrew Geissler1-3/+4
Clearly define the optional features and their defaults within the PSM repo. Change-Id: Ibf466d9319b4176c816ef22c4cdbfd8cd693a90b Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2023-06-13meta-ibm: first-boot-disable-ipmi-net: Improve performanceAndrew Jeffery1-8/+5
The documentation for systemctl's `disable` verb[1] states: > This command implicitly reloads the system manager configuration after > completing the operation. Note that this command does not implicitly > stop the units that are being disabled. If this is desired, either > combine this command with the --now switch, or invoke the stop command > with appropriate arguments later. [1]: https://www.man7.org/linux/man-pages/man1/systemctl.1.html In simulation, reloads get expensive as they involve a bunch of IO. During boot, under qemu, such a reload can take on the order of 15 seconds. Further, Andrew Geissler states (no reference, private slack): > The service-config-manager is responsible for enabling and disabling > IPMI. On startup, it looks for the service and socket files via > systemd d-bus queries and caches in a file, /etc/srvcfg-mgr.json. If > you don’t run the services once on a fresh startup, > service-config-manager never sees them and therefore never provides a > way to enable/disable them. So on a fresh factory reset boot, you let > them start, service-config-manager sees them and caches them, and then > you disable them from there on out. As evidenced by the `After` statements in the unit, the expectation is that the units we're disabling have already been started. The documentation for systemctl's `mask` verb[1] provides a useful perspective: > Mask one or more units, as specified on the command line. This will > link these unit files to /dev/null, making it impossible to start > them. This is a stronger version of disable, since it prohibits all > kinds of activation of the unit, including enablement and manual > activation. The key insight here is the `disable` keyword tends to best be used to prevent the unit from being started as part of a given target, e.g. the default target. Given that we would only need to reload the systemd configuration to prevent the units from being started as part of a default target, and the fact that they must have already been started in accordance with `After` directive, there's no need to force an immediate reload of the systemd configuration upon disabling the units. Further, it's possible to combine the stop and the disable operation into one with `--now` as demonstrated in the `disable` documentation above. And finally, as the disable verb takes a unit PATTERN and not a singular unit, we can compress the operation down to a single invocation. Tested: 1. Booted up fresh p10bmc (factory reset), verified IPMI disabled by default via Redfish API 2. Enabled IPMI via Redfish API, verified bmcweb indicated IPMI enabled and services running 3. Rebooted BMC, verified IPMI was still enabled after BMC reboot 4. Disabled IPMI over Redfish, rebooted BMC, confirmed IPMI was still disabled Change-Id: I0926e9d16a56c2f022e415f4f40c35695dd155b8 Tested-by: Andrew Geissler <geissonator@yahoo.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-06-13meta-ibm: first-boot-disable-ipmi-net: Fix unit conditionAndrew Jeffery1-2/+1
The [Service] section specifies: ``` ExecStart=/bin/touch /var/lib/ipmi-net-disable-one-time ``` However, the [Unit] section specifies the following condition: ``` ConditionFileNotEmpty=!/var/lib/ipmi-net-disable-one-time ``` The documentation for ConditionFileNotEmpty[1] states: > ConditionFileNotEmpty= is similar to ConditionPathExists= but verifies > that a certain path exists and refers to a regular file with a > non-zero size. [1]: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#ConditionFileNotEmpty= And the documentation for `touch`[2] states: > A FILE argument that does not exist is created empty, unless -c or -h > is supplied. [2]: https://www.man7.org/linux/man-pages/man1/touch.1.html Neither `-c` nor `-h` are supplied, therefore the ExecStart= directive will create an empty file. As the ConditionFileNotEmpty= directive is negated the condition will always pass: Either the file doesn't exist, or it does exist and is empty. Therefore, as configured, this unit always runs. Always running the unit is counter to its 'one-time' name. Switch to `ConditionPathExists=`[3] to enforce the one-time nature. [3]: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#ConditionPathExists= Change-Id: I1a8418a03c4fb9c6754f72f8651384b2f7e17715 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-06-09meta-ibm: enable only-allow-boot-when-bmc-ready featureAndrew Geissler1-0/+3
IBM systems do not want to allow boot operations unless the BMC is in the Ready state Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ic28cb6df9e7f803998a3fb380b3236ed31d6d4ec