From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: rmk@arm.linux.org.uk
Subject: [PATCH] Add bttv sub bus_type probe and remove methods
Date: Fri, 13 Jan 2006 11:50:12 -0800 [thread overview]
Message-ID: <11371818122256@kroah.com> (raw)
In-Reply-To: <11371818121359@kroah.com>
[PATCH] Add bttv sub bus_type probe and remove methods
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
commit 348290a4ae143a692124330942b464ccdb0d0365
tree 1fae9909d4d4519c9548b5940be2dca7e31935c2
parent d78967fb035aeb839a047ae69ce5f1ff39288a8d
author Russell King <rmk@arm.linux.org.uk> Fri, 06 Jan 2006 11:42:03 +0000
committer Greg Kroah-Hartman <gregkh@suse.de> Fri, 13 Jan 2006 11:26:11 -0800
drivers/media/dvb/bt8xx/dvb-bt8xx.c | 23 +++++++++++------------
drivers/media/video/bttv-gpio.c | 24 ++++++++++++++++++++++--
drivers/media/video/bttv.h | 2 ++
3 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/drivers/media/dvb/bt8xx/dvb-bt8xx.c b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
index f65f64b..44fcbe7 100644
--- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
@@ -779,9 +779,8 @@ static int __init dvb_bt8xx_load_card(st
return 0;
}
-static int dvb_bt8xx_probe(struct device *dev)
+static int dvb_bt8xx_probe(struct bttv_sub_device *sub)
{
- struct bttv_sub_device *sub = to_bttv_sub_dev(dev);
struct dvb_bt8xx_card *card;
struct pci_dev* bttv_pci_dev;
int ret;
@@ -890,13 +889,13 @@ static int dvb_bt8xx_probe(struct device
return ret;
}
- dev_set_drvdata(dev, card);
+ dev_set_drvdata(&sub->dev, card);
return 0;
}
-static int dvb_bt8xx_remove(struct device *dev)
+static int dvb_bt8xx_remove(struct bttv_sub_device *sub)
{
- struct dvb_bt8xx_card *card = dev_get_drvdata(dev);
+ struct dvb_bt8xx_card *card = dev_get_drvdata(&sub->dev);
dprintk("dvb_bt8xx: unloading card%d\n", card->bttv_nr);
@@ -919,14 +918,14 @@ static int dvb_bt8xx_remove(struct devic
static struct bttv_sub_driver driver = {
.drv = {
.name = "dvb-bt8xx",
- .probe = dvb_bt8xx_probe,
- .remove = dvb_bt8xx_remove,
- /* FIXME:
- * .shutdown = dvb_bt8xx_shutdown,
- * .suspend = dvb_bt8xx_suspend,
- * .resume = dvb_bt8xx_resume,
- */
},
+ .probe = dvb_bt8xx_probe,
+ .remove = dvb_bt8xx_remove,
+ /* FIXME:
+ * .shutdown = dvb_bt8xx_shutdown,
+ * .suspend = dvb_bt8xx_suspend,
+ * .resume = dvb_bt8xx_resume,
+ */
};
static int __init dvb_bt8xx_init(void)
diff --git a/drivers/media/video/bttv-gpio.c b/drivers/media/video/bttv-gpio.c
index d64accc..c4d5e2b 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 dev
return 0;
}
+static int bttv_sub_probe(struct device *dev)
+{
+ struct bttv_sub_device *sdev = to_bttv_sub_dev(dev);
+ struct bttv_sub_driver *sub = to_bttv_sub_drv(dev->driver);
+
+ return sub->probe ? sub->probe(sdev) : -ENODEV;
+}
+
+static int bttv_sub_remove(struct device *dev)
+{
+ struct bttv_sub_device *sdev = to_bttv_sub_dev(dev);
+ struct bttv_sub_driver *sub = to_bttv_sub_drv(dev->driver);
+
+ if (sub->remove)
+ sub->remove(sdev);
+ return 0;
+}
+
struct bus_type bttv_sub_bus_type = {
- .name = "bttv-sub",
- .match = &bttv_sub_bus_match,
+ .name = "bttv-sub",
+ .match = &bttv_sub_bus_match,
+ .probe = bttv_sub_probe,
+ .remove = bttv_sub_remove,
};
EXPORT_SYMBOL(bttv_sub_bus_type);
diff --git a/drivers/media/video/bttv.h b/drivers/media/video/bttv.h
index e370d74..9908c8e 100644
--- a/drivers/media/video/bttv.h
+++ b/drivers/media/video/bttv.h
@@ -365,6 +365,8 @@ struct bttv_sub_device {
struct bttv_sub_driver {
struct device_driver drv;
char wanted[BUS_ID_SIZE];
+ int (*probe)(struct bttv_sub_device *sub);
+ void (*remove)(struct bttv_sub_device *sub);
void (*gpio_irq)(struct bttv_sub_device *sub);
};
#define to_bttv_sub_drv(x) container_of((x), struct bttv_sub_driver, drv)
next prev parent reply other threads:[~2006-01-13 20:02 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-13 19:46 [GIT PATCH] More Driver Core patches for 2.6.15 Greg KH
2006-01-13 19:50 ` [PATCH] Add bus_type probe, remove, shutdown methods Greg KH
2006-01-13 19:50 ` [PATCH] Add pci_bus_type probe and remove methods Greg KH
2006-01-13 19:50 ` [PATCH] INPUT: add MODALIAS to the event environment Greg KH
2006-01-13 19:50 ` [PATCH] Add SA1111 bus_type probe/remove methods Greg KH
2006-01-13 19:50 ` [PATCH] Add locomo " Greg KH
2006-01-13 19:50 ` [PATCH] Add logic module " Greg KH
2006-01-13 19:50 ` [PATCH] Add tiocx " Greg KH
2006-01-13 19:50 ` [PATCH] Add ecard_bus_type probe/remove/shutdown methods Greg KH
2006-01-13 19:50 ` [PATCH] Add of_platform_bus_type probe and remove methods Greg KH
2006-01-13 19:50 ` [PATCH] Add ocp_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add parisc_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add sh_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add gameport bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add vio_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add serio bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add dio_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add i2c_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add pcmcia_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add MCP bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add macio_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add mmc_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add pnp_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add usb_serial_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add ccwgroup_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add superhyway_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add ide_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add zorro_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add Pseudo LLD bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] Add rio_bus_type " Greg KH
2006-01-13 19:50 ` [PATCH] platform-device-del typo fix Greg KH
2006-01-13 19:50 ` Greg KH [this message]
2006-01-13 19:50 ` [PATCH] Add {css,ccw}_bus_type probe, remove, shutdown methods Greg KH
2006-01-13 19:50 ` [PATCH] Remove usb gadget generic driver methods Greg KH
2006-01-13 19:50 ` [PATCH] device_shutdown can loop if the driver frees itself Greg KH
2006-01-13 20:06 ` [PATCH] Add ide_bus_type probe and remove methods Bartlomiej Zolnierkiewicz
2006-01-14 19:57 ` Russell King
2006-01-14 20:32 ` Bartlomiej Zolnierkiewicz
2006-01-23 8:39 ` Bartlomiej Zolnierkiewicz
2006-01-14 5:14 ` [PATCH] INPUT: add MODALIAS to the event environment Alexander E. Patrakov
2006-01-14 11:04 ` Kay Sievers
2006-01-14 13:15 ` Alexander E. Patrakov
2006-01-14 13:21 ` Kay Sievers
2006-01-14 13:42 ` Alexander E. Patrakov
2006-01-14 14:11 ` Kay Sievers
2006-01-14 14:50 ` Alexander E. Patrakov
2006-01-23 6:00 ` Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11371818122256@kroah.com \
--to=gregkh@suse.de \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).