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

Commit db9ace70 authored by Len Brown's avatar Len Brown
Browse files

Auto-update from upstream

parents d8bcd8e4 c162eeaa
Loading
Loading
Loading
Loading
+3 −18
Original line number Diff line number Diff line
@@ -48,11 +48,6 @@ static struct hw_interrupt_type xics_pic = {
	.set_affinity = xics_set_affinity
};

static struct hw_interrupt_type xics_8259_pic = {
	.typename = " XICS/8259",
	.ack = xics_mask_and_ack_irq,
};

/* This is used to map real irq numbers to virtual */
static struct radix_tree_root irq_map = RADIX_TREE_INIT(GFP_ATOMIC);

@@ -367,12 +362,7 @@ int xics_get_irq(struct pt_regs *regs)
	/* for sanity, this had better be < NR_IRQS - 16 */
	if (vec == xics_irq_8259_cascade_real) {
		irq = i8259_irq(regs);
		if (irq == -1) {
			/* Spurious cascaded interrupt.  Still must ack xics */
		xics_end_irq(irq_offset_up(xics_irq_8259_cascade));

			irq = -1;
		}
	} else if (vec == XICS_IRQ_SPURIOUS) {
		irq = -1;
	} else {
@@ -542,6 +532,7 @@ nextnode:
		xics_irq_8259_cascade_real = *ireg;
		xics_irq_8259_cascade
			= virt_irq_create_mapping(xics_irq_8259_cascade_real);
		i8259_init(0, 0);
		of_node_put(np);
	}

@@ -565,12 +556,7 @@ nextnode:
#endif /* CONFIG_SMP */
	}

	xics_8259_pic.enable = i8259_pic.enable;
	xics_8259_pic.disable = i8259_pic.disable;
	xics_8259_pic.end = i8259_pic.end;
	for (i = 0; i < 16; ++i)
		get_irq_desc(i)->handler = &xics_8259_pic;
	for (; i < NR_IRQS; ++i)
	for (i = irq_offset_value(); i < NR_IRQS; ++i)
		get_irq_desc(i)->handler = &xics_pic;

	xics_setup_cpu();
@@ -590,7 +576,6 @@ static int __init xics_setup_i8259(void)
				no_action, 0, "8259 cascade", NULL))
			printk(KERN_ERR "xics_setup_i8259: couldn't get 8259 "
					"cascade\n");
		i8259_init(0, 0);
	}
	return 0;
}
+3 −3
Original line number Diff line number Diff line
@@ -389,7 +389,7 @@ static int saa7127_set_vps(struct i2c_client *client, struct v4l2_sliced_vbi_dat
static int saa7127_set_cc(struct i2c_client *client, struct v4l2_sliced_vbi_data *data)
{
	struct saa7127_state *state = i2c_get_clientdata(client);
	u16 cc = data->data[0] << 8 | data->data[1];
	u16 cc = data->data[1] << 8 | data->data[0];
	int enable = (data->line != 0);

	if (enable && (data->field != 0 || data->line != 21))
@@ -397,7 +397,7 @@ static int saa7127_set_cc(struct i2c_client *client, struct v4l2_sliced_vbi_data
	if (state->cc_enable != enable) {
		saa7127_dbg("Turn CC %s\n", enable ? "on" : "off");
		saa7127_write(client, SAA7127_REG_CLOSED_CAPTION,
				(enable << 6) | 0x11);
				(state->xds_enable << 7) | (enable << 6) | 0x11);
		state->cc_enable = enable;
	}
	if (!enable)
@@ -423,7 +423,7 @@ static int saa7127_set_xds(struct i2c_client *client, struct v4l2_sliced_vbi_dat
	if (state->xds_enable != enable) {
		saa7127_dbg("Turn XDS %s\n", enable ? "on" : "off");
		saa7127_write(client, SAA7127_REG_CLOSED_CAPTION,
				(enable << 7) | 0x11);
				(enable << 7) | (state->cc_enable << 6) | 0x11);
		state->xds_enable = enable;
	}
	if (!enable)
+24 −2
Original line number Diff line number Diff line
config VIDEO_SAA7134
	tristate "Philips SAA7134 support"
	depends on VIDEO_DEV && PCI && I2C && SOUND && SND
	depends on VIDEO_DEV && PCI && I2C
	select VIDEO_BUF
	select VIDEO_IR
	select VIDEO_TUNER
	select CRC32
	select SND_PCM_OSS
	---help---
	  This is a video4linux driver for Philips SAA713x based
	  TV cards.
@@ -13,6 +12,29 @@ config VIDEO_SAA7134
	  To compile this driver as a module, choose M here: the
	  module will be called saa7134.

config VIDEO_SAA7134_ALSA
	tristate "Philips SAA7134 DMA audio support"
	depends on VIDEO_SAA7134 && SOUND && SND && (!VIDEO_SAA7134_OSS || VIDEO_SAA7134_OSS = m)
	select SND_PCM_OSS
	---help---
	  This is a video4linux driver for direct (DMA) audio in
	  Philips SAA713x based TV cards using ALSA

	  To compile this driver as a module, choose M here: the
	  module will be called saa7134-alsa.

config VIDEO_SAA7134_OSS
	tristate "Philips SAA7134 DMA audio support (OSS, DEPRECATED)"
	depends on VIDEO_SAA7134 && SOUND_PRIME && (!VIDEO_SAA7134_ALSA || VIDEO_SAA7134_ALSA = m)
	---help---
	  This is a video4linux driver for direct (DMA) audio in
	  Philips SAA713x based TV cards using OSS

	  This is deprecated in favor of the ALSA module

	  To compile this driver as a module, choose M here: the
	  module will be called saa7134-oss.

config VIDEO_SAA7134_DVB
	tristate "DVB/ATSC Support for saa7134 based TV cards"
	depends on VIDEO_SAA7134 && DVB_CORE
+5 −2
Original line number Diff line number Diff line
@@ -4,8 +4,11 @@ saa7134-objs := saa7134-cards.o saa7134-core.o saa7134-i2c.o \
		saa7134-video.o saa7134-input.o

obj-$(CONFIG_VIDEO_SAA7134) +=  saa7134.o saa7134-empress.o \
				saa6752hs.o saa7134-alsa.o \
				saa7134-oss.o
				saa6752hs.o

obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o
obj-$(CONFIG_VIDEO_SAA7134_OSS) += saa7134-oss.o

obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o

EXTRA_CFLAGS += -I$(src)/..
+12 −4
Original line number Diff line number Diff line
@@ -989,6 +989,14 @@ static int saa7134_alsa_init(void)
	struct saa7134_dev *dev = NULL;
	struct list_head *list;

	if (!dmasound_init && !dmasound_exit) {
		dmasound_init = alsa_device_init;
		dmasound_exit = alsa_device_exit;
	} else {
		printk(KERN_WARNING "saa7134 ALSA: can't load, DMA sound handler already assigned (probably to OSS)\n");
		return -EBUSY;
	}

	printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n");

	list_for_each(list,&saa7134_devlist) {
@@ -1001,9 +1009,6 @@ static int saa7134_alsa_init(void)
		}
	}

	dmasound_init = alsa_device_init;
	dmasound_exit = alsa_device_exit;

	if (dev == NULL)
		printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n");

@@ -1023,12 +1028,15 @@ static void saa7134_alsa_exit(void)
		snd_card_free(snd_saa7134_cards[idx]);
	}

	dmasound_init = NULL;
	dmasound_exit = NULL;
	printk(KERN_INFO "saa7134 ALSA driver for DMA sound unloaded\n");

	return;
}

module_init(saa7134_alsa_init);
/* We initialize this late, to make sure the sound system is up and running */
late_initcall(saa7134_alsa_init);
module_exit(saa7134_alsa_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Ricardo Cerqueira");
Loading