Lines Matching defs:fm
164 struct tifm_adapter *fm = container_of(dev, struct tifm_adapter, dev);
166 kfree(fm);
177 struct tifm_adapter *fm;
179 fm = kzalloc(struct_size(fm, sockets, num_sockets), GFP_KERNEL);
180 if (fm) {
181 fm->dev.class = &tifm_adapter_class;
182 fm->dev.parent = dev;
183 device_initialize(&fm->dev);
184 spin_lock_init(&fm->lock);
185 fm->num_sockets = num_sockets;
187 return fm;
191 int tifm_add_adapter(struct tifm_adapter *fm)
197 rc = idr_alloc(&tifm_adapter_idr, fm, 0, 0, GFP_NOWAIT);
199 fm->id = rc;
205 dev_set_name(&fm->dev, "tifm%u", fm->id);
206 rc = device_add(&fm->dev);
209 idr_remove(&tifm_adapter_idr, fm->id);
217 void tifm_remove_adapter(struct tifm_adapter *fm)
222 for (cnt = 0; cnt < fm->num_sockets; ++cnt) {
223 if (fm->sockets[cnt])
224 device_unregister(&fm->sockets[cnt]->dev);
228 idr_remove(&tifm_adapter_idr, fm->id);
230 device_del(&fm->dev);
234 void tifm_free_adapter(struct tifm_adapter *fm)
236 put_device(&fm->dev);
247 struct tifm_dev *tifm_alloc_device(struct tifm_adapter *fm, unsigned int id,
263 sock->dev.parent = fm->dev.parent;
265 sock->dev.dma_mask = fm->dev.parent->dma_mask;
269 tifm_media_type_name(type, 2), fm->id, id);
272 tifm_media_type_name(type, 0), fm->id, id);
280 struct tifm_adapter *fm = dev_get_drvdata(sock->dev.parent);
281 fm->eject(fm, sock);
287 struct tifm_adapter *fm = dev_get_drvdata(sock->dev.parent);
288 return fm->has_ms_pif(fm, sock);