1) set_brkpt() is referenced by nothing and hasn't been used by anyone
to my knowledge for many many years. So just delete it.
2) add extern decl for do_sparc64_fault() in asm/pgtable_64.h
Signed-off-by: David S. Miller <davem@davemloft.net>
As sparse warns, without this struct page pointer subtraction is
extremely expensive, and this is a pretty common operation in
fast paths.
With this define struct page becomes 64 bytes which makes for a
simple subtract and shift, instead of a costly divide or reciprocol
multiply.
Signed-off-by: David S. Miller <davem@davemloft.net>
Lots of shadowed local variables and global_reg_snapshot[] needs
an extern declaration in asm/ptrace_64.h.
Signed-off-by: David S. Miller <davem@davemloft.net>
It is just used as a parent to encapsulate two PBM objects.
But that layout is only really relevant and necessary for
psycho PCI controllers, which unlike all the others share
a single IOMMU instance between sibling PCI busses.
Signed-off-by: David S. Miller <davem@davemloft.net>
The spinlock code does not use NR_CPUS.
Compile tested using allyesconfig and allnoconfig.
Signed-off-by: Bjoern B. Brandenburg <bbb@cs.unc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Three main things:
1) Make prober an arch initcall instead of using hard-coded invocation
from paging_init()
2) Shrink table size, the fpu ident stuff was never used.
3) Use named struct initialized in table.
Signed-off-by: David S. Miller <davem@davemloft.net>
While doing some easy cleanups on the sparc code I noticed that the
CONFIG_SUN4 code seems to be worse than the rest - there were some
"I don't know how it should work, but the current code definitely cannot
work." places.
And while I have seen people running Linux on machines like a
SPARCstation 5 a few years ago I don't recall having seen sun4
machines, even less ones running Linux.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This driver is now limited to just doing the basic clock board and FHC
chip initialization and registering the platform devices for the
per-board LEDs, which are driven by the new LEDS_STARFIRE driver.
The IRQ register handling is already confined purely to the device
tree code.
Signed-off-by: David S. Miller <davem@davemloft.net>
These have no dependencies on the EBUS probing layer, the clients
setup the registers and all of those details. The EBUS DMA layer
just programs and manages the DMA controller found in EBUS.
Signed-off-by: David S. Miller <davem@davemloft.net>
In order to make this week I also had to add an include
of linux/dma-mapping.h to asm/pci_32.h because drivers/pci/pci.c
really depends upon getting this header somehow.
Signed-off-by: David S. Miller <davem@davemloft.net>
The individual SBUS IOMMU arch code now sets the IOMMU information
directly into the OF device objects.
Signed-off-by: David S. Miller <davem@davemloft.net>
Add a helper function that, given a bus of_device node, propagates
all iommu, stc, and host_controller values down to the child nodes.
Signed-off-by: David S. Miller <davem@davemloft.net>
No drivers or code uses this stuff any more, every driver has been
converted over to OF device probing.
Signed-off-by: David S. Miller <davem@davemloft.net>
This lets us kill this "map it in every IOMMU" crazy code, and also
some of the final references to sbus_root.
Signed-off-by: David S. Miller <davem@davemloft.net>
This is in preparation for the subsequent asm/sbus.h removal.
Also, make these routines take a "struct device" or no
arguments, as appropriate.
Signed-off-by: David S. Miller <davem@davemloft.net>
And all the SBUS dma interfaces are deleted.
A private implementation remains inside of the 32-bit sparc port which
exists only for the sake of the implementation of dma_*().
Signed-off-by: David S. Miller <davem@davemloft.net>
These dispatch to either PCI or SBUS routines based upon
the device bus type.
This will allow us to let SBUS drivers call these routines.
Signed-off-by: David S. Miller <davem@davemloft.net>