Deleted Added
full compact
sio_puc.c (174115) sio_puc.c (185059)
1/*-
2 * Copyright (c) 2002 JF Hay. All rights reserved.
3 * Copyright (c) 2001 M. Warner Losh. 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 * 1. Redistributions of source code must retain the above copyright

--- 10 unchanged lines hidden (view full) ---

19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2002 JF Hay. All rights reserved.
3 * Copyright (c) 2001 M. Warner Losh. 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 * 1. Redistributions of source code must retain the above copyright

--- 10 unchanged lines hidden (view full) ---

19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include <sys/cdefs.h>
27__FBSDID("$FreeBSD: head/sys/dev/sio/sio_puc.c 174115 2007-11-30 21:36:12Z peter $");
27__FBSDID("$FreeBSD: head/sys/dev/sio/sio_puc.c 185059 2008-11-18 21:01:54Z jhb $");
28
29#include <sys/param.h>
30#include <sys/systm.h>
31#include <sys/bus.h>
32#include <sys/conf.h>
33#include <sys/kernel.h>
34#include <sys/lock.h>
35#include <sys/malloc.h>

--- 21 unchanged lines hidden (view full) ---

57};
58
59static driver_t sio_puc_driver = {
60 sio_driver_name,
61 sio_puc_methods,
62 0,
63};
64
28
29#include <sys/param.h>
30#include <sys/systm.h>
31#include <sys/bus.h>
32#include <sys/conf.h>
33#include <sys/kernel.h>
34#include <sys/lock.h>
35#include <sys/malloc.h>

--- 21 unchanged lines hidden (view full) ---

57};
58
59static driver_t sio_puc_driver = {
60 sio_driver_name,
61 sio_puc_methods,
62 0,
63};
64
65/*
66 * Don't cut and paste this to other drivers. It is a horrible kludge
67 * which will fail to work and also be unnecessary in future versions.
68 */
69static void
70sio_puc_kludge_unit(device_t dev)
71{
72 devclass_t dc;
73 int err;
74 int start;
75 int unit;
76
77 unit = 0;
78 start = 0;
79 while (resource_int_value("sio", unit, "port", &start) == 0 &&
80 start > 0)
81 unit++;
82 if (device_get_unit(dev) < unit) {
83 dc = device_get_devclass(dev);
84 while (devclass_get_device(dc, unit))
85 unit++;
86 device_printf(dev, "moving to sio%d\n", unit);
87 err = device_set_unit(dev, unit); /* EVIL DO NOT COPY */
88 if (err)
89 device_printf(dev, "error moving device %d\n", err);
90 }
91}
92
93static int
94sio_puc_attach(device_t dev)
95{
96 uintptr_t rclk;
97
98 if (BUS_READ_IVAR(device_get_parent(dev), dev, PUC_IVAR_CLOCK,
99 &rclk) != 0)
100 rclk = DEFAULT_RCLK;
65static int
66sio_puc_attach(device_t dev)
67{
68 uintptr_t rclk;
69
70 if (BUS_READ_IVAR(device_get_parent(dev), dev, PUC_IVAR_CLOCK,
71 &rclk) != 0)
72 rclk = DEFAULT_RCLK;
101 sio_puc_kludge_unit(dev);
102 return (sioattach(dev, 0, rclk));
103}
104
105static int
106sio_puc_probe(device_t dev)
107{
108 device_t parent;
109 uintptr_t rclk, type;

--- 19 unchanged lines hidden ---
73 return (sioattach(dev, 0, rclk));
74}
75
76static int
77sio_puc_probe(device_t dev)
78{
79 device_t parent;
80 uintptr_t rclk, type;

--- 19 unchanged lines hidden ---