Skip site navigation (1)Skip section navigation (2)
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>