[patch] alpha fixes for 2.3.21

Ivan Kokshaysky (ink@jurassic.park.msu.ru)
Tue, 12 Oct 1999 20:13:49 +0400


Here is a couple of obvious compile fixes, and cleaned up
PCI/IDE fixup code.

Ivan.

diff -ur 2.3.21/arch/alpha/kernel/pci.c linux/arch/alpha/kernel/pci.c
--- 2.3.21/arch/alpha/kernel/pci.c Thu Oct 7 23:23:21 1999
+++ linux/arch/alpha/kernel/pci.c Tue Oct 12 18:37:48 1999
@@ -73,22 +73,24 @@
struct pci_dev *dev;
int i;

- /* The first three resources of an IDE controler are often magic,
- so leave them unchanged. This is true, for instance, of the
- Contaq 82C693 as seen on SX164 and DP264. */
+ /* The resources 0-3 of an IDE controler are often magic, so leave
+ them unchanged. Let the resource 4 (bus master control) be
+ modified since some firmware puts it above 64K. This is true,
+ for instance, of the Contaq 82C693 as seen on SX164 and DP264.
+ Besides that we have to adjust IO region of an IDE control
+ register to avoid resource conflict with an AT-style floppy
+ controller. */

for (dev = pci_devices; dev; dev = dev->next) {
if (dev->class >> 8 != PCI_CLASS_STORAGE_IDE)
continue;
- /* Resource 1 of IDE controller is the address of HD_CMD
- register which actually occupies a single byte (0x3f6
- for ide0) in reported 0x3f4-3f7 range. We have to fix
- that to avoid resource conflict with AT-style floppy
- controller. */
- dev->resource[1].start += 2;
- dev->resource[1].end = dev->resource[1].start;
- for (i = 0; i < PCI_NUM_RESOURCES; i++) {
- if (dev->resource[i].flags)
+ for (i = 0; i < 4; i++) {
+ struct resource *r = &dev->resource[i];
+ if ((r->start & ~0x80) == 0x374) {
+ r->start |= 2;
+ r->end = r->start;
+ }
+ if (r->flags)
pci_claim_resource(dev, i);
}
}
diff -ur 2.3.21/arch/alpha/kernel/process.c linux/arch/alpha/kernel/process.c
--- 2.3.21/arch/alpha/kernel/process.c Tue Aug 31 21:50:44 1999
+++ linux/arch/alpha/kernel/process.c Tue Oct 12 14:56:50 1999
@@ -236,10 +236,6 @@
wrfpcr(FPCR_DYN_NORMAL | FPCR_INVD | FPCR_DZED | FPCR_OVFD | FPCR_INED);
}

-void release_thread(struct task_struct *dead_task)
-{
-}
-
/*
* "alpha_clone()".. By the time we get here, the
* non-volatile registers have also been saved on the
diff -ur 2.3.21/include/asm-alpha/pgtable.h linux/include/asm-alpha/pgtable.h
--- 2.3.21/include/asm-alpha/pgtable.h Wed Sep 8 22:54:14 1999
+++ linux/include/asm-alpha/pgtable.h Tue Oct 12 14:56:50 1999
@@ -622,6 +622,6 @@
#define kern_addr_valid(addr) (1)

#define io_remap_page_range(start, busaddr, size, prot) \
- remap_page_range(start, virt_to_phys(ioremap(busaddr)), size, prot)
+ remap_page_range(start, virt_to_phys(ioremap(busaddr, 0)), size, prot)

#endif /* _ALPHA_PGTABLE_H */
diff -ur 2.3.21/include/asm-alpha/processor.h linux/include/asm-alpha/processor.h
--- 2.3.21/include/asm-alpha/processor.h Thu Aug 5 02:48:00 1999
+++ linux/include/asm-alpha/processor.h Tue Oct 12 14:56:50 1999
@@ -115,7 +115,7 @@
extern void start_thread(struct pt_regs *, unsigned long, unsigned long);

/* Free all resources held by a thread. */
-extern void release_thread(struct task_struct *);
+#define release_thread(tsk) do { } while (0)

/* Create a kernel thread without removing it from tasklists. */
extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/