Fix mihawk fan event build error

Now the mihawk fan event will build error on openbmc master.
So I made some changes in order to solve the problem.

Tested: Verify fan control functionality of mihawk image

Signed-off-by: Ben Pai <Ben_Pai@wistron.com>
Change-Id: I9f525f27f5fb7161de9f8c1cee40b54efb65bf4d
diff --git a/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml b/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
index b7fd1f7..bce2037 100644
--- a/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
+++ b/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
@@ -136,63 +136,63 @@
           - /temperature/p1_vdd_temp
 matches:
     - name: propertiesChanged
-      description: >
-          A property changed match
       parameters:
           - object
           - interface
-      signal: propertySignal
+    - name: interfacesAdded
+      parameters:
+          - object
+    - name: interfacesRemoved
+      parameters:
+          - object
+    - name: nameOwnerChanged
+      parameters:
+          - object
+          - interface
+
+signals:
+    - name: propertiesChanged
+      description: >
+          A property changed match
+      parameters:
+          - type
+          - object
+          - interface
+          - property
+      match: propertiesChanged
     - name: interfacesAdded
       description: >
           An interfaces added match
       parameters:
+          - type
           - object
-      signal: objectSignal
+          - interface
+          - property
+      match: interfacesAdded
     - name: interfacesRemoved
       description: >
           An interfaces removed match
       parameters:
           - object
-      signal:
-          name: objectSignal
-          parameters:
-              - object
-              - interface
-          handler: removeInterface
+          - interface
+      match: interfacesRemoved
     - name: nameOwnerChanged
       description: >
           A name owner changed match
       parameters:
-          - object
-          - interface
-      signal: ownerSignal
+      match: nameOwnerChanged
 
-signals:
-    - name: propertySignal
+methods:
+    - name: getProperties
       description: >
-          Handle property signals
+          Get the property values of the given group members
+          by performing a `GetProperty` method call on each
       parameters:
           - type
-          - object
-          - interface
-          - property
-      handler: setProperty
-    - name: objectSignal
+    - name: nameHasOwner
       description: >
-          Handle object signals
+          A NameHasOwner method call to be performed on all event group members
       parameters:
-          - type
-          - object
-          - interface
-          - property
-      handler: setProperty
-    - name: ownerSignal
-      description: >
-          Handle owner signals
-      parameters:
-          - object
-          - interface
-      handler: setService
 
 handlers:
     - name: setProperty
@@ -200,9 +200,6 @@
           Sets a value for the given object/interface/property
       parameters:
           - type
-          - object
-          - interface
-          - property
     - name: setService
       description: >
           Sets the service name and ownership status for the given group
@@ -223,6 +220,11 @@
           enable a set speed event otherwise fan speeds are set to full
       parameters:
           - groups
+    - name: services_missing_owner
+      description: >
+          Any services missing an owner enable the events given otherwise
+          the events are removed/disabled
+      parameters:
 
 actions:
     - name: call_actions_based_on_timer
@@ -287,7 +289,7 @@
           - altevents
 
 events:
-    - name: missing_before_high_speed_air
+    - name: missing_or_fails_before_high_speed_air
       groups:
           - name: air_cooled_zone0_fans
             zone_conditions:
@@ -298,20 +300,6 @@
             property:
                 name: Present
                 type: bool
-      matches:
-          - name: interfacesAdded
-          - name: propertiesChanged
-      actions:
-          - name: count_state_before_speed
-            count: 1
-            property:
-                value: false
-                type: bool
-            speed:
-                value: 255
-                type: uint64_t
-    - name: fails_before_high_speed_air
-      groups:
           - name: air_cooled_zone0_fans
             zone_conditions:
                 - name: air_cooled_chassis
@@ -321,8 +309,13 @@
             property:
                 name: Functional
                 type: bool
-      matches:
-          - name: propertiesChanged
+      triggers:
+          - name: init
+            method: getProperties
+            handler: setProperty
+          - name: signal
+            signal: propertiesChanged
+            handler: setProperty
       actions:
           - name: count_state_before_speed
             count: 1
@@ -343,8 +336,13 @@
             property:
                 name: Current
                 type: std::string
-      matches:
-          - name: propertiesChanged
+      triggers:
+          - name: init
+            method: getProperties
+            handler: setProperty
+          - name: signal
+            signal: propertiesChanged
+            handler: setProperty
       actions:
           - name: use_alternate_events_on_state
             property:
@@ -362,8 +360,13 @@
                         property:
                             name: Value
                             type: int64_t
-                  matches:
-                      - name: propertiesChanged
+                  triggers:
+                      - name: init
+                        method: getProperties
+                        handler: setProperty
+                      - name: signal
+                        signal: propertiesChanged
+                        handler: setProperty
                   actions:
                       - name: set_floor_from_average_sensor_value
                         map:
@@ -395,8 +398,13 @@
                         property:
                             name: Value
                             type: int64_t
-                  matches:
-                      - name: propertiesChanged
+                  triggers:
+                      - name: init
+                        method: getProperties
+                        handler: setProperty
+                      - name: signal
+                        signal: propertiesChanged
+                        handler: setProperty
                   actions:
                       - name: set_floor_from_average_sensor_value
                         map:
@@ -432,155 +440,226 @@
                     name: OccActive
                     type: bool
                     value: true
-          matches:
-              - name: interfacesAdded
-              - name: propertiesChanged
+          triggers:
+              - name: init
+                method: getProperties
+                handler: setProperty
+              - name: signal
+                signal: interfacesAdded
+                handler: setProperty
+              - name: signal
+                signal: propertiesChanged
+                handler: setProperty
           events:
-              - name: speed_changes_based_on_core_temps
-                groups:
-                    - name: zone0_cores
-                      zone_conditions:
-                          - name: air_cooled_chassis
-                            zones:
-                                - 0
-                      interface: xyz.openbmc_project.Sensor.Value
-                      property:
-                          name: Value
-                          type: int64_t
-                matches:
-                    - name: interfacesAdded
-                    - name: propertiesChanged
-                    - name: interfacesRemoved
-                actions:
-                    - name: set_net_increase_speed
-                      property:
-                          value: 75000
-                          type: int64_t
-                      factor:
-                          value: 1000
-                          type: int64_t
-                      delta:
-                          value: 13
-                          type: uint64_t
-                    - name: set_net_decrease_speed
-                      property:
-                          value: 70000
-                          type: int64_t
-                      factor:
-                          value: 7000
-                          type: int64_t
-                      delta:
-                          value: 5
-                          type: uint64_t
-                timer:
-                    interval: 1
-              - name: speed_changes_based_on_dimm_temps
-                groups:
-                    - name: zone0_dimms
-                      interface: xyz.openbmc_project.Sensor.Value
-                      property:
-                          name: Value
-                          type: int64_t
-                matches:
-                    - name: interfacesAdded
-                    - name: propertiesChanged
-                    - name: interfacesRemoved
-                actions:
-                    - name: set_net_increase_speed
-                      property:
-                          value: 80000
-                          type: int64_t
-                      factor:
-                          value: 1000
-                          type: int64_t
-                      delta:
-                          value: 8
-                          type: uint64_t
-                    - name: set_net_decrease_speed
-                      property:
-                          value: 75000
-                          type: int64_t
-                      factor:
-                          value: 3000
-                          type: int64_t
-                      delta:
-                          value: 3
-                          type: uint64_t
-                timer:
-                    interval: 5
-              - name: speed_changes_based_on_onboard_temps
-                groups:
-                    - name: zone0_onboard
-                      zone_conditions:
-                          - name: air_cooled_chassis
-                            zones:
-                                - 0
-                      interface: xyz.openbmc_project.Sensor.Value
-                      property:
-                          name: Value
-                          type: int64_t
-                matches:
-                    - name: interfacesAdded
-                    - name: propertiesChanged
-                    - name: interfacesRemoved
-                actions:
-                    - name: set_net_increase_speed
-                      property:
-                          value: 50000
-                          type: int64_t
-                      factor:
-                          value: 1000
-                          type: int64_t
-                      delta:
-                          value: 8
-                          type: uint64_t
-                    - name: set_net_decrease_speed
-                      property:
-                          value: 47000
-                          type: int64_t
-                      factor:
-                          value: 3000
-                          type: int64_t
-                      delta:
-                          value: 3
-                          type: uint64_t
-                timer:
-                    interval: 10
-              - name: speed_changes_based_on_vrd_temps
-                groups:
-                    - name: zone0_vrd
-                      zone_conditions:
-                          - name: air_cooled_chassis
-                            zones:
-                                - 0
-                      interface: xyz.openbmc_project.Sensor.Value
-                      property:
-                          name: Value
-                          type: int64_t
-                matches:
-                    - name: interfacesAdded
-                    - name: propertiesChanged
-                    - name: interfacesRemoved
-                actions:
-                    - name: set_net_increase_speed
-                      property:
-                          value: 90000
-                          type: int64_t
-                      factor:
-                          value: 1000
-                          type: int64_t
-                      delta:
-                          value: 5
-                          type: uint64_t
-                    - name: set_net_decrease_speed
-                      property:
-                          value: 85000
-                          type: int64_t
-                      factor:
-                          value: 3000
-                          type: int64_t
-                      delta:
-                          value: 3
-                          type: uint64_t
-                timer:
-                    interval: 10
+            - name: speed_control_sensors
+              groups:
+                  - name: zone0_onboard
+                    interface: xyz.openbmc_project.Sensor.Value
+                    property:
+                        name: Value
+                        type: int64_t
+                  - name: zone0_vrd
+                    interface: xyz.openbmc_project.Sensor.Value
+                    property:
+                        name: Value
+                        type: int64_t
+                  - name: zone0_cores
+                    interface: xyz.openbmc_project.Sensor.Value
+                    property:
+                        name: Value
+                        type: int64_t
+                  - name: zone0_dimms
+                    interface: xyz.openbmc_project.Sensor.Value
+                    property:
+                        name: Value
+                        type: int64_t
+              triggers:
+                  - name: init
+                    method: getProperties
+                    handler: setProperty
+                  - name: signal
+                    signal: interfacesAdded
+                    handler: setProperty
+                  - name: signal
+                    signal: propertiesChanged
+                    handler: setProperty
+                  - name: signal
+                    signal: interfacesRemoved
+                    handler: removeInterface
+            - name: fails_before_high_speed_air
+              groups:
+                  - name: zone0_cores
+                    interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+                    property:
+                        name: Functional
+                        type: bool
+                  - name: zone0_dimms
+                    interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+                    property:
+                        name: Functional
+                        type: bool
+              triggers:
+                  - name: init
+                    method: getProperties
+                    handler: setProperty
+                  - name: signal
+                    signal: interfacesAdded
+                    handler: setProperty
+                  - name: signal
+                    signal: propertiesChanged
+                    handler: setProperty
+              actions:
+                  - name: count_state_before_speed
+                    count: 1
+                    property:
+                        value: false
+                        type: bool
+                    speed:
+                        value: 255
+                        type: uint64_t
+            - name: 1sec_speed_change_request_sampling
+              triggers:
+                  - name: timer
+                    interval: 1000000
+                    type: repeating
+              actions:
+                  # Speed changes based on onboard temps
+                  - name: set_net_increase_speed
+                    groups:
+                        - name: zone0_onboard
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 50000
+                        type: int64_t
+                    factor:
+                        value: 1000
+                        type: int64_t
+                    delta:
+                        value: 8
+                        type: uint64_t
+                  - name: set_net_decrease_speed
+                    groups:
+                        - name: zone0_onboard
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 47000
+                        type: int64_t
+                    factor:
+                        value: 3000
+                        type: int64_t
+                    delta:
+                        value: 3
+                        type: uint64_t
+                  # Speed changes based on vrd temps
+                  - name: set_net_increase_speed
+                    groups:
+                        - name: zone0_vrd
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 90000
+                        type: int64_t
+                    factor:
+                        value: 1000
+                        type: int64_t
+                    delta:
+                        value: 5
+                        type: uint64_t
+                  - name: set_net_decrease_speed
+                    groups:
+                        - name: zone0_vrd
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 85000
+                        type: int64_t
+                    factor:
+                        value: 3000
+                        type: int64_t
+                    delta:
+                        value: 3
+                        type: uint64_t
+                  # Speed changes based on core temps
+                  - name: set_net_increase_speed
+                    groups:
+                        - name: zone0_cores
+                          zone_conditions:
+                              - name: air_cooled_chassis
+                                zones:
+                                    - 0
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 75000
+                        type: int64_t
+                    factor:
+                        value: 1000
+                        type: int64_t
+                    delta:
+                        value: 13
+                        type: uint64_t
+                  - name: set_net_decrease_speed
+                    groups:
+                        - name: zone0_cores
+                          zone_conditions:
+                              - name: air_cooled_chassis
+                                zones:
+                                    - 0
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 70000
+                        type: int64_t
+                    factor:
+                        value: 7000
+                        type: int64_t
+                    delta:
+                        value: 5
+                        type: uint64_t
+                  # Speed changes based on dimm temps
+                  - name: set_net_increase_speed
+                    groups:
+                        - name: zone0_dimms
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 80000
+                        type: int64_t
+                    factor:
+                        value: 1000
+                        type: int64_t
+                    delta:
+                        value: 8
+                        type: uint64_t
+                  - name: set_net_decrease_speed
+                    groups:
+                        - name: zone0_dimms
+                          interface: xyz.openbmc_project.Sensor.Value
+                          property:
+                              name: Value
+                              type: int64_t
+                    property:
+                        value: 75000
+                        type: int64_t
+                    factor:
+                        value: 3000
+                        type: int64_t
+                    delta:
+                        value: 3
+                        type: uint64_t