linux/arch/sparc/include/asm
Linus Torvalds ed2d265d12 The following text was taken from the original review request:
"[RFC - PATCH 0/7] consolidation of BUG support code."
 		https://lkml.org/lkml/2012/1/26/525
 --
 
 The changes shown here are to unify linux's BUG support under
 the one <linux/bug.h> file.  Due to historical reasons, we have
 some BUG code in bug.h and some in kernel.h -- i.e. the support for
 BUILD_BUG in linux/kernel.h predates the addition of linux/bug.h,
 but old code in kernel.h wasn't moved to bug.h at that time.  As
 a band-aid, kernel.h was including <asm/bug.h> to pseudo link them.
 
 This has caused confusion[1] and general yuck/WTF[2] reactions.
 Here is an example that violates the principle of least surprise:
 
       CC      lib/string.o
       lib/string.c: In function 'strlcat':
       lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
       make[2]: *** [lib/string.o] Error 1
       $
       $ grep linux/bug.h lib/string.c
       #include <linux/bug.h>
       $
 
 We've included <linux/bug.h> for the BUG infrastructure and yet we
 still get a compile fail!  [We've not kernel.h for BUILD_BUG_ON.]
 Ugh - very confusing for someone who is new to kernel development.
 
 With the above in mind, the goals of this changeset are:
 
 1) find and fix any include/*.h files that were relying on the
    implicit presence of BUG code.
 2) find and fix any C files that were consuming kernel.h and
    hence relying on implicitly getting some/all BUG code.
 3) Move the BUG related code living in kernel.h to <linux/bug.h>
 4) remove the asm/bug.h from kernel.h to finally break the chain.
 
 During development, the order was more like 3-4, build-test, 1-2.
 But to ensure that git history for bisect doesn't get needless
 build failures introduced, the commits have been reorderd to fix
 the problem areas in advance.
 
 [1]  https://lkml.org/lkml/2012/1/3/90
 [2]  https://lkml.org/lkml/2012/1/17/414
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPbNwpAAoJEOvOhAQsB9HWrqYP/A0t9VB0nK6e42F0OR2P14MZ
 GJFtf1B++wwioIrx+KSWSRfSur1C5FKhDbxLR3I/pvkAYl4+T4JvRdMG6xJwxyip
 CC1kVQQNDjWVVqzjz2x6rYkOffx6dUlw/ERyIyk+OzP+1HzRIsIrugMqbzGLlX0X
 y0v2Tbd0G6xg1DV8lcRdp95eIzcGuUvdb2iY2LGadWZczEOeSXx64Jz3QCFxg3aL
 LFU4oovsg8Nb7MRJmqDvHK/oQf5vaTm9WSrS0pvVte0msSQRn8LStYdWC0G9BPCS
 GwL86h/eLXlUXQlC5GpgWg1QQt5i2QpjBFcVBIG0IT5SgEPMx+gXyiqZva2KwbHu
 LKicjKtfnzPitQnyEV/N6JyV1fb1U6/MsB7ebU5nCCzt9Gr7MYbjZ44peNeprAtu
 HMvJ/BNnRr4Ha6nPQNu952AdASPKkxmeXFUwBL1zUbLkOX/bK/vy1ujlcdkFxCD7
 fP3t7hghYa737IHk0ehUOhrE4H67hvxTSCKioLUAy/YeN1IcfH/iOQiCBQVLWmoS
 AqYV6ou9cqgdYoyila2UeAqegb+8xyubPIHt+lebcaKxs5aGsTg+r3vq5juMDAPs
 iwSVYUDcIw9dHer1lJfo7QCy3QUTRDTxh+LB9VlHXQICgeCK02sLBOi9hbEr4/H8
 Ko9g8J3BMxcMkXLHT9ud
 =PYQT
 -----END PGP SIGNATURE-----

Merge tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux

Pull <linux/bug.h> cleanup from Paul Gortmaker:
 "The changes shown here are to unify linux's BUG support under the one
  <linux/bug.h> file.  Due to historical reasons, we have some BUG code
  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in
  linux/kernel.h predates the addition of linux/bug.h, but old code in
  kernel.h wasn't moved to bug.h at that time.  As a band-aid, kernel.h
  was including <asm/bug.h> to pseudo link them.

  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here
  is an example that violates the principle of least surprise:

      CC      lib/string.o
      lib/string.c: In function 'strlcat':
      lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
      make[2]: *** [lib/string.o] Error 1
      $
      $ grep linux/bug.h lib/string.c
      #include <linux/bug.h>
      $

  We've included <linux/bug.h> for the BUG infrastructure and yet we
  still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
  very confusing for someone who is new to kernel development.

  With the above in mind, the goals of this changeset are:

  1) find and fix any include/*.h files that were relying on the
     implicit presence of BUG code.
  2) find and fix any C files that were consuming kernel.h and hence
     relying on implicitly getting some/all BUG code.
  3) Move the BUG related code living in kernel.h to <linux/bug.h>
  4) remove the asm/bug.h from kernel.h to finally break the chain.

  During development, the order was more like 3-4, build-test, 1-2.  But
  to ensure that git history for bisect doesn't get needless build
  failures introduced, the commits have been reorderd to fix the problem
  areas in advance.

	[1]  https://lkml.org/lkml/2012/1/3/90
	[2]  https://lkml.org/lkml/2012/1/17/414"

Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
and linux-next.

* tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  kernel.h: doesn't explicitly use bug.h, so don't include it.
  bug: consolidate BUILD_BUG_ON with other bug code
  BUG: headers with BUG/BUG_ON etc. need linux/bug.h
  bug.h: add include of it to various implicit C users
  lib: fix implicit users of kernel.h for TAINT_WARN
  spinlock: macroize assert_spin_locked to avoid bug.h dependency
  x86: relocate get/set debugreg fcns to include/asm/debugreg.
2012-03-24 10:08:39 -07:00
..
Kbuild sparc: use kbuild-generic support for true asm-generic header files 2011-08-04 01:35:12 -07:00
agp.h
apb.h
apc.h
asi.h
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h
asmmacro.h
atomic.h
atomic_32.h sparc32: support atomic64_t 2011-12-27 16:33:13 -05:00
atomic_64.h atomic: cleanup asm-generic atomic*.h inclusion 2011-07-26 16:49:47 -07:00
auxio.h
auxio_32.h
auxio_64.h
auxvec.h
backoff.h sparc64: Make lock backoff really a NOP on UP builds. 2010-08-18 22:53:26 -07:00
bbc.h
bitext.h
bitops.h
bitops_32.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitops_64.h sparc: Use popc when possible for ffs/__ffs/ffz. 2011-08-02 21:28:53 -07:00
bitsperlong.h
btext.h sparc64: Faster early-boot framebuffer console. 2009-11-27 17:33:43 -08:00
btfixup.h
bug.h
bugs.h
byteorder.h
cache.h sparc: remove homegrown L1_CACHE_ALIGN macro 2010-06-29 00:38:02 -07:00
cacheflush.h
cacheflush_32.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
cacheflush_64.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
chafsr.h
checksum.h
checksum_32.h
checksum_64.h
chmctrl.h
clock.h
cmt.h
compat.h compat: sync compat_stats with statfs. 2011-10-28 14:58:53 +02:00
compat_signal.h
contregs.h
cpudata.h
cpudata_32.h sparc32: implement SMP IPIs using the generic functions 2011-05-16 13:07:43 -07:00
cpudata_64.h sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. 2010-04-12 22:37:07 -07:00
cputime.h
current.h
cypress.h
dcr.h
dcu.h
delay.h
delay_32.h
delay_64.h
device.h of: remove asm/of_device.h 2010-07-24 09:57:52 -06:00
display7seg.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h
ebus_dma.h
ecc.h
eeprom.h
elf.h
elf_32.h elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
elf_64.h sparc: Sanitize cpu feature detection and reporting. 2011-07-28 23:31:26 -07:00
emergency-restart.h
envctrl.h
errno.h mm: make __get_user_pages return -EHWPOISON for HWPOISON page optionally 2011-03-17 13:08:27 -03:00
estate.h
fb.h sparc: Really fix "console=" for serial consoles. 2010-08-16 12:26:09 -07:00
fbio.h tree-wide: s/widht/width/g typo in comments 2010-02-05 12:22:42 +01:00
fcntl.h vfs: add nonconflicting values for O_PATH 2011-03-16 09:54:02 -04:00
fhc.h
fixmap.h
floppy.h
floppy_32.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
floppy_64.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
fpumacro.h
ftrace.h
futex.h
futex_32.h
futex_64.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gpio.h
hardirq.h
hardirq_32.h sparc32: convert to asm-generic/hardirq.h 2009-10-01 13:45:13 -07:00
hardirq_64.h
head.h
head_32.h
head_64.h
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlb.h
hvtramp.h
hw_irq.h
hypervisor.h sparc: Set reboot-cmd using reboot data hypervisor call if available. 2011-08-02 21:28:52 -07:00
ide.h
idprom.h
intr_queue.h
io-unit.h
io.h sparc: add {read,write}*_be routines 2011-05-12 13:44:29 -07:00
io_32.h sparc: switch to GENERIC_PCI_IOMAP 2011-12-04 15:59:49 +02:00
io_64.h sparc: switch to GENERIC_PCI_IOMAP 2011-12-04 15:59:49 +02:00
ioctl.h
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
iommu.h
iommu_32.h
iommu_64.h
ipcbuf.h
irq.h
irq_32.h sparc32: genirq support 2011-04-19 22:11:40 -07:00
irq_64.h nmi watchdog: do not use cpp symbol in Kconfig 2012-03-23 16:58:31 -07:00
irqflags.h
irqflags_32.h sparc/irqs: Do not trace arch_local_{*,irq_*} functions 2011-07-06 08:00:29 -07:00
irqflags_64.h sparc/irqs: Do not trace arch_local_{*,irq_*} functions 2011-07-06 08:00:29 -07:00
jsflash.h
jump_label.h static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
kdebug.h
kdebug_32.h
kdebug_64.h
kgdb.h
kmap_types.h
kprobes.h
ldc.h
leon.h sparc32,leon: add GRPCI2 PCI Host driver 2011-06-02 14:32:38 -07:00
leon_amba.h SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
leon_pci.h PCI: Make the struct pci_dev * argument of pci_fixup_irqs const. 2011-07-22 08:26:06 -07:00
linkage.h
lsu.h
machines.h
mbus.h
mc146818rtc.h
mc146818rtc_32.h
mc146818rtc_64.h
mdesc.h
memctrl.h
memreg.h
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu.h
mmu_32.h sparc32: add irq + smp declarations to headers 2011-03-16 18:19:08 -07:00
mmu_64.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h
mpmbox.h
msgbuf.h
msi.h
mutex.h
mxcc.h
nmi.h
ns87303.h Fix common misspellings 2011-03-31 11:26:23 -03:00
obio.h
openprom.h sparc: Pass buffer pointer all the way down to prom_{get,put}char(). 2010-11-30 14:33:29 -08:00
openpromio.h
oplib.h
oplib_32.h sparc: fix sparse warnings in arch/sparc/prom for 32 bit build 2011-01-03 12:15:12 -08:00
oplib_64.h sparc: Eliminate prom_stdin. 2010-12-12 14:57:53 -08:00
page.h
page_32.h sparc32: fix PAGE_SIZE definition 2011-12-29 14:58:31 -08:00
page_64.h
param.h sparc: Simplify param.h by simply including <asm-generic/param.h> 2010-01-12 02:46:16 -08:00
parport.h dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pbm.h
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
pci_32.h PCI: collapse pcibios_resource_to_bus 2012-02-23 20:19:04 -07:00
pci_64.h PCI: collapse pcibios_resource_to_bus 2012-02-23 20:19:04 -07:00
pcic.h sparc32: added CONFIG_PCIC_PCI Kconfig setting 2011-06-02 14:32:37 -07:00
pcr.h Fix common misspellings 2011-03-31 11:26:23 -03:00
percpu.h
percpu_32.h
percpu_64.h
perf_event.h perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
perfctr.h sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
pgalloc.h
pgalloc_32.h
pgalloc_64.h sparc64: use RCU page table freeing 2011-07-25 20:57:10 -07:00
pgtable.h
pgtable_32.h sparc: Kill custom io_remap_pfn_range(). 2011-11-17 18:17:59 -08:00
pgtable_64.h sparc: Kill custom io_remap_pfn_range(). 2011-11-17 18:17:59 -08:00
pgtsrmmu.h sparc32,leon: SRMMU MMU Table probe fix 2011-10-07 12:08:01 -07:00
pgtsun4c.h
pil.h
poll.h
posix_types.h consolidate umode_t declarations 2012-01-03 22:55:17 -05:00
processor.h
processor_32.h
processor_64.h
prom.h irq_domain: Centralize definition of irq_dispose_mapping() 2012-02-26 16:48:06 -07:00
psr.h
psrcompat.h
pstate.h
ptrace.h Audit: push audit success and retcode into arch ptrace.h 2012-01-17 16:16:56 -05:00
resource.h
ross.h
rwsem.h rwsem: Move duplicate function prototypes to linux/rwsem.h 2011-01-27 12:30:39 +01:00
sbi.h
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
scratchpad.h
seccomp.h
sections.h
sembuf.h
serial.h
setup.h sparc32: always define boot_cpu_id 2011-04-21 16:44:44 -07:00
sfafsr.h
sfp-machine.h
sfp-machine_32.h
sfp-machine_64.h
shmbuf.h
shmparam.h
shmparam_32.h
shmparam_64.h
sigcontext.h sparc: Allow handling signals when stack is corrupted. 2011-08-20 17:14:54 -07:00
siginfo.h UAPI: Don't include linux/compat.h in sparc's asm/siginfo.h 2011-12-12 13:54:35 +00:00
signal.h sparc: make SA_NOMASK a synonym of SA_NODEFER 2012-01-10 16:30:54 -08:00
smp.h
smp_32.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp_64.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smpprim.h
socket.h net: Add framework to allow sending packets with customized CRC. 2012-02-24 01:37:35 -08:00
sockios.h
sparsemem.h
spinlock.h
spinlock_32.h sparc32: unbreak arch_write_unlock() 2011-08-15 14:35:19 -07:00
spinlock_64.h sparc64: remove unnecessary macros from spinlock_64.h 2011-08-15 14:35:18 -07:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spitfire.h sparc64: Future proof Niagara cpu detection. 2011-09-16 14:21:33 -07:00
stacktrace.h
starfire.h
stat.h sparc: Fix use of uid16_t and gid16_t in asm/stat.h 2010-03-27 08:36:18 -07:00
statfs.h
string.h
string_32.h sparc: Stop trying to be so fancy and use __builtin_{memcpy,memset}() 2009-12-10 23:32:10 -08:00
string_64.h sparc: Stop trying to be so fancy and use __builtin_{memcpy,memset}() 2009-12-10 23:32:10 -08:00
sunbpp.h
swab.h
swift.h
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscalls.h
sysen.h
system.h
system_32.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
system_64.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
thread_info.h
thread_info_32.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next 2012-01-09 14:47:06 -08:00
thread_info_64.h freezer: remove now unused TIF_FREEZE 2011-11-21 12:32:25 -08:00
timer.h
timer_32.h
timer_64.h
timex.h
timex_32.h sparc: convert to arch_gettimeoffset() 2010-01-15 01:34:28 -08:00
timex_64.h
tlb.h
tlb_32.h
tlb_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
tlbflush.h
tlbflush_32.h
tlbflush_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
topology.h
topology_32.h
topology_64.h sched, sparc64: Turn cpu_coregroup_mask() into a real function 2011-04-12 08:46:41 +02:00
trap_block.h
traps.h
tsb.h sparc: Access kernel TSB using physical addressing when possible. 2011-08-05 00:53:57 -07:00
tsunami.h
ttable.h
turbosparc.h
types.h consolidate umode_t declarations 2012-01-03 22:55:17 -05:00
uaccess.h
uaccess_32.h sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
uaccess_64.h sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
uctx.h
unaligned.h
unistd.h sparc: Hook up process_vm_{readv,writev} syscalls. 2011-11-01 00:51:30 -07:00
upa.h
user.h
utrap.h
vac-ops.h
vaddrs.h
vga.h BUG: headers with BUG/BUG_ON etc. need linux/bug.h 2012-03-04 17:54:34 -05:00
viking.h
vio.h BUILD_BUG_ON(): fix it and a couple of bogus uses of it 2009-09-23 07:39:29 -07:00
visasm.h
watchdog.h
winmacro.h sparc32,leon: added some SMP comments 2011-05-16 13:03:28 -07:00
xor.h
xor_32.h
xor_64.h sparc64: Future proof Niagara cpu detection. 2011-09-16 14:21:33 -07:00