[PATCH 1/1] Adding radio type FM

From: Janakiram Sistla
Date: Thu Nov 12 2009 - 21:46:26 EST


Adding radio type FM in RFKILL_TYPE_.FM also belongs to
same class of with both TX/RX capability.
Also Added input type for the above same.

Signed-off-by: Janakiram Sistla <janakiram.sistla@xxxxxxxxx>
---
include/linux/input.h | 1 +
include/linux/rfkill.h | 1 +
net/rfkill/core.c | 2 ++
net/rfkill/input.c | 9 +++++++++
4 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/include/linux/input.h b/include/linux/input.h
index 0ccfc30..f03ae90 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -376,6 +376,7 @@ struct input_absinfo {
#define KEY_DISPLAY_OFF 245 /* display device to off state */

#define KEY_WIMAX 246
+#define KEY_FM 247

/* Range 248 - 255 is reserved for special needs of AT keyboard driver */

diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h
index 3392c59..03f5598 100644
--- a/include/linux/rfkill.h
+++ b/include/linux/rfkill.h
@@ -45,6 +45,7 @@ enum rfkill_type {
RFKILL_TYPE_WIMAX,
RFKILL_TYPE_WWAN,
RFKILL_TYPE_GPS,
+ RFKILL_TYPE_FM,
NUM_RFKILL_TYPES,
};

diff --git a/net/rfkill/core.c b/net/rfkill/core.c
index ba2efb9..b8ac206 100644
--- a/net/rfkill/core.c
+++ b/net/rfkill/core.c
@@ -592,6 +592,8 @@ static const char *rfkill_get_type_str(enum
rfkill_type type)
return "wwan";
case RFKILL_TYPE_GPS:
return "gps";
+ case RRFKILL_TYPE_FM:
+ return "fm";
default:
BUG();
}
diff --git a/net/rfkill/input.c b/net/rfkill/input.c
index a7295ad..f51b16d 100644
--- a/net/rfkill/input.c
+++ b/net/rfkill/input.c
@@ -212,6 +212,9 @@ static void rfkill_event(struct input_handle
*handle, unsigned int type,
case KEY_WIMAX:
rfkill_schedule_toggle(RFKILL_TYPE_WIMAX);
break;
+ case KEY_FM:
+ rfkill_schedule_toggle(RFKILL_TYPE_FM);
+ break;
}
} else if (type == EV_SW && code == SW_RFKILL_ALL)
rfkill_schedule_evsw_rfkillall(data);
@@ -290,6 +293,12 @@ static const struct input_device_id rfkill_ids[] = {
.keybit = { [BIT_WORD(KEY_UWB)] = BIT_MASK(KEY_UWB) },
},
{
+ .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
+ INPUT_DEVICE_ID_MATCH_KEYBIT,
+ .evbit = { BIT_MASK(EV_KEY) },
+ .keybit = { [BIT_WORD(KEY_UWB)] = BIT_MASK(KEY_UWB) },
+ },
+ {
.flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_KEYBIT,
.evbit = { BIT_MASK(EV_KEY) },
.keybit = { [BIT_WORD(KEY_WIMAX)] = BIT_MASK(KEY_WIMAX) },
--
1.5.4.3


Regards,
Janakiram.
janakiram.sistla@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/