Lines Matching refs:ccid_ops

101 static int __init ccid_activate(struct ccid_operations *ccid_ops)  in ccid_activate()  argument
105 ccid_ops->ccid_hc_rx_slab = in ccid_activate()
106 ccid_kmem_cache_create(ccid_ops->ccid_hc_rx_obj_size, in ccid_activate()
107 ccid_ops->ccid_hc_rx_slab_name, in ccid_activate()
109 ccid_ops->ccid_id); in ccid_activate()
110 if (ccid_ops->ccid_hc_rx_slab == NULL) in ccid_activate()
113 ccid_ops->ccid_hc_tx_slab = in ccid_activate()
114 ccid_kmem_cache_create(ccid_ops->ccid_hc_tx_obj_size, in ccid_activate()
115 ccid_ops->ccid_hc_tx_slab_name, in ccid_activate()
117 ccid_ops->ccid_id); in ccid_activate()
118 if (ccid_ops->ccid_hc_tx_slab == NULL) in ccid_activate()
122 ccid_ops->ccid_id, ccid_ops->ccid_name); in ccid_activate()
127 ccid_kmem_cache_destroy(ccid_ops->ccid_hc_rx_slab); in ccid_activate()
128 ccid_ops->ccid_hc_rx_slab = NULL; in ccid_activate()
132 static void ccid_deactivate(struct ccid_operations *ccid_ops) in ccid_deactivate() argument
134 ccid_kmem_cache_destroy(ccid_ops->ccid_hc_tx_slab); in ccid_deactivate()
135 ccid_ops->ccid_hc_tx_slab = NULL; in ccid_deactivate()
136 ccid_kmem_cache_destroy(ccid_ops->ccid_hc_rx_slab); in ccid_deactivate()
137 ccid_ops->ccid_hc_rx_slab = NULL; in ccid_deactivate()
140 ccid_ops->ccid_id, ccid_ops->ccid_name); in ccid_deactivate()
145 struct ccid_operations *ccid_ops = ccid_by_number(id); in ccid_new() local
148 if (ccid_ops == NULL) in ccid_new()
151 ccid = kmem_cache_alloc(rx ? ccid_ops->ccid_hc_rx_slab : in ccid_new()
152 ccid_ops->ccid_hc_tx_slab, gfp_any()); in ccid_new()
155 ccid->ccid_ops = ccid_ops; in ccid_new()
157 memset(ccid + 1, 0, ccid_ops->ccid_hc_rx_obj_size); in ccid_new()
158 if (ccid->ccid_ops->ccid_hc_rx_init != NULL && in ccid_new()
159 ccid->ccid_ops->ccid_hc_rx_init(ccid, sk) != 0) in ccid_new()
162 memset(ccid + 1, 0, ccid_ops->ccid_hc_tx_obj_size); in ccid_new()
163 if (ccid->ccid_ops->ccid_hc_tx_init != NULL && in ccid_new()
164 ccid->ccid_ops->ccid_hc_tx_init(ccid, sk) != 0) in ccid_new()
170 kmem_cache_free(rx ? ccid_ops->ccid_hc_rx_slab : in ccid_new()
171 ccid_ops->ccid_hc_tx_slab, ccid); in ccid_new()
179 if (ccid->ccid_ops->ccid_hc_rx_exit != NULL) in ccid_hc_rx_delete()
180 ccid->ccid_ops->ccid_hc_rx_exit(sk); in ccid_hc_rx_delete()
181 kmem_cache_free(ccid->ccid_ops->ccid_hc_rx_slab, ccid); in ccid_hc_rx_delete()
188 if (ccid->ccid_ops->ccid_hc_tx_exit != NULL) in ccid_hc_tx_delete()
189 ccid->ccid_ops->ccid_hc_tx_exit(sk); in ccid_hc_tx_delete()
190 kmem_cache_free(ccid->ccid_ops->ccid_hc_tx_slab, ccid); in ccid_hc_tx_delete()