uart_bus_scc.c (157299) | uart_bus_scc.c (176772) |
---|---|
1/*- 2 * Copyright (c) 2004-2006 Marcel Moolenaar 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2004-2006 Marcel Moolenaar 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sys/dev/uart/uart_bus_scc.c 157299 2006-03-30 18:33:22Z marcel $"); | 28__FBSDID("$FreeBSD: head/sys/dev/uart/uart_bus_scc.c 176772 2008-03-03 18:20:17Z raj $"); |
29 30#include <sys/param.h> 31#include <sys/systm.h> 32#include <sys/bus.h> 33#include <sys/conf.h> 34#include <sys/kernel.h> 35#include <sys/module.h> 36 --- 53 unchanged lines hidden (view full) --- 90 sc = device_get_softc(dev); 91 92 if (BUS_READ_IVAR(parent, dev, SCC_IVAR_MODE, &md) || 93 BUS_READ_IVAR(parent, dev, SCC_IVAR_CLASS, &cl)) 94 return (ENXIO); 95 if (md != SCC_MODE_ASYNC) 96 return (ENXIO); 97 switch (cl) { | 29 30#include <sys/param.h> 31#include <sys/systm.h> 32#include <sys/bus.h> 33#include <sys/conf.h> 34#include <sys/kernel.h> 35#include <sys/module.h> 36 --- 53 unchanged lines hidden (view full) --- 90 sc = device_get_softc(dev); 91 92 if (BUS_READ_IVAR(parent, dev, SCC_IVAR_MODE, &md) || 93 BUS_READ_IVAR(parent, dev, SCC_IVAR_CLASS, &cl)) 94 return (ENXIO); 95 if (md != SCC_MODE_ASYNC) 96 return (ENXIO); 97 switch (cl) { |
98 case SCC_CLASS_QUICC: 99 sc->sc_class = &uart_quicc_class; 100 break; |
|
98 case SCC_CLASS_SAB82532: 99 sc->sc_class = &uart_sab82532_class; 100 break; 101 case SCC_CLASS_Z8530: 102 sc->sc_class = &uart_z8530_class; 103 break; 104 default: 105 return (ENXIO); 106 } 107 if (BUS_READ_IVAR(parent, dev, SCC_IVAR_CHANNEL, &ch) || 108 BUS_READ_IVAR(parent, dev, SCC_IVAR_CLOCK, &cl) || 109 BUS_READ_IVAR(parent, dev, SCC_IVAR_REGSHFT, &rs)) 110 return (ENXIO); 111 112 return (uart_bus_probe(dev, rs, cl, 0, ch)); 113} 114 115DRIVER_MODULE(uart, scc, uart_scc_driver, uart_devclass, 0, 0); | 101 case SCC_CLASS_SAB82532: 102 sc->sc_class = &uart_sab82532_class; 103 break; 104 case SCC_CLASS_Z8530: 105 sc->sc_class = &uart_z8530_class; 106 break; 107 default: 108 return (ENXIO); 109 } 110 if (BUS_READ_IVAR(parent, dev, SCC_IVAR_CHANNEL, &ch) || 111 BUS_READ_IVAR(parent, dev, SCC_IVAR_CLOCK, &cl) || 112 BUS_READ_IVAR(parent, dev, SCC_IVAR_REGSHFT, &rs)) 113 return (ENXIO); 114 115 return (uart_bus_probe(dev, rs, cl, 0, ch)); 116} 117 118DRIVER_MODULE(uart, scc, uart_scc_driver, uart_devclass, 0, 0); |