Merge tag 'char-misc-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[linux-block.git] / include / linux / stm.h
index 3b22689512be2afe35aaa5bd36c6b6ccfa7eb621..2fcbef9608f63cb8a1c3c811123c2790165b9486 100644 (file)
@@ -30,6 +30,16 @@ enum stp_packet_flags {
        STP_PACKET_TIMESTAMPED  = 0x2,
 };
 
+/**
+ * enum stm_source_type - STM source driver
+ * @STM_USER: any STM trace source
+ * @STM_FTRACE: ftrace STM source
+ */
+enum stm_source_type {
+       STM_USER,
+       STM_FTRACE,
+};
+
 struct stp_policy;
 
 struct stm_device;
@@ -106,6 +116,7 @@ struct stm_source_device;
  * @name:      device name, will be used for policy lookup
  * @src:       internal structure, only used by stm class code
  * @nr_chans:  number of channels to allocate
+ * @type:      type of STM source driver represented by stm_source_type
  * @link:      called when this source gets linked to an STM device
  * @unlink:    called when this source is about to get unlinked from its STM
  *
@@ -117,6 +128,7 @@ struct stm_source_data {
        struct stm_source_device *src;
        unsigned int            percpu;
        unsigned int            nr_chans;
+       unsigned int            type;
        int                     (*link)(struct stm_source_data *data);
        void                    (*unlink)(struct stm_source_data *data);
 };