mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
Merge branches 'x86/pat2' and 'x86/fpu'; commit 'v2.6.28' into x86/core
This commit is contained in:
commit
79a66b96c3
39 changed files with 126 additions and 102 deletions
|
@ -220,14 +220,17 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||||
Bits in debug_level correspond to a level in
|
Bits in debug_level correspond to a level in
|
||||||
ACPI_DEBUG_PRINT statements, e.g.,
|
ACPI_DEBUG_PRINT statements, e.g.,
|
||||||
ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
|
ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
|
||||||
See Documentation/acpi/debug.txt for more information
|
The debug_level mask defaults to "info". See
|
||||||
about debug layers and levels.
|
Documentation/acpi/debug.txt for more information about
|
||||||
|
debug layers and levels.
|
||||||
|
|
||||||
|
Enable processor driver info messages:
|
||||||
|
acpi.debug_layer=0x20000000
|
||||||
|
Enable PCI/PCI interrupt routing info messages:
|
||||||
|
acpi.debug_layer=0x400000
|
||||||
Enable AML "Debug" output, i.e., stores to the Debug
|
Enable AML "Debug" output, i.e., stores to the Debug
|
||||||
object while interpreting AML:
|
object while interpreting AML:
|
||||||
acpi.debug_layer=0xffffffff acpi.debug_level=0x2
|
acpi.debug_layer=0xffffffff acpi.debug_level=0x2
|
||||||
Enable PCI/PCI interrupt routing info messages:
|
|
||||||
acpi.debug_layer=0x400000 acpi.debug_level=0x4
|
|
||||||
Enable all messages related to ACPI hardware:
|
Enable all messages related to ACPI hardware:
|
||||||
acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
|
acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
|
||||||
|
|
||||||
|
|
|
@ -4529,7 +4529,7 @@ S: Maintained
|
||||||
USB VIDEO CLASS
|
USB VIDEO CLASS
|
||||||
P: Laurent Pinchart
|
P: Laurent Pinchart
|
||||||
M: laurent.pinchart@skynet.be
|
M: laurent.pinchart@skynet.be
|
||||||
L: linux-uvc-devel@lists.berlios.de
|
L: linux-uvc-devel@lists.berlios.de (subscribers-only)
|
||||||
L: video4linux-list@redhat.com
|
L: video4linux-list@redhat.com
|
||||||
W: http://linux-uvc.berlios.de
|
W: http://linux-uvc.berlios.de
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
||||||
VERSION = 2
|
VERSION = 2
|
||||||
PATCHLEVEL = 6
|
PATCHLEVEL = 6
|
||||||
SUBLEVEL = 28
|
SUBLEVEL = 28
|
||||||
EXTRAVERSION = -rc9
|
EXTRAVERSION =
|
||||||
NAME = Erotic Pickled Herring
|
NAME = Erotic Pickled Herring
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
|
|
@ -50,9 +50,8 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
|
||||||
static inline __attribute_const__ __u64 __arch_swab64(__u64 x)
|
static inline __attribute_const__ __u64 __arch_swab64(__u64 x)
|
||||||
{
|
{
|
||||||
__asm__(
|
__asm__(
|
||||||
" dsbh %0, %1 \n"
|
" dsbh %0, %1\n"
|
||||||
" dshd %0, %0 \n"
|
" dshd %0, %0"
|
||||||
" drotr %0, %0, 32 \n"
|
|
||||||
: "=r" (x)
|
: "=r" (x)
|
||||||
: "r" (x));
|
: "r" (x));
|
||||||
|
|
||||||
|
|
|
@ -232,7 +232,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||||
*/
|
*/
|
||||||
#ifdef __MIPSEB__
|
#ifdef __MIPSEB__
|
||||||
#define ELF_DATA ELFDATA2MSB
|
#define ELF_DATA ELFDATA2MSB
|
||||||
#elif __MIPSEL__
|
#elif defined(__MIPSEL__)
|
||||||
#define ELF_DATA ELFDATA2LSB
|
#define ELF_DATA ELFDATA2LSB
|
||||||
#endif
|
#endif
|
||||||
#define ELF_ARCH EM_MIPS
|
#define ELF_ARCH EM_MIPS
|
||||||
|
|
|
@ -44,9 +44,12 @@ static inline void flush_tlb_mm(struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
BUG_ON(mm == &init_mm); /* Should never happen */
|
BUG_ON(mm == &init_mm); /* Should never happen */
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#if 1 || defined(CONFIG_SMP)
|
||||||
flush_tlb_all();
|
flush_tlb_all();
|
||||||
#else
|
#else
|
||||||
|
/* FIXME: currently broken, causing space id and protection ids
|
||||||
|
* to go out of sync, resulting in faults on userspace accesses.
|
||||||
|
*/
|
||||||
if (mm) {
|
if (mm) {
|
||||||
if (mm->context != 0)
|
if (mm->context != 0)
|
||||||
free_sid(mm->context);
|
free_sid(mm->context);
|
||||||
|
|
|
@ -520,6 +520,7 @@ config X86_PTRACE_BTS
|
||||||
bool "Branch Trace Store"
|
bool "Branch Trace Store"
|
||||||
default y
|
default y
|
||||||
depends on X86_DEBUGCTLMSR
|
depends on X86_DEBUGCTLMSR
|
||||||
|
depends on BROKEN
|
||||||
help
|
help
|
||||||
This adds a ptrace interface to the hardware's branch trace store.
|
This adds a ptrace interface to the hardware's branch trace store.
|
||||||
|
|
||||||
|
|
|
@ -687,7 +687,7 @@ void math_error(void __user *ip)
|
||||||
|
|
||||||
err = swd & ~cwd & 0x3f;
|
err = swd & ~cwd & 0x3f;
|
||||||
|
|
||||||
#if CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
if (!err)
|
if (!err)
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -684,7 +684,7 @@ int track_pfn_vma_copy(struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
unsigned long i, j;
|
unsigned long i, j;
|
||||||
u64 paddr;
|
resource_size_t paddr;
|
||||||
unsigned long prot;
|
unsigned long prot;
|
||||||
unsigned long vma_start = vma->vm_start;
|
unsigned long vma_start = vma->vm_start;
|
||||||
unsigned long vma_end = vma->vm_end;
|
unsigned long vma_end = vma->vm_end;
|
||||||
|
@ -746,8 +746,8 @@ int track_pfn_vma_new(struct vm_area_struct *vma, pgprot_t prot,
|
||||||
{
|
{
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
unsigned long i, j;
|
unsigned long i, j;
|
||||||
u64 base_paddr;
|
resource_size_t base_paddr;
|
||||||
u64 paddr;
|
resource_size_t paddr;
|
||||||
unsigned long vma_start = vma->vm_start;
|
unsigned long vma_start = vma->vm_start;
|
||||||
unsigned long vma_end = vma->vm_end;
|
unsigned long vma_end = vma->vm_end;
|
||||||
unsigned long vma_size = vma_end - vma_start;
|
unsigned long vma_size = vma_end - vma_start;
|
||||||
|
@ -757,12 +757,12 @@ int track_pfn_vma_new(struct vm_area_struct *vma, pgprot_t prot,
|
||||||
|
|
||||||
if (is_linear_pfn_mapping(vma)) {
|
if (is_linear_pfn_mapping(vma)) {
|
||||||
/* reserve the whole chunk starting from vm_pgoff */
|
/* reserve the whole chunk starting from vm_pgoff */
|
||||||
paddr = (u64)vma->vm_pgoff << PAGE_SHIFT;
|
paddr = (resource_size_t)vma->vm_pgoff << PAGE_SHIFT;
|
||||||
return reserve_pfn_range(paddr, vma_size, prot);
|
return reserve_pfn_range(paddr, vma_size, prot);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* reserve page by page using pfn and size */
|
/* reserve page by page using pfn and size */
|
||||||
base_paddr = (u64)pfn << PAGE_SHIFT;
|
base_paddr = (resource_size_t)pfn << PAGE_SHIFT;
|
||||||
for (i = 0; i < size; i += PAGE_SIZE) {
|
for (i = 0; i < size; i += PAGE_SIZE) {
|
||||||
paddr = base_paddr + i;
|
paddr = base_paddr + i;
|
||||||
retval = reserve_pfn_range(paddr, PAGE_SIZE, prot);
|
retval = reserve_pfn_range(paddr, PAGE_SIZE, prot);
|
||||||
|
@ -790,7 +790,7 @@ void untrack_pfn_vma(struct vm_area_struct *vma, unsigned long pfn,
|
||||||
unsigned long size)
|
unsigned long size)
|
||||||
{
|
{
|
||||||
unsigned long i;
|
unsigned long i;
|
||||||
u64 paddr;
|
resource_size_t paddr;
|
||||||
unsigned long prot;
|
unsigned long prot;
|
||||||
unsigned long vma_start = vma->vm_start;
|
unsigned long vma_start = vma->vm_start;
|
||||||
unsigned long vma_end = vma->vm_end;
|
unsigned long vma_end = vma->vm_end;
|
||||||
|
@ -801,14 +801,14 @@ void untrack_pfn_vma(struct vm_area_struct *vma, unsigned long pfn,
|
||||||
|
|
||||||
if (is_linear_pfn_mapping(vma)) {
|
if (is_linear_pfn_mapping(vma)) {
|
||||||
/* free the whole chunk starting from vm_pgoff */
|
/* free the whole chunk starting from vm_pgoff */
|
||||||
paddr = (u64)vma->vm_pgoff << PAGE_SHIFT;
|
paddr = (resource_size_t)vma->vm_pgoff << PAGE_SHIFT;
|
||||||
free_pfn_range(paddr, vma_size);
|
free_pfn_range(paddr, vma_size);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size != 0 && size != vma_size) {
|
if (size != 0 && size != vma_size) {
|
||||||
/* free page by page, using pfn and size */
|
/* free page by page, using pfn and size */
|
||||||
paddr = (u64)pfn << PAGE_SHIFT;
|
paddr = (resource_size_t)pfn << PAGE_SHIFT;
|
||||||
for (i = 0; i < size; i += PAGE_SIZE) {
|
for (i = 0; i < size; i += PAGE_SIZE) {
|
||||||
paddr = paddr + i;
|
paddr = paddr + i;
|
||||||
free_pfn_range(paddr, PAGE_SIZE);
|
free_pfn_range(paddr, PAGE_SIZE);
|
||||||
|
|
|
@ -688,14 +688,6 @@ void __init acpi_early_init(void)
|
||||||
if (acpi_disabled)
|
if (acpi_disabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/*
|
|
||||||
* ACPI CA initializes acpi_dbg_level to non-zero, which means
|
|
||||||
* we get debug output merely by turning on CONFIG_ACPI_DEBUG.
|
|
||||||
* Turn it off so we don't get output unless the user specifies
|
|
||||||
* acpi.debug_level.
|
|
||||||
*/
|
|
||||||
acpi_dbg_level = 0;
|
|
||||||
|
|
||||||
printk(KERN_INFO PREFIX "Core revision %08x\n", ACPI_CA_VERSION);
|
printk(KERN_INFO PREFIX "Core revision %08x\n", ACPI_CA_VERSION);
|
||||||
|
|
||||||
/* enable workarounds, unless strict ACPI spec. compliance */
|
/* enable workarounds, unless strict ACPI spec. compliance */
|
||||||
|
|
|
@ -64,7 +64,7 @@ u32 acpi_dbg_level = ACPI_DEBUG_DEFAULT;
|
||||||
|
|
||||||
/* Debug switch - layer (component) mask */
|
/* Debug switch - layer (component) mask */
|
||||||
|
|
||||||
u32 acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS;
|
u32 acpi_dbg_layer = 0;
|
||||||
u32 acpi_gbl_nesting_level = 0;
|
u32 acpi_gbl_nesting_level = 0;
|
||||||
|
|
||||||
/* Debugger globals */
|
/* Debugger globals */
|
||||||
|
|
|
@ -394,6 +394,12 @@ static void edac_device_workq_function(struct work_struct *work_req)
|
||||||
|
|
||||||
mutex_lock(&device_ctls_mutex);
|
mutex_lock(&device_ctls_mutex);
|
||||||
|
|
||||||
|
/* If we are being removed, bail out immediately */
|
||||||
|
if (edac_dev->op_state == OP_OFFLINE) {
|
||||||
|
mutex_unlock(&device_ctls_mutex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Only poll controllers that are running polled and have a check */
|
/* Only poll controllers that are running polled and have a check */
|
||||||
if ((edac_dev->op_state == OP_RUNNING_POLL) &&
|
if ((edac_dev->op_state == OP_RUNNING_POLL) &&
|
||||||
(edac_dev->edac_check != NULL)) {
|
(edac_dev->edac_check != NULL)) {
|
||||||
|
@ -585,14 +591,14 @@ struct edac_device_ctl_info *edac_device_del_device(struct device *dev)
|
||||||
/* mark this instance as OFFLINE */
|
/* mark this instance as OFFLINE */
|
||||||
edac_dev->op_state = OP_OFFLINE;
|
edac_dev->op_state = OP_OFFLINE;
|
||||||
|
|
||||||
/* clear workq processing on this instance */
|
|
||||||
edac_device_workq_teardown(edac_dev);
|
|
||||||
|
|
||||||
/* deregister from global list */
|
/* deregister from global list */
|
||||||
del_edac_device_from_global_list(edac_dev);
|
del_edac_device_from_global_list(edac_dev);
|
||||||
|
|
||||||
mutex_unlock(&device_ctls_mutex);
|
mutex_unlock(&device_ctls_mutex);
|
||||||
|
|
||||||
|
/* clear workq processing on this instance */
|
||||||
|
edac_device_workq_teardown(edac_dev);
|
||||||
|
|
||||||
/* Tear down the sysfs entries for this instance */
|
/* Tear down the sysfs entries for this instance */
|
||||||
edac_device_remove_sysfs(edac_dev);
|
edac_device_remove_sysfs(edac_dev);
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state)
|
||||||
else
|
else
|
||||||
dev_priv->irq_enable_reg &= ~mask;
|
dev_priv->irq_enable_reg &= ~mask;
|
||||||
|
|
||||||
if (!dev->irq_enabled)
|
if (dev->irq_enabled)
|
||||||
RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg);
|
RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ static void r500_vbl_irq_set_state(struct drm_device *dev, u32 mask, int state)
|
||||||
else
|
else
|
||||||
dev_priv->r500_disp_irq_reg &= ~mask;
|
dev_priv->r500_disp_irq_reg &= ~mask;
|
||||||
|
|
||||||
if (!dev->irq_enabled)
|
if (dev->irq_enabled)
|
||||||
RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv->r500_disp_irq_reg);
|
RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv->r500_disp_irq_reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,11 +81,12 @@ static u8 cs5530_udma_filter(ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
ide_hwif_t *hwif = drive->hwif;
|
ide_hwif_t *hwif = drive->hwif;
|
||||||
ide_drive_t *mate = ide_get_pair_dev(drive);
|
ide_drive_t *mate = ide_get_pair_dev(drive);
|
||||||
u16 *mateid = mate->id;
|
u16 *mateid;
|
||||||
u8 mask = hwif->ultra_mask;
|
u8 mask = hwif->ultra_mask;
|
||||||
|
|
||||||
if (mate == NULL)
|
if (mate == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
mateid = mate->id;
|
||||||
|
|
||||||
if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
|
if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
|
||||||
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
|
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
|
||||||
|
|
|
@ -104,11 +104,12 @@ static u8 sc1200_udma_filter(ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
ide_hwif_t *hwif = drive->hwif;
|
ide_hwif_t *hwif = drive->hwif;
|
||||||
ide_drive_t *mate = ide_get_pair_dev(drive);
|
ide_drive_t *mate = ide_get_pair_dev(drive);
|
||||||
u16 *mateid = mate->id;
|
u16 *mateid;
|
||||||
u8 mask = hwif->ultra_mask;
|
u8 mask = hwif->ultra_mask;
|
||||||
|
|
||||||
if (mate == NULL)
|
if (mate == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
mateid = mate->id;
|
||||||
|
|
||||||
if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
|
if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
|
||||||
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
|
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
|
||||||
|
|
|
@ -9,11 +9,11 @@ config DVB_B2C2_FLEXCOP
|
||||||
select DVB_STV0297 if !DVB_FE_CUSTOMISE
|
select DVB_STV0297 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_BCM3510 if !DVB_FE_CUSTOMISE
|
select DVB_BCM3510 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_S5H1420 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1420 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_TUNER_ITD1000 if !DVB_FE_CUSTOMISE
|
select DVB_TUNER_ITD1000 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
||||||
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Support for the digital TV receiver chip made by B2C2 Inc. included in
|
Support for the digital TV receiver chip made by B2C2 Inc. included in
|
||||||
Technisats PCI cards and USB boxes.
|
Technisats PCI cards and USB boxes.
|
||||||
|
|
|
@ -628,12 +628,14 @@ int flexcop_frontend_init(struct flexcop_device *fc)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* try the cable dvb (stv0297) */
|
/* try the cable dvb (stv0297) */
|
||||||
|
fc->fc_i2c_adap[0].no_base_addr = 1;
|
||||||
fc->fe = dvb_attach(stv0297_attach, &alps_tdee4_stv0297_config, i2c);
|
fc->fe = dvb_attach(stv0297_attach, &alps_tdee4_stv0297_config, i2c);
|
||||||
if (fc->fe != NULL) {
|
if (fc->fe != NULL) {
|
||||||
fc->dev_type = FC_CABLE;
|
fc->dev_type = FC_CABLE;
|
||||||
fc->fe->ops.tuner_ops.set_params = alps_tdee4_stv0297_tuner_set_params;
|
fc->fe->ops.tuner_ops.set_params = alps_tdee4_stv0297_tuner_set_params;
|
||||||
goto fe_found;
|
goto fe_found;
|
||||||
}
|
}
|
||||||
|
fc->fc_i2c_adap[0].no_base_addr = 0;
|
||||||
|
|
||||||
/* try the sky v2.3 (vp310/Samsung tbdu18132(tsa5059)) */
|
/* try the sky v2.3 (vp310/Samsung tbdu18132(tsa5059)) */
|
||||||
fc->fe = dvb_attach(mt312_attach,
|
fc->fe = dvb_attach(mt312_attach,
|
||||||
|
|
|
@ -47,8 +47,12 @@ static int flexcop_i2c_read4(struct flexcop_i2c_adapter *i2c,
|
||||||
int len = r100.tw_sm_c_100.total_bytes, /* remember total_bytes is buflen-1 */
|
int len = r100.tw_sm_c_100.total_bytes, /* remember total_bytes is buflen-1 */
|
||||||
ret;
|
ret;
|
||||||
|
|
||||||
|
ret = flexcop_i2c_operation(i2c->fc, &r100);
|
||||||
|
if (ret != 0) {
|
||||||
|
deb_i2c("Retrying operation\n");
|
||||||
r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr;
|
r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr;
|
||||||
ret = flexcop_i2c_operation(i2c->fc, &r100);
|
ret = flexcop_i2c_operation(i2c->fc, &r100);
|
||||||
|
}
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
deb_i2c("read failed. %d\n", ret);
|
deb_i2c("read failed. %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -8,7 +8,7 @@ config DVB_BT8XX
|
||||||
select DVB_OR51211 if !DVB_FE_CUSTOMISE
|
select DVB_OR51211 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
||||||
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Support for PCI cards based on the Bt8xx PCI bridge. Examples are
|
Support for PCI cards based on the Bt8xx PCI bridge. Examples are
|
||||||
the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards,
|
the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards,
|
||||||
|
|
|
@ -24,8 +24,8 @@ config DVB_USB_A800
|
||||||
tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)"
|
tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_DIB3000MC
|
select DVB_DIB3000MC
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_PLL if !DVB_FE_CUSTOMISE
|
select DVB_PLL if !DVB_FE_CUSTOMISE
|
||||||
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver.
|
Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver.
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ config DVB_USB_DIBUSB_MB
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_PLL if !DVB_FE_CUSTOMISE
|
select DVB_PLL if !DVB_FE_CUSTOMISE
|
||||||
select DVB_DIB3000MB
|
select DVB_DIB3000MB
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by
|
Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by
|
||||||
DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator.
|
DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator.
|
||||||
|
@ -55,7 +55,7 @@ config DVB_USB_DIBUSB_MC
|
||||||
tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)"
|
tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_DIB3000MC
|
select DVB_DIB3000MC
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Support for USB2.0 DVB-T receivers based on reference designs made by
|
Support for USB2.0 DVB-T receivers based on reference designs made by
|
||||||
DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator.
|
DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator.
|
||||||
|
@ -73,11 +73,11 @@ config DVB_USB_DIB0700
|
||||||
select DVB_DIB7000M
|
select DVB_DIB7000M
|
||||||
select DVB_DIB3000MC
|
select DVB_DIB3000MC
|
||||||
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
|
||||||
select MEDIA_TUNER_MT2266 if !DVB_FE_CUSTOMISE
|
|
||||||
select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMISE
|
|
||||||
select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
|
|
||||||
select DVB_TUNER_DIB0070
|
select DVB_TUNER_DIB0070
|
||||||
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The
|
Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The
|
||||||
USB bridge is also present in devices having the DiB7700 DVB-T-USB
|
USB bridge is also present in devices having the DiB7700 DVB-T-USB
|
||||||
|
@ -95,7 +95,7 @@ config DVB_USB_UMT_010
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_PLL if !DVB_FE_CUSTOMISE
|
select DVB_PLL if !DVB_FE_CUSTOMISE
|
||||||
select DVB_DIB3000MC
|
select DVB_DIB3000MC
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver.
|
Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver.
|
||||||
|
|
||||||
|
@ -107,11 +107,11 @@ config DVB_USB_CXUSB
|
||||||
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
||||||
select DVB_MT352 if !DVB_FE_CUSTOMISE
|
select DVB_MT352 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
|
||||||
select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMISE
|
|
||||||
select MEDIA_TUNER_MXL5005S if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
|
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
|
||||||
select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
|
select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
|
||||||
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the Conexant USB2.0 hybrid reference design.
|
Say Y here to support the Conexant USB2.0 hybrid reference design.
|
||||||
Currently, only DVB and ATSC modes are supported, analog mode
|
Currently, only DVB and ATSC modes are supported, analog mode
|
||||||
|
@ -124,9 +124,9 @@ config DVB_USB_M920X
|
||||||
tristate "Uli m920x DVB-T USB2.0 support"
|
tristate "Uli m920x DVB-T USB2.0 support"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_MT352 if !DVB_FE_CUSTOMISE
|
select DVB_MT352 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
|
|
||||||
select MEDIA_TUNER_TDA827X if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_TDA1004X if !DVB_FE_CUSTOMISE
|
select DVB_TDA1004X if !DVB_FE_CUSTOMISE
|
||||||
|
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the MSI Mega Sky 580 USB2.0 DVB-T receiver.
|
Say Y here to support the MSI Mega Sky 580 USB2.0 DVB-T receiver.
|
||||||
Currently, only devices with a product id of
|
Currently, only devices with a product id of
|
||||||
|
@ -137,7 +137,7 @@ config DVB_USB_GL861
|
||||||
tristate "Genesys Logic GL861 USB2.0 support"
|
tristate "Genesys Logic GL861 USB2.0 support"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the MSI Megasky 580 (55801) DVB-T USB2.0
|
Say Y here to support the MSI Megasky 580 (55801) DVB-T USB2.0
|
||||||
receiver with USB ID 0db0:5581.
|
receiver with USB ID 0db0:5581.
|
||||||
|
@ -146,7 +146,7 @@ config DVB_USB_AU6610
|
||||||
tristate "Alcor Micro AU6610 USB2.0 support"
|
tristate "Alcor Micro AU6610 USB2.0 support"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver.
|
Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver.
|
||||||
|
|
||||||
|
@ -198,8 +198,8 @@ config DVB_USB_NOVA_T_USB2
|
||||||
tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support"
|
tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_DIB3000MC
|
select DVB_DIB3000MC
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_PLL if !DVB_FE_CUSTOMISE
|
select DVB_PLL if !DVB_FE_CUSTOMISE
|
||||||
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver.
|
Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver.
|
||||||
|
|
||||||
|
@ -235,8 +235,8 @@ config DVB_USB_OPERA1
|
||||||
config DVB_USB_AF9005
|
config DVB_USB_AF9005
|
||||||
tristate "Afatech AF9005 DVB-T USB1.1 support"
|
tristate "Afatech AF9005 DVB-T USB1.1 support"
|
||||||
depends on DVB_USB && EXPERIMENTAL
|
depends on DVB_USB && EXPERIMENTAL
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver
|
Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver
|
||||||
and the TerraTec Cinergy T USB XE (Rev.1)
|
and the TerraTec Cinergy T USB XE (Rev.1)
|
||||||
|
@ -284,7 +284,7 @@ config DVB_USB_DTV5100
|
||||||
tristate "AME DTV-5100 USB2.0 DVB-T support"
|
tristate "AME DTV-5100 USB2.0 DVB-T support"
|
||||||
depends on DVB_USB
|
depends on DVB_USB
|
||||||
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver.
|
Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver.
|
||||||
|
|
||||||
|
@ -293,9 +293,9 @@ config DVB_USB_AF9015
|
||||||
depends on DVB_USB && EXPERIMENTAL
|
depends on DVB_USB && EXPERIMENTAL
|
||||||
select DVB_AF9013
|
select DVB_AF9013
|
||||||
select DVB_PLL if !DVB_FE_CUSTOMISE
|
select DVB_PLL if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select MEDIA_TUNER_MXL5005S if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
|
||||||
help
|
help
|
||||||
Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver
|
Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver
|
||||||
|
|
|
@ -446,13 +446,13 @@ static int stk7700ph_tuner_attach(struct dvb_usb_adapter *adap)
|
||||||
== NULL ? -ENODEV : 0;
|
== NULL ? -ENODEV : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DEFAULT_RC_INTERVAL 150
|
#define DEFAULT_RC_INTERVAL 50
|
||||||
|
|
||||||
static u8 rc_request[] = { REQUEST_POLL_RC, 0 };
|
static u8 rc_request[] = { REQUEST_POLL_RC, 0 };
|
||||||
|
|
||||||
/* Number of keypresses to ignore before start repeating */
|
/* Number of keypresses to ignore before start repeating */
|
||||||
#define RC_REPEAT_DELAY 2
|
#define RC_REPEAT_DELAY 6
|
||||||
#define RC_REPEAT_DELAY_V1_20 5
|
#define RC_REPEAT_DELAY_V1_20 10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ config DVB_BUDGET_CI
|
||||||
select DVB_TDA1004X if !DVB_FE_CUSTOMISE
|
select DVB_TDA1004X if !DVB_FE_CUSTOMISE
|
||||||
select DVB_LNBP21 if !DVB_FE_CUSTOMISE
|
select DVB_LNBP21 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_TDA10023 if !DVB_FE_CUSTOMISE
|
select DVB_TDA10023 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_TDA827X if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select VIDEO_IR
|
select VIDEO_IR
|
||||||
help
|
help
|
||||||
Support for simple SAA7146 based DVB cards
|
Support for simple SAA7146 based DVB cards
|
||||||
|
|
|
@ -831,7 +831,7 @@ long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
int ret = -ENOIOCTLCMD;
|
int ret = -ENOIOCTLCMD;
|
||||||
|
|
||||||
if (!file->f_op->ioctl)
|
if (!file->f_op->ioctl && !file->f_op->unlocked_ioctl)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
|
|
@ -9,7 +9,7 @@ config VIDEO_CX18
|
||||||
select VIDEO_CX2341X
|
select VIDEO_CX2341X
|
||||||
select VIDEO_CS5345
|
select VIDEO_CS5345
|
||||||
select DVB_S5H1409 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1409 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_MXL5005S if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
|
||||||
---help---
|
---help---
|
||||||
This is a video4linux driver for Conexant cx23418 based
|
This is a video4linux driver for Conexant cx23418 based
|
||||||
PCI combo video recorder devices.
|
PCI combo video recorder devices.
|
||||||
|
|
|
@ -11,16 +11,16 @@ config VIDEO_CX23885
|
||||||
select VIDEO_CX25840
|
select VIDEO_CX25840
|
||||||
select VIDEO_CX2341X
|
select VIDEO_CX2341X
|
||||||
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
|
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_S5H1409 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1409 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
|
||||||
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
select DVB_ZL10353 if !DVB_FE_CUSTOMISE
|
||||||
|
select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_MT2131 if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE
|
select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE
|
||||||
select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
|
select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
|
||||||
select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
|
select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
|
||||||
select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
|
select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
|
||||||
select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
|
|
||||||
---help---
|
---help---
|
||||||
This is a video4linux driver for Conexant 23885 based
|
This is a video4linux driver for Conexant 23885 based
|
||||||
TV cards.
|
TV cards.
|
||||||
|
|
|
@ -56,12 +56,12 @@ config VIDEO_CX88_DVB
|
||||||
select DVB_NXT200X if !DVB_FE_CUSTOMISE
|
select DVB_NXT200X if !DVB_FE_CUSTOMISE
|
||||||
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_CX24116 if !DVB_FE_CUSTOMISE
|
select DVB_CX24116 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_STV0299 if !DVB_FE_CUSTOMISE
|
select DVB_STV0299 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_STV0288 if !DVB_FE_CUSTOMISE
|
select DVB_STV0288 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_STB6000 if !DVB_FE_CUSTOMISE
|
select DVB_STB6000 if !DVB_FE_CUSTOMISE
|
||||||
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
||||||
---help---
|
---help---
|
||||||
This adds support for DVB/ATSC cards based on the
|
This adds support for DVB/ATSC cards based on the
|
||||||
Conexant 2388x chip.
|
Conexant 2388x chip.
|
||||||
|
|
|
@ -549,10 +549,11 @@ static int em28xx_config(struct em28xx *dev)
|
||||||
static void em28xx_config_i2c(struct em28xx *dev)
|
static void em28xx_config_i2c(struct em28xx *dev)
|
||||||
{
|
{
|
||||||
struct v4l2_routing route;
|
struct v4l2_routing route;
|
||||||
|
int zero = 0;
|
||||||
|
|
||||||
route.input = INPUT(dev->ctl_input)->vmux;
|
route.input = INPUT(dev->ctl_input)->vmux;
|
||||||
route.output = 0;
|
route.output = 0;
|
||||||
em28xx_i2c_call_clients(dev, VIDIOC_INT_RESET, NULL);
|
em28xx_i2c_call_clients(dev, VIDIOC_INT_RESET, &zero);
|
||||||
em28xx_i2c_call_clients(dev, VIDIOC_INT_S_VIDEO_ROUTING, &route);
|
em28xx_i2c_call_clients(dev, VIDIOC_INT_S_VIDEO_ROUTING, &route);
|
||||||
em28xx_i2c_call_clients(dev, VIDIOC_STREAMON, NULL);
|
em28xx_i2c_call_clients(dev, VIDIOC_STREAMON, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1264,10 +1264,10 @@ static int vidioc_s_jpegcomp(struct file *file, void *priv,
|
||||||
struct gspca_dev *gspca_dev = priv;
|
struct gspca_dev *gspca_dev = priv;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (mutex_lock_interruptible(&gspca_dev->usb_lock))
|
|
||||||
return -ERESTARTSYS;
|
|
||||||
if (!gspca_dev->sd_desc->set_jcomp)
|
if (!gspca_dev->sd_desc->set_jcomp)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
if (mutex_lock_interruptible(&gspca_dev->usb_lock))
|
||||||
|
return -ERESTARTSYS;
|
||||||
ret = gspca_dev->sd_desc->set_jcomp(gspca_dev, jpegcomp);
|
ret = gspca_dev->sd_desc->set_jcomp(gspca_dev, jpegcomp);
|
||||||
mutex_unlock(&gspca_dev->usb_lock);
|
mutex_unlock(&gspca_dev->usb_lock);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -42,7 +42,7 @@ config VIDEO_PVRUSB2_DVB
|
||||||
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
|
select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
|
||||||
select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
|
select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
|
||||||
select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
||||||
select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
|
select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
|
||||||
---help---
|
---help---
|
||||||
|
|
||||||
|
|
|
@ -34,9 +34,9 @@ config VIDEO_SAA7134_DVB
|
||||||
select DVB_NXT200X if !DVB_FE_CUSTOMISE
|
select DVB_NXT200X if !DVB_FE_CUSTOMISE
|
||||||
select DVB_TDA10086 if !DVB_FE_CUSTOMISE
|
select DVB_TDA10086 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_TDA826X if !DVB_FE_CUSTOMISE
|
select DVB_TDA826X if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_TDA827X if !DVB_FE_CUSTOMISE
|
|
||||||
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
||||||
select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
|
||||||
|
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
|
||||||
---help---
|
---help---
|
||||||
This adds support for DVB cards based on the
|
This adds support for DVB cards based on the
|
||||||
Philips saa7134 chip.
|
Philips saa7134 chip.
|
||||||
|
|
|
@ -116,6 +116,7 @@ struct ppp {
|
||||||
unsigned long last_xmit; /* jiffies when last pkt sent 9c */
|
unsigned long last_xmit; /* jiffies when last pkt sent 9c */
|
||||||
unsigned long last_recv; /* jiffies when last pkt rcvd a0 */
|
unsigned long last_recv; /* jiffies when last pkt rcvd a0 */
|
||||||
struct net_device *dev; /* network interface device a4 */
|
struct net_device *dev; /* network interface device a4 */
|
||||||
|
int closing; /* is device closing down? a8 */
|
||||||
#ifdef CONFIG_PPP_MULTILINK
|
#ifdef CONFIG_PPP_MULTILINK
|
||||||
int nxchan; /* next channel to send something on */
|
int nxchan; /* next channel to send something on */
|
||||||
u32 nxseq; /* next sequence number to send */
|
u32 nxseq; /* next sequence number to send */
|
||||||
|
@ -995,7 +996,7 @@ ppp_xmit_process(struct ppp *ppp)
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
|
|
||||||
ppp_xmit_lock(ppp);
|
ppp_xmit_lock(ppp);
|
||||||
if (ppp->dev) {
|
if (!ppp->closing) {
|
||||||
ppp_push(ppp);
|
ppp_push(ppp);
|
||||||
while (!ppp->xmit_pending
|
while (!ppp->xmit_pending
|
||||||
&& (skb = skb_dequeue(&ppp->file.xq)))
|
&& (skb = skb_dequeue(&ppp->file.xq)))
|
||||||
|
@ -1463,8 +1464,7 @@ static inline void
|
||||||
ppp_do_recv(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
|
ppp_do_recv(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
|
||||||
{
|
{
|
||||||
ppp_recv_lock(ppp);
|
ppp_recv_lock(ppp);
|
||||||
/* ppp->dev == 0 means interface is closing down */
|
if (!ppp->closing)
|
||||||
if (ppp->dev)
|
|
||||||
ppp_receive_frame(ppp, skb, pch);
|
ppp_receive_frame(ppp, skb, pch);
|
||||||
else
|
else
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
|
@ -2498,18 +2498,16 @@ init_ppp_file(struct ppp_file *pf, int kind)
|
||||||
*/
|
*/
|
||||||
static void ppp_shutdown_interface(struct ppp *ppp)
|
static void ppp_shutdown_interface(struct ppp *ppp)
|
||||||
{
|
{
|
||||||
struct net_device *dev;
|
|
||||||
|
|
||||||
mutex_lock(&all_ppp_mutex);
|
mutex_lock(&all_ppp_mutex);
|
||||||
ppp_lock(ppp);
|
|
||||||
dev = ppp->dev;
|
|
||||||
ppp->dev = NULL;
|
|
||||||
ppp_unlock(ppp);
|
|
||||||
/* This will call dev_close() for us. */
|
/* This will call dev_close() for us. */
|
||||||
if (dev) {
|
ppp_lock(ppp);
|
||||||
unregister_netdev(dev);
|
if (!ppp->closing) {
|
||||||
free_netdev(dev);
|
ppp->closing = 1;
|
||||||
}
|
ppp_unlock(ppp);
|
||||||
|
unregister_netdev(ppp->dev);
|
||||||
|
} else
|
||||||
|
ppp_unlock(ppp);
|
||||||
|
|
||||||
cardmap_set(&all_ppp_units, ppp->file.index, NULL);
|
cardmap_set(&all_ppp_units, ppp->file.index, NULL);
|
||||||
ppp->file.dead = 1;
|
ppp->file.dead = 1;
|
||||||
ppp->owner = NULL;
|
ppp->owner = NULL;
|
||||||
|
@ -2554,7 +2552,7 @@ static void ppp_destroy_interface(struct ppp *ppp)
|
||||||
if (ppp->xmit_pending)
|
if (ppp->xmit_pending)
|
||||||
kfree_skb(ppp->xmit_pending);
|
kfree_skb(ppp->xmit_pending);
|
||||||
|
|
||||||
kfree(ppp);
|
free_netdev(ppp->dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2616,7 +2614,7 @@ ppp_connect_channel(struct channel *pch, int unit)
|
||||||
if (pch->file.hdrlen > ppp->file.hdrlen)
|
if (pch->file.hdrlen > ppp->file.hdrlen)
|
||||||
ppp->file.hdrlen = pch->file.hdrlen;
|
ppp->file.hdrlen = pch->file.hdrlen;
|
||||||
hdrlen = pch->file.hdrlen + 2; /* for protocol bytes */
|
hdrlen = pch->file.hdrlen + 2; /* for protocol bytes */
|
||||||
if (ppp->dev && hdrlen > ppp->dev->hard_header_len)
|
if (hdrlen > ppp->dev->hard_header_len)
|
||||||
ppp->dev->hard_header_len = hdrlen;
|
ppp->dev->hard_header_len = hdrlen;
|
||||||
list_add_tail(&pch->clist, &ppp->channels);
|
list_add_tail(&pch->clist, &ppp->channels);
|
||||||
++ppp->n_channels;
|
++ppp->n_channels;
|
||||||
|
|
|
@ -328,6 +328,13 @@ isl1208_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm)
|
||||||
int sr;
|
int sr;
|
||||||
u8 regs[ISL1208_RTC_SECTION_LEN] = { 0, };
|
u8 regs[ISL1208_RTC_SECTION_LEN] = { 0, };
|
||||||
|
|
||||||
|
/* The clock has an 8 bit wide bcd-coded register (they never learn)
|
||||||
|
* for the year. tm_year is an offset from 1900 and we are interested
|
||||||
|
* in the 2000-2099 range, so any value less than 100 is invalid.
|
||||||
|
*/
|
||||||
|
if (tm->tm_year < 100)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
regs[ISL1208_REG_SC] = bin2bcd(tm->tm_sec);
|
regs[ISL1208_REG_SC] = bin2bcd(tm->tm_sec);
|
||||||
regs[ISL1208_REG_MN] = bin2bcd(tm->tm_min);
|
regs[ISL1208_REG_MN] = bin2bcd(tm->tm_min);
|
||||||
regs[ISL1208_REG_HR] = bin2bcd(tm->tm_hour) | ISL1208_REG_HR_MIL;
|
regs[ISL1208_REG_HR] = bin2bcd(tm->tm_hour) | ISL1208_REG_HR_MIL;
|
||||||
|
|
|
@ -356,7 +356,9 @@ int w1_reset_select_slave(struct w1_slave *sl)
|
||||||
w1_write_8(sl->master, W1_SKIP_ROM);
|
w1_write_8(sl->master, W1_SKIP_ROM);
|
||||||
else {
|
else {
|
||||||
u8 match[9] = {W1_MATCH_ROM, };
|
u8 match[9] = {W1_MATCH_ROM, };
|
||||||
memcpy(&match[1], (u8 *)&sl->reg_num, 8);
|
u64 rn = le64_to_cpu(*((u64*)&sl->reg_num));
|
||||||
|
|
||||||
|
memcpy(&match[1], &rn, 8);
|
||||||
w1_write_block(sl->master, match, 9);
|
w1_write_block(sl->master, match, 9);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -172,7 +172,7 @@
|
||||||
|
|
||||||
/* Defaults for debug_level, debug and normal */
|
/* Defaults for debug_level, debug and normal */
|
||||||
|
|
||||||
#define ACPI_DEBUG_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT)
|
#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO)
|
||||||
#define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT)
|
#define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT)
|
||||||
#define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL)
|
#define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL)
|
||||||
|
|
||||||
|
|
|
@ -141,6 +141,10 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache)
|
||||||
/*
|
/*
|
||||||
* We need to show where it is safe to preempt execution of ACPICA
|
* We need to show where it is safe to preempt execution of ACPICA
|
||||||
*/
|
*/
|
||||||
#define ACPI_PREEMPTION_POINT() cond_resched()
|
#define ACPI_PREEMPTION_POINT() \
|
||||||
|
do { \
|
||||||
|
if (!irqs_disabled()) \
|
||||||
|
cond_resched(); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#endif /* __ACLINUX_H__ */
|
#endif /* __ACLINUX_H__ */
|
||||||
|
|
|
@ -1024,7 +1024,7 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
|
||||||
if (ret == -EBUSY) {
|
if (ret == -EBUSY) {
|
||||||
mutex_unlock(&cgroup_mutex);
|
mutex_unlock(&cgroup_mutex);
|
||||||
mutex_unlock(&inode->i_mutex);
|
mutex_unlock(&inode->i_mutex);
|
||||||
goto drop_new_super;
|
goto free_cg_links;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EBUSY should be the only error here */
|
/* EBUSY should be the only error here */
|
||||||
|
@ -1073,10 +1073,11 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
|
||||||
|
|
||||||
return simple_set_mnt(mnt, sb);
|
return simple_set_mnt(mnt, sb);
|
||||||
|
|
||||||
|
free_cg_links:
|
||||||
|
free_cg_links(&tmp_cg_links);
|
||||||
drop_new_super:
|
drop_new_super:
|
||||||
up_write(&sb->s_umount);
|
up_write(&sb->s_umount);
|
||||||
deactivate_super(sb);
|
deactivate_super(sb);
|
||||||
free_cg_links(&tmp_cg_links);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2934,9 +2935,6 @@ int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *subsys,
|
||||||
again:
|
again:
|
||||||
root = subsys->root;
|
root = subsys->root;
|
||||||
if (root == &rootnode) {
|
if (root == &rootnode) {
|
||||||
printk(KERN_INFO
|
|
||||||
"Not cloning cgroup for unused subsystem %s\n",
|
|
||||||
subsys->name);
|
|
||||||
mutex_unlock(&cgroup_mutex);
|
mutex_unlock(&cgroup_mutex);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1786,8 +1786,6 @@ static inline void rfcomm_accept_connection(struct rfcomm_session *s)
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
__module_get(nsock->ops->owner);
|
|
||||||
|
|
||||||
/* Set our callbacks */
|
/* Set our callbacks */
|
||||||
nsock->sk->sk_data_ready = rfcomm_l2data_ready;
|
nsock->sk->sk_data_ready = rfcomm_l2data_ready;
|
||||||
nsock->sk->sk_state_change = rfcomm_l2state_change;
|
nsock->sk->sk_state_change = rfcomm_l2state_change;
|
||||||
|
|
|
@ -2307,6 +2307,7 @@ int kernel_accept(struct socket *sock, struct socket **newsock, int flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
(*newsock)->ops = sock->ops;
|
(*newsock)->ops = sock->ops;
|
||||||
|
__module_get((*newsock)->ops->owner);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
return err;
|
return err;
|
||||||
|
|
|
@ -859,6 +859,7 @@ static struct hda_verb stac92hd83xxx_core_init[] = {
|
||||||
|
|
||||||
/* power state controls amps */
|
/* power state controls amps */
|
||||||
{ 0x01, AC_VERB_SET_EAPD, 1 << 2},
|
{ 0x01, AC_VERB_SET_EAPD, 1 << 2},
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct hda_verb stac92hd71bxx_core_init[] = {
|
static struct hda_verb stac92hd71bxx_core_init[] = {
|
||||||
|
@ -870,6 +871,7 @@ static struct hda_verb stac92hd71bxx_core_init[] = {
|
||||||
{ 0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
{ 0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
||||||
{ 0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
{ 0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
||||||
{ 0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
{ 0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define HD_DISABLE_PORTF 2
|
#define HD_DISABLE_PORTF 2
|
||||||
|
@ -1667,6 +1669,7 @@ static struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
|
||||||
/* SigmaTel reference board */
|
/* SigmaTel reference board */
|
||||||
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
|
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
|
||||||
"DFI LanParty", STAC_92HD71BXX_REF),
|
"DFI LanParty", STAC_92HD71BXX_REF),
|
||||||
|
{} /* terminator */
|
||||||
};
|
};
|
||||||
|
|
||||||
static unsigned int ref92hd71bxx_pin_configs[11] = {
|
static unsigned int ref92hd71bxx_pin_configs[11] = {
|
||||||
|
|
Loading…
Reference in a new issue