diff --git a/audio/effect/4.0/IEffect.hal b/audio/effect/4.0/IEffect.hal
index a1bfd43..afc0237 100644
--- a/audio/effect/4.0/IEffect.hal
+++ b/audio/effect/4.0/IEffect.hal
@@ -82,7 +82,7 @@
      * @return retval operation completion status.
      */
     @callflow(next={"*"})
-    setDevice(AudioDevice device) generates (Result retval);
+    setDevice(bitfield<AudioDevice> device) generates (Result retval);
 
     /**
      * Set and get volume. Used by audio framework to delegate volume control to
@@ -155,7 +155,7 @@
      * @return retval operation completion status.
      */
     @callflow(next={"*"})
-    setInputDevice(AudioDevice device) generates (Result retval);
+    setInputDevice(bitfield<AudioDevice> device) generates (Result retval);
 
     /**
      * Read audio parameters configurations for input and output buffers.
diff --git a/audio/effect/4.0/IVirtualizerEffect.hal b/audio/effect/4.0/IVirtualizerEffect.hal
index b98ad3f..52038ca 100644
--- a/audio/effect/4.0/IVirtualizerEffect.hal
+++ b/audio/effect/4.0/IVirtualizerEffect.hal
@@ -47,7 +47,8 @@
     getStrength() generates (Result retval, uint16_t strength);
 
     struct SpeakerAngle {
-        AudioChannelMask mask; // speaker channel mask (1 bit set).
+        /** Speaker channel mask */
+        bitfield<AudioChannelMask> mask;
         // all angles are expressed in degrees and
         // are relative to the listener.
         int16_t azimuth; // 0 is the direction the listener faces
@@ -60,7 +61,7 @@
      * Retrieves virtual speaker angles for the given channel mask on the
      * specified device.
      */
-    getVirtualSpeakerAngles(AudioChannelMask mask, AudioDevice device)
+    getVirtualSpeakerAngles(bitfield<AudioChannelMask> mask, AudioDevice device)
             generates (Result retval, vec<SpeakerAngle> speakerAngles);
 
     /**
diff --git a/audio/effect/4.0/types.hal b/audio/effect/4.0/types.hal
index 80d627e..57f96e3 100644
--- a/audio/effect/4.0/types.hal
+++ b/audio/effect/4.0/types.hal
@@ -255,7 +255,7 @@
 struct EffectBufferConfig {
     AudioBuffer buffer;
     uint32_t samplingRateHz;
-    AudioChannelMask channels;
+    bitfield<AudioChannelMask> channels;
     AudioFormat format;
     EffectBufferAccess accessMode;
     EffectConfigParameters mask;
@@ -274,8 +274,8 @@
 };
 
 struct EffectAuxChannelsConfig {
-    AudioChannelMask mainChannels;  // channel mask for main channels
-    AudioChannelMask auxChannels;   // channel mask for auxiliary channels
+    bitfield<AudioChannelMask> mainChannels;  // channel mask for main channels
+    bitfield<AudioChannelMask> auxChannels;   // channel mask for auxiliary channels
 };
 
 struct EffectOffloadParameter {
