]> git.neil.brown.name Git - history.git/commitdiff
x86-64: Minor fixes to make the kernel compile and remove warnings.
authorVojtech Pavlik <vojtech@suse.cz>
Thu, 6 Feb 2003 16:50:20 +0000 (17:50 +0100)
committerVojtech Pavlik <vojtech@suse.cz>
Thu, 6 Feb 2003 16:50:20 +0000 (17:50 +0100)
13 files changed:
arch/x86_64/kernel/apic.c
arch/x86_64/kernel/time.c
drivers/block/floppy.c
drivers/i2c/i2c-proc.c
drivers/ide/pci/amd74xx.c
drivers/usb/input/pid.c
drivers/usb/media/usbvideo.c
drivers/usb/media/vicam.c
drivers/video/vesafb.c
fs/xfs/linux/xfs_aops.c
include/asm-x86_64/compat.h
include/asm-x86_64/dma-mapping.h [new file with mode: 0644]
include/asm-x86_64/proto.h

index d7efa0f8370a241f63c4e9cdf7ecb42c7f0044f4..9241f4043fbc00d4c1ae7ea6fa634aaec8e4d325 100644 (file)
@@ -895,7 +895,7 @@ int setup_profiling_timer(unsigned int multiplier)
  * value into /proc/profile.
  */
 
-inline void smp_local_timer_interrupt(struct pt_regs *regs)
+void smp_local_timer_interrupt(struct pt_regs *regs)
 {
        int cpu = smp_processor_id();
 
index 8fe37d578416a8e83a494eba37e5de4fe28de886..32f8e0b2bf186dff6ca89f478c6069dcdf226d0c 100644 (file)
@@ -30,6 +30,10 @@ u64 jiffies_64;
 
 spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
 
+extern int using_apic_timer;
+extern void smp_local_timer_interrupt(struct pt_regs * regs);
+
+
 unsigned int cpu_khz;                                  /* TSC clocks / usec, not used here */
 unsigned long hpet_period;                             /* fsecs / HPET clock */
 unsigned long hpet_tick;                               /* HPET clocks / interrupt */
index 8cbc0ed3d14d444a79f4127e7345b6228275fb48..a56db0bc9444039a383438358229d39f364e9dd0 100644 (file)
@@ -2298,7 +2298,7 @@ static inline void end_request(struct request *req, int uptodate)
        if (end_that_request_first(req, uptodate, current_count_sectors))
                return;
        add_disk_randomness(req->rq_disk);
-       floppy_off((int)req->rq_disk->private_data);
+       floppy_off((long)req->rq_disk->private_data);
        blkdev_dequeue_request(req);
        end_that_request_last(req);
 
@@ -2631,7 +2631,7 @@ static int make_raw_rw_request(void)
                return 0;
        }
 
-       set_fdc((int)current_req->rq_disk->private_data);
+       set_fdc((long)current_req->rq_disk->private_data);
 
        raw_cmd = &default_raw_cmd;
        raw_cmd->flags = FD_RAW_SPIN | FD_RAW_NEED_DISK | FD_RAW_NEED_DISK |
@@ -2923,7 +2923,7 @@ static void redo_fd_request(void)
                        }
                        current_req = req;
                }
-               drive = (int)current_req->rq_disk->private_data;
+               drive = (long)current_req->rq_disk->private_data;
                set_fdc(drive);
                reschedule_timeout(current_reqD, "redo fd request", 0);
 
@@ -3302,7 +3302,7 @@ static int raw_cmd_ioctl(int cmd, void *param)
 static int invalidate_drive(struct block_device *bdev)
 {
        /* invalidate the buffer track to force a reread */
-       set_bit((int)bdev->bd_disk->private_data, &fake_change);
+       set_bit((long)bdev->bd_disk->private_data, &fake_change);
        process_fd_request();
        check_disk_change(bdev);
        return 0;
@@ -3797,7 +3797,7 @@ static int floppy_open(struct inode * inode, struct file * filp)
  */
 static int check_floppy_change(struct gendisk *disk)
 {
-       int drive = (int)disk->private_data;
+       int drive = (long)disk->private_data;
 
        if (UTESTF(FD_DISK_CHANGED) || UTESTF(FD_VERIFY))
                return 1;
@@ -3900,7 +3900,7 @@ static int floppy_read_block_0(struct gendisk *disk)
  * geometry formats */
 static int floppy_revalidate(struct gendisk *disk)
 {
-       int drive=(int)disk->private_data;
+       int drive=(long)disk->private_data;
 #define NO_GEOM (!current_type[drive] && !ITYPE(UDRS->fd_device))
        int cf;
        int res = 0;
@@ -4358,7 +4358,7 @@ int __init floppy_init(void)
                if (fdc_state[FDC(drive)].version == FDC_NONE)
                        continue;
                /* to be cleaned up... */
-               disks[drive]->private_data = (void*)drive;
+               disks[drive]->private_data = (void*)(long)drive;
                disks[drive]->queue = &floppy_queue;
                add_disk(disks[drive]);
        }
index 3b97e96de669b80b0e9ea2e8d624270be384904e..ab462d034e228c1e383e58263270efe2b53f54f8 100644 (file)
@@ -39,7 +39,7 @@ static int i2c_create_name(char **name, const char *prefix,
                               struct i2c_adapter *adapter, int addr);
 static int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
                               long *results, int magnitude);
-static int i2c_write_reals(int nrels, void *buffer, int *bufsize,
+static int i2c_write_reals(int nrels, void *buffer, size_t *bufsize,
                               long *results, int magnitude);
 static int i2c_proc_chips(ctl_table * ctl, int write,
                              struct file *filp, void *buffer,
@@ -514,7 +514,7 @@ int i2c_parse_reals(int *nrels, void *buffer, int bufsize,
        return 0;
 }
 
-int i2c_write_reals(int nrels, void *buffer, int *bufsize,
+int i2c_write_reals(int nrels, void *buffer, size_t *bufsize,
                         long *results, int magnitude)
 {
 #define BUFLEN 20
index b3ac87d756effcecc3170f9374a3e70da7d3e889..71d41408d0338fab2bbed66c03992487917050d7 100644 (file)
@@ -82,7 +82,7 @@ static char *amd_dma[] = { "MWDMA16", "UDMA33", "UDMA66", "UDMA100" };
 #include <linux/stat.h>
 #include <linux/proc_fs.h>
 
-static int amd_base;
+static long amd_base;
 static struct pci_dev *bmide_dev;
 extern int (*amd74xx_display_info)(char *, char **, off_t, int); /* ide-proc.c */
 
index ad838ccede15520852f3d17150e721a3b5e76545..bca8d5ce81b5b2bee81695cac0217bab87971f72 100644 (file)
@@ -176,7 +176,7 @@ static int hid_pid_upload_effect(struct input_dev *dev,
        struct hid_ff_pid* pid_private  = (struct hid_ff_pid*)(dev->private);
        int ret;
        int is_update;
-       int flags=0;
+       unsigned long flags = 0;
 
         dev_dbg(&pid_private->hid->dev->dev, "upload effect called: effect_type=%x\n",effect->type);
        /* Check this effect type is supported by this device */
@@ -192,7 +192,7 @@ static int hid_pid_upload_effect(struct input_dev *dev,
                int id=0;
 
                // Spinlock so we don`t get a race condition when choosing IDs
-               spin_lock_irqsave(&pid_private->lock,flags);
+               spin_lock_irqsave(&pid_private->lock, flags);
 
                while(id < FF_EFFECTS_MAX)
                        if (!test_and_set_bit(FF_PID_FLAGS_USED, &pid_private->effects[id++].flags)) 
index 4c81b621ff76a6120999419dc7a05cbc32269fb7..873019ccd845f16932c4fa7567e4707d6509af92 100644 (file)
@@ -61,7 +61,7 @@ static int usbvideo_v4l_ioctl(struct inode *inode, struct file *file,
                              unsigned int cmd, unsigned long arg);
 static int usbvideo_v4l_mmap(struct file *file, struct vm_area_struct *vma);
 static int usbvideo_v4l_open(struct inode *inode, struct file *file);
-static int usbvideo_v4l_read(struct file *file, char *buf,
+static ssize_t usbvideo_v4l_read(struct file *file, char *buf,
                             size_t count, loff_t *ppos);
 static int usbvideo_v4l_close(struct inode *inode, struct file *file);
 
@@ -1641,7 +1641,7 @@ static int usbvideo_v4l_ioctl(struct inode *inode, struct file *file,
  * 20-Oct-2000 Created.
  * 01-Nov-2000 Added mutex (uvd->lock).
  */
-static int usbvideo_v4l_read(struct file *file, char *buf,
+static ssize_t usbvideo_v4l_read(struct file *file, char *buf,
                      size_t count, loff_t *ppos)
 {
        struct uvd *uvd = file->private_data;
index 44acb135ba968bec85cbdcf0eb1a9c398da6e453..831d932ea9e504449c0fd0f327ea675121d4c8a2 100644 (file)
@@ -988,7 +988,7 @@ read_frame(struct vicam_camera *cam, int framenum)
        up(&cam->cam_lock);
 }
 
-static int
+static ssize_t
 vicam_read( struct file *file, char *buf, size_t count, loff_t *ppos )
 {
        struct vicam_camera *cam = file->private_data;
index 1f64653ece3dafd719569c85bb503e0b1021e511..9b9f7cc44bf331363a931828b3fb06d436d76c85 100644 (file)
@@ -62,6 +62,7 @@ static void            (*pmi_pal)(void);
 static int vesafb_pan_display(struct fb_var_screeninfo *var,
                               struct fb_info *info)
 {
+#ifdef __i386__
        int offset;
 
        if (!ypan)
@@ -83,11 +84,13 @@ static int vesafb_pan_display(struct fb_var_screeninfo *var,
                   "c" (offset),         /* ECX */
                   "d" (offset >> 16),   /* EDX */
                   "D" (&pmi_start));    /* EDI */
+#endif
        return 0;
 }
 
 static void vesa_setpalette(int regno, unsigned red, unsigned green, unsigned blue)
 {
+#ifdef __i386__
        struct { u_char blue, green, red, pad; } entry;
 
        if (pmi_setpal) {
@@ -111,6 +114,7 @@ static void vesa_setpalette(int regno, unsigned red, unsigned green, unsigned bl
                outb_p(green >> 10, dac_val);
                outb_p(blue  >> 10, dac_val);
        }
+#endif
 }
 
 static int vesafb_setcolreg(unsigned regno, unsigned red, unsigned green,
@@ -225,6 +229,10 @@ int __init vesafb_init(void)
        vesafb_fix.visual   = (vesafb_defined.bits_per_pixel == 8) ?
                FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
 
+#ifndef __i386__
+       screen_info.vesapm_seg = 0;
+#endif
+
        if (!request_mem_region(vesafb_fix.smem_start, vesafb_fix.smem_len, "vesafb")) {
                printk(KERN_WARNING
                       "vesafb: abort, cannot reserve video memory at 0x%lx\n",
index 9398993ec4d4ff9a0d0f57c3fb4214dc0cd7e8f7..5505483ca88ccd627e88eacef71da1ccc7542a90 100644 (file)
@@ -50,7 +50,7 @@ map_blocks(
 
        if (((flags & (PBF_DIRECT|PBF_SYNC)) == PBF_DIRECT) &&
            (offset >= inode->i_size))
-               count = max(count, XFS_WRITE_IO_LOG);
+               count = max_t(ssize_t, count, XFS_WRITE_IO_LOG);
 retry:
        VOP_BMAP(vp, offset, count, flags, pbmapp, &nmaps, error);
        if (flags & PBF_WRITE) {
index 5307fdeb598cb0e9f233be22eddafbe269a39dec..0763ad9d8db843867c60bbc2ec109420f9c93f9b 100644 (file)
@@ -81,4 +81,11 @@ struct compat_statfs {
        int             f_spare[6];
 };
 
+typedef u32            compat_old_sigset_t;    /* at least 32 bits */
+
+#define _COMPAT_NSIG           64
+#define _COMPAT_NSIG_BPW       32
+
+typedef u32               compat_sigset_word;
+
 #endif /* _ASM_X86_64_COMPAT_H */
diff --git a/include/asm-x86_64/dma-mapping.h b/include/asm-x86_64/dma-mapping.h
new file mode 100644 (file)
index 0000000..48ada1b
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef _ASM_X8664_DMA_MAPPING_H
+#define _ASM_X8664_DMA_MAPPING_H
+
+#include <asm-generic/dma-mapping.h>
+
+#endif
index f58ac42093e142d62ed9427ddd42997d02e5f16a..2d56397b90e1a7eb123de55164538258a61e7d37 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _ASM_X8664_PROTO_H
 #define _ASM_X8664_PROTO_H 1
 
+#include <asm/ldt.h>
+
 /* misc architecture specific prototypes */
 
 struct cpuinfo_x86;