cregit-Linux how code gets into the kernel

Release 4.11 drivers/uwb/umc-dev.c

Directory: drivers/uwb
/*
 * UWB Multi-interface Controller device management.
 *
 * Copyright (C) 2007 Cambridge Silicon Radio Ltd.
 *
 * This file is released under the GNU GPL v2.
 */
#include <linux/kernel.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/uwb/umc.h>


static void umc_device_release(struct device *dev) { struct umc_dev *umc = to_umc_dev(dev); kfree(umc); }

Contributors

PersonTokensPropCommitsCommitProp
David Vrabel26100.00%1100.00%
Total26100.00%1100.00%

/** * umc_device_create - allocate a child UMC device * @parent: parent of the new UMC device. * @n: index of the new device. * * The new UMC device will have a bus ID of the parent with '-n' * appended. */
struct umc_dev *umc_device_create(struct device *parent, int n) { struct umc_dev *umc; umc = kzalloc(sizeof(struct umc_dev), GFP_KERNEL); if (umc) { dev_set_name(&umc->dev, "%s-%d", dev_name(parent), n); umc->dev.parent = parent; umc->dev.bus = &umc_bus_type; umc->dev.release = umc_device_release; umc->dev.dma_mask = parent->dma_mask; } return umc; }

Contributors

PersonTokensPropCommitsCommitProp
David Vrabel8994.68%150.00%
Kay Sievers55.32%150.00%
Total94100.00%2100.00%

EXPORT_SYMBOL_GPL(umc_device_create); /** * umc_device_register - register a UMC device * @umc: pointer to the UMC device * * The memory resource for the UMC device is acquired and the device * registered with the system. */
int umc_device_register(struct umc_dev *umc) { int err; err = request_resource(umc->resource.parent, &umc->resource); if (err < 0) { dev_err(&umc->dev, "can't allocate resource range %pR: %d\n", &umc->resource, err); goto error_request_resource; } err = device_register(&umc->dev); if (err < 0) goto error_device_register; return 0; error_device_register: put_device(&umc->dev); release_resource(&umc->resource); error_request_resource: return err; }

Contributors

PersonTokensPropCommitsCommitProp
David Vrabel9290.20%133.33%
Levente Kurusa87.84%133.33%
Joe Perches21.96%133.33%
Total102100.00%3100.00%

EXPORT_SYMBOL_GPL(umc_device_register); /** * umc_device_unregister - unregister a UMC device * @umc: pointer to the UMC device * * First we unregister the device, make sure the driver can do it's * resource release thing and then we try to release any left over * resources. We take a ref to the device, to make sure it doesn't * disappear under our feet. */
void umc_device_unregister(struct umc_dev *umc) { struct device *dev; if (!umc) return; dev = get_device(&umc->dev); device_unregister(&umc->dev); release_resource(&umc->resource); put_device(dev); }

Contributors

PersonTokensPropCommitsCommitProp
David Vrabel52100.00%1100.00%
Total52100.00%1100.00%

EXPORT_SYMBOL_GPL(umc_device_unregister);

Overall Contributors

PersonTokensPropCommitsCommitProp
David Vrabel28392.79%114.29%
Levente Kurusa82.62%114.29%
Kay Sievers51.64%114.29%
Tejun Heo30.98%114.29%
Paul Gortmaker30.98%114.29%
Joe Perches20.66%114.29%
Lucas De Marchi10.33%114.29%
Total305100.00%7100.00%
Directory: drivers/uwb
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.