Commit ff8ff505 authored by David S. Miller's avatar David S. Miller

Merge davem@nuts.ninka.net:/home/davem/src/BK/sparc-2.5

into kernel.bkbits.net:/home/davem/sparc-2.5
parents 8128c97e 5899bb53
...@@ -741,44 +741,6 @@ config UNIX98_PTY_COUNT ...@@ -741,44 +741,6 @@ config UNIX98_PTY_COUNT
endmenu endmenu
menu "Video For Linux"
config VIDEO_DEV
tristate "Video For Linux"
---help---
Support for audio/video capture and overlay devices and FM radio
cards. The exact capabilities of each device vary. User tools for
this are available from
<ftp://ftp.uk.linux.org/pub/linux/video4linux/>.
If you are interested in writing a driver for such an audio/video
device or user software interacting with such a driver, please read
the file <file:Documentation/video4linux/API.html>.
This driver is also available as a module called videodev ( = code
which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
config VIDEO_BT848
tristate "BT848 Video For Linux"
depends on PCI && VIDEO_DEV
---help---
Support for BT848 based frame grabber/overlay boards. This includes
the Miro, Hauppauge and STB boards. Please read the material in
<file:Documentation/video4linux/bttv> for more information.
If you say Y or M here, you need to say Y or M to "I2C support" and
"I2C bit-banging interfaces" in the character device section.
This driver is available as a module called bttv ( = code
which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
endmenu
menu "XFree86 DRI support" menu "XFree86 DRI support"
config DRM config DRM
...@@ -819,8 +781,11 @@ endmenu ...@@ -819,8 +781,11 @@ endmenu
source "drivers/input/Kconfig" source "drivers/input/Kconfig"
source "drivers/i2c/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "drivers/media/Kconfig"
menu "Sound" menu "Sound"
......
...@@ -20,6 +20,8 @@ CONFIG_LOG_BUF_SHIFT=15 ...@@ -20,6 +20,8 @@ CONFIG_LOG_BUF_SHIFT=15
CONFIG_KALLSYMS=y CONFIG_KALLSYMS=y
CONFIG_FUTEX=y CONFIG_FUTEX=y
CONFIG_EPOLL=y CONFIG_EPOLL=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
...@@ -51,7 +53,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=m ...@@ -51,7 +53,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=m
# CONFIG_CPU_FREQ_24_API is not set # CONFIG_CPU_FREQ_24_API is not set
CONFIG_SPARC64=y CONFIG_SPARC64=y
CONFIG_HOTPLUG=y CONFIG_HOTPLUG=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_ISA_DMA=y
CONFIG_SBUS=y CONFIG_SBUS=y
...@@ -383,6 +384,7 @@ CONFIG_IEEE1394_OUI_DB=y ...@@ -383,6 +384,7 @@ CONFIG_IEEE1394_OUI_DB=y
# #
# Device Drivers # Device Drivers
# #
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_OHCI1394=m CONFIG_IEEE1394_OHCI1394=m
# #
...@@ -594,6 +596,7 @@ CONFIG_BRIDGE_EBT_ARP=m ...@@ -594,6 +596,7 @@ CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_REDIRECT=m
...@@ -923,12 +926,6 @@ CONFIG_PHONE_IXJ=m ...@@ -923,12 +926,6 @@ CONFIG_PHONE_IXJ=m
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256 CONFIG_UNIX98_PTY_COUNT=256
#
# Video For Linux
#
CONFIG_VIDEO_DEV=y
# CONFIG_VIDEO_BT848 is not set
# #
# XFree86 DRI support # XFree86 DRI support
# #
...@@ -984,6 +981,42 @@ CONFIG_INPUT_MISC=y ...@@ -984,6 +981,42 @@ CONFIG_INPUT_MISC=y
CONFIG_INPUT_SPARCSPKR=y CONFIG_INPUT_SPARCSPKR=y
# CONFIG_INPUT_UINPUT is not set # CONFIG_INPUT_UINPUT is not set
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_PHILIPSPAR=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ELEKTOR is not set
CONFIG_I2C_CHARDEV=m
#
# I2C Hardware Sensors Mainboard support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIAPRO=m
#
# I2C Hardware Sensors Chip support
#
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_I2C_SENSOR=m
# #
# File systems # File systems
# #
...@@ -1146,6 +1179,90 @@ CONFIG_NLS_DEFAULT="iso8859-1" ...@@ -1146,6 +1179,90 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set # CONFIG_NLS_UTF8 is not set
#
# Multimedia devices
#
CONFIG_VIDEO_DEV=y
#
# Video For Linux
#
CONFIG_VIDEO_PROC_FS=y
#
# Video Adapters
#
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
CONFIG_VIDEO_CPIA=m
CONFIG_VIDEO_CPIA_PP=m
CONFIG_VIDEO_CPIA_USB=m
CONFIG_VIDEO_SAA5249=m
CONFIG_TUNER_3036=m
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_ZR36120 is not set
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_DPC=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
#
# Radio Adapters
#
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
#
# Digital Video Broadcasting Devices
#
CONFIG_DVB=y
CONFIG_DVB_CORE=m
#
# Supported Frontend Modules
#
CONFIG_DVB_STV0299=m
CONFIG_DVB_ALPS_BSRV2=m
CONFIG_DVB_ALPS_TDLB7=m
CONFIG_DVB_ALPS_TDMB7=m
CONFIG_DVB_ATMEL_AT76C651=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_GRUNDIG_29504_491=m
CONFIG_DVB_GRUNDIG_29504_401=m
CONFIG_DVB_MT312=m
CONFIG_DVB_VES1820=m
# CONFIG_DVB_TDA1004X is not set
#
# Supported SAA7146 based PCI Adapters
#
# CONFIG_DVB_AV7110 is not set
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m
#
# Supported USB Adapters
#
# CONFIG_DVB_TTUSB_BUDGET is not set
# CONFIG_DVB_TTUSB_DEC is not set
#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_SKYSTAR=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_VIDEOBUF=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_BUF=m
CONFIG_VIDEO_BTCX=m
# #
# Sound # Sound
# #
...@@ -1424,6 +1541,7 @@ CONFIG_DEBUG_KERNEL=y ...@@ -1424,6 +1541,7 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SLAB is not set
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK is not set
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_DCFLUSH is not set # CONFIG_DEBUG_DCFLUSH is not set
......
...@@ -209,6 +209,8 @@ static void show_regwindow(struct pt_regs *regs) ...@@ -209,6 +209,8 @@ static void show_regwindow(struct pt_regs *regs)
rw->ins[0], rw->ins[1], rw->ins[2], rw->ins[3]); rw->ins[0], rw->ins[1], rw->ins[2], rw->ins[3]);
printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n", printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n",
rw->ins[4], rw->ins[5], rw->ins[6], rw->ins[7]); rw->ins[4], rw->ins[5], rw->ins[6], rw->ins[7]);
if (regs->tstate & TSTATE_PRIV)
print_symbol("I7: <%s>\n", rw->ins[7]);
} }
void show_stackframe(struct sparc_stackf *sf) void show_stackframe(struct sparc_stackf *sf)
...@@ -298,6 +300,7 @@ void __show_regs(struct pt_regs * regs) ...@@ -298,6 +300,7 @@ void __show_regs(struct pt_regs * regs)
printk("o4: %016lx o5: %016lx sp: %016lx ret_pc: %016lx\n", printk("o4: %016lx o5: %016lx sp: %016lx ret_pc: %016lx\n",
regs->u_regs[12], regs->u_regs[13], regs->u_regs[14], regs->u_regs[12], regs->u_regs[13], regs->u_regs[14],
regs->u_regs[15]); regs->u_regs[15]);
print_symbol("RPC: <%s>\n", regs->u_regs[15]);
show_regwindow(regs); show_regwindow(regs);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
spin_unlock(&regdump_lock); spin_unlock(&regdump_lock);
......
...@@ -1987,6 +1987,7 @@ do_execve32(char * filename, u32 * argv, u32 * envp, struct pt_regs * regs) ...@@ -1987,6 +1987,7 @@ do_execve32(char * filename, u32 * argv, u32 * envp, struct pt_regs * regs)
bprm.file = file; bprm.file = file;
bprm.filename = filename; bprm.filename = filename;
bprm.interp = filename;
bprm.sh_bang = 0; bprm.sh_bang = 0;
bprm.loader = 0; bprm.loader = 0;
bprm.exec = 0; bprm.exec = 0;
......
...@@ -9,5 +9,7 @@ lib-y := PeeCeeI.o blockops.o debuglocks.o strlen.o strncmp.o \ ...@@ -9,5 +9,7 @@ lib-y := PeeCeeI.o blockops.o debuglocks.o strlen.o strncmp.o \
memscan.o strncpy_from_user.o strlen_user.o memcmp.o checksum.o \ memscan.o strncpy_from_user.o strlen_user.o memcmp.o checksum.o \
VIScopy.o VISbzero.o VISmemset.o VIScsum.o VIScsumcopy.o \ VIScopy.o VISbzero.o VISmemset.o VIScsum.o VIScsumcopy.o \
VIScsumcopyusr.o VISsave.o atomic.o rwlock.o bitops.o \ VIScsumcopyusr.o VISsave.o atomic.o rwlock.o bitops.o \
dec_and_lock.o U3memcpy.o U3copy_from_user.o U3copy_to_user.o \ U3memcpy.o U3copy_from_user.o U3copy_to_user.o \
U3copy_in_user.o mcount.o ipcsum.o rwsem.o xor.o U3copy_in_user.o mcount.o ipcsum.o rwsem.o xor.o
lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <linux/config.h> #include <linux/config.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#ifndef CONFIG_DEBUG_SPINLOCK
.text .text
.align 64 .align 64
...@@ -76,5 +75,3 @@ spin_on_lock: ...@@ -76,5 +75,3 @@ spin_on_lock:
ba,pt %xcc, to_zero ba,pt %xcc, to_zero
nop nop
nop nop
#endif /* !(CONFIG_DEBUG_SPINLOCK) */
...@@ -79,7 +79,7 @@ config I2C_PHILIPSPAR ...@@ -79,7 +79,7 @@ config I2C_PHILIPSPAR
config I2C_ELV config I2C_ELV
tristate "ELV adapter" tristate "ELV adapter"
depends on I2C_ALGOBIT depends on I2C_ALGOBIT && ISA
help help
This supports parallel-port I2C adapters called ELV. Say Y if you This supports parallel-port I2C adapters called ELV. Say Y if you
own such an adapter. own such an adapter.
...@@ -91,7 +91,7 @@ config I2C_ELV ...@@ -91,7 +91,7 @@ config I2C_ELV
config I2C_VELLEMAN config I2C_VELLEMAN
tristate "Velleman K9000 adapter" tristate "Velleman K9000 adapter"
depends on I2C_ALGOBIT depends on I2C_ALGOBIT && ISA
help help
This supports the Velleman K9000 parallel-port I2C adapter. Say Y This supports the Velleman K9000 parallel-port I2C adapter. Say Y
if you own such an adapter. if you own such an adapter.
......
...@@ -21,6 +21,9 @@ ...@@ -21,6 +21,9 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/init.h>
#include <asm/io.h>
#include "dvb_i2c.h" #include "dvb_i2c.h"
#include "dvb_frontend.h" #include "dvb_frontend.h"
...@@ -71,8 +74,8 @@ struct adapter { ...@@ -71,8 +74,8 @@ struct adapter {
u32 PidFilterMax; u32 PidFilterMax;
u32 MacFilterMax; u32 MacFilterMax;
u32 irq; u32 irq;
u32 io_mem; unsigned long io_mem;
u32 io_port; unsigned long io_port;
u8 mac_addr[8]; u8 mac_addr[8];
u32 dwSramType; u32 dwSramType;
...@@ -285,7 +288,7 @@ static int master_xfer(struct dvb_i2c_bus *i2c, const struct i2c_msg *msgs, int ...@@ -285,7 +288,7 @@ static int master_xfer(struct dvb_i2c_bus *i2c, const struct i2c_msg *msgs, int
dprintk("%s:\n", __FUNCTION__); dprintk("%s:\n", __FUNCTION__);
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
printk("message %d: flags=%x, addr=0x%04x, buf=%x, len=%d \n", i, msgs[i].flags, msgs[i].addr, (u32) msgs[i].buf, msgs[i].len); printk("message %d: flags=%x, addr=0x%04x, buf=%p, len=%d \n", i, msgs[i].flags, msgs[i].addr, msgs[i].buf, msgs[i].len);
} }
} }
...@@ -1942,7 +1945,7 @@ static void Initdmaqueue(struct adapter *adapter) ...@@ -1942,7 +1945,7 @@ static void Initdmaqueue(struct adapter *adapter)
adapter->dma_status = adapter->dma_status | 0x10000000; adapter->dma_status = adapter->dma_status | 0x10000000;
dprintk("%s: allocated dma buffer at 0x%x, length=%d\n", __FUNCTION__, (int) adapter->dmaq1.buffer, SizeOfBufDMA1); dprintk("%s: allocated dma buffer at 0x%p, length=%d\n", __FUNCTION__, adapter->dmaq1.buffer, SizeOfBufDMA1);
} else { } else {
...@@ -1968,7 +1971,7 @@ static void Initdmaqueue(struct adapter *adapter) ...@@ -1968,7 +1971,7 @@ static void Initdmaqueue(struct adapter *adapter)
adapter->dma_status = adapter->dma_status | 0x20000000; adapter->dma_status = adapter->dma_status | 0x20000000;
dprintk("%s: allocated dma buffer at 0x%x, length=%d\n", __FUNCTION__, (int) adapter->dmaq2.buffer, (int) SizeOfBufDMA2); dprintk("%s: allocated dma buffer at 0x%p, length=%d\n", __FUNCTION__, adapter->dmaq2.buffer, (int) SizeOfBufDMA2);
} else { } else {
...@@ -2045,7 +2048,7 @@ static int ClaimAdapter(struct adapter *adapter) ...@@ -2045,7 +2048,7 @@ static int ClaimAdapter(struct adapter *adapter)
adapter->io_port = pdev->resource[1].start; adapter->io_port = pdev->resource[1].start;
adapter->io_mem = (u32) ioremap(pdev->resource[0].start, 0x800); adapter->io_mem = (unsigned long) ioremap(pdev->resource[0].start, 0x800);
if (adapter->io_mem == 0) { if (adapter->io_mem == 0) {
dprintk("%s: can not map io memory\n", __FUNCTION__); dprintk("%s: can not map io memory\n", __FUNCTION__);
...@@ -2053,7 +2056,7 @@ static int ClaimAdapter(struct adapter *adapter) ...@@ -2053,7 +2056,7 @@ static int ClaimAdapter(struct adapter *adapter)
return 2; return 2;
} }
dprintk("%s: io memory maped at %x\n", __FUNCTION__, adapter->io_mem); dprintk("%s: io memory maped at %lx\n", __FUNCTION__, adapter->io_mem);
return 1; return 1;
} }
......
...@@ -597,7 +597,7 @@ static int dvb_net_do_ioctl(struct inode *inode, struct file *file, ...@@ -597,7 +597,7 @@ static int dvb_net_do_ioctl(struct inode *inode, struct file *file,
case NET_REMOVE_IF: case NET_REMOVE_IF:
if (!capable(CAP_SYS_ADMIN)) if (!capable(CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
return dvb_net_remove_if(dvbnet, (int) parg); return dvb_net_remove_if(dvbnet, (int) (long) parg);
default: default:
return -EINVAL; return -EINVAL;
} }
......
...@@ -150,7 +150,7 @@ int budget_patch_diseqc_ioctl (struct dvb_frontend *fe, unsigned int cmd, void * ...@@ -150,7 +150,7 @@ int budget_patch_diseqc_ioctl (struct dvb_frontend *fe, unsigned int cmd, void *
} }
case FE_DISEQC_SEND_BURST: case FE_DISEQC_SEND_BURST:
av7110_send_diseqc_msg (budget, 0, NULL, (int) arg); av7110_send_diseqc_msg (budget, 0, NULL, (int) (long) arg);
break; break;
default: default:
......
...@@ -35,7 +35,7 @@ config VIDEO_BT848 ...@@ -35,7 +35,7 @@ config VIDEO_BT848
config VIDEO_PMS config VIDEO_PMS
tristate "Mediavision Pro Movie Studio Video For Linux" tristate "Mediavision Pro Movie Studio Video For Linux"
depends on VIDEO_DEV depends on VIDEO_DEV && ISA
help help
Say Y if you have such a thing. This driver is also available as a Say Y if you have such a thing. This driver is also available as a
module called pms ( = code which can be inserted in and removed module called pms ( = code which can be inserted in and removed
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <linux/kmod.h> #include <linux/kmod.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/vmalloc.h>
#include <asm/io.h> #include <asm/io.h>
......
...@@ -2948,16 +2948,16 @@ static void bttv_print_irqbits(u32 print, u32 mark) ...@@ -2948,16 +2948,16 @@ static void bttv_print_irqbits(u32 print, u32 mark)
static void bttv_print_riscaddr(struct bttv *btv) static void bttv_print_riscaddr(struct bttv *btv)
{ {
printk(" main: %08Lx\n", printk(" main: %08Lx\n",
(u64)btv->main.dma); (unsigned long long)btv->main.dma);
printk(" vbi : o=%08Lx e=%08Lx\n", printk(" vbi : o=%08Lx e=%08Lx\n",
btv->vcurr ? (u64)btv->vcurr->top.dma : 0, btv->vcurr ? (unsigned long long)btv->vcurr->top.dma : 0,
btv->vcurr ? (u64)btv->vcurr->bottom.dma : 0); btv->vcurr ? (unsigned long long)btv->vcurr->bottom.dma : 0);
printk(" cap : o=%08Lx e=%08Lx\n", printk(" cap : o=%08Lx e=%08Lx\n",
btv->top ? (u64)btv->top->top.dma : 0, btv->top ? (unsigned long long)btv->top->top.dma : 0,
btv->bottom ? (u64)btv->bottom->bottom.dma : 0); btv->bottom ? (unsigned long long)btv->bottom->bottom.dma : 0);
printk(" scr : o=%08Lx e=%08Lx\n", printk(" scr : o=%08Lx e=%08Lx\n",
btv->screen ? (u64)btv->screen->top.dma : 0, btv->screen ? (unsigned long long)btv->screen->top.dma : 0,
btv->screen ? (u64)btv->screen->bottom.dma : 0); btv->screen ? (unsigned long long)btv->screen->bottom.dma : 0);
} }
static void bttv_irq_timeout(unsigned long data) static void bttv_irq_timeout(unsigned long data)
......
...@@ -530,10 +530,10 @@ bttv_set_dma(struct bttv *btv, int override, int irqflags) ...@@ -530,10 +530,10 @@ bttv_set_dma(struct bttv *btv, int override, int irqflags)
d2printk(KERN_DEBUG d2printk(KERN_DEBUG
"bttv%d: capctl=%x irq=%d top=%08Lx/%08Lx even=%08Lx/%08Lx\n", "bttv%d: capctl=%x irq=%d top=%08Lx/%08Lx even=%08Lx/%08Lx\n",
btv->nr,capctl,irqflags, btv->nr,capctl,irqflags,
btv->vcurr ? (u64)btv->vcurr->top.dma : 0, btv->vcurr ? (unsigned long long)btv->vcurr->top.dma : 0,
btv->top ? (u64)btv->top->top.dma : 0, btv->top ? (unsigned long long)btv->top->top.dma : 0,
btv->vcurr ? (u64)btv->vcurr->bottom.dma : 0, btv->vcurr ? (unsigned long long)btv->vcurr->bottom.dma : 0,
btv->bottom ? (u64)btv->bottom->bottom.dma : 0); btv->bottom ? (unsigned long long)btv->bottom->bottom.dma : 0);
cmd = BT848_RISC_JUMP; cmd = BT848_RISC_JUMP;
if (irqflags) { if (irqflags) {
...@@ -568,7 +568,7 @@ bttv_risc_init_main(struct bttv *btv) ...@@ -568,7 +568,7 @@ bttv_risc_init_main(struct bttv *btv)
if ((rc = bttv_riscmem_alloc(btv->dev,&btv->main,PAGE_SIZE)) < 0) if ((rc = bttv_riscmem_alloc(btv->dev,&btv->main,PAGE_SIZE)) < 0)
return rc; return rc;
dprintk(KERN_DEBUG "bttv%d: risc main @ %08Lx\n", dprintk(KERN_DEBUG "bttv%d: risc main @ %08Lx\n",
btv->nr,(u64)btv->main.dma); btv->nr,(unsigned long long)btv->main.dma);
btv->main.cpu[0] = cpu_to_le32(BT848_RISC_SYNC | BT848_RISC_RESYNC | btv->main.cpu[0] = cpu_to_le32(BT848_RISC_SYNC | BT848_RISC_RESYNC |
BT848_FIFO_STATUS_VRE); BT848_FIFO_STATUS_VRE);
...@@ -612,7 +612,7 @@ bttv_risc_hook(struct bttv *btv, int slot, struct bttv_riscmem *risc, ...@@ -612,7 +612,7 @@ bttv_risc_hook(struct bttv *btv, int slot, struct bttv_riscmem *risc,
btv->main.cpu[slot+1] = cpu_to_le32(next); btv->main.cpu[slot+1] = cpu_to_le32(next);
} else { } else {
d2printk(KERN_DEBUG "bttv%d: risc=%p slot[%d]=%08Lx irq=%d\n", d2printk(KERN_DEBUG "bttv%d: risc=%p slot[%d]=%08Lx irq=%d\n",
btv->nr,risc,slot,(u64)risc->dma,irqflags); btv->nr,risc,slot,(unsigned long long)risc->dma,irqflags);
cmd = BT848_RISC_JUMP; cmd = BT848_RISC_JUMP;
if (irqflags) if (irqflags)
cmd |= BT848_RISC_IRQ | (irqflags << 16); cmd |= BT848_RISC_IRQ | (irqflags << 16);
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <linux/videodev.h> #include <linux/videodev.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <asm/scatterlist.h> #include <asm/scatterlist.h>
#include <asm/io.h>
#include <media/video-buf.h> #include <media/video-buf.h>
#include <media/audiochip.h> #include <media/audiochip.h>
......
...@@ -856,8 +856,8 @@ static int qcam_ioctl(struct inode *inode, struct file *file, ...@@ -856,8 +856,8 @@ static int qcam_ioctl(struct inode *inode, struct file *file,
return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl); return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl);
} }
static int qcam_read(struct file *file, char *buf, static ssize_t qcam_read(struct file *file, char *buf,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct video_device *v = video_devdata(file); struct video_device *v = video_devdata(file);
struct qcam_device *qcam=(struct qcam_device *)v; struct qcam_device *qcam=(struct qcam_device *)v;
......
...@@ -668,8 +668,8 @@ static int qcam_ioctl(struct inode *inode, struct file *file, ...@@ -668,8 +668,8 @@ static int qcam_ioctl(struct inode *inode, struct file *file,
return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl); return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl);
} }
static int qcam_read(struct file *file, char *buf, static ssize_t qcam_read(struct file *file, char *buf,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct video_device *v = video_devdata(file); struct video_device *v = video_devdata(file);
struct qcam_device *qcam=(struct qcam_device *)v; struct qcam_device *qcam=(struct qcam_device *)v;
......
...@@ -3300,8 +3300,8 @@ static int cpia_close(struct inode *inode, struct file *file) ...@@ -3300,8 +3300,8 @@ static int cpia_close(struct inode *inode, struct file *file)
return 0; return 0;
} }
static int cpia_read(struct file *file, char *buf, static ssize_t cpia_read(struct file *file, char *buf,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct video_device *dev = file->private_data; struct video_device *dev = file->private_data;
struct cam_data *cam = dev->priv; struct cam_data *cam = dev->priv;
......
...@@ -579,7 +579,7 @@ static int do_saa5249_ioctl(struct inode *inode, struct file *file, ...@@ -579,7 +579,7 @@ static int do_saa5249_ioctl(struct inode *inode, struct file *file,
case VTXIOCSETVIRT: case VTXIOCSETVIRT:
{ {
/* The SAA5249 has virtual-row reception turned on always */ /* The SAA5249 has virtual-row reception turned on always */
t->virtual_mode = (int)arg; t->virtual_mode = (int)(long)arg;
return 0; return 0;
} }
} }
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#include <linux/videodev.h> #include <linux/videodev.h>
#include <linux/kdev_t.h> #include <linux/kdev_t.h>
#include <asm/io.h>
#include <media/video-buf.h> #include <media/video-buf.h>
#include <media/tuner.h> #include <media/tuner.h>
#include <media/audiochip.h> #include <media/audiochip.h>
......
...@@ -179,8 +179,8 @@ static int w9966_i2c_rbyte(struct w9966_dev* cam); ...@@ -179,8 +179,8 @@ static int w9966_i2c_rbyte(struct w9966_dev* cam);
static int w9966_v4l_ioctl(struct inode *inode, struct file *file, static int w9966_v4l_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg); unsigned int cmd, unsigned long arg);
static int w9966_v4l_read(struct file *file, char *buf, static ssize_t w9966_v4l_read(struct file *file, char *buf,
size_t count, loff_t *ppos); size_t count, loff_t *ppos);
static struct file_operations w9966_fops = { static struct file_operations w9966_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
...@@ -867,8 +867,8 @@ static int w9966_v4l_ioctl(struct inode *inode, struct file *file, ...@@ -867,8 +867,8 @@ static int w9966_v4l_ioctl(struct inode *inode, struct file *file,
} }
// Capture data // Capture data
static int w9966_v4l_read(struct file *file, char *buf, static ssize_t w9966_v4l_read(struct file *file, char *buf,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct video_device *vdev = video_devdata(file); struct video_device *vdev = video_devdata(file);
struct w9966_dev *cam = (struct w9966_dev *)vdev->priv; struct w9966_dev *cam = (struct w9966_dev *)vdev->priv;
......
...@@ -5890,7 +5890,7 @@ int __devinit dc395x_init_one(struct pci_dev *dev, ...@@ -5890,7 +5890,7 @@ int __devinit dc395x_init_one(struct pci_dev *dev,
pci_set_drvdata(dev, scsi_host); pci_set_drvdata(dev, scsi_host);
/* get the scsi mid level to scan for new devices on the bus */ /* get the scsi mid level to scan for new devices on the bus */
scsi_add_host(scsi_host, &pdev->dev); /* XXX handle failure */ scsi_add_host(scsi_host, &dev->dev); /* XXX handle failure */
scsi_scan_host(scsi_host); scsi_scan_host(scsi_host);
return 0; return 0;
......
...@@ -87,10 +87,12 @@ char * strncpy(char * dest,const char *src,size_t count) ...@@ -87,10 +87,12 @@ char * strncpy(char * dest,const char *src,size_t count)
{ {
char *tmp = dest; char *tmp = dest;
while (count-- && (*dest++ = *src++) != '\0') while (count && (*dest++ = *src++) != '\0')
/* nothing */; count--;
while (count-- > 0) while (count) {
*dest++ = 0; *dest++ = 0;
count--;
}
return tmp; return tmp;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment