Lines Matching refs:scifdev

34 	struct scif_dev *scifdev = &scif_dev[sdev->dnode];  in scif_peer_release_dev()  local
36 scif_cleanup_scifdev(scifdev); in scif_peer_release_dev()
40 static int scif_peer_initialize_device(struct scif_dev *scifdev) in scif_peer_initialize_device() argument
51 spdev->dev.parent = scifdev->sdev->dev.parent; in scif_peer_initialize_device()
53 spdev->dnode = scifdev->node; in scif_peer_initialize_device()
59 rcu_assign_pointer(scifdev->spdev, spdev); in scif_peer_initialize_device()
67 dev_err(&scifdev->sdev->dev, in scif_peer_initialize_device()
68 "dnode %d: initialize_device rc %d\n", scifdev->node, ret); in scif_peer_initialize_device()
72 static int scif_peer_add_device(struct scif_dev *scifdev) in scif_peer_add_device() argument
74 struct scif_peer_dev *spdev = rcu_dereference(scifdev->spdev); in scif_peer_add_device()
81 dev_err(&scifdev->sdev->dev, in scif_peer_add_device()
82 "dnode %d: peer device_add failed\n", scifdev->node); in scif_peer_add_device()
87 scifdev->signal_pool = dmam_pool_create(pool_name, &scifdev->sdev->dev, in scif_peer_add_device()
90 if (!scifdev->signal_pool) { in scif_peer_add_device()
91 dev_err(&scifdev->sdev->dev, in scif_peer_add_device()
92 "dnode %d: dmam_pool_create failed\n", scifdev->node); in scif_peer_add_device()
101 RCU_INIT_POINTER(scifdev->spdev, NULL); in scif_peer_add_device()
113 struct scif_dev *scifdev = container_of(work, struct scif_dev, in scif_add_peer_device() local
116 scif_peer_add_device(scifdev); in scif_add_peer_device()
131 void scif_peer_register_device(struct scif_dev *scifdev) in scif_peer_register_device() argument
135 mutex_lock(&scifdev->lock); in scif_peer_register_device()
136 ret = scif_peer_initialize_device(scifdev); in scif_peer_register_device()
139 schedule_work(&scifdev->peer_add_work); in scif_peer_register_device()
141 mutex_unlock(&scifdev->lock); in scif_peer_register_device()
144 int scif_peer_unregister_device(struct scif_dev *scifdev) in scif_peer_unregister_device() argument
148 mutex_lock(&scifdev->lock); in scif_peer_unregister_device()
150 flush_work(&scifdev->peer_add_work); in scif_peer_unregister_device()
156 spdev = rcu_dereference(scifdev->spdev); in scif_peer_unregister_device()
158 mutex_unlock(&scifdev->lock); in scif_peer_unregister_device()
162 RCU_INIT_POINTER(scifdev->spdev, NULL); in scif_peer_unregister_device()
164 mutex_unlock(&scifdev->lock); in scif_peer_unregister_device()