openwrt/staging/blogic.git
16 years agosparc64: Fix sparse warnings in chmc.c
David S. Miller [Fri, 12 Sep 2008 07:22:42 +0000 (00:22 -0700)]
sparc64: Fix sparse warnings in chmc.c

Several constants are larger than 32-bit and need "UL" markers.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Kill sparse warnings in mm/init.h
David S. Miller [Fri, 12 Sep 2008 07:19:21 +0000 (00:19 -0700)]
sparc64: Kill sparse warnings in mm/init.h

1) Several exported symbols need extern decls, they are exported
   not for C code but for assembler routines.

2) PAGE_EXEC isn't used, delete

3) Several larger than 32-bit constants need "UL" markers

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in fault.c
David S. Miller [Fri, 12 Sep 2008 07:10:32 +0000 (00:10 -0700)]
sparc64: Fix sparse warnings in fault.c

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>
16 years agosparc64: Remove explicit initialization of mmu_gathers
David S. Miller [Fri, 12 Sep 2008 07:06:58 +0000 (00:06 -0700)]
sparc64: Remove explicit initialization of mmu_gathers

This was just needed to work around an ancient gcc bug that
we don't care about any more.

It was also causing a sparse warnings:

arch/sparc64/mm/tlb.c:22:52: warning: Using plain integer as NULL pointer

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in vio.c
David S. Miller [Fri, 12 Sep 2008 07:04:33 +0000 (00:04 -0700)]
sparc64: Fix sparse warnings in vio.c

Several variables should be marked static.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in pci_sun4v.c
David S. Miller [Fri, 12 Sep 2008 07:01:03 +0000 (00:01 -0700)]
sparc64: Fix sparse warnings in pci_sun4v.c

'err' variable shadowing in pci_sun4v_probe()

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in pci.c
David S. Miller [Fri, 12 Sep 2008 06:57:40 +0000 (23:57 -0700)]
sparc64: Fix sparse warnings in pci.c

1) Declare pci_poke_* in pci_impl.h
2) of_create_pci_dev() should be static
3) ->setup_msi_irq() wants an unsigned int pointer not a plain
   int one
4) void value expression return in arch_teardown_msi_irq()

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in of_device.c
David S. Miller [Fri, 12 Sep 2008 06:53:41 +0000 (23:53 -0700)]
sparc64: Fix sparse warnings in of_device.c

Passing unsigned int pointer where plain int pointer is
expected.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in prom.c
David S. Miller [Fri, 12 Sep 2008 06:52:35 +0000 (23:52 -0700)]
sparc64: Fix sparse warnings in prom.c

1) Testing null with '0'
2) returning void-valued expression

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in visemul.c
David S. Miller [Fri, 12 Sep 2008 06:46:40 +0000 (23:46 -0700)]
sparc64: Fix sparse warnings in visemul.c

1) edge8 tables should be static
2) add vis_emul() extern decl. to asm/visasm.h

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in kernel/time.c
David S. Miller [Fri, 12 Sep 2008 06:39:11 +0000 (23:39 -0700)]
sparc64: Fix sparse warnings in kernel/time.c

1) Using "clock" as a local variable shadows a global variable of
   the same name declared in linux/clocksource.h

2) rtc_cmos_resource should be static

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Define WANT_PAGE_VIRTUAL
David S. Miller [Fri, 12 Sep 2008 06:36:32 +0000 (23:36 -0700)]
sparc64: Define WANT_PAGE_VIRTUAL

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>
16 years agosysctl: Use header file for sysctl knob declarations on sparc.
David S. Miller [Fri, 12 Sep 2008 06:33:53 +0000 (23:33 -0700)]
sysctl: Use header file for sysctl knob declarations on sparc.

This also takes care of a sparse warning as scons_pwroff's definition
point.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosysctl: Use CONFIG_SPARC instead of __sparc__ for ifdef tests.
David S. Miller [Fri, 12 Sep 2008 06:29:54 +0000 (23:29 -0700)]
sysctl: Use CONFIG_SPARC instead of __sparc__ for ifdef tests.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix sparse warnings in global reg snapshotting.
David S. Miller [Fri, 12 Sep 2008 06:19:22 +0000 (23:19 -0700)]
sparc64: Fix sparse warnings in global reg snapshotting.

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>
16 years agosparc64: Add __arch64__ to CHECKFLAGS
David S. Miller [Fri, 12 Sep 2008 06:14:52 +0000 (23:14 -0700)]
sparc64: Add __arch64__ to CHECKFLAGS

Otherwise sparse doesn't work.  The 32 vs. 64 header ifdef
used under arch/sparc/include/asm/ is:

#if defined(__sparc__) && defined(__arch64__)

And that doesn't work for sparse unless we give it __arch64__

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Call parse_early_param() in setup_arch().
David S. Miller [Thu, 11 Sep 2008 06:40:32 +0000 (23:40 -0700)]
sparc32: Call parse_early_param() in setup_arch().

Mirror sparc64.  This will allow us to use early_param() on
sparc32 too.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Kill hand-crafted I/O accessors in PCI controller drivers.
David S. Miller [Wed, 10 Sep 2008 11:13:10 +0000 (04:13 -0700)]
sparc64: Kill hand-crafted I/O accessors in PCI controller drivers.

Use existing upa_{read,write}q() interfaces instead.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Commonize large portions of PSYCHO error handling.
David S. Miller [Wed, 10 Sep 2008 10:52:51 +0000 (03:52 -0700)]
sparc64: Commonize large portions of PSYCHO error handling.

The IOMMU and streaming cache error interrogation is moved here
as well as the PCI error interrupt handler.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Create and use psycho_pbm_init_common().
David S. Miller [Wed, 10 Sep 2008 10:15:56 +0000 (03:15 -0700)]
sparc64: Create and use psycho_pbm_init_common().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Start commonizing code common between SABRE and PSYCHO.
David S. Miller [Wed, 10 Sep 2008 10:07:03 +0000 (03:07 -0700)]
sparc64: Start commonizing code common between SABRE and PSYCHO.

These are very similar chips, in fact they are identical in some
macro blocks.

So start commonizing code which they can share.  We begin with
the IOMMU initialization sequence.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Record OF device instead of device node pointer in pci_pbm_info.
David S. Miller [Wed, 10 Sep 2008 07:19:28 +0000 (00:19 -0700)]
sparc64: Record OF device instead of device node pointer in pci_pbm_info.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Get rid of pci_controller_info.
David S. Miller [Wed, 10 Sep 2008 06:54:02 +0000 (23:54 -0700)]
sparc64: Get rid of pci_controller_info.

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>
16 years agosparc32: Need to close openned RTC device just like sparc64.
David S. Miller [Wed, 10 Sep 2008 20:36:13 +0000 (13:36 -0700)]
sparc32: Need to close openned RTC device just like sparc64.

Otherwise we get refcount problems.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix return value in update_persistent_clock().
David S. Miller [Wed, 10 Sep 2008 20:35:08 +0000 (13:35 -0700)]
sparc64: Fix return value in update_persistent_clock().

Noticed by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc-bq4802: Fix sparse warnings.
David S. Miller [Wed, 10 Sep 2008 02:50:04 +0000 (19:50 -0700)]
rtc-bq4802: Fix sparse warnings.

As reported by Harvey Harrison.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: remove unused includes
Bjoern B. Brandenburg [Wed, 10 Sep 2008 02:43:33 +0000 (19:43 -0700)]
sparc: remove unused includes

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>
16 years agortc-m48t59: Only check century bits on m48t59 chips.
Robert Reif [Wed, 10 Sep 2008 02:38:17 +0000 (19:38 -0700)]
rtc-m48t59: Only check century bits on m48t59 chips.

Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Add missing rtc_close() in update_persistent_clock()
David S. Miller [Tue, 9 Sep 2008 02:53:28 +0000 (19:53 -0700)]
sparc64: Add missing rtc_close() in update_persistent_clock()

Noticed by David Brownell.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Move sun4d show_leds() out of asm/obio.h
David S. Miller [Tue, 2 Sep 2008 08:17:41 +0000 (01:17 -0700)]
sparc32: Move sun4d show_leds() out of asm/obio.h

Put it, as well as cpu_leds[] array, into sun4d_irq.c

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Fix coding style of sparc_cpu_model setting code.
David S. Miller [Tue, 2 Sep 2008 08:13:31 +0000 (01:13 -0700)]
sparc32: Fix coding style of sparc_cpu_model setting code.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
David S. Miller [Mon, 8 Sep 2008 22:39:30 +0000 (15:39 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

Conflicts:

arch/sparc/kernel/of_device.c

16 years agortc-m48t59: fix setting of a year on m48t08 and m48t02 rtcs
Krzysztof Helt [Mon, 8 Sep 2008 01:25:20 +0000 (18:25 -0700)]
rtc-m48t59: fix setting of a year on m48t08 and m48t02 rtcs

Fix setting of a year in m48t08 and m48t02 clocks.
They do not have century bits and setting them
causes the year to overflow (bit 0x80 set).

Problem found by Robert Reif on Sun Sparcstation 20.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: fix wrong m48t59 RTC year
Krzysztof Helt [Mon, 8 Sep 2008 01:12:59 +0000 (18:12 -0700)]
sparc64: fix wrong m48t59 RTC year

Correctly calculate offset to the year register for
Mostek RTC.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: add init memory poisoning
Robert Reif [Wed, 3 Sep 2008 23:29:42 +0000 (16:29 -0700)]
sparc32: add init memory poisoning

This patch adds init memory poisoning.  It looks like
totalram_pages was not updated properly in free_initrd_mem
so I fixed that as well.

Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Remove asm/rtc.h
David S. Miller [Wed, 3 Sep 2008 23:19:46 +0000 (16:19 -0700)]
sparc: Remove asm/rtc.h

No more users.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Kill asm/mostek.h.
David S. Miller [Wed, 3 Sep 2008 22:57:04 +0000 (15:57 -0700)]
sparc32: Kill asm/mostek.h.

No longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Kill remaining asm/mostek.h inclusions.
David S. Miller [Wed, 3 Sep 2008 22:56:27 +0000 (15:56 -0700)]
sparc32: Kill remaining asm/mostek.h inclusions.

No longer needed.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Kill sbus mostek RTC driver.
David S. Miller [Wed, 3 Sep 2008 22:55:32 +0000 (15:55 -0700)]
sparc: Kill sbus mostek RTC driver.

No longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: use RTC subsystem
David S. Miller [Wed, 3 Sep 2008 22:52:38 +0000 (15:52 -0700)]
sparc32: use RTC subsystem

Use rtc subsystem for sparc32 architecture.
Actually, only one driver is needed: m48t59
as it supports the most common clocks on sparc32
machines: m48t08 and m48t02.

[ Add proper RTC layer calls to set_rtc_mmss() -DaveM ]

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc-m48t59: allow externally mapped ioaddr
Krzysztof Helt [Wed, 3 Sep 2008 22:41:57 +0000 (15:41 -0700)]
rtc-m48t59: allow externally mapped ioaddr

Add support for externally mapped ioaddr.  This is required on sparc32
as the ioaddr must be mapped with of_ioremap().

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc-m48t59: add support for M48T02 and M48T59 chips
Krzysztof Helt [Wed, 3 Sep 2008 22:12:34 +0000 (15:12 -0700)]
rtc-m48t59: add support for M48T02 and M48T59 chips

Add support for two compatible RTC:
- M48T08 which does not have alarm part,
- M48T08 which does not have alarm part and has
  only 2KB of NVRAM

These types covers all Mostek's RTC used in Sun UltraSparc workstations.

Tested on Sun Ultra60 with M48T59 RTC.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc-m48t59: reduce structure m48t59_private
Krzysztof Helt [Wed, 3 Sep 2008 22:10:14 +0000 (15:10 -0700)]
rtc-m48t59: reduce structure m48t59_private

Remove element size from the structure m48t59_private as it is used as
local variable for storing temporary value.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Prevent sparc64 from invoking irq handlers on offline CPUs
Paul E. McKenney [Wed, 3 Sep 2008 09:15:30 +0000 (02:15 -0700)]
sparc64: Prevent sparc64 from invoking irq handlers on offline CPUs

Make sparc64 refrain from clearing a given to-be-offlined CPU's bit in the
cpu_online_mask until it has processed pending irqs.  This change
prevents other CPUs from being blindsided by an apparently offline CPU
nevertheless changing globally visible state.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Fix IPI call locking.
David S. Miller [Wed, 3 Sep 2008 09:14:39 +0000 (02:14 -0700)]
sparc64: Fix IPI call locking.

When I switched sparc64 over to the generic helpers for
smp_call_function(), I didn't convert the dinky call_lock
we had.

Use ipi_call_lock() and ipi_call_unlock().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Fix handling of LANCE and ESP parent nodes in of_device.c
David S. Miller [Wed, 3 Sep 2008 09:04:41 +0000 (02:04 -0700)]
sparc: Fix handling of LANCE and ESP parent nodes in of_device.c

The device nodes that sit above 'esp' and 'le' on SBUS lack a 'ranges'
property, but we should pass the translation up to the parent node so
that the SBUS level ranges get applied.

Based upon a bug report from Robert Reif.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Fix sun4c build warnings.
David S. Miller [Tue, 2 Sep 2008 10:15:44 +0000 (03:15 -0700)]
sparc32: Fix sun4c build warnings.

Reported by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopci_sun4v: Use of_get_property().
David S. Miller [Tue, 2 Sep 2008 03:23:18 +0000 (20:23 -0700)]
pci_sun4v: Use of_get_property().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopci_schizo: Use of_get_property() and delete spurious local vars.
David S. Miller [Tue, 2 Sep 2008 03:21:15 +0000 (20:21 -0700)]
pci_schizo: Use of_get_property() and delete spurious local vars.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopci_psycho: Use of_getintprop_default().
David S. Miller [Tue, 2 Sep 2008 03:18:04 +0000 (20:18 -0700)]
pci_psycho: Use of_getintprop_default().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Implement SSTATE purely using notifiers and initcalls.
David S. Miller [Tue, 2 Sep 2008 07:49:38 +0000 (00:49 -0700)]
sparc64: Implement SSTATE purely using notifiers and initcalls.

Don't clutter up the tree with sstate_blah() scattered all over the
place.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Move reboot handling into seperate file and kill power reg programming.
David S. Miller [Tue, 2 Sep 2008 02:31:16 +0000 (19:31 -0700)]
sparc64: Move reboot handling into seperate file and kill power reg programming.

We should always use prom_power_off().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Pass proper parent device down into root pci_create_bus() call.
David S. Miller [Tue, 2 Sep 2008 01:32:22 +0000 (18:32 -0700)]
sparc64: Pass proper parent device down into root pci_create_bus() call.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Kill the scan_bus function pointer in struct pci_pbm_info.
David S. Miller [Tue, 2 Sep 2008 01:32:13 +0000 (18:32 -0700)]
sparc64: Kill the scan_bus function pointer in struct pci_pbm_info.

No longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Use ENTRY/ENDPROC in PCI SUN4V asm.
David S. Miller [Mon, 1 Sep 2008 10:18:49 +0000 (03:18 -0700)]
sparc64: Use ENTRY/ENDPROC in PCI SUN4V asm.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Use ENTRY/ENDPROC in hypervisor asm.
David S. Miller [Mon, 1 Sep 2008 10:13:17 +0000 (03:13 -0700)]
sparc64: Use ENTRY/ENDPROC in hypervisor asm.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Apply const or __initdata to vio_device_id[]
David S. Miller [Mon, 1 Sep 2008 08:48:52 +0000 (01:48 -0700)]
sparc64: Apply const or __initdata to vio_device_id[]

This mirrors the of_device_id[] changes done in
fd098316ef533e8441576f020ead4beab93154ce ("sparc: Annotate
of_device_id arrays with const or __initdata.")

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Clean up CPU chip type probing code.
David S. Miller [Mon, 1 Sep 2008 04:48:12 +0000 (21:48 -0700)]
sparc64: Clean up CPU chip type probing code.

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>
16 years agosparc: remove CONFIG_SUN4
Adrian Bunk [Mon, 1 Sep 2008 03:59:37 +0000 (20:59 -0700)]
sparc: remove CONFIG_SUN4

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>
16 years agosparc64: Rewrite central driver.
David S. Miller [Mon, 1 Sep 2008 03:56:15 +0000 (20:56 -0700)]
sparc64: Rewrite central driver.

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>
16 years agoleds: Add driver for Sunfire UltraSPARC server LEDs.
David S. Miller [Mon, 1 Sep 2008 03:26:48 +0000 (20:26 -0700)]
leds: Add driver for Sunfire UltraSPARC server LEDs.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Delete starfire_cpu_setup().
David S. Miller [Sun, 31 Aug 2008 08:40:12 +0000 (01:40 -0700)]
sparc64: Delete starfire_cpu_setup().

It does nothing.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Simplify error handling in PCI controller probing.
David S. Miller [Sun, 31 Aug 2008 08:33:52 +0000 (01:33 -0700)]
sparc64: Simplify error handling in PCI controller probing.

Based upon suggestions from Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Annotate of_device_id arrays with const or __initdata.
David S. Miller [Sun, 31 Aug 2008 08:23:17 +0000 (01:23 -0700)]
sparc: Annotate of_device_id arrays with const or __initdata.

As suggested by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Stop setting NO_DMA.
David S. Miller [Sat, 30 Aug 2008 19:34:20 +0000 (12:34 -0700)]
sparc: Stop setting NO_DMA.

This fixes the build with PCI disabled, we do want the
generic DMA facilities and interfaces even when just SBUS
is enabled.

Based upon a build failure report by Robert Reif.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert FIRE PCI controller driver into a real driver.
David S. Miller [Sat, 30 Aug 2008 10:12:38 +0000 (03:12 -0700)]
sparc64: Convert FIRE PCI controller driver into a real driver.

And now all the by-hand PCI controller probing junk in pci.c can die too.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert SABRE PCI controller driver into a real driver.
David S. Miller [Sat, 30 Aug 2008 10:14:01 +0000 (03:14 -0700)]
sparc64: Convert SABRE PCI controller driver into a real driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert PSYCHO PCI controller driver into a real driver.
David S. Miller [Sat, 30 Aug 2008 10:13:20 +0000 (03:13 -0700)]
sparc64: Convert PSYCHO PCI controller driver into a real driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert SUN4V PCI controller driver into a real driver.
David S. Miller [Sat, 30 Aug 2008 09:50:29 +0000 (02:50 -0700)]
sparc64: Convert SUN4V PCI controller driver into a real driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert SCHIZO PCI controller driver into a real driver.
David S. Miller [Sat, 30 Aug 2008 09:30:24 +0000 (02:30 -0700)]
sparc64: Convert SCHIZO PCI controller driver into a real driver.

The idea is to convert all of the PCI controller drivers into
genuine OF drivers, then we can get rid of this terrible probing
table and infrastructure in arch/sparc64/kernel/pci.c

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: setup_valid_addr_bitmap_from_pavail() should be __init
David S. Miller [Sat, 30 Aug 2008 09:04:45 +0000 (02:04 -0700)]
sparc64: setup_valid_addr_bitmap_from_pavail() should be __init

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Don't invoke power_init() from pcibios_init().
David S. Miller [Sat, 30 Aug 2008 08:18:56 +0000 (01:18 -0700)]
sparc64: Don't invoke power_init() from pcibios_init().

That's just silly, use device_initcall() instead.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Kill ebus_bus_type.
David S. Miller [Sat, 30 Aug 2008 07:37:36 +0000 (00:37 -0700)]
sparc: Kill ebus_bus_type.

No longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Kill EBUS driver layer.
David S. Miller [Sat, 30 Aug 2008 07:36:11 +0000 (00:36 -0700)]
sparc: Kill EBUS driver layer.

All that remains is the EBUS DMA programming library for
sparc64.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc32: Convert PC RTC probing to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 07:23:51 +0000 (00:23 -0700)]
sparc32: Convert PC RTC probing to pure OF driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocs4231: Convert to EBUS side to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 07:13:55 +0000 (00:13 -0700)]
cs4231: Convert to EBUS side to pure OF driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert EBUS floppy support to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 06:26:23 +0000 (23:26 -0700)]
sparc64: Convert EBUS floppy support to pure OF driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Move EBUS DMA interfaces into seperate header file.
David S. Miller [Sat, 30 Aug 2008 06:10:21 +0000 (23:10 -0700)]
sparc: Move EBUS DMA interfaces into seperate header file.

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>
16 years agobbc_envctrl: Fix build errors from bbc_i2c OF conversion.
David S. Miller [Sat, 30 Aug 2008 05:55:14 +0000 (22:55 -0700)]
bbc_envctrl: Fix build errors from bbc_i2c OF conversion.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Propagate PCI device archdata into OF device tree for EBUS.
David S. Miller [Sat, 30 Aug 2008 05:42:34 +0000 (22:42 -0700)]
sparc64: Propagate PCI device archdata into OF device tree for EBUS.

In order to convert EBUS drivers doing DMA into pure OF drivers,
we need the of_device->dev.archdata setup properly.

EBUS instances that can provide DMA for device nodes sit on PCI,
so detect and propagate the information there.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agobbc_i2c: Convert to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 05:34:14 +0000 (22:34 -0700)]
bbc_i2c: Convert to pure OF driver.

This thing was a mess, who wrote this junk? :)

Luckily we'll soon have nice generic I2C layer drivers for this PCF
based I2C stuff on sparc64.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoenvctrl: Convert to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 04:05:15 +0000 (21:05 -0700)]
envctrl: Convert to pure OF driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodisplay7seg: Convert to pure OF device driver.
David S. Miller [Sat, 30 Aug 2008 01:01:58 +0000 (18:01 -0700)]
display7seg: Convert to pure OF device driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosun_uflash: Convert to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 00:41:36 +0000 (17:41 -0700)]
sun_uflash: Convert to pure OF driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocpwatchdog: Move to drivers/watchdog/cpwd.c
David S. Miller [Sat, 30 Aug 2008 00:07:01 +0000 (17:07 -0700)]
cpwatchdog: Move to drivers/watchdog/cpwd.c

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocpwatchdog: Cleanup and convert to pure OF driver.
David S. Miller [Sat, 30 Aug 2008 00:05:51 +0000 (17:05 -0700)]
cpwatchdog: Cleanup and convert to pure OF driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoriowd: Distinguish between driver name and OF device node name.
David S. Miller [Fri, 29 Aug 2008 22:42:31 +0000 (15:42 -0700)]
riowd: Distinguish between driver name and OF device node name.

Driver messages should print the driver name, rather than the
OF device node name.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoriowatchdog: Move under drivers/watchdog
David S. Miller [Fri, 29 Aug 2008 22:40:24 +0000 (15:40 -0700)]
riowatchdog: Move under drivers/watchdog

The config stuff was already in drivers/watchdog/Kconfig

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoriowatchdog: Convert to pure OF driver.
David S. Miller [Fri, 29 Aug 2008 22:35:59 +0000 (15:35 -0700)]
riowatchdog: Convert to pure OF driver.

This also cleans up a lot of crud in this driver:

1) Don't touch the BBC regs, just leave the watchdog trigger
   behavior whatever the firmware programmed it to.

2) Use WATCHDOG_MINOR instead of hardcoded and not properly
   allocated RIOWD_MINOR.

Hey, I haven't touched it since I wrote it years ago :-)

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Use generic starfire RTC driver.
David S. Miller [Fri, 29 Aug 2008 08:35:19 +0000 (01:35 -0700)]
sparc64: Use generic starfire RTC driver.

Also, delete the mini RTC driver, no longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc: Add Starfire platform RTC driver.
David S. Miller [Fri, 29 Aug 2008 06:02:36 +0000 (23:02 -0700)]
rtc: Add Starfire platform RTC driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Use generic sun4v RTC driver.
David S. Miller [Fri, 29 Aug 2008 08:34:27 +0000 (01:34 -0700)]
sparc64: Use generic sun4v RTC driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc: Add Sun4V hypervisor RTC driver.
David S. Miller [Fri, 29 Aug 2008 08:32:43 +0000 (01:32 -0700)]
rtc: Add Sun4V hypervisor RTC driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Use generic BQ4802 RTC driver.
David S. Miller [Fri, 29 Aug 2008 04:54:34 +0000 (21:54 -0700)]
sparc64: Use generic BQ4802 RTC driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agortc: Add TI BQ4802 RTC driver.
David S. Miller [Fri, 29 Aug 2008 08:29:53 +0000 (01:29 -0700)]
rtc: Add TI BQ4802 RTC driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Use generic CMOS driver.
David S. Miller [Fri, 29 Aug 2008 05:16:15 +0000 (22:16 -0700)]
sparc64: Use generic CMOS driver.

Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm>

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: asm/mostek.h is now 32-bit only
David S. Miller [Thu, 28 Aug 2008 23:46:23 +0000 (16:46 -0700)]
sparc: asm/mostek.h is now 32-bit only

No need for the 64-bit header version any more.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Convert Mostek rtc to use generic RTC layer driver.
David S. Miller [Fri, 29 Aug 2008 04:06:27 +0000 (21:06 -0700)]
sparc64: Convert Mostek rtc to use generic RTC layer driver.

Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm>

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Check for RTC class device in update_persistent_clock().
David S. Miller [Fri, 29 Aug 2008 00:34:31 +0000 (17:34 -0700)]
sparc64: Check for RTC class device in update_persistent_clock().

As we convert the various by-hand sparc64 RTC drivers to use the
generic RTC framework and drivers, we need to keep the NTP
set_rtc_mmss() support via update_persistent_clock() working.

In the end, after all the RTC device cases are converted, this
local set_rtc_mmss() function will be deleted.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc64: Select RTC_CLASS
David S. Miller [Fri, 29 Aug 2008 00:28:37 +0000 (17:28 -0700)]
sparc64: Select RTC_CLASS

Signed-off-by: David S. Miller <davem@davemloft.net>