Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

V4L/DVB: ir-core: remove ir-functions usage from dm1105



Convert drivers/media/dvb/dm1105/dm1105.c to not rely on
ir-functions.c.

Signed-off-by: default avatarDavid Härdeman <david@hardeman.nu>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 1f71baef
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
#include <linux/dma-mapping.h>
#include <linux/input.h>
#include <linux/slab.h>
#include <media/ir-common.h>
#include <media/ir-core.h>

#include "demux.h"
#include "dmxdev.h"
@@ -267,7 +267,6 @@ static void dm1105_card_list(struct pci_dev *pci)
/* infrared remote control */
struct infrared {
	struct input_dev	*input_dev;
	struct ir_input_state	ir;
	char			input_phys[32];
	struct work_struct	work;
	u32			ir_command;
@@ -533,8 +532,7 @@ static void dm1105_emit_key(struct work_struct *work)

	data = (ircom >> 8) & 0x7f;

	ir_input_keydown(ir->input_dev, &ir->ir, data);
	ir_input_nokey(ir->input_dev, &ir->ir);
	ir_keydown(ir->input_dev, data, 0);
}

/* work handler */
@@ -597,7 +595,6 @@ int __devinit dm1105_ir_init(struct dm1105_dev *dm1105)
{
	struct input_dev *input_dev;
	char *ir_codes = NULL;
	u64 ir_type = IR_TYPE_OTHER;
	int err = -ENOMEM;

	input_dev = input_allocate_device();
@@ -608,12 +605,6 @@ int __devinit dm1105_ir_init(struct dm1105_dev *dm1105)
	snprintf(dm1105->ir.input_phys, sizeof(dm1105->ir.input_phys),
		"pci-%s/ir0", pci_name(dm1105->pdev));

	err = ir_input_init(input_dev, &dm1105->ir.ir, ir_type);
	if (err < 0) {
		input_free_device(input_dev);
		return err;
	}

	input_dev->name = "DVB on-card IR receiver";
	input_dev->phys = dm1105->ir.input_phys;
	input_dev->id.bustype = BUS_PCI;
@@ -631,10 +622,14 @@ int __devinit dm1105_ir_init(struct dm1105_dev *dm1105)
	INIT_WORK(&dm1105->ir.work, dm1105_emit_key);

	err = ir_input_register(input_dev, ir_codes, NULL, MODULE_NAME);

	if (err < 0) {
		input_free_device(input_dev);
		return err;
	}

	return 0;
}

void __devexit dm1105_ir_exit(struct dm1105_dev *dm1105)
{
	ir_input_unregister(dm1105->ir.input_dev);