Exemplo n.º 1
0
static void mcb_shutdown(struct device *dev)
{
	struct mcb_driver *mdrv = to_mcb_driver(dev->driver);
	struct mcb_device *mdev = to_mcb_device(dev);

	if (mdrv && mdrv->shutdown)
		mdrv->shutdown(mdev);
}
Exemplo n.º 2
0
static int mcb_remove(struct device *dev)
{
    struct mcb_driver *mdrv = to_mcb_driver(dev->driver);
    struct mcb_device *mdev = to_mcb_device(dev);

    mdrv->remove(mdev);

    put_device(&mdev->dev);

    return 0;
}
Exemplo n.º 3
0
static int mcb_probe(struct device *dev)
{
    struct mcb_driver *mdrv = to_mcb_driver(dev->driver);
    struct mcb_device *mdev = to_mcb_device(dev);
    const struct mcb_device_id *found_id;

    found_id = mcb_match_id(mdrv->id_table, mdev);
    if (!found_id)
        return -ENODEV;

    return mdrv->probe(mdev, found_id);
}
Exemplo n.º 4
0
static int mcb_match(struct device *dev, struct device_driver *drv)
{
    struct mcb_driver *mdrv = to_mcb_driver(drv);
    struct mcb_device *mdev = to_mcb_device(dev);
    const struct mcb_device_id *found_id;

    found_id = mcb_match_id(mdrv->id_table, mdev);
    if (found_id)
        return 1;

    return 0;
}