Commit e0f14c25 authored by Uri Shkolnik's avatar Uri Shkolnik Committed by Mauro Carvalho Chehab

V4L/DVB (10750): import changes from Siano

Import the following changes from Uri Shkolnik

* Two-ways merge with Siano internal repository
* Continuing with DVB sub-system separation
* kconfig and makefile updates
* Code cleanup

This is a work-in-progress sync with Siano's internal repository.

Some changes had to be altered or dropped in order not to break the build.

This breaks normal operation for the current driver, but it is being committed
now for tracking purposes.

These changes introduce the following checkpatch.pl violations:

ERROR: do not use C99 // comments
156: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1373:
+//#ifdef DVB_CORE

ERROR: do not use C99 // comments
157: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1374:
+//	smsdvb_unregister();

ERROR: do not use C99 // comments
158: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1375:
+//#endif

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
163: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1380:
+EXPORT_SYMBOL(smscore_onresponse);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
164: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1381:
+EXPORT_SYMBOL(sms_get_board);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
165: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1382:
+EXPORT_SYMBOL(sms_debug);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
166: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1383:
+EXPORT_SYMBOL(smscore_putbuffer);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
167: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1384:
+EXPORT_SYMBOL(smscore_registry_getmode);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
168: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1385:
+EXPORT_SYMBOL(smscore_register_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
169: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1386:
+EXPORT_SYMBOL(smscore_set_board_id);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
170: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1387:
+EXPORT_SYMBOL(smscore_start_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
171: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1388:
+EXPORT_SYMBOL(smsusb_id_table);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
172: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1389:
+EXPORT_SYMBOL(smscore_unregister_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
173: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1390:
+EXPORT_SYMBOL(smscore_getbuffer);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
174: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1391:
+EXPORT_SYMBOL(smscore_get_device_mode);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
175: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1392:
+EXPORT_SYMBOL(smscore_register_client);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
176: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1393:
+EXPORT_SYMBOL(smscore_unregister_hotplug);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
177: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1394:
+EXPORT_SYMBOL(smsclient_sendrequest);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
178: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1395:
+EXPORT_SYMBOL(smscore_unregister_client);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
179: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1396:
+EXPORT_SYMBOL(smscore_get_board_id);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
180: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1397:
+EXPORT_SYMBOL(smscore_register_hotplug);

WARNING: line over 80 characters
391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398:
+extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);

ERROR: "foo* bar" should be "foo *bar"
391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398:
+extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);

WARNING: line over 80 characters
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);

ERROR: "foo* bar" should be "foo *bar"
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);

ERROR: space required after that ',' (ctx:VxV)
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);
                                                                             ^

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
489: FILE: linux/drivers/media/dvb/siano/smsusb.c:443:
+	printk(KERN_INFO"%s  Entering status %d.\n", __FUNCTION__, msg.event);

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
501: FILE: linux/drivers/media/dvb/siano/smsusb.c:455:
+	printk(KERN_INFO  "%s  Entering.\n", __FUNCTION__);

ERROR: space prohibited before that '++' (ctx:WxB)
505: FILE: linux/drivers/media/dvb/siano/smsusb.c:459:
+	for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i ++)
 	                                                            ^

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
517: FILE: linux/drivers/media/dvb/siano/smsusb.c:471:
+			__FUNCTION__, rc);

total: 7 errors, 23 warnings, 524 lines checked
Signed-off-by: default avatarUri Shkolnik <uris@siano-ms.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 841a3f0d
sms1xxx-objs := smscoreapi.o smsusb.o smsdvb.o sms-cards.o sms1xxx-objs := smscoreapi.o sms-cards.o
obj-$(CONFIG_DVB_SIANO_SMS1XXX) += sms1xxx.o obj-$(CONFIG_DVB_SIANO_SMS1XXX) += sms1xxx.o
obj-$(CONFIG_DVB_SIANO_SMS1XXX) += smsusb.o
obj-$(CONFIG_DVB_SIANO_SMS1XXX) += smsdvb.o
EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* This file contains implementation for the interface to sms core component * This file contains implementation for the interface to sms core component
* *
* author: Anatoly Greenblat * author: Uri Shkolnik
* *
* Copyright (c), 2005-2008 Siano Mobile Silicon, Inc. * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc.
* *
...@@ -732,7 +732,7 @@ static char *smscore_fw_lkup[][SMS_NUM_OF_DEVICE_TYPES] = { ...@@ -732,7 +732,7 @@ static char *smscore_fw_lkup[][SMS_NUM_OF_DEVICE_TYPES] = {
/*DVBH*/ /*DVBH*/
{"none", "dvb_nova_12mhz.inp", "dvb_nova_12mhz_b0.inp", "none"}, {"none", "dvb_nova_12mhz.inp", "dvb_nova_12mhz_b0.inp", "none"},
/*TDMB*/ /*TDMB*/
{"none", "tdmb_nova_12mhz.inp", "none", "none"}, {"none", "tdmb_nova_12mhz.inp", "tdmb_nova_12mhz_b0.inp", "none"},
/*DABIP*/ /*DABIP*/
{"none", "none", "none", "none"}, {"none", "none", "none", "none"},
/*BDA*/ /*BDA*/
...@@ -1276,12 +1276,12 @@ static int __init smscore_module_init(void) ...@@ -1276,12 +1276,12 @@ static int __init smscore_module_init(void)
INIT_LIST_HEAD(&g_smscore_registry); INIT_LIST_HEAD(&g_smscore_registry);
kmutex_init(&g_smscore_registrylock); kmutex_init(&g_smscore_registrylock);
/* USB Register */
rc = smsusb_register();
/* DVB Register */
rc = smsdvb_register();
return rc;
sms_debug("rc %d", rc); sms_debug("rc %d", rc);
return rc; return rc;
...@@ -1290,6 +1290,10 @@ static int __init smscore_module_init(void) ...@@ -1290,6 +1290,10 @@ static int __init smscore_module_init(void)
static void __exit smscore_module_exit(void) static void __exit smscore_module_exit(void)
{ {
kmutex_lock(&g_smscore_deviceslock); kmutex_lock(&g_smscore_deviceslock);
while (!list_empty(&g_smscore_notifyees)) { while (!list_empty(&g_smscore_notifyees)) {
struct smscore_device_notifyee_t *notifyee = struct smscore_device_notifyee_t *notifyee =
...@@ -1312,18 +1316,34 @@ static void __exit smscore_module_exit(void) ...@@ -1312,18 +1316,34 @@ static void __exit smscore_module_exit(void)
} }
kmutex_unlock(&g_smscore_registrylock); kmutex_unlock(&g_smscore_registrylock);
/* DVB UnRegister */ //#ifdef DVB_CORE
smsdvb_unregister(); // smsdvb_unregister();
//#endif
/* Unregister USB */
smsusb_unregister();
sms_debug(""); sms_debug("");
} }
EXPORT_SYMBOL(smscore_onresponse);
EXPORT_SYMBOL(sms_get_board);
EXPORT_SYMBOL(sms_debug);
EXPORT_SYMBOL(smscore_putbuffer);
EXPORT_SYMBOL(smscore_registry_getmode);
EXPORT_SYMBOL(smscore_register_device);
EXPORT_SYMBOL(smscore_set_board_id);
EXPORT_SYMBOL(smscore_start_device);
EXPORT_SYMBOL(smscore_unregister_device);
EXPORT_SYMBOL(smscore_getbuffer);
EXPORT_SYMBOL(smscore_get_device_mode);
EXPORT_SYMBOL(smscore_register_client);
EXPORT_SYMBOL(smscore_unregister_hotplug);
EXPORT_SYMBOL(smsclient_sendrequest);
EXPORT_SYMBOL(smscore_unregister_client);
EXPORT_SYMBOL(smscore_get_board_id);
EXPORT_SYMBOL(smscore_register_hotplug);
module_init(smscore_module_init); module_init(smscore_module_init);
module_exit(smscore_module_exit); module_exit(smscore_module_exit);
MODULE_DESCRIPTION("Driver for the Siano SMS1XXX USB dongle"); MODULE_DESCRIPTION("Siano MDTV Core module");
MODULE_AUTHOR("Siano Mobile Silicon,,, (doronc@siano-ms.com)"); MODULE_AUTHOR("Siano Mobile Silicon, Inc. (uris@siano-ms.com)");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -29,13 +29,13 @@ ...@@ -29,13 +29,13 @@
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/types.h> #include <linux/types.h>
#include <asm/page.h> #include <asm/page.h>
#include <linux/mutex.h>
#include "dmxdev.h" #include "dmxdev.h"
#include "dvbdev.h" #include "dvbdev.h"
#include "dvb_demux.h" #include "dvb_demux.h"
#include "dvb_frontend.h" #include "dvb_frontend.h"
#include <linux/mutex.h>
#define kmutex_init(_p_) mutex_init(_p_) #define kmutex_init(_p_) mutex_init(_p_)
#define kmutex_lock(_p_) mutex_lock(_p_) #define kmutex_lock(_p_) mutex_lock(_p_)
...@@ -397,6 +397,11 @@ extern int smsclient_sendrequest(struct smscore_client_t *client, ...@@ -397,6 +397,11 @@ extern int smsclient_sendrequest(struct smscore_client_t *client,
extern void smscore_onresponse(struct smscore_device_t *coredev, extern void smscore_onresponse(struct smscore_device_t *coredev,
struct smscore_buffer_t *cb); struct smscore_buffer_t *cb);
extern int smscore_get_common_buffer_size(struct smscore_device_t *coredev);
extern int smscore_map_common_buffer(struct smscore_device_t *coredev,
struct vm_area_struct *vma);
extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);
extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);
extern extern
struct smscore_buffer_t *smscore_getbuffer(struct smscore_device_t *coredev); struct smscore_buffer_t *smscore_getbuffer(struct smscore_device_t *coredev);
...@@ -412,13 +417,6 @@ int smscore_get_board_id(struct smscore_device_t *core); ...@@ -412,13 +417,6 @@ int smscore_get_board_id(struct smscore_device_t *core);
int smscore_led_state(struct smscore_device_t *core, int led); int smscore_led_state(struct smscore_device_t *core, int led);
/* smsdvb.c */
int smsdvb_register(void);
void smsdvb_unregister(void);
/* smsusb.c */
int smsusb_register(void);
void smsusb_unregister(void);
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
......
/* /*
* Driver for the Siano SMS1xxx USB dongle * Driver for the Siano SMS1xxx USB dongle
* *
* author: Anatoly Greenblat * Author: Uri Shkolni
* *
* Copyright (c), 2005-2008 Siano Mobile Silicon, Inc. * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc.
* *
...@@ -368,7 +368,7 @@ static void smsdvb_release(struct dvb_frontend *fe) ...@@ -368,7 +368,7 @@ static void smsdvb_release(struct dvb_frontend *fe)
static struct dvb_frontend_ops smsdvb_fe_ops = { static struct dvb_frontend_ops smsdvb_fe_ops = {
.info = { .info = {
.name = "Siano Mobile Digital SMS1xxx", .name = "Siano Mobile Digital MDTV Receiver",
.type = FE_OFDM, .type = FE_OFDM,
.frequency_min = 44250000, .frequency_min = 44250000,
.frequency_max = 867250000, .frequency_max = 867250000,
...@@ -410,7 +410,7 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev, ...@@ -410,7 +410,7 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev,
if (!arrival) if (!arrival)
return 0; return 0;
if (smscore_get_device_mode(coredev) != 4) { if (smscore_get_device_mode(coredev) != DEVICE_MODE_DVBT_BDA) {
sms_err("SMS Device mode is not set for " sms_err("SMS Device mode is not set for "
"DVB operation."); "DVB operation.");
return 0; return 0;
...@@ -512,7 +512,7 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev, ...@@ -512,7 +512,7 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev,
return rc; return rc;
} }
int smsdvb_register(void) int smsdvb_module_init(void)
{ {
int rc; int rc;
...@@ -526,7 +526,7 @@ int smsdvb_register(void) ...@@ -526,7 +526,7 @@ int smsdvb_register(void)
return rc; return rc;
} }
void smsdvb_unregister(void) void smsdvb_module_exit(void)
{ {
smscore_unregister_hotplug(smsdvb_hotplug); smscore_unregister_hotplug(smsdvb_hotplug);
...@@ -538,3 +538,10 @@ void smsdvb_unregister(void) ...@@ -538,3 +538,10 @@ void smsdvb_unregister(void)
kmutex_unlock(&g_smsdvb_clientslock); kmutex_unlock(&g_smsdvb_clientslock);
} }
module_init(smsdvb_module_init);
module_exit(smsdvb_module_exit);
MODULE_DESCRIPTION("SMS DVB subsystem adaptation module");
MODULE_AUTHOR("Siano Mobile Silicon, INC. (uris@siano-ms.com)");
MODULE_LICENSE("GPL");
...@@ -531,7 +531,7 @@ static struct usb_driver smsusb_driver = { ...@@ -531,7 +531,7 @@ static struct usb_driver smsusb_driver = {
.resume = smsusb_resume, .resume = smsusb_resume,
}; };
int smsusb_register(void) int smsusb_module_init(void)
{ {
int rc = usb_register(&smsusb_driver); int rc = usb_register(&smsusb_driver);
if (rc) if (rc)
...@@ -542,10 +542,16 @@ int smsusb_register(void) ...@@ -542,10 +542,16 @@ int smsusb_register(void)
return rc; return rc;
} }
void smsusb_unregister(void) void smsusb_module_exit(void)
{ {
sms_debug(""); sms_debug("");
/* Regular USB Cleanup */ /* Regular USB Cleanup */
usb_deregister(&smsusb_driver); usb_deregister(&smsusb_driver);
} }
module_init(smsusb_module_init);
module_exit(smsusb_module_exit);
MODULE_DESCRIPTION("Driver for the Siano SMS1XXX USB dongle");
MODULE_AUTHOR("Siano Mobile Silicon, INC. (uris@siano-ms.com)");
MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment