caif: Bugfix - use standard Linux lists
[pandora-kernel.git] / include / net / caif / cfctrl.h
index dee25b8..9402543 100644 (file)
@@ -43,8 +43,7 @@ struct cfctrl_rsp {
        void (*linksetup_rsp)(struct cflayer *layer, u8 linkid,
                              enum cfctrl_srv serv, u8 phyid,
                              struct cflayer *adapt_layer);
-       void (*linkdestroy_rsp)(struct cflayer *layer, u8 linkid,
-                               struct cflayer *client_layer);
+       void (*linkdestroy_rsp)(struct cflayer *layer, u8 linkid);
        void (*linkerror_ind)(void);
        void (*enum_rsp)(void);
        void (*sleep_rsp)(void);
@@ -95,8 +94,8 @@ struct cfctrl_request_info {
        enum cfctrl_cmd cmd;
        u8 channel_id;
        struct cfctrl_link_param param;
-       struct cfctrl_request_info *next;
        struct cflayer *client_layer;
+       struct list_head list;
 };
 
 struct cfctrl {
@@ -104,7 +103,7 @@ struct cfctrl {
        struct cfctrl_rsp res;
        atomic_t req_seq_no;
        atomic_t rsp_seq_no;
-       struct cfctrl_request_info *first_req;
+       struct list_head list;
        /* Protects from simultaneous access to first_req list */
        spinlock_t info_list_lock;
 #ifndef CAIF_NO_LOOP
@@ -117,7 +116,7 @@ struct cfctrl {
 };
 
 void cfctrl_enum_req(struct cflayer *cfctrl, u8 physlinkid);
-void cfctrl_linkup_request(struct cflayer *cfctrl,
+int cfctrl_linkup_request(struct cflayer *cfctrl,
                           struct cfctrl_link_param *param,
                           struct cflayer *user_layer);
 int  cfctrl_linkdown_req(struct cflayer *cfctrl, u8 linkid,
@@ -135,4 +134,6 @@ void cfctrl_insert_req(struct cfctrl *ctrl,
                              struct cfctrl_request_info *req);
 struct cfctrl_request_info *cfctrl_remove_req(struct cfctrl *ctrl,
                                              struct cfctrl_request_info *req);
+void cfctrl_cancel_req(struct cflayer *layr, struct cflayer *adap_layer);
+
 #endif                         /* CFCTRL_H_ */