b43: Remove unnecessary MMIO accesses in the interrupt hotpath.
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.23 / 230-pps_support.patch
index 52aa586..a532f41 100644 (file)
@@ -1,6 +1,3 @@
-diff --git a/Documentation/pps/Makefile b/Documentation/pps/Makefile
-new file mode 100644
-index 0000000..a2660a2
 --- /dev/null
 +++ b/Documentation/pps/Makefile
 @@ -0,0 +1,27 @@
 --- /dev/null
 +++ b/Documentation/pps/Makefile
 @@ -0,0 +1,27 @@
@@ -31,9 +28,6 @@ index 0000000..a2660a2
 +clean :
 +      rm -f *.o *~ core .depend
 +      rm -f ${TARGETS}
 +clean :
 +      rm -f *.o *~ core .depend
 +      rm -f ${TARGETS}
-diff --git a/Documentation/pps/pps.txt b/Documentation/pps/pps.txt
-new file mode 100644
-index 0000000..9538925
 --- /dev/null
 +++ b/Documentation/pps/pps.txt
 @@ -0,0 +1,170 @@
 --- /dev/null
 +++ b/Documentation/pps/pps.txt
 @@ -0,0 +1,170 @@
@@ -207,9 +201,6 @@ index 0000000..9538925
 +
 +Please, note that to compile userland programs you need the file timepps.h
 +(see Documentation/pps/).
 +
 +Please, note that to compile userland programs you need the file timepps.h
 +(see Documentation/pps/).
-diff --git a/Documentation/pps/ppsctl.c b/Documentation/pps/ppsctl.c
-new file mode 100644
-index 0000000..83fd08a
 --- /dev/null
 +++ b/Documentation/pps/ppsctl.c
 @@ -0,0 +1,62 @@
 --- /dev/null
 +++ b/Documentation/pps/ppsctl.c
 @@ -0,0 +1,62 @@
@@ -275,9 +266,6 @@ index 0000000..83fd08a
 +
 +      return 0;
 +}
 +
 +      return 0;
 +}
-diff --git a/Documentation/pps/ppsfind b/Documentation/pps/ppsfind
-new file mode 100755
-index 0000000..93c0e17
 --- /dev/null
 +++ b/Documentation/pps/ppsfind
 @@ -0,0 +1,17 @@
 --- /dev/null
 +++ b/Documentation/pps/ppsfind
 @@ -0,0 +1,17 @@
@@ -298,9 +286,6 @@ index 0000000..93c0e17
 +done
 +
 +exit 0
 +done
 +
 +exit 0
-diff --git a/Documentation/pps/ppstest.c b/Documentation/pps/ppstest.c
-new file mode 100644
-index 0000000..d125ffa
 --- /dev/null
 +++ b/Documentation/pps/ppstest.c
 @@ -0,0 +1,151 @@
 --- /dev/null
 +++ b/Documentation/pps/ppstest.c
 @@ -0,0 +1,151 @@
@@ -455,9 +440,6 @@ index 0000000..d125ffa
 +
 +      return 0;
 +}
 +
 +      return 0;
 +}
-diff --git a/Documentation/pps/timepps.h b/Documentation/pps/timepps.h
-new file mode 100644
-index 0000000..28ebf4c
 --- /dev/null
 +++ b/Documentation/pps/timepps.h
 @@ -0,0 +1,193 @@
 --- /dev/null
 +++ b/Documentation/pps/timepps.h
 @@ -0,0 +1,193 @@
@@ -654,8 +636,6 @@ index 0000000..28ebf4c
 +}
 +
 +#endif                                /* _SYS_TIMEPPS_H_ */
 +}
 +
 +#endif                                /* _SYS_TIMEPPS_H_ */
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 9a91d9e..f45e974 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -3011,6 +3011,13 @@ P:      James Chapman
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -3011,6 +3011,13 @@ P:      James Chapman
@@ -672,8 +652,6 @@ index 9a91d9e..f45e974 100644
  PREEMPTIBLE KERNEL
  P:    Robert Love
  M:    rml@tech9.net
  PREEMPTIBLE KERNEL
  P:    Robert Love
  M:    rml@tech9.net
-diff --git a/drivers/Kconfig b/drivers/Kconfig
-index 3e1c442..bffc48e 100644
 --- a/drivers/Kconfig
 +++ b/drivers/Kconfig
 @@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
 --- a/drivers/Kconfig
 +++ b/drivers/Kconfig
 @@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
@@ -685,8 +663,6 @@ index 3e1c442..bffc48e 100644
  source "drivers/w1/Kconfig"
  
  source "drivers/power/Kconfig"
  source "drivers/w1/Kconfig"
  
  source "drivers/power/Kconfig"
-diff --git a/drivers/Makefile b/drivers/Makefile
-index f0878b2..2e84e49 100644
 --- a/drivers/Makefile
 +++ b/drivers/Makefile
 @@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT)          += input/
 --- a/drivers/Makefile
 +++ b/drivers/Makefile
 @@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT)          += input/
@@ -697,8 +673,6 @@ index f0878b2..2e84e49 100644
  obj-$(CONFIG_W1)              += w1/
  obj-$(CONFIG_POWER_SUPPLY)    += power/
  obj-$(CONFIG_HWMON)           += hwmon/
  obj-$(CONFIG_W1)              += w1/
  obj-$(CONFIG_POWER_SUPPLY)    += power/
  obj-$(CONFIG_HWMON)           += hwmon/
-diff --git a/drivers/char/lp.c b/drivers/char/lp.c
-index 62051f8..e0a8364 100644
 --- a/drivers/char/lp.c
 +++ b/drivers/char/lp.c
 @@ -746,6 +746,27 @@ static struct console lpcons = {
 --- a/drivers/char/lp.c
 +++ b/drivers/char/lp.c
 @@ -746,6 +746,27 @@ static struct console lpcons = {
@@ -729,7 +703,7 @@ index 62051f8..e0a8364 100644
  /* --- initialisation code ------------------------------------- */
  
  static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC };
  /* --- initialisation code ------------------------------------- */
  
  static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC };
-@@ -817,6 +838,38 @@ static int lp_register(int nr, struct parport *port)
+@@ -817,6 +838,38 @@ static int lp_register(int nr, struct pa
        }
  #endif
  
        }
  #endif
  
@@ -768,7 +742,7 @@ index 62051f8..e0a8364 100644
        return 0;
  }
  
        return 0;
  }
  
-@@ -860,6 +913,14 @@ static void lp_detach (struct parport *port)
+@@ -860,6 +913,14 @@ static void lp_detach (struct parport *p
                console_registered = NULL;
        }
  #endif /* CONFIG_LP_CONSOLE */
                console_registered = NULL;
        }
  #endif /* CONFIG_LP_CONSOLE */
@@ -783,9 +757,6 @@ index 62051f8..e0a8364 100644
  }
  
  static struct parport_driver lp_driver = {
  }
  
  static struct parport_driver lp_driver = {
-diff --git a/drivers/pps/Kconfig b/drivers/pps/Kconfig
-new file mode 100644
-index 0000000..bfe6621
 --- /dev/null
 +++ b/drivers/pps/Kconfig
 @@ -0,0 +1,34 @@
 --- /dev/null
 +++ b/drivers/pps/Kconfig
 @@ -0,0 +1,34 @@
@@ -823,9 +794,6 @@ index 0000000..bfe6621
 +source drivers/pps/clients/Kconfig
 +
 +endmenu
 +source drivers/pps/clients/Kconfig
 +
 +endmenu
-diff --git a/drivers/pps/Makefile b/drivers/pps/Makefile
-new file mode 100644
-index 0000000..d8ec308
 --- /dev/null
 +++ b/drivers/pps/Makefile
 @@ -0,0 +1,11 @@
 --- /dev/null
 +++ b/drivers/pps/Makefile
 @@ -0,0 +1,11 @@
@@ -840,9 +808,6 @@ index 0000000..d8ec308
 +ifeq ($(CONFIG_PPS_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
 +ifeq ($(CONFIG_PPS_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
-diff --git a/drivers/pps/clients/Kconfig b/drivers/pps/clients/Kconfig
-new file mode 100644
-index 0000000..09ba5c3
 --- /dev/null
 +++ b/drivers/pps/clients/Kconfig
 @@ -0,0 +1,38 @@
 --- /dev/null
 +++ b/drivers/pps/clients/Kconfig
 @@ -0,0 +1,38 @@
@@ -884,9 +849,6 @@ index 0000000..09ba5c3
 +        with the interrupt pin of your parallel port.
 +
 +endif
 +        with the interrupt pin of your parallel port.
 +
 +endif
-diff --git a/drivers/pps/clients/Makefile b/drivers/pps/clients/Makefile
-new file mode 100644
-index 0000000..f3c1e39
 --- /dev/null
 +++ b/drivers/pps/clients/Makefile
 @@ -0,0 +1,9 @@
 --- /dev/null
 +++ b/drivers/pps/clients/Makefile
 @@ -0,0 +1,9 @@
@@ -899,9 +861,6 @@ index 0000000..f3c1e39
 +ifeq ($(CONFIG_PPS_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
 +ifeq ($(CONFIG_PPS_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
-diff --git a/drivers/pps/clients/ktimer.c b/drivers/pps/clients/ktimer.c
-new file mode 100644
-index 0000000..4d613ab
 --- /dev/null
 +++ b/drivers/pps/clients/ktimer.c
 @@ -0,0 +1,114 @@
 --- /dev/null
 +++ b/drivers/pps/clients/ktimer.c
 @@ -0,0 +1,114 @@
@@ -1019,9 +978,6 @@ index 0000000..4d613ab
 +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 +MODULE_DESCRIPTION("dummy PPS source by using a kernel timer (just for debug)");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 +MODULE_DESCRIPTION("dummy PPS source by using a kernel timer (just for debug)");
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/pps/kapi.c b/drivers/pps/kapi.c
-new file mode 100644
-index 0000000..67290d5
 --- /dev/null
 +++ b/drivers/pps/kapi.c
 @@ -0,0 +1,271 @@
 --- /dev/null
 +++ b/drivers/pps/kapi.c
 @@ -0,0 +1,271 @@
@@ -1296,9 +1252,6 @@ index 0000000..67290d5
 +      spin_unlock_irqrestore(&idr_lock, flags);
 +}
 +EXPORT_SYMBOL(pps_event);
 +      spin_unlock_irqrestore(&idr_lock, flags);
 +}
 +EXPORT_SYMBOL(pps_event);
-diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
-new file mode 100644
-index 0000000..52de2f1
 --- /dev/null
 +++ b/drivers/pps/pps.c
 @@ -0,0 +1,332 @@
 --- /dev/null
 +++ b/drivers/pps/pps.c
 @@ -0,0 +1,332 @@
@@ -1634,9 +1587,6 @@ index 0000000..52de2f1
 +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 +MODULE_DESCRIPTION("LinuxPPS support (RFC 2783) - ver. " PPS_VERSION);
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 +MODULE_DESCRIPTION("LinuxPPS support (RFC 2783) - ver. " PPS_VERSION);
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/pps/sysfs.c b/drivers/pps/sysfs.c
-new file mode 100644
-index 0000000..8541be7
 --- /dev/null
 +++ b/drivers/pps/sysfs.c
 @@ -0,0 +1,124 @@
 --- /dev/null
 +++ b/drivers/pps/sysfs.c
 @@ -0,0 +1,124 @@
@@ -1764,11 +1714,9 @@ index 0000000..8541be7
 +
 +      return 0;
 +}
 +
 +      return 0;
 +}
-diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
-index f94109c..a5e83f8 100644
 --- a/drivers/serial/8250.c
 +++ b/drivers/serial/8250.c
 --- a/drivers/serial/8250.c
 +++ b/drivers/serial/8250.c
-@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port 
                up->ier |= UART_IER_MSI;
        if (up->capabilities & UART_CAP_UUE)
                up->ier |= UART_IER_UUE | UART_IER_RTOIE;
                up->ier |= UART_IER_MSI;
        if (up->capabilities & UART_CAP_UUE)
                up->ier |= UART_IER_UUE | UART_IER_RTOIE;
@@ -1777,8 +1725,6 @@ index f94109c..a5e83f8 100644
  
        serial_out(up, UART_IER, up->ier);
  
  
        serial_out(up, UART_IER, up->ier);
  
-diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
-index a055f58..a40b87c 100644
 --- a/drivers/serial/serial_core.c
 +++ b/drivers/serial/serial_core.c
 @@ -33,6 +33,7 @@
 --- a/drivers/serial/serial_core.c
 +++ b/drivers/serial/serial_core.c
 @@ -33,6 +33,7 @@
@@ -1789,7 +1735,7 @@ index a055f58..a40b87c 100644
  
  #include <asm/irq.h>
  #include <asm/uaccess.h>
  
  #include <asm/irq.h>
  #include <asm/uaccess.h>
-@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_state *state,
+@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_sta
        return 0;
  }
  
        return 0;
  }
  
@@ -1844,7 +1790,7 @@ index a055f58..a40b87c 100644
  static int uart_set_info(struct uart_state *state,
                         struct serial_struct __user *newinfo)
  {
  static int uart_set_info(struct uart_state *state,
                         struct serial_struct __user *newinfo)
  {
-@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_state *state,
+@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_sta
                        (port->flags & UPF_LOW_LATENCY) ? 1 : 0;
  
   check_and_exit:
                        (port->flags & UPF_LOW_LATENCY) ? 1 : 0;
  
   check_and_exit:
@@ -1865,7 +1811,7 @@ index a055f58..a40b87c 100644
                    old_custom_divisor != port->custom_divisor) {
                        /*
                         * If they're setting up a custom divisor or speed,
                    old_custom_divisor != port->custom_divisor) {
                        /*
                         * If they're setting up a custom divisor or speed,
-@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver *drv, struct uart_state *state,
+@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver *
                port->ops->config_port(port, flags);
        }
  
                port->ops->config_port(port, flags);
        }
  
@@ -1878,7 +1824,7 @@ index a055f58..a40b87c 100644
        if (port->type != PORT_UNKNOWN) {
                unsigned long flags;
  
        if (port->type != PORT_UNKNOWN) {
                unsigned long flags;
  
-@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_driver *drv, struct uart_port *port)
+@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_dri
        mutex_unlock(&state->mutex);
  
        /*
        mutex_unlock(&state->mutex);
  
        /*
@@ -1891,8 +1837,6 @@ index a055f58..a40b87c 100644
         * Remove the devices from the tty layer
         */
        tty_unregister_device(drv->tty_driver, port->line);
         * Remove the devices from the tty layer
         */
        tty_unregister_device(drv->tty_driver, port->line);
-diff --git a/include/linux/Kbuild b/include/linux/Kbuild
-index 818cc3a..0a9394f 100644
 --- a/include/linux/Kbuild
 +++ b/include/linux/Kbuild
 @@ -295,6 +295,7 @@ unifdef-y += pmu.h
 --- a/include/linux/Kbuild
 +++ b/include/linux/Kbuild
 @@ -295,6 +295,7 @@ unifdef-y += pmu.h
@@ -1903,8 +1847,6 @@ index 818cc3a..0a9394f 100644
  unifdef-y += ptrace.h
  unifdef-y += qnx4_fs.h
  unifdef-y += quota.h
  unifdef-y += ptrace.h
  unifdef-y += qnx4_fs.h
  unifdef-y += quota.h
-diff --git a/include/linux/parport.h b/include/linux/parport.h
-index 9cdd694..549de6e 100644
 --- a/include/linux/parport.h
 +++ b/include/linux/parport.h
 @@ -100,6 +100,7 @@ typedef enum {
 --- a/include/linux/parport.h
 +++ b/include/linux/parport.h
 @@ -100,6 +100,7 @@ typedef enum {
@@ -1927,7 +1869,7 @@ index 9cdd694..549de6e 100644
  };
  
  #define DEFAULT_SPIN_TIME 500 /* us */
  };
  
  #define DEFAULT_SPIN_TIME 500 /* us */
-@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct parport *port, int daisy, int mode);
+@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct 
  /* Lowlevel drivers _can_ call this support function to handle irqs.  */
  static __inline__ void parport_generic_irq(int irq, struct parport *port)
  {
  /* Lowlevel drivers _can_ call this support function to handle irqs.  */
  static __inline__ void parport_generic_irq(int irq, struct parport *port)
  {
@@ -1940,9 +1882,6 @@ index 9cdd694..549de6e 100644
        parport_ieee1284_interrupt (irq, port);
        read_lock(&port->cad_lock);
        if (port->cad && port->cad->irq_func)
        parport_ieee1284_interrupt (irq, port);
        read_lock(&port->cad_lock);
        if (port->cad && port->cad->irq_func)
-diff --git a/include/linux/pps.h b/include/linux/pps.h
-new file mode 100644
-index 0000000..5bdb593
 --- /dev/null
 +++ b/include/linux/pps.h
 @@ -0,0 +1,196 @@
 --- /dev/null
 +++ b/include/linux/pps.h
 @@ -0,0 +1,196 @@
@@ -2142,8 +2081,6 @@ index 0000000..5bdb593
 +#endif /* __KERNEL__ */
 +
 +#endif /* _PPS_H_ */
 +#endif /* __KERNEL__ */
 +
 +#endif /* _PPS_H_ */
-diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
-index 09d17b0..f9aefad 100644
 --- a/include/linux/serial_core.h
 +++ b/include/linux/serial_core.h
 @@ -157,6 +157,7 @@
 --- a/include/linux/serial_core.h
 +++ b/include/linux/serial_core.h
 @@ -157,6 +157,7 @@
@@ -2185,7 +2122,7 @@ index 09d17b0..f9aefad 100644
        struct mutex            mutex;
  };
  
        struct mutex            mutex;
  };
  
-@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port *port, unsigned int status)
+@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port 
  {
        struct uart_info *info = port->info;
  
  {
        struct uart_info *info = port->info;
  
This page took 0.032089 seconds and 4 git commands to generate.