Commit 33e01833 authored by Sifan Naeem's avatar Sifan Naeem Committed by Mauro Carvalho Chehab

[media] rc: img-ir: pass toggle bit to the rc driver

Add toggle bit to struct img_ir_scancode_req so that protocols can
provide it to img_ir_handle_data(), and pass that toggle bit up to
rc_keydown instead of 0.

This is needed for the upcoming rc-5 and rc-6 patches.
Signed-off-by: default avatarSifan Naeem <sifan.naeem@imgtec.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent ab93ce06
...@@ -809,6 +809,7 @@ static void img_ir_handle_data(struct img_ir_priv *priv, u32 len, u64 raw) ...@@ -809,6 +809,7 @@ static void img_ir_handle_data(struct img_ir_priv *priv, u32 len, u64 raw)
struct img_ir_scancode_req request; struct img_ir_scancode_req request;
request.protocol = RC_TYPE_UNKNOWN; request.protocol = RC_TYPE_UNKNOWN;
request.toggle = 0;
if (dec->scancode) if (dec->scancode)
ret = dec->scancode(len, raw, hw->enabled_protocols, &request); ret = dec->scancode(len, raw, hw->enabled_protocols, &request);
...@@ -819,9 +820,10 @@ static void img_ir_handle_data(struct img_ir_priv *priv, u32 len, u64 raw) ...@@ -819,9 +820,10 @@ static void img_ir_handle_data(struct img_ir_priv *priv, u32 len, u64 raw)
dev_dbg(priv->dev, "data (%u bits) = %#llx\n", dev_dbg(priv->dev, "data (%u bits) = %#llx\n",
len, (unsigned long long)raw); len, (unsigned long long)raw);
if (ret == IMG_IR_SCANCODE) { if (ret == IMG_IR_SCANCODE) {
dev_dbg(priv->dev, "decoded scan code %#x\n", dev_dbg(priv->dev, "decoded scan code %#x, toggle %u\n",
request.scancode); request.scancode, request.toggle);
rc_keydown(hw->rdev, request.protocol, request.scancode, 0); rc_keydown(hw->rdev, request.protocol, request.scancode,
request.toggle);
img_ir_end_repeat(priv); img_ir_end_repeat(priv);
} else if (ret == IMG_IR_REPEATCODE) { } else if (ret == IMG_IR_REPEATCODE) {
if (hw->mode == IMG_IR_M_REPEATING) { if (hw->mode == IMG_IR_M_REPEATING) {
......
...@@ -138,10 +138,12 @@ struct img_ir_timing_regvals { ...@@ -138,10 +138,12 @@ struct img_ir_timing_regvals {
* RC_TYPE_UNKNOWN). * RC_TYPE_UNKNOWN).
* @scancode: Scan code of received message (must be written by * @scancode: Scan code of received message (must be written by
* handler if IMG_IR_SCANCODE is returned). * handler if IMG_IR_SCANCODE is returned).
* @toggle: Toggle bit (defaults to 0).
*/ */
struct img_ir_scancode_req { struct img_ir_scancode_req {
enum rc_type protocol; enum rc_type protocol;
u32 scancode; u32 scancode;
u8 toggle;
}; };
/** /**
......
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