Commit 3a03b86f authored by David Härdeman's avatar David Härdeman Committed by Mauro Carvalho Chehab
Browse files

Revert "[media] rc: rc-core: Add support for encode_wakeup drivers"



This reverts commit 0d830b2d.

The current code is not mature enough, the API should allow a single
protocol to be specified. Also, the current code contains heuristics
that will depend on module load order.

Signed-off-by: default avatarDavid Härdeman <david@hardeman.nu>
Acked-by: default avatarAntti Seppälä <a.seppala@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 8abfebdb
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -189,7 +189,6 @@ int ir_raw_gen_manchester(struct ir_raw_event **ev, unsigned int max,
 * Routines from rc-raw.c to be used internally and by decoders
 */
u64 ir_raw_get_allowed_protocols(void);
u64 ir_raw_get_encode_protocols(void);
int ir_raw_event_register(struct rc_dev *dev);
void ir_raw_event_unregister(struct rc_dev *dev);
int ir_raw_handler_register(struct ir_raw_handler *ir_raw_handler);
+0 −17
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ static LIST_HEAD(ir_raw_client_list);
static DEFINE_MUTEX(ir_raw_handler_lock);
static LIST_HEAD(ir_raw_handler_list);
static u64 available_protocols;
static u64 encode_protocols;

static int ir_raw_event_thread(void *data)
{
@@ -241,18 +240,6 @@ ir_raw_get_allowed_protocols(void)
	return protocols;
}

/* used internally by the sysfs interface */
u64
ir_raw_get_encode_protocols(void)
{
	u64 protocols;

	mutex_lock(&ir_raw_handler_lock);
	protocols = encode_protocols;
	mutex_unlock(&ir_raw_handler_lock);
	return protocols;
}

static int change_protocol(struct rc_dev *dev, u64 *rc_type)
{
	/* the caller will update dev->enabled_protocols */
@@ -463,8 +450,6 @@ int ir_raw_handler_register(struct ir_raw_handler *ir_raw_handler)
		list_for_each_entry(raw, &ir_raw_client_list, list)
			ir_raw_handler->raw_register(raw->dev);
	available_protocols |= ir_raw_handler->protocols;
	if (ir_raw_handler->encode)
		encode_protocols |= ir_raw_handler->protocols;
	mutex_unlock(&ir_raw_handler_lock);

	return 0;
@@ -481,8 +466,6 @@ void ir_raw_handler_unregister(struct ir_raw_handler *ir_raw_handler)
		list_for_each_entry(raw, &ir_raw_client_list, list)
			ir_raw_handler->raw_unregister(raw->dev);
	available_protocols &= ~ir_raw_handler->protocols;
	if (ir_raw_handler->encode)
		encode_protocols &= ~ir_raw_handler->protocols;
	mutex_unlock(&ir_raw_handler_lock);
}
EXPORT_SYMBOL(ir_raw_handler_unregister);
+1 −6
Original line number Diff line number Diff line
@@ -865,8 +865,6 @@ static ssize_t show_protocols(struct device *device,
	} else {
		enabled = dev->enabled_wakeup_protocols;
		allowed = dev->allowed_wakeup_protocols;
		if (dev->encode_wakeup && !allowed)
			allowed = ir_raw_get_encode_protocols();
	}

	mutex_unlock(&dev->lock);
@@ -1408,16 +1406,13 @@ int rc_register_device(struct rc_dev *dev)
		path ? path : "N/A");
	kfree(path);

	if (dev->driver_type == RC_DRIVER_IR_RAW || dev->encode_wakeup) {
	if (dev->driver_type == RC_DRIVER_IR_RAW) {
		/* Load raw decoders, if they aren't already */
		if (!raw_init) {
			IR_dprintk(1, "Loading raw decoders\n");
			ir_raw_init();
			raw_init = true;
		}
	}

	if (dev->driver_type == RC_DRIVER_IR_RAW) {
		/* calls ir_register_device so unlock mutex here*/
		mutex_unlock(&dev->lock);
		rc = ir_raw_event_register(dev);
+0 −3
Original line number Diff line number Diff line
@@ -74,8 +74,6 @@ enum rc_filter_type {
 * @input_dev: the input child device used to communicate events to userspace
 * @driver_type: specifies if protocol decoding is done in hardware or software
 * @idle: used to keep track of RX state
 * @encode_wakeup: wakeup filtering uses IR encode API, therefore the allowed
 *	wakeup protocols is the set of all raw encoders
 * @allowed_protocols: bitmask with the supported RC_BIT_* protocols
 * @enabled_protocols: bitmask with the enabled RC_BIT_* protocols
 * @allowed_wakeup_protocols: bitmask with the supported RC_BIT_* wakeup protocols
@@ -136,7 +134,6 @@ struct rc_dev {
	struct input_dev		*input_dev;
	enum rc_driver_type		driver_type;
	bool				idle;
	bool				encode_wakeup;
	u64				allowed_protocols;
	u64				enabled_protocols;
	u64				allowed_wakeup_protocols;