Deleted Added
full compact
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);