both edges:
                        Any state transition.
 
+What:          /sys/bus/counter/devices/counterX/countY/ceiling_component_id
+What:          /sys/bus/counter/devices/counterX/countY/floor_component_id
+What:          /sys/bus/counter/devices/counterX/countY/count_mode_component_id
+What:          /sys/bus/counter/devices/counterX/countY/direction_component_id
+What:          /sys/bus/counter/devices/counterX/countY/enable_component_id
+What:          /sys/bus/counter/devices/counterX/countY/error_noise_component_id
+What:          /sys/bus/counter/devices/counterX/countY/prescaler_component_id
+What:          /sys/bus/counter/devices/counterX/countY/preset_component_id
+What:          /sys/bus/counter/devices/counterX/countY/preset_enable_component_id
 What:          /sys/bus/counter/devices/counterX/countY/signalZ_action_component_id
+What:          /sys/bus/counter/devices/counterX/signalY/cable_fault_component_id
+What:          /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id
+What:          /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id
+What:          /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id
+What:          /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id
 KernelVersion: 5.16
 Contact:       linux-iio@vger.kernel.org
 Description:
                Read-only attribute that indicates the component ID of the
-               respective Synapse of Count Y for Signal Z.
+               respective extension or Synapse.
 
 What:          /sys/bus/counter/devices/counterX/countY/spike_filter_ns
 KernelVersion: 5.14
 
        int err;
        struct counter_comp comp;
        size_t i;
+       struct counter_comp *ext;
 
        /* Create main Signal attribute */
        comp = counter_signal_comp;
 
        /* Create an attribute for each extension */
        for (i = 0; i < signal->num_ext; i++) {
-               err = counter_attr_create(dev, cattr_group, signal->ext + i,
-                                         scope, signal);
+               ext = &signal->ext[i];
+
+               err = counter_attr_create(dev, cattr_group, ext, scope, signal);
+               if (err < 0)
+                       return err;
+
+               err = counter_comp_id_attr_create(dev, cattr_group, ext->name,
+                                                 i);
                if (err < 0)
                        return err;
        }
        int err;
        struct counter_comp comp;
        size_t i;
+       struct counter_comp *ext;
 
        /* Create main Count attribute */
        comp = counter_count_comp;
 
        /* Create an attribute for each extension */
        for (i = 0; i < count->num_ext; i++) {
-               err = counter_attr_create(dev, cattr_group, count->ext + i,
-                                         scope, count);
+               ext = &count->ext[i];
+
+               err = counter_attr_create(dev, cattr_group, ext, scope, count);
+               if (err < 0)
+                       return err;
+
+               err = counter_comp_id_attr_create(dev, cattr_group, ext->name,
+                                                 i);
                if (err < 0)
                        return err;
        }
        struct device *const dev = &counter->dev;
        int err;
        size_t i;
+       struct counter_comp *ext;
 
        /* Add Signals sysfs attributes */
        err = counter_sysfs_signals_add(counter, cattr_group);
 
        /* Create an attribute for each extension */
        for (i = 0; i < counter->num_ext; i++) {
-               err = counter_attr_create(dev, cattr_group, counter->ext + i,
-                                         scope, NULL);
+               ext = &counter->ext[i];
+
+               err = counter_attr_create(dev, cattr_group, ext, scope, NULL);
+               if (err < 0)
+                       return err;
+
+               err = counter_comp_id_attr_create(dev, cattr_group, ext->name,
+                                                 i);
                if (err < 0)
                        return err;
        }