Lines Matching refs:umc
15 struct umc_dev *umc = to_umc_dev(dev); in umc_device_release() local
17 kfree(umc); in umc_device_release()
30 struct umc_dev *umc; in umc_device_create() local
32 umc = kzalloc(sizeof(struct umc_dev), GFP_KERNEL); in umc_device_create()
33 if (umc) { in umc_device_create()
34 dev_set_name(&umc->dev, "%s-%d", dev_name(parent), n); in umc_device_create()
35 umc->dev.parent = parent; in umc_device_create()
36 umc->dev.bus = &umc_bus_type; in umc_device_create()
37 umc->dev.release = umc_device_release; in umc_device_create()
39 umc->dev.dma_mask = parent->dma_mask; in umc_device_create()
41 return umc; in umc_device_create()
52 int umc_device_register(struct umc_dev *umc) in umc_device_register() argument
56 err = request_resource(umc->resource.parent, &umc->resource); in umc_device_register()
58 dev_err(&umc->dev, "can't allocate resource range %pR: %d\n", in umc_device_register()
59 &umc->resource, err); in umc_device_register()
63 err = device_register(&umc->dev); in umc_device_register()
69 put_device(&umc->dev); in umc_device_register()
70 release_resource(&umc->resource); in umc_device_register()
85 void umc_device_unregister(struct umc_dev *umc) in umc_device_unregister() argument
88 if (!umc) in umc_device_unregister()
90 dev = get_device(&umc->dev); in umc_device_unregister()
91 device_unregister(&umc->dev); in umc_device_unregister()
92 release_resource(&umc->resource); in umc_device_unregister()