diff options
Diffstat (limited to 'drivers/media/video/bttv-gpio.c')
| -rw-r--r-- | drivers/media/video/bttv-gpio.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/media/video/bttv-gpio.c b/drivers/media/video/bttv-gpio.c index d64accc17b0e..c4d5e2b70c28 100644 --- a/drivers/media/video/bttv-gpio.c +++ b/drivers/media/video/bttv-gpio.c | |||
| @@ -47,9 +47,29 @@ static int bttv_sub_bus_match(struct device *dev, struct device_driver *drv) | |||
| 47 | return 0; | 47 | return 0; |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | static int bttv_sub_probe(struct device *dev) | ||
| 51 | { | ||
| 52 | struct bttv_sub_device *sdev = to_bttv_sub_dev(dev); | ||
| 53 | struct bttv_sub_driver *sub = to_bttv_sub_drv(dev->driver); | ||
| 54 | |||
| 55 | return sub->probe ? sub->probe(sdev) : -ENODEV; | ||
| 56 | } | ||
| 57 | |||
| 58 | static int bttv_sub_remove(struct device *dev) | ||
| 59 | { | ||
| 60 | struct bttv_sub_device *sdev = to_bttv_sub_dev(dev); | ||
| 61 | struct bttv_sub_driver *sub = to_bttv_sub_drv(dev->driver); | ||
| 62 | |||
| 63 | if (sub->remove) | ||
| 64 | sub->remove(sdev); | ||
| 65 | return 0; | ||
| 66 | } | ||
| 67 | |||
| 50 | struct bus_type bttv_sub_bus_type = { | 68 | struct bus_type bttv_sub_bus_type = { |
| 51 | .name = "bttv-sub", | 69 | .name = "bttv-sub", |
| 52 | .match = &bttv_sub_bus_match, | 70 | .match = &bttv_sub_bus_match, |
| 71 | .probe = bttv_sub_probe, | ||
| 72 | .remove = bttv_sub_remove, | ||
| 53 | }; | 73 | }; |
| 54 | EXPORT_SYMBOL(bttv_sub_bus_type); | 74 | EXPORT_SYMBOL(bttv_sub_bus_type); |
| 55 | 75 | ||
