linux/drivers/base
David Miller b13d3720ec topology: Fix sparc64 build.
Due to changeset ba84be2338 ("remove
linux/hardirq.h from asm-generic/local.h") the sparc64 build started
failing on drivers/base/topology.c:

  drivers/base/topology.c: In function ‘show_physical_package_id’:
  drivers/base/topology.c:103: error: implicit declaration of function ‘cpu_data’
  drivers/base/topology.c:103: error: request for member ‘proc_id’ in something not a structure or union
  drivers/base/topology.c: In function ‘show_core_id’:
  drivers/base/topology.c:106: error: request for member ‘core_id’ in something not a structure or union

Adding the obvious fix of including asm/cpudata.h into asm/topology.h on
sparc64 doesn't fix it, in fact it makes things worse because of the
header file dependency chain:

	linux/gfp.h --> linux/mmzone.h --> linux/topology.h -->
	asm/topology.h --> asm/cpudata.h --> linux/percpu.h -->
	linux/slab.h

which results in:

  include/linux/slub_def.h: In function ‘kmalloc_large’:
  include/linux/slub_def.h:209: error: implicit declaration of function ‘__get_free_pages’
  include/linux/slub_def.h:209: error: ‘__GFP_COMP’ undeclared (first use in this function)
  include/linux/slub_def.h:209: error: (Each undeclared identifier is reported only once
  include/linux/slub_def.h:209: error: for each function it appears in.)
  include/linux/slub_def.h:209: warning: cast to pointer from integer of different size

The simplest thing to do is to add yet another one-off hack like parts
of the guilty changeset did, by putting an explicit linux/hardirq.h
include into drivers/base/topology.c

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-07 15:34:47 -08:00
..
power driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
attribute_container.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
base.h driver core: move knode_bus into private structure 2009-01-06 10:44:33 -08:00
bus.c driver core: move knode_bus into private structure 2009-01-06 10:44:33 -08:00
class.c driver-core: use klist for class device list and implement iterator 2008-10-09 08:56:04 +02:00
core.c driver core: add root_device_register() 2009-01-06 10:44:33 -08:00
cpu.c cpumask: fix compile error when CONFIG_NR_CPUS is not defined 2009-01-03 19:15:41 +01:00
dd.c driver core:fix duplicate removing driver link in __device_release_driver 2009-01-06 10:44:33 -08:00
devres.c
dma-mapping.c
driver.c driver core: move knode_driver into private structure 2009-01-06 10:44:32 -08:00
firmware_class.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
firmware.c
hypervisor.c
init.c
iommu.c add frontend implementation for the IOMMU API 2009-01-03 14:10:09 +01:00
isa.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
Kconfig trivial: Fix misspelled firmware in Kconfig 2009-01-06 11:28:07 +01:00
Makefile select IOMMU_API when DMAR and/or AMD_IOMMU is selected 2009-01-03 14:10:09 +01:00
map.c
memory.c mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
module.c
node.c mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
platform.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
sys.c sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
topology.c topology: Fix sparc64 build. 2009-01-07 15:34:47 -08:00
transport_class.c SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00