[PATCH 1/1] fb: add it's own bus for fb devices

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Thu Sep 20 14:51:30 EDT 2012


This is need for oftree device probing

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
 drivers/video/fb.c |   25 +++++++++++++++++++++----
 include/fb.h       |    2 ++
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/drivers/video/fb.c b/drivers/video/fb.c
index d885570..127723c 100644
--- a/drivers/video/fb.c
+++ b/drivers/video/fb.c
@@ -125,6 +125,7 @@ int register_framebuffer(struct fb_info *info)
 
 	sprintf(dev->name, "fb");
 
+	info->dev.bus = &fb_bus;
 	register_device(&info->dev);
 	dev_add_param(dev, "enable", fb_enable_set, NULL, 0);
 	dev_set_param(dev, "enable", "0");
@@ -160,19 +161,35 @@ static void fb_info(struct device_d *dev)
 	printf("\n");
 }
 
-static int fb_probe(struct device_d *hw_dev)
+static struct driver_d fb_driver = {
+	.name  = "fb",
+	.info = fb_info,
+};
+
+static int fb_match(struct device_d *dev, struct driver_d *drv)
 {
 	return 0;
 }
 
-static struct driver_d fb_driver = {
-	.name  = "fb",
+static int fb_probe(struct device_d *dev)
+{
+	return 0;
+}
+
+static void fb_remove(struct device_d *dev)
+{
+}
+
+struct bus_type fb_bus = {
+	.name = "fb",
+	.match = fb_match,
 	.probe = fb_probe,
-	.info = fb_info,
+	.remove = fb_remove,
 };
 
 static int fb_init_driver(void)
 {
+	fb_driver.bus = &fb_bus;
 	register_driver(&fb_driver);
 	return 0;
 }
diff --git a/include/fb.h b/include/fb.h
index 41deb8c..c594418 100644
--- a/include/fb.h
+++ b/include/fb.h
@@ -110,5 +110,7 @@ int register_framebuffer(struct fb_info *info);
 #define	FBIO_ENABLE		_IO('F', 2)
 #define	FBIO_DISABLE		_IO('F', 3)
 
+extern struct bus_type fb_bus;
+
 #endif /* __FB_H */
 
-- 
1.7.10.4




More information about the barebox mailing list