Date: Thu, 22 Jan 2009 21:56:41 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r187602 - head/sys/arm/at91 Message-ID: <200901222156.n0MLufpn023311@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Thu Jan 22 21:56:41 2009 New Revision: 187602 URL: http://svn.freebsd.org/changeset/base/187602 Log: Migrate towards using at91_master_clock. Initialize the clocks for the serial port class when we set the devclass since it is now no-longer a compile time constant. Eliminate the pci include, as it isn't relevant or necessary. Modified: head/sys/arm/at91/uart_bus_at91usart.c head/sys/arm/at91/uart_cpu_at91rm9200usart.c head/sys/arm/at91/uart_dev_at91usart.c Modified: head/sys/arm/at91/uart_bus_at91usart.c ============================================================================== --- head/sys/arm/at91/uart_bus_at91usart.c Thu Jan 22 21:55:37 2009 (r187601) +++ head/sys/arm/at91/uart_bus_at91usart.c Thu Jan 22 21:56:41 2009 (r187602) @@ -38,13 +38,12 @@ __FBSDID("$FreeBSD$"); #include <sys/rman.h> #include <machine/resource.h> -#include <dev/pci/pcivar.h> - #include <dev/uart/uart.h> #include <dev/uart/uart_bus.h> #include <dev/uart/uart_cpu.h> #include <arm/at91/at91rm92reg.h> +#include <arm/at91/at91var.h> #include "uart_if.h" @@ -103,6 +102,8 @@ usart_at91rm92_probe(device_t dev) break; } sc->sc_class = &at91_usart_class; + if (sc->sc_class->uc_rclk == 0) + sc->sc_class->uc_rclk = at91_master_clock; return (uart_bus_probe(dev, 0, 0, 0, device_get_unit(dev))); } Modified: head/sys/arm/at91/uart_cpu_at91rm9200usart.c ============================================================================== --- head/sys/arm/at91/uart_cpu_at91rm9200usart.c Thu Jan 22 21:55:37 2009 (r187601) +++ head/sys/arm/at91/uart_cpu_at91rm9200usart.c Thu Jan 22 21:56:41 2009 (r187602) @@ -35,12 +35,16 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/bus.h> #include <sys/cons.h> +#include <sys/lock.h> +#include <sys/mutex.h> #include <machine/bus.h> #include <dev/uart/uart.h> +#include <dev/uart/uart_bus.h> #include <dev/uart/uart_cpu.h> #include <arm/at91/at91rm92reg.h> +#include <arm/at91/at91var.h> bus_space_tag_t uart_bus_space_io; bus_space_tag_t uart_bus_space_mem; @@ -60,6 +64,8 @@ uart_cpu_getdev(int devtype, struct uart struct uart_class *class; class = &at91_usart_class; + if (class->uc_rclk == 0) + class->uc_rclk = at91_master_clock; di->ops = uart_getops(class); di->bas.chan = 0; di->bas.bst = &at91_bs_tag; Modified: head/sys/arm/at91/uart_dev_at91usart.c ============================================================================== --- head/sys/arm/at91/uart_dev_at91usart.c Thu Jan 22 21:55:37 2009 (r187601) +++ head/sys/arm/at91/uart_dev_at91usart.c Thu Jan 22 21:56:41 2009 (r187602) @@ -45,10 +45,11 @@ __FBSDID("$FreeBSD$"); #include <arm/at91/at91rm92reg.h> #include <arm/at91/at91_usartreg.h> #include <arm/at91/at91_pdcreg.h> +#include <arm/at91/at91var.h> #include "uart_if.h" -#define DEFAULT_RCLK AT91C_MASTER_CLOCK +#define DEFAULT_RCLK at91_master_clock #define USART_BUFFER_SIZE 128 /* @@ -684,6 +685,5 @@ struct uart_class at91_usart_class = { at91_usart_methods, sizeof(struct at91_usart_softc), .uc_ops = &at91_usart_ops, - .uc_range = 8, - .uc_rclk = DEFAULT_RCLK + .uc_range = 8 };
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901222156.n0MLufpn023311>