Lines Matching refs:psec

142 	struct pse_control *psec = container_of(kref, struct pse_control,  in __pse_control_release()  local
147 module_put(psec->pcdev->owner); in __pse_control_release()
149 list_del(&psec->list); in __pse_control_release()
150 kfree(psec); in __pse_control_release()
153 static void __pse_control_put_internal(struct pse_control *psec) in __pse_control_put_internal() argument
157 kref_put(&psec->refcnt, __pse_control_release); in __pse_control_put_internal()
164 void pse_control_put(struct pse_control *psec) in pse_control_put() argument
166 if (IS_ERR_OR_NULL(psec)) in pse_control_put()
170 __pse_control_put_internal(psec); in pse_control_put()
178 struct pse_control *psec; in pse_control_get_internal() local
182 list_for_each_entry(psec, &pcdev->pse_control_head, list) { in pse_control_get_internal()
183 if (psec->id == index) { in pse_control_get_internal()
184 kref_get(&psec->refcnt); in pse_control_get_internal()
185 return psec; in pse_control_get_internal()
189 psec = kzalloc(sizeof(*psec), GFP_KERNEL); in pse_control_get_internal()
190 if (!psec) in pse_control_get_internal()
194 kfree(psec); in pse_control_get_internal()
198 psec->pcdev = pcdev; in pse_control_get_internal()
199 list_add(&psec->list, &pcdev->pse_control_head); in pse_control_get_internal()
200 psec->id = index; in pse_control_get_internal()
201 kref_init(&psec->refcnt); in pse_control_get_internal()
203 return psec; in pse_control_get_internal()
211 struct pse_control *psec; in of_pse_control_get() local
232 psec = ERR_PTR(-EPROBE_DEFER); in of_pse_control_get()
237 psec = ERR_PTR(-EINVAL); in of_pse_control_get()
243 psec = ERR_PTR(psec_id); in of_pse_control_get()
248 psec = pse_control_get_internal(pcdev, psec_id); in of_pse_control_get()
254 return psec; in of_pse_control_get()
264 int pse_ethtool_get_status(struct pse_control *psec, in pse_ethtool_get_status() argument
271 ops = psec->pcdev->ops; in pse_ethtool_get_status()
279 mutex_lock(&psec->pcdev->lock); in pse_ethtool_get_status()
280 err = ops->ethtool_get_status(psec->pcdev, psec->id, extack, status); in pse_ethtool_get_status()
281 mutex_unlock(&psec->pcdev->lock); in pse_ethtool_get_status()
293 int pse_ethtool_set_config(struct pse_control *psec, in pse_ethtool_set_config() argument
300 ops = psec->pcdev->ops; in pse_ethtool_set_config()
308 mutex_lock(&psec->pcdev->lock); in pse_ethtool_set_config()
309 err = ops->ethtool_set_config(psec->pcdev, psec->id, extack, config); in pse_ethtool_set_config()
310 mutex_unlock(&psec->pcdev->lock); in pse_ethtool_set_config()