Search Linux Wireless

Re: [patch 0/1] Adding radio type FM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Resending with added comments from John.
>From 1b1493392faeb6702ff364447b135e481930b397 Mon Sep 17 00:00:00 2001
From: Janakiram Sistla <janakiram.sistla@xxxxxxxxx>
Date: Fri, 13 Nov 2009 08:16:26 +0530
Subject: [PATCH 1/1] Adding radio type FM

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_FM)] = 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,
Ram.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux