small cleanup

8 messages, 3 authors, 2001-11-01 · open the first message on its own page

small cleanup

From: Roman Zippel <hidden>
Date: 2001-10-31 01:44:47

Hi,

Below is a patch from the APUS tree (more to follow :) ). It does some
small cleanups and one important change to get APUS working:
- introducing PPC_MEMSTART/PPC_MEMOFFSET, for non-APUS machines these are
constants otherwise variables. I added with this support for memory
starting != 0.
- ram_phys_base became ppc_memstart
- removed end_of_DRAM, it's equivalent to high_memory
- pcibios_make_OF_bus_map depends on CONFIG_ALL_PPC
- removed duplicate definition of isa_io_base/isa_mem_base/pci_dram_offset
(note: these variables are protected with CONFIG_PCI in ppc_ksyms.c, but
not in the include files, so there are unconditional now)
- removed nested __KERNEL__ ifdefs in io.h, one even outside of the
recursive protection (bad style).

The last two changes don't apply cleanly to 2_4_devel, but it needs a
similiar change.

bye, Roman

--- arch/ppc/kernel/apus_setup.c	2001/10/25 19:30:42	1.1.1.14
+++ arch/ppc/kernel/apus_setup.c	2001/10/29 23:09:38	1.26
@@ -991,6 +960,8 @@
 		memory[0].size = ((size+0x001fffff) & 0xffe00000);
 	}

+	ppc_memstart = memory[0].addr;
+	ppc_memoffset = PAGE_OFFSET - PPC_MEMSTART;
 	total = memory[0].size;

 	/* Remove the memory chunks that are controlled by special
@@ -1011,7 +982,6 @@
 	   the PowerUP board. Other system memory is horrible slow in
 	   comparison. The user can use other memory for swapping
 	   using the z2ram device. */
-	ram_phys_base = memory[0].addr;
 	return total;
 }

--- arch/ppc/kernel/pci.c	2001/08/21 00:40:02	1.1.1.19
+++ arch/ppc/kernel/pci.c	2001/08/21 17:43:48	1.14
@@ -715,12 +715,14 @@
 	}
 	pci_bus_count = next_busno;

+#ifdef CONFIG_ALL_PPC
 	/* OpenFirmware based machines need a map of OF bus
 	 * numbers vs. kernel bus numbers since we may have to
 	 * remap them.
 	 */
 	if (pci_assign_all_busses && have_of)
 		pcibios_make_OF_bus_map();
+#endif /* CONFIG_ALL_PPC */

 	/* Call machine dependant fixup */
 	if (ppc_md.pcibios_fixup)
--- arch/ppc/mm/init.c	2001/10/16 15:54:16	1.1.1.19
+++ arch/ppc/mm/init.c	2001/10/29 23:09:38	1.23
@@ -53,10 +53,12 @@

 mmu_gather_t mmu_gathers[NR_CPUS];

-void *end_of_DRAM;
 unsigned long total_memory;
 unsigned long total_lowmem;

+unsigned long ppc_memstart;
+unsigned long ppc_memoffset = PAGE_OFFSET;
+
 int mem_init_done;
 int init_bootmem_done;
 int boot_mapsize;
@@ -319,7 +321,6 @@
 		total_memory = total_lowmem;
 #endif /* CONFIG_HIGHMEM */
 	}
-	end_of_DRAM = __va(total_lowmem);
 	set_phys_avail(total_lowmem);

 	/* Initialize the MMU hardware */
@@ -401,8 +402,12 @@
 	}
 	start = PAGE_ALIGN(start);

-	boot_mapsize = init_bootmem(start >> PAGE_SHIFT,
-				    total_lowmem >> PAGE_SHIFT);
+	high_memory = __va(PPC_MEMSTART + total_lowmem);
+	min_low_pfn = start >> PAGE_SHIFT;
+	max_low_pfn = (PPC_MEMSTART + total_lowmem) >> PAGE_SHIFT;
+	boot_mapsize = init_bootmem_node(&contig_page_data, min_low_pfn,
+					 PPC_MEMSTART >> PAGE_SHIFT,
+					 max_low_pfn);

 	/* remove the bootmem bitmap from the available memory */
 	mem_pieces_remove(&phys_avail, start, boot_mapsize, 1);
@@ -457,10 +462,9 @@
 	highmem_start_page = mem_map + highmem_mapnr;
 	max_mapnr = total_memory >> PAGE_SHIFT;
 #else
-	max_mapnr = max_low_pfn;
+	max_mapnr = total_lowmem >> PAGE_SHIFT;
 #endif /* CONFIG_HIGHMEM */

-	high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
 	num_physpages = max_mapnr;	/* RAM is assumed contiguous */

 	totalram_pages += free_all_bootmem();
@@ -488,7 +492,7 @@
 		     addr += PAGE_SIZE)
 			SetPageReserved(virt_to_page(addr));

-	for (addr = PAGE_OFFSET; addr < (unsigned long)end_of_DRAM;
+	for (addr = PAGE_OFFSET; addr < (unsigned long)high_memory;
 	     addr += PAGE_SIZE) {
 		if (!PageReserved(virt_to_page(addr)))
 			continue;
@@ -543,7 +547,7 @@
 	 * physical memory.
 	 */

-	phys_avail.regions[0].address = 0;
+	phys_avail.regions[0].address = PPC_MEMSTART;
 	phys_avail.regions[0].size = total_memory;
 	phys_avail.n_regions = 1;

--- arch/ppc/mm/mmu_decl.h	2001/10/25 19:31:14	1.1.1.2
+++ arch/ppc/mm/mmu_decl.h	2001/10/29 23:09:38	1.2
@@ -31,14 +31,12 @@
 extern void reserve_phys_mem(unsigned long start, unsigned long size);

 extern int __map_without_bats;
-extern void *end_of_DRAM;
 extern unsigned long ioremap_base;
 extern unsigned long ioremap_bot;
 extern unsigned int rtas_data, rtas_size;

 extern unsigned long total_memory;
 extern unsigned long total_lowmem;
-extern unsigned long ram_phys_base;
 extern int mem_init_done;

 extern PTE *Hash, *Hash_end;
--- arch/ppc/mm/pgtable.c	2001/10/16 15:54:18	1.1.1.2
+++ arch/ppc/mm/pgtable.c	2001/10/29 23:09:38	1.4
@@ -35,8 +35,6 @@

 #include "mmu_decl.h"

-unsigned long ram_phys_base;
-
 unsigned long ioremap_base;
 unsigned long ioremap_bot;
 int io_bat_index;
@@ -199,7 +215,7 @@
 #endif /* HAVE_BATS */

 	v = KERNELBASE;
-	p = ram_phys_base;
+	p = PPC_MEMSTART;
 	for (s = 0; s < total_lowmem; s += PAGE_SIZE) {
 		/* On the MPC8xx, we want the page shared so we
 		 * don't get ASID compares on kernel space.
--- arch/ppc/mm/ppc_mmu.c	2001/08/21 00:39:44	1.1.1.1
+++ arch/ppc/mm/ppc_mmu.c	2001/10/29 23:09:38	1.2
@@ -96,8 +96,8 @@

 	/* Make sure we don't map a block larger than the
 	   smallest alignment of the physical address. */
-	/* alignment of ram_phys_base */
-	align = ~(ram_phys_base-1) & ram_phys_base;
+	/* alignment of PPC_MEMSTART */
+	align = ~(PPC_MEMSTART-1) & PPC_MEMSTART;
 	/* set BAT block size to MIN(max_size, align) */
 	if (align && align < max_size)
 		max_size = align;
@@ -108,7 +108,7 @@
 			break;
 	}

-	setbat(2, KERNELBASE, ram_phys_base, bl, _PAGE_KERNEL);
+	setbat(2, KERNELBASE, PPC_MEMSTART, bl, _PAGE_KERNEL);
 	done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1;
 	if ((done < tot) && !bat_addrs[3].limit) {
 		/* use BAT3 to cover a bit more */
@@ -116,7 +116,7 @@
 		for (bl = 128<<10; bl < max_size; bl <<= 1)
 			if (bl * 2 > tot)
 				break;
-		setbat(3, KERNELBASE+done, ram_phys_base+done, bl,
+		setbat(3, KERNELBASE+done, PPC_MEMSTART+done, bl,
 		       _PAGE_KERNEL);
 	}
 }
--- include/asm-ppc/io.h	2001/10/25 19:46:42	1.1.1.13
+++ include/asm-ppc/io.h	2001/10/25 22:02:40	1.12
@@ -1,12 +1,12 @@
 /*
  * BK Id: SCCS/s.io.h 1.14 10/16/01 15:58:42 trini
  */
-#ifdef __KERNEL__
 #ifndef _PPC_IO_H
 #define _PPC_IO_H

+#ifdef __KERNEL__
+
 #include <linux/config.h>
-#include <linux/types.h>
 #include <asm/page.h>
 #include <asm/byteorder.h>
@@ -31,18 +31,19 @@
 #elif defined(CONFIG_8260)
 #include <asm/mpc8260.h>
 #elif defined(CONFIG_APUS)
-#define _IO_BASE 0
-#define _ISA_MEM_BASE 0
+#define _IO_BASE	0
+#define _ISA_MEM_BASE	0
 #define PCI_DRAM_OFFSET 0
 #else /* Everyone else */
-extern unsigned long isa_io_base;
-extern unsigned long isa_mem_base;
-extern unsigned long pci_dram_offset;
 #define _IO_BASE	isa_io_base
 #define _ISA_MEM_BASE	isa_mem_base
 #define PCI_DRAM_OFFSET	pci_dram_offset
 #endif /* Platform-dependant I/O */

+extern unsigned long isa_io_base;
+extern unsigned long isa_mem_base;
+extern unsigned long pci_dram_offset;
+
 #define readb(addr) in_8((volatile u8 *)(addr))
 #define writeb(b,addr) out_8((volatile u8 *)(addr), (b))
 #if defined(CONFIG_APUS)
@@ -181,7 +182,6 @@
 #define memcpy_fromio(a,b,c)   memcpy((a),(void *)(b),(c))
 #define memcpy_toio(a,b,c)	memcpy((void *)(a),(b),(c))

-#ifdef __KERNEL__
 /*
  * Map in an area of physical address space, for accessing
  * I/O devices etc.
@@ -250,11 +257,9 @@
 /*
  * Change "struct page" to physical address.
  */
-#define page_to_phys(page)	((page - mem_map) << PAGE_SHIFT)
+#define page_to_phys(page)	(((page - mem_map) << PAGE_SHIFT) + PPC_MEMSTART)
 #define page_to_bus(page)	(page_to_phys(page) + PCI_DRAM_OFFSET)

-#endif /* __KERNEL__ */
-
 /*
  * Enforce In-order Execution of I/O:
  * Acts as a barrier to ensure all previous I/O accesses have
@@ -373,5 +378,5 @@
 #define dma_cache_wback(_start,_size)		do { } while (0)
 #define dma_cache_wback_inv(_start,_size)	do { } while (0)

-#endif
 #endif /* __KERNEL__ */
+#endif
--- include/asm-ppc/mpc8xx.h	2001/10/25 19:46:38	1.1.1.9
+++ include/asm-ppc/mpc8xx.h	2001/10/25 22:02:40	1.5
@@ -74,10 +74,6 @@
 #endif

 #ifndef __ASSEMBLY__
-extern unsigned long isa_io_base;
-extern unsigned long isa_mem_base;
-extern unsigned long pci_dram_offset;
-
 /* The "residual" data board information structure the boot loader
  * hands to us.
  */
--- include/asm-ppc/ppc4xx.h	2001/06/09 18:19:23	1.1.1.3
+++ include/asm-ppc/ppc4xx.h	2001/06/10 00:17:28	1.3
@@ -37,8 +37,6 @@
 #define _ISA_MEM_BASE	0
 #define PCI_DRAM_OFFSET	0

-extern unsigned long isa_io_base;
-
 /*
  * The "residual" board information structure the boot loader passes
  * into the kernel.
--- include/asm-ppc/page.h	2001/10/16 18:59:52	1.1.1.9
+++ include/asm-ppc/page.h	2001/10/29 23:09:38	1.6
@@ -86,6 +86,17 @@
 #define clear_user_page(page, vaddr)	clear_page(page)
 #define copy_user_page(to, from, vaddr)	copy_page(to, from)

+extern unsigned long ppc_memstart;
+extern unsigned long ppc_memoffset;
+#ifndef CONFIG_APUS
+#define PPC_MEMSTART	0
+#define PPC_MEMOFFSET	PAGE_OFFSET
+#else
+#define PPC_MEMSTART	ppc_memstart
+#define PPC_MEMOFFSET	ppc_memoffset
+#endif
+
+#if defined(CONFIG_APUS) && !defined(MODULE)
 /* map phys->virtual and virtual->phys for RAM pages */
 static inline unsigned long ___pa(unsigned long v)
 {
@@ -113,6 +124,11 @@

 	return (void*) v;
 }
+#else
+#define ___pa(vaddr) ((vaddr)-PPC_MEMOFFSET)
+#define ___va(paddr) ((paddr)+PPC_MEMOFFSET)
+#endif
+
 #define __pa(x) ___pa ((unsigned long)(x))
 #define __va(x) ___va ((unsigned long)(x))

--- include/asm-ppc/pgtable.h	2001/10/16 18:59:48	1.1.1.11
+++ include/asm-ppc/pgtable.h	2001/10/29 23:09:38	1.12
@@ -345,7 +345,7 @@
  * Permanent address of a page.
  */
 #define page_address(page)	((page)->virtual)
-#define pte_page(x)		(mem_map+(unsigned long)((pte_val(x) >> PAGE_SHIFT)))
+#define pte_page(x)		(mem_map+(unsigned long)((pte_val(x)-PPC_MEMSTART) >> PAGE_SHIFT))

 #ifndef __ASSEMBLY__
 /*
@@ -411,7 +411,7 @@
 #define mk_pte(page,pgprot) \
 ({									\
 	pte_t pte;							\
-	pte_val(pte) = ((page - mem_map) << PAGE_SHIFT) | pgprot_val(pgprot); \
+	pte_val(pte) = (((page - mem_map) << PAGE_SHIFT) + PPC_MEMSTART) | pgprot_val(pgprot); \
 	pte;							\
 })

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Tom Rini <hidden>
Date: 2001-10-31 02:08:09

On Wed, Oct 31, 2001 at 02:44:47AM +0100, Roman Zippel wrote:
Below is a patch from the APUS tree (more to follow :) ). It does some
small cleanups and one important change to get APUS working:
Yay!
- introducing PPC_MEMSTART/PPC_MEMOFFSET, for non-APUS machines these are
constants otherwise variables. I added with this support for memory
starting != 0.
- ram_phys_base became ppc_memstart
- removed end_of_DRAM, it's equivalent to high_memory
Sounds OK.
- pcibios_make_OF_bus_map depends on CONFIG_ALL_PPC
This should just be a warning, since gcc will optmize it out (it'll
always be false on !CONFIG_ALL_PPC.  It'd almost be preferable to do
something like:
#define pcibios_make_OF_bus_map do { } while(0)

Someplace...
- removed duplicate definition of isa_io_base/isa_mem_base/pci_dram_offset
(note: these variables are protected with CONFIG_PCI in ppc_ksyms.c, but
not in the include files, so there are unconditional now)
This will break 4xx I think...  Can you try doing a
walnut+CONFIG_405_DMA=y compile (in _devel..)
- removed nested __KERNEL__ ifdefs in io.h, one even outside of the
recursive protection (bad style).
Correct, but it's usually
#ifdef __KERNEL__
#ifndef __FILE_H__
#define __FILE_H__
...
#endif
#endif

Or so.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Roman Zippel <hidden>
Date: 2001-10-31 10:22:20

Hi,

On Tue, 30 Oct 2001, Tom Rini wrote:
quoted
- pcibios_make_OF_bus_map depends on CONFIG_ALL_PPC
This should just be a warning, since gcc will optmize it out (it'll
always be false on !CONFIG_ALL_PPC.  It'd almost be preferable to do
something like:
#define pcibios_make_OF_bus_map do { } while(0)

Someplace...
That function is in the same file...
quoted
- removed duplicate definition of isa_io_base/isa_mem_base/pci_dram_offset
(note: these variables are protected with CONFIG_PCI in ppc_ksyms.c, but
not in the include files, so there are unconditional now)
This will break 4xx I think...  Can you try doing a
walnut+CONFIG_405_DMA=y compile (in _devel..)
I can try it (when I get home).
quoted
- removed nested __KERNEL__ ifdefs in io.h, one even outside of the
recursive protection (bad style).
Correct, but it's usually
#ifdef __KERNEL__
#ifndef __FILE_H__
#define __FILE_H__
...
#endif
#endif

Or so.
I would do it the other way around. gcc looks for a ifndef/define/endif
sequence to decide whether it needs to rescan that file next time, but I'm
not sure if gcc finds it in this case.

bye, Roman


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Tom Rini <hidden>
Date: 2001-10-31 15:42:33

On Wed, Oct 31, 2001 at 11:22:20AM +0100, Roman Zippel wrote:
Hi,

On Tue, 30 Oct 2001, Tom Rini wrote:
quoted
quoted
- pcibios_make_OF_bus_map depends on CONFIG_ALL_PPC
This should just be a warning, since gcc will optmize it out (it'll
always be false on !CONFIG_ALL_PPC.  It'd almost be preferable to do
something like:
#define pcibios_make_OF_bus_map do { } while(0)

Someplace...
That function is in the same file...
Yes, and compiled only on CONFIG_ALL_PPC.  But the if statement will
always be false on !CONFIG_ALL_PPC, so while the compiler will warn
about an implicit declaration, it won't cause a link error.  Eg:
--- 1.34/arch/ppc/kernel/pci.c  Sat Oct  6 11:16:41 2001
+++ edited/pci.c        Wed Oct 31 08:40:26 2001
@@ -743,6 +743,9 @@
                ranges += np;
        }
 }
+#else
+/* Kill a warning */
+#define pcibios_make_OF_bus_map do { } while(0)
 #endif /* CONFIG_ALL_PPC */

 void __init
quoted
quoted
- removed duplicate definition of isa_io_base/isa_mem_base/pci_dram_offset
(note: these variables are protected with CONFIG_PCI in ppc_ksyms.c, but
not in the include files, so there are unconditional now)
This will break 4xx I think...  Can you try doing a
walnut+CONFIG_405_DMA=y compile (in _devel..)
I can try it (when I get home).
Thanks.
quoted
quoted
- removed nested __KERNEL__ ifdefs in io.h, one even outside of the
recursive protection (bad style).
Correct, but it's usually
#ifdef __KERNEL__
#ifndef __FILE_H__
#define __FILE_H__
...
#endif
#endif

Or so.
I would do it the other way around. gcc looks for a ifndef/define/endif
sequence to decide whether it needs to rescan that file next time, but I'm
not sure if gcc finds it in this case.
By and large we do it the way I said anyhow.  Is this in current gcc or
when we get the precompiled headers bits?

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Roman Zippel <hidden>
Date: 2001-10-31 19:49:27

Hi,

On Wed, 31 Oct 2001, Tom Rini wrote:
quoted hunk
Yes, and compiled only on CONFIG_ALL_PPC.  But the if statement will
always be false on !CONFIG_ALL_PPC, so while the compiler will warn
about an implicit declaration, it won't cause a link error.  Eg:
--- 1.34/arch/ppc/kernel/pci.c  Sat Oct  6 11:16:41 2001
+++ edited/pci.c        Wed Oct 31 08:40:26 2001
@@ -743,6 +743,9 @@
                ranges += np;
        }
 }
+#else
+/* Kill a warning */
+#define pcibios_make_OF_bus_map do { } while(0)
 #endif /* CONFIG_ALL_PPC */

 void __init
Hmm, I don't see how that is any better, but it's ok for me.
quoted
quoted
This will break 4xx I think...  Can you try doing a
walnut+CONFIG_405_DMA=y compile (in _devel..)
I can try it (when I get home).
Thanks.
Works fine, below is the relevant part of the patch for 2_4_devel.
By and large we do it the way I said anyhow.  Is this in current gcc or
when we get the precompiled headers bits?
That has nothing to do with precompiled headers, check the cpp info file
("Header Files" -> "Once-Only") for more info.

bye, Roman
--- include/asm-ppc/ibm4xx.h	Wed Oct 31 17:58:28 2001
+++ include/asm-ppc/ibm4xx.h	Wed Oct 31 20:09:35 2001
@@ -57,10 +57,6 @@
 #define PCI_DRAM_OFFSET	0
 #endif

-extern unsigned long isa_io_base;
-extern unsigned long isa_mem_base;
-extern unsigned long pci_dram_offset;
-
 /*
  * The "residual" board information structure the boot loader passes
  * into the kernel.
--- include/asm-ppc/io.h	Wed Oct 31 17:58:06 2001
+++ include/asm-ppc/io.h	Wed Oct 31 20:09:35 2001
@@ -1,12 +1,12 @@
 /*
  * BK Id: SCCS/s.io.h 1.21 10/16/01 16:44:09 %#%
  */
-#ifdef __KERNEL__
 #ifndef _PPC_IO_H
 #define _PPC_IO_H

+#ifdef __KERNEL__
+
 #include <linux/config.h>
-#include <linux/types.h>
 #include <asm/page.h>
 #include <asm/byteorder.h>
@@ -31,18 +31,19 @@
 #elif defined(CONFIG_8260)
 #include <asm/mpc8260.h>
 #elif defined(CONFIG_APUS)
-#define _IO_BASE 0
-#define _ISA_MEM_BASE 0
+#define _IO_BASE	0
+#define _ISA_MEM_BASE	0
 #define PCI_DRAM_OFFSET 0
 #else /* Everyone else */
-extern unsigned long isa_io_base;
-extern unsigned long isa_mem_base;
-extern unsigned long pci_dram_offset;
 #define _IO_BASE	isa_io_base
 #define _ISA_MEM_BASE	isa_mem_base
 #define PCI_DRAM_OFFSET	pci_dram_offset
 #endif /* Platform-dependant I/O */

+extern unsigned long isa_io_base;
+extern unsigned long isa_mem_base;
+extern unsigned long pci_dram_offset;
+
 #if defined(CONFIG_PPC_ISERIES)
 #include <asm/iSeries.h>
 #if defined(CONFIG_PCI)
@@ -223,7 +224,6 @@
 #define memcpy_toio(a,b,c)	memcpy((void *)(a),(b),(c))
 #endif

-#ifdef __KERNEL__
 /*
  * Map in an area of physical address space, for accessing
  * I/O devices etc.
@@ -295,11 +295,9 @@
 /*
  * Change "struct page" to physical address.
  */
-#define page_to_phys(page)	((page - mem_map) << PAGE_SHIFT)
+#define page_to_phys(page)	(((page - mem_map) << PAGE_SHIFT) + PPC_MEMSTART)
 #define page_to_bus(page)	(page_to_phys(page) + PCI_DRAM_OFFSET)

-#endif /* __KERNEL__ */
-
 /*
  * Enforce In-order Execution of I/O:
  * Acts as a barrier to ensure all previous I/O accesses have
@@ -450,5 +448,5 @@
 #define consistent_sync_page(pg, off, sz, rw)	do { } while (0)

 #endif /* CONFIG_NOT_COHERENT_CACHE */
-#endif /* _PPC_IO_H */
 #endif /* __KERNEL__ */
+#endif /* _PPC_IO_H */

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Tom Rini <hidden>
Date: 2001-10-31 22:53:35

On Wed, Oct 31, 2001 at 08:49:27PM +0100, Roman Zippel wrote:
Hi,

On Wed, 31 Oct 2001, Tom Rini wrote:
quoted
Yes, and compiled only on CONFIG_ALL_PPC.  But the if statement will
always be false on !CONFIG_ALL_PPC, so while the compiler will warn
about an implicit declaration, it won't cause a link error.  Eg:
--- 1.34/arch/ppc/kernel/pci.c  Sat Oct  6 11:16:41 2001
+++ edited/pci.c        Wed Oct 31 08:40:26 2001
@@ -743,6 +743,9 @@
                ranges += np;
        }
 }
+#else
+/* Kill a warning */
+#define pcibios_make_OF_bus_map do { } while(0)
 #endif /* CONFIG_ALL_PPC */

 void __init
Hmm, I don't see how that is any better, but it's ok for me.
I'd still rather just ignore the warning. :)
quoted
quoted
quoted
This will break 4xx I think...  Can you try doing a
walnut+CONFIG_405_DMA=y compile (in _devel..)
I can try it (when I get home).
Thanks.
Works fine, below is the relevant part of the patch for 2_4_devel.
Okay, thanks.  Remove my objection to that part then..
quoted
By and large we do it the way I said anyhow.  Is this in current gcc or
when we get the precompiled headers bits?
That has nothing to do with precompiled headers, check the cpp info file
("Header Files" -> "Once-Only") for more info.
I will when I get a moment.. :)  But #ifndef __FOO__ #define __FOO__
#ifdef __BAR__ ... #endif /* __BAR__ */ #endif /* __FOO__ */ works
better than checking for __BAR__ first?

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Roman Zippel <hidden>
Date: 2001-10-31 23:23:06

Hi,

Tom Rini wrote:
I will when I get a moment.. :)  But #ifndef __FOO__ #define __FOO__
#ifdef __BAR__ ... #endif /* __BAR__ */ #endif /* __FOO__ */ works
better than checking for __BAR__ first?
IMO yes: "If a subsequent `#include' specifies the same file, and the
macro in the `#ifndef' is already defined, then the file is entirely
skipped, without even reading it."

bye, Roman

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: small cleanup

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2001-11-01 11:19:09

On Wed, 31 Oct 2001, Tom Rini wrote:
On Wed, Oct 31, 2001 at 08:49:27PM +0100, Roman Zippel wrote:
quoted
On Wed, 31 Oct 2001, Tom Rini wrote:
quoted
Yes, and compiled only on CONFIG_ALL_PPC.  But the if statement will
always be false on !CONFIG_ALL_PPC, so while the compiler will warn
about an implicit declaration, it won't cause a link error.  Eg:
--- 1.34/arch/ppc/kernel/pci.c  Sat Oct  6 11:16:41 2001
+++ edited/pci.c        Wed Oct 31 08:40:26 2001
@@ -743,6 +743,9 @@
                ranges += np;
        }
 }
+#else
+/* Kill a warning */
+#define pcibios_make_OF_bus_map do { } while(0)
 #endif /* CONFIG_ALL_PPC */

 void __init
Hmm, I don't see how that is any better, but it's ok for me.
I'd still rather just ignore the warning. :)
Nope, such warnings distract you from the real warnings. Better to have no
warnings at all.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help