Commit 8b8e1de6 authored by Russell King's avatar Russell King

Miscellaneous build corrections/warning fixes.

parent 9f1a2068
...@@ -84,7 +84,7 @@ extern void __do_softirq(void); ...@@ -84,7 +84,7 @@ extern void __do_softirq(void);
__MODULE_STRING(sym); \ __MODULE_STRING(sym); \
const struct module_symbol __ksymtab_##sym \ const struct module_symbol __ksymtab_##sym \
__attribute__((section("__ksymtab"))) = \ __attribute__((section("__ksymtab"))) = \
{ (unsigned long)&##orig, __kstrtab_##sym }; { (unsigned long)&orig, __kstrtab_##sym };
/* /*
* floating point math emulator support. * floating point math emulator support.
......
...@@ -348,7 +348,7 @@ pbus_assign_bus_resources(struct pci_bus *bus, struct pci_sys_data *root) ...@@ -348,7 +348,7 @@ pbus_assign_bus_resources(struct pci_bus *bus, struct pci_sys_data *root)
if (dev) { if (dev) {
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if(root->resource[i]) { if (root->resource[i]) {
bus->resource[i] = &dev->resource[PCI_BRIDGE_RESOURCES+i]; bus->resource[i] = &dev->resource[PCI_BRIDGE_RESOURCES+i];
bus->resource[i]->end = root->resource[i]->end; bus->resource[i]->end = root->resource[i]->end;
bus->resource[i]->name = bus->name; bus->resource[i]->name = bus->name;
...@@ -357,13 +357,8 @@ pbus_assign_bus_resources(struct pci_bus *bus, struct pci_sys_data *root) ...@@ -357,13 +357,8 @@ pbus_assign_bus_resources(struct pci_bus *bus, struct pci_sys_data *root)
bus->resource[0]->flags |= pci_bridge_check_io(dev); bus->resource[0]->flags |= pci_bridge_check_io(dev);
bus->resource[1]->flags |= IORESOURCE_MEM; bus->resource[1]->flags |= IORESOURCE_MEM;
if (root->resource[2]) if (bus->resource[2] && root->resource[2])
bus->resource[2]->flags = root->resource[2]->flags; bus->resource[2]->flags = root->resource[2]->flags;
else {
/* no prefetchable memory region - disable it */
bus->resource[2]->start = 1024*1024;
bus->resource[2]->end = bus->resource[2]->start - 1;
}
} else { } else {
/* /*
* Assign root bus resources. * Assign root bus resources.
...@@ -552,12 +547,12 @@ static void __init pcibios_init_hw(struct hw_pci *hw) ...@@ -552,12 +547,12 @@ static void __init pcibios_init_hw(struct hw_pci *hw)
panic("PCI: unable to scan bus!"); panic("PCI: unable to scan bus!");
busnr = sys->bus->subordinate + 1; busnr = sys->bus->subordinate + 1;
} else if (ret < 0) } else {
break; kfree(sys);
if (ret < 0)
break;
}
} }
kfree(sys);
} }
extern struct hw_pci ebsa285_pci; extern struct hw_pci ebsa285_pci;
......
...@@ -248,24 +248,16 @@ static void ecard_init_pgtables(struct mm_struct *mm) ...@@ -248,24 +248,16 @@ static void ecard_init_pgtables(struct mm_struct *mm)
* FIXME: we don't follow this 100% yet. * FIXME: we don't follow this 100% yet.
*/ */
pgd_t *src_pgd, *dst_pgd; pgd_t *src_pgd, *dst_pgd;
unsigned int dst_addr = IO_START;
src_pgd = pgd_offset(mm, IO_BASE); src_pgd = pgd_offset(mm, IO_BASE);
dst_pgd = pgd_offset(mm, dst_addr); dst_pgd = pgd_offset(mm, IO_START);
while (dst_addr < IO_START + IO_SIZE) { memcpy(dst_pgd, src_pgd, sizeof(pgd_t) * (IO_SIZE / PGDIR_SIZE));
*dst_pgd++ = *src_pgd++;
dst_addr += PGDIR_SIZE;
}
dst_addr = EASI_START;
src_pgd = pgd_offset(mm, EASI_BASE); src_pgd = pgd_offset(mm, EASI_BASE);
dst_pgd = pgd_offset(mm, dst_addr); dst_pgd = pgd_offset(mm, EASI_START);
while (dst_addr < EASI_START + EASI_SIZE) { memcpy(dst_pgd, src_pgd, sizeof(pgd_t) * (EASI_SIZE / PGDIR_SIZE));
*dst_pgd++ = *src_pgd++;
dst_addr += PGDIR_SIZE;
}
vma.vm_mm = mm; vma.vm_mm = mm;
......
...@@ -325,9 +325,8 @@ do_level_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) ...@@ -325,9 +325,8 @@ do_level_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
!check_irq_lock(desc, irq, regs))) !check_irq_lock(desc, irq, regs)))
desc->chip->unmask(irq); desc->chip->unmask(irq);
} }
irq_exit(cpu, irq);
} }
irq_exit(cpu, irq);
} }
/* /*
......
...@@ -589,8 +589,8 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall) ...@@ -589,8 +589,8 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall)
info.si_signo = signr; info.si_signo = signr;
info.si_errno = 0; info.si_errno = 0;
info.si_code = SI_USER; info.si_code = SI_USER;
info.si_pid = current->p_pptr->pid; info.si_pid = current->parent->pid;
info.si_uid = current->p_pptr->uid; info.si_uid = current->parent->uid;
} }
/* If the (new) signal is now blocked, requeue it. */ /* If the (new) signal is now blocked, requeue it. */
...@@ -626,13 +626,18 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall) ...@@ -626,13 +626,18 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall)
continue; continue;
/* FALLTHRU */ /* FALLTHRU */
case SIGSTOP: case SIGSTOP: {
current->state = TASK_STOPPED; struct signal_struct *sig;
current->exit_code = signr; current->exit_code = signr;
if (!(current->p_pptr->sig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDSTOP)) sig = current->parent->sig;
preempt_disable();
current->state = TASK_STOPPED;
if (sig && !(sig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDSTOP))
notify_parent(current, SIGCHLD); notify_parent(current, SIGCHLD);
schedule(); schedule();
preempt_enable();
continue; continue;
}
case SIGQUIT: case SIGILL: case SIGTRAP: case SIGQUIT: case SIGILL: case SIGTRAP:
case SIGABRT: case SIGFPE: case SIGSEGV: case SIGABRT: case SIGFPE: case SIGSEGV:
......
...@@ -132,7 +132,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) ...@@ -132,7 +132,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
} else if (verify_stack(fp)) { } else if (verify_stack(fp)) {
printk("invalid frame pointer 0x%08x", fp); printk("invalid frame pointer 0x%08x", fp);
ok = 0; ok = 0;
} else if (fp < 4096+(unsigned long)tsk) } else if (fp < 4096+(unsigned long)tsk->thread_info)
printk("frame pointer underflow"); printk("frame pointer underflow");
printk("\n"); printk("\n");
......
...@@ -6,6 +6,12 @@ ...@@ -6,6 +6,12 @@
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
*
* 16th March 2001 - John Ripley <jripley@sonicblue.com>
* Fixed so that "size" is an exclusive not an inclusive quantity.
* All users of these functions expect exclusive sizes, and may
* also call with zero size.
* Reworked by rmk.
*/ */
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/assembler.h> #include <asm/assembler.h>
...@@ -13,58 +19,64 @@ ...@@ -13,58 +19,64 @@
/* /*
* Purpose : Find a 'zero' bit * Purpose : Find a 'zero' bit
* Prototype: int find_first_zero_bit(void *addr, int maxbit); * Prototype: int find_first_zero_bit(void *addr, unsigned int maxbit);
*/ */
ENTRY(_find_first_zero_bit_le) ENTRY(_find_first_zero_bit_le)
teq r1, #0
beq 3f
mov r2, #0 mov r2, #0
1: ldrb r3, [r0, r2, lsr #3] 1: ldrb r3, [r0, r2, lsr #3]
eors r3, r3, #0xff @ invert bits eors r3, r3, #0xff @ invert bits
bne .found @ any now set - found zero bit bne .found @ any now set - found zero bit
add r2, r2, #8 @ next bit pointer add r2, r2, #8 @ next bit pointer
cmp r2, r1 @ any more? 2: cmp r2, r1 @ any more?
bcc 1b blo 1b
add r0, r1, #1 @ no free bits 3: mov r0, r1 @ no free bits
RETINSTR(mov,pc,lr) RETINSTR(mov,pc,lr)
/* /*
* Purpose : Find next 'zero' bit * Purpose : Find next 'zero' bit
* Prototype: int find_next_zero_bit(void *addr, int maxbit, int offset) * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
*/ */
ENTRY(_find_next_zero_bit_le) ENTRY(_find_next_zero_bit_le)
teq r1, #0
beq 2b
ands ip, r2, #7 ands ip, r2, #7
beq 1b @ If new byte, goto old routine beq 1b @ If new byte, goto old routine
ldrb r3, [r0, r2, lsr#3] ldrb r3, [r0, r2, lsr #3]
eor r3, r3, #0xff @ now looking for a 1 bit eor r3, r3, #0xff @ now looking for a 1 bit
movs r3, r3, lsr ip @ shift off unused bits movs r3, r3, lsr ip @ shift off unused bits
bne .found bne .found
orr r2, r2, #7 @ if zero, then no bits here orr r2, r2, #7 @ if zero, then no bits here
add r2, r2, #1 @ align bit pointer add r2, r2, #1 @ align bit pointer
b 1b @ loop for next bit b 2b @ loop for next bit
#ifdef __ARMEB__ #ifdef __ARMEB__
ENTRY(_find_first_zero_bit_be) ENTRY(_find_first_zero_bit_be)
teq r1, #0
beq 3f
mov r2, #0 mov r2, #0
1: eor r3, r2, #0x18 @ big endian byte ordering 1: eor r3, r2, #0x18 @ big endian byte ordering
ldrb r3, [r0, r3, lsr #3] ldrb r3, [r0, r3, lsr #3]
eors r3, r3, #0xff @ invert bits eors r3, r3, #0xff @ invert bits
bne .found @ any now set - found zero bit bne .found @ any now set - found zero bit
add r2, r2, #8 @ next bit pointer add r2, r2, #8 @ next bit pointer
cmp r2, r1 @ any more? 2: cmp r2, r1 @ any more?
bcc 1b blo 1b
add r0, r1, #1 @ no free bits 3: mov r0, r1 @ no free bits
RETINSTR(mov,pc,lr) RETINSTR(mov,pc,lr)
ENTRY(_find_next_zero_bit_be) ENTRY(_find_next_zero_bit_be)
ands ip, r2, #7 ands ip, r2, #7
beq 1b @ If new byte, goto old routine beq 1b @ If new byte, goto old routine
eor r3, r2, #0x18 @ big endian byte ordering eor r3, r2, #0x18 @ big endian byte ordering
ldrb r3, [r0, r3, lsr#3] ldrb r3, [r0, r3, lsr #3]
eor r3, r3, #0xff @ now looking for a 1 bit eor r3, r3, #0xff @ now looking for a 1 bit
movs r3, r3, lsr ip @ shift off unused bits movs r3, r3, lsr ip @ shift off unused bits
orreq r2, r2, #7 @ if zero, then no bits here orreq r2, r2, #7 @ if zero, then no bits here
addeq r2, r2, #1 @ align bit pointer addeq r2, r2, #1 @ align bit pointer
beq 1b @ loop for next bit beq 2b @ loop for next bit
#endif #endif
......
...@@ -100,7 +100,7 @@ static int arc_floppy_cmdend_get_dma_residue(dmach_t channel, dma_t *dma) ...@@ -100,7 +100,7 @@ static int arc_floppy_cmdend_get_dma_residue(dmach_t channel, dma_t *dma)
/* 10/1/1999 DAG - Presume whether there is an outstanding command? */ /* 10/1/1999 DAG - Presume whether there is an outstanding command? */
extern unsigned int fdc1772_fdc_int_done; extern unsigned int fdc1772_fdc_int_done;
* Explicit! If the int done is 0 then 1 int to go */ /* Explicit! If the int done is 0 then 1 int to go */
return (fdc1772_fdc_int_done==0)?1:0; return (fdc1772_fdc_int_done==0)?1:0;
} }
......
...@@ -548,7 +548,7 @@ static inline void free_area(unsigned long addr, unsigned long end, char *s) ...@@ -548,7 +548,7 @@ static inline void free_area(unsigned long addr, unsigned long end, char *s)
} }
if (size && s) if (size && s)
printk("Freeing %s memory: %dK\n", s, size); printk(KERN_INFO "Freeing %s memory: %dK\n", s, size);
} }
/* /*
......
...@@ -81,10 +81,11 @@ ENTRY(v3_flush_kern_tlb_page) ...@@ -81,10 +81,11 @@ ENTRY(v3_flush_kern_tlb_page)
.section ".text.init", #alloc, #execinstr .section ".text.init", #alloc, #execinstr
.type v3_tlb_fns, #object
ENTRY(v3_tlb_fns) ENTRY(v3_tlb_fns)
.long v3_flush_kern_tlb_all .long v3_flush_kern_tlb_all
.long v3_flush_user_tlb_mm .long v3_flush_user_tlb_mm
.long v3_flush_user_tlb_range .long v3_flush_user_tlb_range
.long v3_flush_user_tlb_page .long v3_flush_user_tlb_page
.long v3_flush_kern_tlb_page .long v3_flush_kern_tlb_page
.size v3_tlb_fns, . - v3_tlb_fns
...@@ -100,9 +100,11 @@ ENTRY(v4_flush_kern_tlb_page) ...@@ -100,9 +100,11 @@ ENTRY(v4_flush_kern_tlb_page)
.section ".text.init", #alloc, #execinstr .section ".text.init", #alloc, #execinstr
.type v4_tlb_fns, #object
ENTRY(v4_tlb_fns) ENTRY(v4_tlb_fns)
.long v4_flush_kern_tlb_all .long v4_flush_kern_tlb_all
.long v4_flush_user_tlb_mm .long v4_flush_user_tlb_mm
.long v4_flush_user_tlb_range .long v4_flush_user_tlb_range
.long v4_flush_user_tlb_page .long v4_flush_user_tlb_page
.long v4_flush_kern_tlb_page .long v4_flush_kern_tlb_page
.size v4_tlb_fns, . - v4_tlb_fns
...@@ -146,17 +146,20 @@ ENTRY(v4wbi_flush_kern_tlb_page) ...@@ -146,17 +146,20 @@ ENTRY(v4wbi_flush_kern_tlb_page)
.section ".text.init", #alloc, #execinstr .section ".text.init", #alloc, #execinstr
.type v4wb_tlb_fns, #object
ENTRY(v4wb_tlb_fns) ENTRY(v4wb_tlb_fns)
.long v4wb_flush_kern_tlb_all .long v4wb_flush_kern_tlb_all
.long v4wb_flush_user_tlb_mm .long v4wb_flush_user_tlb_mm
.long v4wb_flush_user_tlb_range .long v4wb_flush_user_tlb_range
.long v4wb_flush_user_tlb_page .long v4wb_flush_user_tlb_page
.long v4wb_flush_kern_tlb_page .long v4wb_flush_kern_tlb_page
.size v4wb_tlb_fns, . - v4wb_tlb_fns
.type v4wbi_tlb_fns, #object
ENTRY(v4wbi_tlb_fns) ENTRY(v4wbi_tlb_fns)
.long v4wbi_flush_kern_tlb_all .long v4wbi_flush_kern_tlb_all
.long v4wbi_flush_user_tlb_mm .long v4wbi_flush_user_tlb_mm
.long v4wbi_flush_user_tlb_range .long v4wbi_flush_user_tlb_range
.long v4wbi_flush_user_tlb_page .long v4wbi_flush_user_tlb_page
.long v4wbi_flush_kern_tlb_page .long v4wbi_flush_kern_tlb_page
.size v4wbi_tlb_fns, . - v4wbi_tlb_fns
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# To add an entry into this database, please see Documentation/arm/README, # To add an entry into this database, please see Documentation/arm/README,
# or contact rmk@arm.linux.org.uk # or contact rmk@arm.linux.org.uk
# #
# Last update: Fri Mar 8 20:08:02 2002 # Last update: Sat Mar 16 10:55:44 2002
# #
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
# #
...@@ -176,3 +176,5 @@ iam SA1100_IAM IAM 164 ...@@ -176,3 +176,5 @@ iam SA1100_IAM IAM 164
tt530 SA1100_TT530 TT530 165 tt530 SA1100_TT530 TT530 165
sam2400 ARCH_SAM2400 SAM2400 166 sam2400 ARCH_SAM2400 SAM2400 166
jornada56x ARCH_JORNADA56X JORNADA56X 167 jornada56x ARCH_JORNADA56X JORNADA56X 167
active SA1100_ACTIVE ACTIVE 168
iq80321 ARCH_IQ80321 IQ80321 169
...@@ -151,14 +151,14 @@ eesoxscsi_terminator_ctl(struct Scsi_Host *host, int on_off) ...@@ -151,14 +151,14 @@ eesoxscsi_terminator_ctl(struct Scsi_Host *host, int on_off)
EESOXScsi_Info *info = (EESOXScsi_Info *)host->hostdata; EESOXScsi_Info *info = (EESOXScsi_Info *)host->hostdata;
unsigned long flags; unsigned long flags;
save_flags_cli(flags); spin_lock_irqsave(host->host_lock, flags);
if (on_off) if (on_off)
info->control.control |= EESOX_TERM_ENABLE; info->control.control |= EESOX_TERM_ENABLE;
else else
info->control.control &= ~EESOX_TERM_ENABLE; info->control.control &= ~EESOX_TERM_ENABLE;
restore_flags(flags);
outb(info->control.control, info->control.io_port); outb(info->control.control, info->control.io_port);
spin_unlock_irqrestore(host->host_lock, flags);
} }
/* Prototype: void eesoxscsi_intr(irq, *dev_id, *regs) /* Prototype: void eesoxscsi_intr(irq, *dev_id, *regs)
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#define PROT_READ 0x1 /* page can be read */ #define PROT_READ 0x1 /* page can be read */
#define PROT_WRITE 0x2 /* page can be written */ #define PROT_WRITE 0x2 /* page can be written */
#define PROT_EXEC 0x4 /* page can be executed */ #define PROT_EXEC 0x4 /* page can be executed */
#define PROT_SEM 0x8 /* page may be used for atomic ops */
#define PROT_NONE 0x0 /* page can not be accessed */ #define PROT_NONE 0x0 /* page can not be accessed */
#define MAP_SHARED 0x01 /* Share changes */ #define MAP_SHARED 0x01 /* Share changes */
......
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