[PATCH 9/25] UBUNTU hardy-lum lpia branch sync

Steve Conklin sconklin at canonical.com
Tue Mar 10 19:30:49 UTC 2009


>From 4babf0544ff389e672e167292e973b751624b60c Mon Sep 17 00:00:00 2001
From: Michael Krufky <mkrufky at linuxtv.org>
Date: Fri, 6 Mar 2009 11:47:29 -0500
Subject: [PATCH] UBUNTU: sms1xxx: load smsdvb module automatically based on device id
 OriginalAuthor: Michael Krufky <mkrufky at linuxtv.org>
 OriginalLocation: http://linuxtv.org/hg/v4l-dvb/rev/0ee0650674eb

The smsdvb module was separated from the core and usb code. This change loads
smsdvb automatically for driver configurations that depend on it.

Signed-off-by: Michael Krufky <mkrufky at linuxtv.org>
---
 ubuntu/media/sms1xxx/sms-cards.c |   17 +++++++++++++++++
 ubuntu/media/sms1xxx/sms-cards.h |    2 ++
 ubuntu/media/sms1xxx/smsusb.c    |    1 +
 3 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/ubuntu/media/sms1xxx/sms-cards.c b/ubuntu/media/sms1xxx/sms-cards.c
index c789d91..f5a79b1 100644
--- a/ubuntu/media/sms1xxx/sms-cards.c
+++ b/ubuntu/media/sms1xxx/sms-cards.c
@@ -197,3 +197,20 @@ int sms_board_lna_control(struct smscore_device_t *coredev, int onoff)
 	return -EINVAL;
 }
 EXPORT_SYMBOL(sms_board_lna_control);
+
+int sms_board_load_modules(int id)
+{
+	switch (id) {
+	case SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT:
+	case SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A:
+	case SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B:
+	case SMS1XXX_BOARD_HAUPPAUGE_WINDHAM:
+		request_module("smsdvb");
+		break;
+	default:
+		/* do nothing */
+		break;
+	}
+	return 0;
+}
+EXPORT_SYMBOL(sms_board_load_modules);
diff --git a/ubuntu/media/sms1xxx/sms-cards.h b/ubuntu/media/sms1xxx/sms-cards.h
index 55ad8aa..f2c2c3c 100644
--- a/ubuntu/media/sms1xxx/sms-cards.h
+++ b/ubuntu/media/sms1xxx/sms-cards.h
@@ -52,4 +52,6 @@ int sms_board_led_feedback(struct smscore_device_t *coredev, int led);
 int sms_board_power(struct smscore_device_t *coredev, int onoff);
 int sms_board_lna_control(struct smscore_device_t *coredev, int onoff);
 
+extern int sms_board_load_modules(int id);
+
 #endif /* __SMS_CARDS_H__ */
diff --git a/ubuntu/media/sms1xxx/smsusb.c b/ubuntu/media/sms1xxx/smsusb.c
index 2bb7c7c..74426a3 100644
--- a/ubuntu/media/sms1xxx/smsusb.c
+++ b/ubuntu/media/sms1xxx/smsusb.c
@@ -410,6 +410,7 @@ static int smsusb_probe(struct usb_interface *intf,
 
 	rc = smsusb_init_device(intf, id->driver_info);
 	sms_info("rc %d", rc);
+	sms_board_load_modules(id->driver_info);
 	return rc;
 }
 
-- 
1.5.6.3





More information about the kernel-team mailing list