git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[pandora-kernel.git]
/
drivers
/
media
/
dvb
/
siano
/
smscoreapi.c
diff --git
a/drivers/media/dvb/siano/smscoreapi.c
b/drivers/media/dvb/siano/smscoreapi.c
index
cf613f2
..
7bd4d1d
100644
(file)
--- a/
drivers/media/dvb/siano/smscoreapi.c
+++ b/
drivers/media/dvb/siano/smscoreapi.c
@@
-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.
*
@@
-34,8
+34,8
@@
#include "smscoreapi.h"
#include "sms-cards.h"
#include "smscoreapi.h"
#include "sms-cards.h"
-
int sms_debu
g;
-module_param_named(debug, sms_d
ebu
g, int, 0644);
+
static int sms_db
g;
+module_param_named(debug, sms_d
b
g, int, 0644);
MODULE_PARM_DESC(debug, "set debug level (info=1, adv=2 (or-able))");
struct smscore_device_notifyee_t {
MODULE_PARM_DESC(debug, "set debug level (info=1, adv=2 (or-able))");
struct smscore_device_notifyee_t {
@@
-105,11
+105,13
@@
int smscore_led_state(struct smscore_device_t *core, int led)
core->led_state = led;
return core->led_state;
}
core->led_state = led;
return core->led_state;
}
+EXPORT_SYMBOL_GPL(smscore_set_board_id);
int smscore_get_board_id(struct smscore_device_t *core)
{
return core->board_id;
}
int smscore_get_board_id(struct smscore_device_t *core)
{
return core->board_id;
}
+EXPORT_SYMBOL_GPL(smscore_get_board_id);
struct smscore_registry_entry_t {
struct list_head entry;
struct smscore_registry_entry_t {
struct list_head entry;
@@
-170,6
+172,7
@@
int smscore_registry_getmode(char *devpath)
return default_mode;
}
return default_mode;
}
+EXPORT_SYMBOL_GPL(smscore_registry_getmode);
static enum sms_device_type_st smscore_registry_gettype(char *devpath)
{
static enum sms_device_type_st smscore_registry_gettype(char *devpath)
{
@@
-261,6
+264,7
@@
int smscore_register_hotplug(hotplug_t hotplug)
return rc;
}
return rc;
}
+EXPORT_SYMBOL_GPL(smscore_register_hotplug);
/**
* unregister a client callback that called when device plugged in/unplugged
/**
* unregister a client callback that called when device plugged in/unplugged
@@
-289,6
+293,7
@@
void smscore_unregister_hotplug(hotplug_t hotplug)
kmutex_unlock(&g_smscore_deviceslock);
}
kmutex_unlock(&g_smscore_deviceslock);
}
+EXPORT_SYMBOL_GPL(smscore_unregister_hotplug);
static void smscore_notify_clients(struct smscore_device_t *coredev)
{
static void smscore_notify_clients(struct smscore_device_t *coredev)
{
@@
-432,6
+437,7
@@
int smscore_register_device(struct smsdevice_params_t *params,
return 0;
}
return 0;
}
+EXPORT_SYMBOL_GPL(smscore_register_device);
/**
* sets initial device mode and notifies client hotplugs that device is ready
/**
* sets initial device mode and notifies client hotplugs that device is ready
@@
-460,6
+466,7
@@
int smscore_start_device(struct smscore_device_t *coredev)
return rc;
}
return rc;
}
+EXPORT_SYMBOL_GPL(smscore_start_device);
static int smscore_sendrequest_and_wait(struct smscore_device_t *coredev,
void *buffer, size_t size,
static int smscore_sendrequest_and_wait(struct smscore_device_t *coredev,
void *buffer, size_t size,
@@
-688,6
+695,7
@@
void smscore_unregister_device(struct smscore_device_t *coredev)
sms_info("device %p destroyed", coredev);
}
sms_info("device %p destroyed", coredev);
}
+EXPORT_SYMBOL_GPL(smscore_unregister_device);
static int smscore_detect_mode(struct smscore_device_t *coredev)
{
static int smscore_detect_mode(struct smscore_device_t *coredev)
{
@@
-732,7
+740,7
@@
static char *smscore_fw_lkup[][SMS_NUM_OF_DEVICE_TYPES] = {
/*DVBH*/
{"none", "dvb_nova_12mhz.inp", "dvb_nova_12mhz_b0.inp", "none"},
/*TDMB*/
/*DVBH*/
{"none", "dvb_nova_12mhz.inp", "dvb_nova_12mhz_b0.inp", "none"},
/*TDMB*/
- {"none", "tdmb_nova_12mhz.inp", "
none
", "none"},
+ {"none", "tdmb_nova_12mhz.inp", "
tdmb_nova_12mhz_b0.inp
", "none"},
/*DABIP*/
{"none", "none", "none", "none"},
/*BDA*/
/*DABIP*/
{"none", "none", "none", "none"},
/*BDA*/
@@
-879,6
+887,7
@@
int smscore_get_device_mode(struct smscore_device_t *coredev)
{
return coredev->mode;
}
{
return coredev->mode;
}
+EXPORT_SYMBOL_GPL(smscore_get_device_mode);
/**
* find client by response id & type within the clients list.
/**
* find client by response id & type within the clients list.
@@
-1006,6
+1015,7
@@
void smscore_onresponse(struct smscore_device_t *coredev,
smscore_putbuffer(coredev, cb);
}
}
smscore_putbuffer(coredev, cb);
}
}
+EXPORT_SYMBOL_GPL(smscore_onresponse);
/**
* return pointer to next free buffer descriptor from core pool
/**
* return pointer to next free buffer descriptor from core pool
@@
-1031,6
+1041,7
@@
struct smscore_buffer_t *smscore_getbuffer(struct smscore_device_t *coredev)
return cb;
}
return cb;
}
+EXPORT_SYMBOL_GPL(smscore_getbuffer);
/**
* return buffer descriptor to a pool
/**
* return buffer descriptor to a pool
@@
-1045,6
+1056,7
@@
void smscore_putbuffer(struct smscore_device_t *coredev,
{
list_add_locked(&cb->entry, &coredev->buffers, &coredev->bufferslock);
}
{
list_add_locked(&cb->entry, &coredev->buffers, &coredev->bufferslock);
}
+EXPORT_SYMBOL_GPL(smscore_putbuffer);
static int smscore_validate_client(struct smscore_device_t *coredev,
struct smscore_client_t *client,
static int smscore_validate_client(struct smscore_device_t *coredev,
struct smscore_client_t *client,
@@
-1124,6
+1136,7
@@
int smscore_register_client(struct smscore_device_t *coredev,
return 0;
}
return 0;
}
+EXPORT_SYMBOL_GPL(smscore_register_client);
/**
* frees smsclient object and all subclients associated with it
/**
* frees smsclient object and all subclients associated with it
@@
-1154,6
+1167,7
@@
void smscore_unregister_client(struct smscore_client_t *client)
spin_unlock_irqrestore(&coredev->clientslock, flags);
}
spin_unlock_irqrestore(&coredev->clientslock, flags);
}
+EXPORT_SYMBOL_GPL(smscore_unregister_client);
/**
* verifies that source id is not taken by another client,
/**
* verifies that source id is not taken by another client,
@@
-1193,6
+1207,7
@@
int smsclient_sendrequest(struct smscore_client_t *client,
return coredev->sendrequest_handler(coredev->context, buffer, size);
}
return coredev->sendrequest_handler(coredev->context, buffer, size);
}
+EXPORT_SYMBOL_GPL(smsclient_sendrequest);
int smscore_configure_gpio(struct smscore_device_t *coredev, u32 pin,
int smscore_configure_gpio(struct smscore_device_t *coredev, u32 pin,
@@
-1276,12
+1291,12
@@
static int __init smscore_module_init(void)
INIT_LIST_HEAD(&g_smscore_registry);
kmutex_init(&g_smscore_registrylock);
INIT_LIST_HEAD(&g_smscore_registry);
kmutex_init(&g_smscore_registrylock);
- /* USB Register */
- rc = smsusb_register();
- /* DVB Register */
- rc = smsdvb_register();
+
+
+
+ return rc;
sms_debug("rc %d", rc);
return rc;
sms_debug("rc %d", rc);
return rc;
@@
-1290,6
+1305,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);
while (!list_empty(&g_smscore_notifyees)) {
struct smscore_device_notifyee_t *notifyee =
kmutex_lock(&g_smscore_deviceslock);
while (!list_empty(&g_smscore_notifyees)) {
struct smscore_device_notifyee_t *notifyee =
@@
-1312,18
+1331,12
@@
static void __exit smscore_module_exit(void)
}
kmutex_unlock(&g_smscore_registrylock);
}
kmutex_unlock(&g_smscore_registrylock);
- /* DVB UnRegister */
- smsdvb_unregister();
-
- /* Unregister USB */
- smsusb_unregister();
-
sms_debug("");
}
module_init(smscore_module_init);
module_exit(smscore_module_exit);
sms_debug("");
}
module_init(smscore_module_init);
module_exit(smscore_module_exit);
-MODULE_DESCRIPTION("
Driver for the Siano SMS1XXX USB dong
le");
-MODULE_AUTHOR("Siano Mobile Silicon,
,, (doronc
@siano-ms.com)");
+MODULE_DESCRIPTION("
Siano MDTV Core modu
le");
+MODULE_AUTHOR("Siano Mobile Silicon,
Inc. (uris
@siano-ms.com)");
MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");