]> err.no Git - linux-2.6/commitdiff
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 27 Feb 2007 15:39:04 +0000 (07:39 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 27 Feb 2007 15:39:04 +0000 (07:39 -0800)
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (52 commits)
  netxen: do_rom_fast_write error handling
  natsemi: Fix detection of vanilla natsemi cards
  net: remove a collection of unneeded #undef REALLY_SLOW_IO stuff
  chelsio: Fix non-NAPI compile
  cxgb3 - Feed Rx free list with pages
  cxgb3 - Recovery from HW starvation of response queue entries.
  cxgb3 - Unmap offload packets when they are freed
  cxgb3 - FW version update
  cxgb3 - private ioctl cleanup
  cxgb3 - manage sysfs attributes per port
  S2IO: Restoring the mac address in s2io_reset
  S2IO: Avoid printing the Enhanced statistics for Xframe I card.
  S2IO: Making LED off during LINK_DOWN notification.
  S2IO: Added a loadable parameter to enable or disable vlan stripping in frame.
  S2IO: Optimized the delay to wait for command completion
  S2IO: Fixes for MSI and MSIX
  qla3xxx: Bumping driver version number
  qla3xxx: Kernic Panic on pSeries under stress conditions
  qla3xxx: bugfix tx reset after stress conditions.
  qla3xxx: Check return code from pci_map_single() in ql_release_to_lrg_buf_free_list(), ql_populate_free_queue(), ql_alloc_large_buffers(), and ql3xxx_send()
  ...

MAINTAINERS
arch/parisc/kernel/processor.c
arch/parisc/kernel/setup.c
arch/parisc/kernel/time.c
drivers/char/agp/parisc-agp.c

index b985f94e02afa7fcc7bf887d3bbe8c7d2c47440c..35e0a648422dfe0bff1a681edeccd659dbc7b34b 100644 (file)
@@ -1906,13 +1906,6 @@ L:       isdn4linux@listserv.isdn4linux.de
 W:     http://www.melware.de
 S:     Maintained
 
-JOURNALLING FLASH FILE SYSTEM (JFFS)
-P:     Axis Communications AB
-M:     jffs-dev@axis.com
-L:     jffs-dev@axis.com
-W:     http://www.developer.axis.com/software/jffs/
-S:     Maintained
-
 JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
 P:     David Woodhouse
 M:     dwmw2@infradead.org
index 7c056dcebf553c764b36fd45fccee6a543f98a8e..dd5d0cb6b347365e117aa13575b19d7107ba0324 100644 (file)
@@ -48,6 +48,8 @@ EXPORT_SYMBOL(boot_cpu_data);
 
 struct cpuinfo_parisc cpu_data[NR_CPUS] __read_mostly;
 
+extern int update_cr16_clocksource(void);      /* from time.c */
+
 /*
 **     PARISC CPU driver - claim "device" and initialize CPU data structures.
 **
@@ -198,6 +200,12 @@ static int __init processor_probe(struct parisc_device *dev)
        }
 #endif
 
+       /* If we've registered more than one cpu,
+        * we'll use the jiffies clocksource since cr16
+        * is not synchronized between CPUs.
+        */
+       update_cr16_clocksource();
+
        return 0;
 }
 
index bd2116e03f3488695651d95b641cb2e9ca83b788..9818919571fd2004cd1e01bcd53a7a56eddd1690 100644 (file)
@@ -45,7 +45,7 @@
 #include <asm/io.h>
 #include <asm/setup.h>
 
-char   __initdata command_line[COMMAND_LINE_SIZE] __read_mostly;
+char   __initdata command_line[COMMAND_LINE_SIZE];
 
 /* Intended for ccio/sba/cpu statistics under /proc/bus/{runway|gsc} */
 struct proc_dir_entry * proc_runway_root __read_mostly = NULL;
index d1db8e518654e75369d37d8745a61f074cb75d1e..07a991aa9b0c2ba6f81aa8f937c3d0039f4cf92a 100644 (file)
@@ -176,8 +176,6 @@ static cycle_t read_cr16(void)
        return get_cycles();
 }
 
-static int cr16_update_callback(void);
-
 static struct clocksource clocksource_cr16 = {
        .name                   = "cr16",
        .rating                 = 300,
@@ -185,25 +183,29 @@ static struct clocksource clocksource_cr16 = {
        .mask                   = CLOCKSOURCE_MASK(BITS_PER_LONG),
        .mult                   = 0, /* to be set */
        .shift                  = 22,
-       .update_callback        = cr16_update_callback,
-       .is_continuous          = 1,
+       .flags                  = CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
-static int cr16_update_callback(void)
+#ifdef CONFIG_SMP
+int update_cr16_clocksource(void)
 {
        int change = 0;
 
        /* since the cr16 cycle counters are not syncronized across CPUs,
           we'll check if we should switch to a safe clocksource: */
        if (clocksource_cr16.rating != 0 && num_online_cpus() > 1) {
-               clocksource_cr16.rating = 0;
-               clocksource_reselect();
+               clocksource_change_rating(&clocksource_cr16, 0);
                change = 1;
        }
 
        return change;
 }
-
+#else
+int update_cr16_clocksource(void)
+{
+       return 0; /* no change */
+}
+#endif /*CONFIG_SMP*/
 
 void __init start_cpu_itimer(void)
 {
index 3c8f3d63362570637c39235d3890b95d8ab48dd2..3d83b461ccadef926c80f8217de6e2688840557d 100644 (file)
@@ -210,7 +210,7 @@ parisc_agp_enable(struct agp_bridge_data *bridge, u32 mode)
        agp_device_command(command, (mode & AGP8X_MODE) != 0);
 }
 
-struct const agp_bridge_driver parisc_agp_driver = {
+static const struct agp_bridge_driver parisc_agp_driver = {
        .owner                  = THIS_MODULE,
        .size_type              = FIXED_APER_SIZE,
        .configure              = parisc_agp_configure,