📄 patch-2.4.34-pre3
字号:
-extern const struct atmdev_ops fore200e_ops;-extern const struct fore200e_bus fore200e_bus[];+static const struct atmdev_ops fore200e_ops;+static const struct fore200e_bus fore200e_bus[]; static struct fore200e* fore200e_boards = NULL; diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.cindex dc902ac..15b8caf 100644--- a/drivers/atm/horizon.c+++ b/drivers/atm/horizon.c@@ -481,6 +481,7 @@ #endif return; } +#if 0 /* unused and in conflict with <asm-ppc/system.h> */ static inline void dump_regs (hrz_dev * dev) { #ifdef DEBUG_HORIZON PRINTD (DBG_REGS, "CONTROL 0: %#x", rd_regl (dev, CONTROL_0_REG));@@ -494,6 +495,7 @@ #else #endif return; }+#endif static inline void dump_framer (hrz_dev * dev) { #ifdef DEBUG_HORIZONdiff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.cindex d84d761..978fe10 100644--- a/drivers/atm/iphase.c+++ b/drivers/atm/iphase.c@@ -82,6 +82,7 @@ static IADEV *ia_dev[8]; static struct atm_dev *_ia_dev[8]; static int iadev_count; static void ia_led_timer(unsigned long arg);+static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb); static struct timer_list ia_timer = { function: ia_led_timer }; struct atm_vcc *vcc_close_que[100]; static int IA_TX_BUF = DFL_TX_BUFFERS, IA_TX_BUF_SZ = DFL_TX_BUF_SZ;@@ -627,7 +628,6 @@ static int ia_que_tx (IADEV *iadev) { int num_desc; struct atm_vcc *vcc; struct ia_vcc *iavcc;- static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb); num_desc = ia_avail_descs(iadev); while (num_desc && (skb = skb_dequeue(&iadev->tx_backlog))) { if (!(vcc = ATM_SKB(skb)->vcc)) {diff --git a/drivers/atm/iphase.h b/drivers/atm/iphase.hindex 24acc43..6676ac8 100644--- a/drivers/atm/iphase.h+++ b/drivers/atm/iphase.h@@ -68,8 +68,6 @@ #define IF_IADBG_DESC 0x010000 #define IF_IADBG_SUNI_STAT 0x02000000 // suni statistics #define IF_IADBG_RESET 0x04000000 -extern unsigned int IADebugFlag;- #define IF_IADBG(f) if (IADebugFlag & (f)) #ifdef CONFIG_ATM_IA_DEBUG /* Debug build */diff --git a/drivers/block/cciss_scsi.c b/drivers/block/cciss_scsi.cindex cb5a3bb..085c855 100644--- a/drivers/block/cciss_scsi.c+++ b/drivers/block/cciss_scsi.c@@ -49,7 +49,7 @@ static int sendcmd( unsigned char *scsi3addr ); -int __init cciss_scsi_detect(Scsi_Host_Template *tpnt);+int cciss_scsi_detect(Scsi_Host_Template *tpnt); int cciss_scsi_release(struct Scsi_Host *sh); const char *cciss_scsi_info(struct Scsi_Host *sa); @@ -777,7 +777,7 @@ complete_scsi_command( CommandList_struc The scsi mid layer (scsi_register_module) is called from cciss.c:cciss_init_one(). */ -int __init+int cciss_scsi_detect(Scsi_Host_Template *tpnt) { int i;diff --git a/drivers/block/loop.c b/drivers/block/loop.cindex 777712f..4b1afa6 100644--- a/drivers/block/loop.c+++ b/drivers/block/loop.c@@ -693,12 +693,23 @@ static int loop_set_fd(struct loop_devic set_blocksize(dev, bs); lo->lo_bh = lo->lo_bhtail = NULL;- kernel_thread(loop_thread, lo, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);- down(&lo->lo_sem);+ error = kernel_thread(loop_thread, lo,+ CLONE_FS | CLONE_FILES | CLONE_SIGHAND);+ if (error < 0)+ goto out_clr;+ down(&lo->lo_sem); /* wait for the thread to start */ fput(file); return 0; + out_clr:+ lo->lo_backing_file = NULL;+ lo->lo_device = 0;+ lo->lo_flags = 0;+ loop_sizes[lo->lo_number] = 0;+ inode->i_mapping->gfp_mask = lo->old_gfp_mask;+ lo->lo_state = Lo_unbound;+ fput(file); /* yes, have to do it twice */ out_putf: fput(file); out:diff --git a/drivers/block/nbd.c b/drivers/block/nbd.cindex 21f1d03..c79ba85 100644--- a/drivers/block/nbd.c+++ b/drivers/block/nbd.c@@ -74,6 +74,29 @@ static int requests_in; static int requests_out; #endif +static void+nbd_end_request(struct request *req)+{+ struct buffer_head *bh;+ unsigned nsect;+ unsigned long flags;+ int uptodate = (req->errors == 0) ? 1 : 0;++#ifdef PARANOIA+ requests_out++;+#endif+ spin_lock_irqsave(&io_request_lock, flags);+ while((bh = req->bh) != NULL) {+ nsect = bh->b_size >> 9;+ blk_finished_io(nsect);+ req->bh = bh->b_reqnext;+ bh->b_reqnext = NULL;+ bh->b_end_io(bh, uptodate);+ }+ blkdev_release_request(req);+ spin_unlock_irqrestore(&io_request_lock, flags);+}+ static int nbd_open(struct inode *inode, struct file *file) { int dev;diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.cindex 4db93fe..31acbed 100644--- a/drivers/block/paride/pd.c+++ b/drivers/block/paride/pd.c@@ -343,7 +343,14 @@ static char *pd_errs[17] = { "ERR","INDE /* kernel glue structures */ -extern struct block_device_operations pd_fops;+static struct block_device_operations pd_fops = {+ owner: THIS_MODULE,+ open: pd_open,+ release: pd_release,+ ioctl: pd_ioctl,+ check_media_change: pd_check_media,+ revalidate: pd_revalidate+}; static struct gendisk pd_gendisk = { major: PD_MAJOR,@@ -355,15 +362,6 @@ static struct gendisk pd_gendisk = { fops: &pd_fops, }; -static struct block_device_operations pd_fops = {- owner: THIS_MODULE,- open: pd_open,- release: pd_release,- ioctl: pd_ioctl,- check_media_change: pd_check_media,- revalidate: pd_revalidate-};- void pd_init_units( void ) { int unit, j;diff --git a/drivers/block/xd.c b/drivers/block/xd.cindex 5014c45..8f72792 100644--- a/drivers/block/xd.c+++ b/drivers/block/xd.c@@ -125,7 +125,12 @@ static int xd_sizes[XD_MAXDRIVES << 6], static int xd_blocksizes[XD_MAXDRIVES << 6]; static int xd_maxsect[XD_MAXDRIVES << 6]; -extern struct block_device_operations xd_fops;+static struct block_device_operations xd_fops = {+ owner: THIS_MODULE,+ open: xd_open,+ release: xd_release,+ ioctl: xd_ioctl,+}; static struct gendisk xd_gendisk = { major: MAJOR_NR,@@ -138,13 +143,6 @@ static struct gendisk xd_gendisk = { fops: &xd_fops, }; -static struct block_device_operations xd_fops = {- owner: THIS_MODULE,- open: xd_open,- release: xd_release,- ioctl: xd_ioctl,-};- static DECLARE_WAIT_QUEUE_HEAD(xd_wait_int); static DECLARE_WAIT_QUEUE_HEAD(xd_wait_open); static u8 xd_valid[XD_MAXDRIVES] = { 0,0 };diff --git a/drivers/cdrom/sbpcd.c b/drivers/cdrom/sbpcd.cindex c477caa..180309f 100644--- a/drivers/cdrom/sbpcd.c+++ b/drivers/cdrom/sbpcd.c@@ -525,6 +525,8 @@ static int sbp_data(struct request *req) static int cmd_out(void); static int DiskInfo(void); static int sbpcd_chk_disk_change(kdev_t);+static int cmd_out_T(void);+static int cc_DriveReset(void); /*==========================================================================*/ @@ -1213,8 +1215,6 @@ static int get_state_T(void) { int i; - static int cmd_out_T(void);- clr_cmdbuf(); D_S[d].n_bytes=1; drvcmd[0]=CMDT_STATUS;@@ -1362,7 +1362,6 @@ #undef CMDT_TRIES #define CMDT_TRIES 1000 #define TEST_FALSE_FF 1 - static int cc_DriveReset(void); int i, j, l=0, m, ntries; long flags; diff --git a/drivers/char/drm-4.0/drmP.h b/drivers/char/drm-4.0/drmP.hindex 3a68e0a..dc14f92 100644--- a/drivers/char/drm-4.0/drmP.h+++ b/drivers/char/drm-4.0/drmP.h@@ -257,9 +257,9 @@ #endif /* Macros to make printk easier */ #define DRM_ERROR(fmt, arg...) \- printk(KERN_ERR "[" DRM_NAME ":" __FUNCTION__ "] *ERROR* " fmt , ##arg)+ printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __FUNCTION__ , ##arg) #define DRM_MEM_ERROR(area, fmt, arg...) \- printk(KERN_ERR "[" DRM_NAME ":" __FUNCTION__ ":%s] *ERROR* " fmt , \+ printk(KERN_ERR "[" DRM_NAME ":%s:%s] *ERROR* " fmt , __FUNCTION__, \ drm_mem_stats[area].name , ##arg) #define DRM_INFO(fmt, arg...) printk(KERN_INFO "[" DRM_NAME "] " fmt , ##arg) @@ -268,8 +268,8 @@ #define DRM_DEBUG(fmt, arg...) \ do { \ if (drm_flags&DRM_FLAG_DEBUG) \ printk(KERN_DEBUG \- "[" DRM_NAME ":" __FUNCTION__ "] " fmt , \- ##arg); \+ "[" DRM_NAME ":%s] " fmt , \+ __FUNCTION__ , ##arg); \ } while (0) #else #define DRM_DEBUG(fmt, arg...) do { } while (0)diff --git a/drivers/char/ip2/i2lib.c b/drivers/char/ip2/i2lib.cindex 972822b..c1ec184 100644--- a/drivers/char/ip2/i2lib.c+++ b/drivers/char/ip2/i2lib.c@@ -1262,7 +1262,7 @@ i2RetryFlushOutput(i2ChanStrPtr pCh) } if ( old_flags & STOPFL_FLAG ) {- if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL) > 0 ) {+ if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL)) { old_flags = 0; // Success - clear flags } diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.cindex 73cfdc5..80050c3 100644--- a/drivers/char/rio/rio_linux.c+++ b/drivers/char/rio/rio_linux.c@@ -1205,8 +1205,8 @@ #endif hp->Ivec = get_irq (pdev); if (((1 << hp->Ivec) & rio_irqmask) == 0) hp->Ivec = 0;- hp->CardP = (struct DpRam *) hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);+ hp->CardP = (struct DpRam *) hp->Caddr; hp->Type = RIO_PCI; hp->Copy = rio_pcicopy; hp->Mode = RIO_PCI_BOOT_FROM_RAM;@@ -1277,8 +1277,8 @@ #ifdef CONFIG_RIO_OLDPCI if (((1 << hp->Ivec) & rio_irqmask) == 0) hp->Ivec = 0; hp->Ivec |= 0x8000; /* Mark as non-sharable */- hp->CardP = (struct DpRam *) hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);+ hp->CardP = (struct DpRam *) hp->Caddr; hp->Type = RIO_PCI; hp->Copy = rio_pcicopy; hp->Mode = RIO_PCI_BOOT_FROM_RAM;@@ -1329,8 +1329,8 @@ #endif /* PCI */ hp->PaddrP = rio_probe_addrs[i]; /* There was something about the IRQs of these cards. 'Forget what.--REW */ hp->Ivec = 0;- hp->CardP = (struct DpRam *) hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);+ hp->CardP = (struct DpRam *) hp->Caddr; hp->Type = RIO_AT; hp->Copy = rio_pcicopy; /* AT card PCI???? - PVDL * -- YES! this is now a normal copy. Only the diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.cindex bc092e6..6cba9b1 100644--- a/drivers/char/sonypi.c+++ b/drivers/char/sonypi.c@@ -60,6 +60,35 @@ static int compat; /* = 0 */ static int useinput = 1; static unsigned long mask = 0xffffffff; +static inline int sonypi_ec_write(u8 addr, u8 value) {+#ifdef CONFIG_ACPI_EC+ if (SONYPI_ACPI_ACTIVE)+ return ec_write(addr, value);+#endif+ wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);+ outb_p(0x81, SONYPI_CST_IOPORT);+ wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);+ outb_p(addr, SONYPI_DATA_IOPORT);+ wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);+ outb_p(value, SONYPI_DATA_IOPORT);+ wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);+ return 0;+}++static inline int sonypi_ec_read(u8 addr, u8 *value) {+#ifdef CONFIG_ACPI_EC+ if (SONYPI_ACPI_ACTIVE)+ return ec_read(addr, value);+#endif+ wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);+ outb_p(0x80, SONYPI_CST_IOPORT);+ wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);+ outb_p(addr, SONYPI_DATA_IOPORT);+ wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);+ *value = inb_p(SONYPI_DATA_IOPORT);+ return 0;+}+ /* Inits the queue */ static inline void sonypi_initq(void) { sonypi_device.queue.head = sonypi_device.queue.tail = 0;diff --git a/drivers/char/sonypi.h b/drivers/char/sonypi.hindex 83a6c5b..545f056 100644--- a/drivers/char/sonypi.h+++ b/drivers/char/sonypi.h@@ -401,37 +401,6 @@ #else #define SONYPI_ACPI_ACTIVE 0 #endif /* CONFIG_ACPI */ -extern int verbose;--static inline int sonypi_ec_write(u8 addr, u8 value) {-#ifdef CONFIG_ACPI_EC- if (SONYPI_ACPI_ACTIVE)- return ec_write(addr, value);-#endif- wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);- outb_p(0x81, SONYPI_CST_IOPORT);- wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);- outb_p(addr, SONYPI_DATA_IOPORT);- wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);- outb_p(value, SONYPI_DATA_IOPORT);- wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);- return 0;-}--static inline int sonypi_ec_read(u8 addr, u8 *value) {-#ifdef CONFIG_ACPI_EC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -