summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorUri Shkolnik <uris@siano-ms.com>2009-05-19 17:52:58 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-17 00:14:42 +0200
commit34601caa64e11b8fa5e9a03d74cc1df0af32e2ca (patch)
tree7d20da0ab1b94cb5e274a7dcf0295734b9d7a969 /drivers/media
parentV4L/DVB (11890): Siano: smscore - remove redundant code (diff)
downloadlinux-34601caa64e11b8fa5e9a03d74cc1df0af32e2ca.tar.xz
linux-34601caa64e11b8fa5e9a03d74cc1df0af32e2ca.zip
V4L/DVB (11891): Siano: smscore - bind the GPIO SMS protocol
Bind SMS protocol commands to the GPIO commands Signed-off-by: Uri Shkolnik <uris@siano-ms.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/siano/smscoreapi.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/media/dvb/siano/smscoreapi.c b/drivers/media/dvb/siano/smscoreapi.c
index b2127c1d263c..32be382f0e97 100644
--- a/drivers/media/dvb/siano/smscoreapi.c
+++ b/drivers/media/dvb/siano/smscoreapi.c
@@ -352,6 +352,9 @@ int smscore_register_device(struct smsdevice_params_t *params,
init_completion(&dev->init_device_done);
init_completion(&dev->reload_start_done);
init_completion(&dev->resume_done);
+ init_completion(&dev->gpio_configuration_done);
+ init_completion(&dev->gpio_set_level_done);
+ init_completion(&dev->gpio_get_level_done);
init_completion(&dev->ir_init_done);
/* Buffer management */
@@ -1051,6 +1054,23 @@ void smscore_onresponse(struct smscore_device_t *coredev,
case MSG_SMS_SLEEP_RESUME_COMP_IND:
complete(&coredev->resume_done);
break;
+ case MSG_SMS_GPIO_CONFIG_EX_RES:
+ sms_debug("MSG_SMS_GPIO_CONFIG_EX_RES");
+ complete(&coredev->gpio_configuration_done);
+ break;
+ case MSG_SMS_GPIO_SET_LEVEL_RES:
+ sms_debug("MSG_SMS_GPIO_SET_LEVEL_RES");
+ complete(&coredev->gpio_set_level_done);
+ break;
+ case MSG_SMS_GPIO_GET_LEVEL_RES:
+ {
+ u32 *msgdata = (u32 *) phdr;
+ coredev->gpio_get_res = msgdata[1];
+ sms_debug("MSG_SMS_GPIO_GET_LEVEL_RES gpio level %d",
+ coredev->gpio_get_res);
+ complete(&coredev->gpio_get_level_done);
+ break;
+ }
case MSG_SMS_START_IR_RES:
complete(&coredev->ir_init_done);
break;