Remove obmc-mrw machine feature

Using MRW or not is distro policy.  As such remove the obmc-mrw
machine feature.

Do not enable the remaining obmc-mrw distro feature in the base
phosphor distro configuration.

Create new distro configs for the systems that use MRW today
(i.e. Witherspoon) that enables the obmc-mrw distro feature and point
the local.conf.sample at the new distro configuration.

Change-Id: If4cedc745b3ee942518fbfd4d5cf2cd5b60f346d
Tested: Built a Witherspoon image and validate the manifest
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
index cbabdbe..b84be87 100644
--- a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
+++ b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
@@ -24,9 +24,9 @@
 PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config ?= "hostboot-inventory-config-native"
 PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout ?= "openpower-fru-vpd-layout-native"
 PREFERRED_PROVIDER_virtual/openpower-fru-inventory ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'openpower-fru-inventory-mrw-native', 'openpower-fru-inventory-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'openpower-fru-inventory-mrw-native', 'openpower-fru-inventory-example-native')}"
 PREFERRED_PROVIDER_virtual/openpower-fru-properties ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'openpower-fru-properties-mrw-native', 'openpower-fru-properties-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'openpower-fru-properties-mrw-native', 'openpower-fru-properties-example-native')}"
 
 # The openpower-occ-control application is data-driven and requires an input
 # yaml of OCC instance numbers to sensor IDs.
@@ -34,4 +34,4 @@
 # configuration files in the format and native sysroot location expected by
 # the openpower-occ-control build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/openpower-occ-control-config-native ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'openpower-occ-control-config-mrw-native', 'openpower-occ-control-config-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'openpower-occ-control-config-mrw-native', 'openpower-occ-control-config-example-native')}"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-stonewither/conf/local.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-stonewither/conf/local.conf.sample
index 1153d85..04fed7a 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-stonewither/conf/local.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-stonewither/conf/local.conf.sample
@@ -1,5 +1,5 @@
 MACHINE ??= "stonewither"
-DISTRO ?= "openbmc-phosphor"
+DISTRO ?= "openbmc-witherspoon"
 PACKAGE_CLASSES ?= "package_rpm"
 SANITY_TESTED_DISTROS_append ?= " *"
 EXTRA_IMAGE_FEATURES = "debug-tweaks"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/distro/openbmc-witherspoon.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/distro/openbmc-witherspoon.conf
new file mode 100644
index 0000000..27bf881
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/distro/openbmc-witherspoon.conf
@@ -0,0 +1,2 @@
+require conf/distro/include/phosphor-base.inc
+require conf/distro/include/openpower-mrw.inc
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/local.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/local.conf.sample
index 6e774ff..ca640ce 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/local.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/local.conf.sample
@@ -1,5 +1,5 @@
 MACHINE ??= "witherspoon"
-DISTRO ?= "openbmc-phosphor"
+DISTRO ?= "openbmc-witherspoon"
 PACKAGE_CLASSES ?= "package_rpm"
 SANITY_TESTED_DISTROS_append ?= " *"
 EXTRA_IMAGE_FEATURES = "debug-tweaks"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
index 806d534..0085a14 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
@@ -3,7 +3,7 @@
 
 UBOOT_MACHINE = "ast_g5_ncsi_config"
 
-OBMC_MACHINE_FEATURES += "obmc-mrw obmc-ubi-fs openpower-ubi-fs"
+OBMC_MACHINE_FEATURES += "obmc-ubi-fs openpower-ubi-fs"
 
 OBMC_POWER_SUPPLY_INSTANCES = "0 1"
 
diff --git a/meta-phosphor/common/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb b/meta-phosphor/common/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb
index ef14030..920f637 100644
--- a/meta-phosphor/common/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb
+++ b/meta-phosphor/common/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb
@@ -11,7 +11,7 @@
 
 # Generate a YAML files based on MRW input
 do_install_append() {
-    USE_MRW="${@cf_enabled(d, 'obmc-mrw', 'yes')}"
+    USE_MRW="${@df_enabled(d, 'obmc-mrw', 'yes')}"
     DEST=${D}${datadir}/phosphor-led-manager
 
     if [ "${USE_MRW}" = "yes" ]; then
diff --git a/meta-phosphor/common/recipes-phosphor/settings/phosphor-settings-manager.bb b/meta-phosphor/common/recipes-phosphor/settings/phosphor-settings-manager.bb
index 17f727a..a63a1f2 100644
--- a/meta-phosphor/common/recipes-phosphor/settings/phosphor-settings-manager.bb
+++ b/meta-phosphor/common/recipes-phosphor/settings/phosphor-settings-manager.bb
@@ -16,7 +16,7 @@
 DEPENDS += "python-mako-native"
 DEPENDS += "autoconf-archive-native"
 DEPENDS += "virtual/phosphor-settings-defaults"
-DEPENDS += "${@cf_enabled(d, 'obmc-mrw', 'phosphor-settings-read-settings-mrw-native')}"
+DEPENDS += "${@df_enabled(d, 'obmc-mrw', 'phosphor-settings-read-settings-mrw-native')}"
 DEPENDS += "sdbusplus sdbusplus-native"
 DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native"
 DEPENDS += "phosphor-logging"
@@ -48,7 +48,7 @@
     cmd.append(os.path.join(workdir, 'merge_settings.py'))
     cmd.append(os.path.join(settingsdir, 'defaults.yaml'))
     # Used for any settings from the MRW
-    use_mrw = cf_enabled(d, 'obmc-mrw', 'true')
+    use_mrw = df_enabled(d, 'obmc-mrw', 'true')
     if (use_mrw == 'true'):
         cmd.append(os.path.join(settingsdir, 'mrw-settings.override.yaml'))
 
diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc
index 345cf03..5e3583d 100644
--- a/meta-phosphor/conf/distro/include/phosphor-base.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-base.inc
@@ -25,7 +25,6 @@
         obmc-settings-mgmt \
         obmc-phosphor-system-mgmt \
         obmc-host-ipmi \
-        obmc-mrw \
         obmc-logging-mgmt \
         obmc-host-ctl \
         avahi \
diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc
index f654130..53588af 100644
--- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc
@@ -120,7 +120,7 @@
 # The phosphor-hwmon package can have its configuration generated
 # automatically if the MRW feature is enabled.
 VIRTUAL-RUNTIME_phosphor-hwmon-config ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-hwmon-config-mrw')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-hwmon-config-mrw')}"
 
 # obmc-settings-mgmt
 #
@@ -151,13 +151,13 @@
 # configuration files in the format and native sysroot location expected by
 # the phosphor-ipmi-fru build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-ipmi-fru-inventory-mrw-native', 'phosphor-ipmi-fru-inventory-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-ipmi-fru-inventory-mrw-native', 'phosphor-ipmi-fru-inventory-example-native')}"
 
 PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-properties ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-ipmi-fru-properties-mrw-native', 'phosphor-ipmi-fru-properties-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-ipmi-fru-properties-mrw-native', 'phosphor-ipmi-fru-properties-native')}"
 
 PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-read-inventory ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-ipmi-fru-read-inventory-mrw-native', 'phosphor-ipmi-fru-read-inventory-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-ipmi-fru-read-inventory-mrw-native', 'phosphor-ipmi-fru-read-inventory-example-native')}"
 
 # Configuration overrides for phosphor-host-ipmid.
 #
@@ -169,7 +169,7 @@
 # configuration files in the format and native sysroot location expected by
 # the phosphor-host-ipmid build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-ipmi-sensor-inventory-mrw-native', 'phosphor-ipmi-sensor-inventory-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-ipmi-sensor-inventory-mrw-native', 'phosphor-ipmi-sensor-inventory-native')}"
 
 # The phosphor-host-ipmid application is data-driven and requires an input
 # mapping of IPMI channel to DBus objects interfaces and properties.
@@ -184,7 +184,7 @@
 # configuration files in the format and native sysroot location expected by
 # the phosphor-host-ipmid build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-ipmi-inventory-sel ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-ipmi-inventory-sel-mrw-native', 'phosphor-ipmi-inventory-sel-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-ipmi-inventory-sel-mrw-native', 'phosphor-ipmi-inventory-sel-native')}"
 
 # Various other overrides.
 
@@ -194,7 +194,7 @@
 # configuration files in the format and native sysroot location expected by
 # the phosphor-led-manager build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-led-manager-config-mrw-native', 'phosphor-led-manager-config-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-led-manager-config-mrw-native', 'phosphor-led-manager-config-example-native')}"
 
 # The phosphor-logging application has a data driven plugin that adds FRU
 # callout information to error logs, when applications generating error logs
@@ -204,7 +204,7 @@
 # configuration files in the format and native sysroot location expected by
 # the phosphor-logging build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-logging-callouts ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-logging-callouts-mrw-native', 'phosphor-logging-callouts-example-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-logging-callouts-mrw-native', 'phosphor-logging-callouts-example-native')}"
 
 # The phosphor-fan-presence application is data driven and requires an
 # input YAML that maps fans to their tach sensors.
@@ -212,7 +212,7 @@
 # configuration files in the format and native sysroot location expected by
 # the phosphor-fan-presence build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-fan-presence-mrw-native', 'phosphor-fan-presence-config-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-fan-presence-mrw-native', 'phosphor-fan-presence-config-native')}"
 
 # The phosphor-fan-control application is data driven and requires a YAML
 # file to define the fans in the system.
@@ -220,7 +220,7 @@
 # the YAML file in the format and native sysroot location expected by
 # the phosphor-fan-control build process in the native sysroot.
 PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config ?= \
-    "${@cf_enabled(d, 'obmc-mrw', 'phosphor-fan-control-fan-config-mrw-native', 'phosphor-fan-control-fan-config-native')}"
+    "${@df_enabled(d, 'obmc-mrw', 'phosphor-fan-control-fan-config-mrw-native', 'phosphor-fan-control-fan-config-native')}"
 
 # The phosphor-gpio-monitor application is data-driven and requires an input.
 # The application then watches the passed in input event entry for the