Lines Matching refs:dev

79 	dev_set_name(&protocol->dev, "pnp%d", nodenum);  in pnp_register_protocol()
85 ret = device_register(&protocol->dev); in pnp_register_protocol()
99 device_unregister(&protocol->dev); in pnp_unregister_protocol()
102 static void pnp_free_ids(struct pnp_dev *dev) in pnp_free_ids() argument
107 id = dev->id; in pnp_free_ids()
121 void pnp_free_resources(struct pnp_dev *dev) in pnp_free_resources() argument
125 list_for_each_entry_safe(pnp_res, tmp, &dev->resources, list) { in pnp_free_resources()
132 struct pnp_dev *dev = to_pnp_dev(dmdev); in pnp_release_device() local
134 pnp_free_ids(dev); in pnp_release_device()
135 pnp_free_resources(dev); in pnp_release_device()
136 pnp_free_options(dev); in pnp_release_device()
137 kfree(dev); in pnp_release_device()
143 struct pnp_dev *dev; in pnp_alloc_dev() local
146 dev = kzalloc(sizeof(struct pnp_dev), GFP_KERNEL); in pnp_alloc_dev()
147 if (!dev) in pnp_alloc_dev()
150 INIT_LIST_HEAD(&dev->resources); in pnp_alloc_dev()
151 INIT_LIST_HEAD(&dev->options); in pnp_alloc_dev()
152 dev->protocol = protocol; in pnp_alloc_dev()
153 dev->number = id; in pnp_alloc_dev()
154 dev->dma_mask = DMA_BIT_MASK(24); in pnp_alloc_dev()
156 dev->dev.parent = &dev->protocol->dev; in pnp_alloc_dev()
157 dev->dev.bus = &pnp_bus_type; in pnp_alloc_dev()
158 dev->dev.dma_mask = &dev->dma_mask; in pnp_alloc_dev()
159 dev->dev.coherent_dma_mask = dev->dma_mask; in pnp_alloc_dev()
160 dev->dev.release = &pnp_release_device; in pnp_alloc_dev()
162 dev_set_name(&dev->dev, "%02x:%02x", dev->protocol->number, dev->number); in pnp_alloc_dev()
164 dev_id = pnp_add_id(dev, pnpid); in pnp_alloc_dev()
166 kfree(dev); in pnp_alloc_dev()
170 return dev; in pnp_alloc_dev()
173 static void pnp_delist_device(struct pnp_dev *dev) in pnp_delist_device() argument
176 list_del(&dev->global_list); in pnp_delist_device()
177 list_del(&dev->protocol_list); in pnp_delist_device()
181 int __pnp_add_device(struct pnp_dev *dev) in __pnp_add_device() argument
185 pnp_fixup_device(dev); in __pnp_add_device()
186 dev->status = PNP_READY; in __pnp_add_device()
190 list_add_tail(&dev->global_list, &pnp_global); in __pnp_add_device()
191 list_add_tail(&dev->protocol_list, &dev->protocol->devices); in __pnp_add_device()
195 ret = device_register(&dev->dev); in __pnp_add_device()
197 pnp_delist_device(dev); in __pnp_add_device()
198 else if (dev->protocol->can_wakeup) in __pnp_add_device()
199 device_set_wakeup_capable(&dev->dev, in __pnp_add_device()
200 dev->protocol->can_wakeup(dev)); in __pnp_add_device()
211 int pnp_add_device(struct pnp_dev *dev) in pnp_add_device() argument
218 if (dev->card) in pnp_add_device()
221 ret = __pnp_add_device(dev); in pnp_add_device()
226 for (id = dev->id; id; id = id->next) in pnp_add_device()
229 dev_printk(KERN_DEBUG, &dev->dev, "%s device, IDs%s (%s)\n", in pnp_add_device()
230 dev->protocol->name, buf, in pnp_add_device()
231 dev->active ? "active" : "disabled"); in pnp_add_device()
235 void __pnp_remove_device(struct pnp_dev *dev) in __pnp_remove_device() argument
237 pnp_delist_device(dev); in __pnp_remove_device()
238 device_unregister(&dev->dev); in __pnp_remove_device()