unsigned int suspend_mode;
 };
 
-static int iqs626_parse_events(struct iqs626_private *iqs626,
-                              const struct fwnode_handle *ch_node,
-                              enum iqs626_ch_id ch_id)
+static noinline_for_stack int
+iqs626_parse_events(struct iqs626_private *iqs626,
+                   const struct fwnode_handle *ch_node,
+                   enum iqs626_ch_id ch_id)
 {
        struct iqs626_sys_reg *sys_reg = &iqs626->sys_reg;
        struct i2c_client *client = iqs626->client;
        return 0;
 }
 
-static int iqs626_parse_ati_target(struct iqs626_private *iqs626,
-                                  const struct fwnode_handle *ch_node,
-                                  enum iqs626_ch_id ch_id)
+static noinline_for_stack int
+iqs626_parse_ati_target(struct iqs626_private *iqs626,
+                       const struct fwnode_handle *ch_node,
+                       enum iqs626_ch_id ch_id)
 {
        struct iqs626_sys_reg *sys_reg = &iqs626->sys_reg;
        struct i2c_client *client = iqs626->client;
        return 0;
 }
 
-static int iqs626_parse_channel(struct iqs626_private *iqs626,
-                               const struct fwnode_handle *ch_node,
-                               enum iqs626_ch_id ch_id)
+static noinline_for_stack int
+iqs626_parse_channel(struct iqs626_private *iqs626,
+                    const struct fwnode_handle *ch_node,
+                    enum iqs626_ch_id ch_id)
 {
        struct iqs626_sys_reg *sys_reg = &iqs626->sys_reg;
        struct i2c_client *client = iqs626->client;