Deleted Added
full compact
glxiic.c (302408) glxiic.c (323931)
1/*-
2 * Copyright (c) 2011 Henrik Brix Andersen <brix@FreeBSD.org>
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 * 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) 2011 Henrik Brix Andersen <brix@FreeBSD.org>
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 * 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: stable/11/sys/dev/glxiic/glxiic.c 274819 2014-11-21 21:01:24Z smh $");
27__FBSDID("$FreeBSD: stable/11/sys/dev/glxiic/glxiic.c 323931 2017-09-22 15:53:22Z ian $");
28/*
29 * AMD Geode LX CS5536 System Management Bus controller.
30 *
31 * Although AMD refers to this device as an SMBus controller, it
32 * really is an I2C controller (It lacks SMBus ALERT# and Alert
33 * Response support).
34 *
35 * The driver is implemented as an interrupt-driven state machine,

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

403 sc->timeout = GLXIIC_DEFAULT_TIMEOUT;
404 SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
405 "timeout", CTLFLAG_RWTUN, &sc->timeout, 0,
406 "activity timeout in ms");
407
408 glxiic_gpio_enable(sc);
409 glxiic_smb_enable(sc, IIC_FASTEST, 0);
410
28/*
29 * AMD Geode LX CS5536 System Management Bus controller.
30 *
31 * Although AMD refers to this device as an SMBus controller, it
32 * really is an I2C controller (It lacks SMBus ALERT# and Alert
33 * Response support).
34 *
35 * The driver is implemented as an interrupt-driven state machine,

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

403 sc->timeout = GLXIIC_DEFAULT_TIMEOUT;
404 SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
405 "timeout", CTLFLAG_RWTUN, &sc->timeout, 0,
406 "activity timeout in ms");
407
408 glxiic_gpio_enable(sc);
409 glxiic_smb_enable(sc, IIC_FASTEST, 0);
410
411 error = bus_generic_attach(dev);
412 if (error != 0) {
413 device_printf(dev, "Could not probe and attach children\n");
414 error = ENXIO;
415 }
411 /* Probe and attach the iicbus when interrupts are available. */
412 config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev);
413 error = 0;
414
416out:
417 if (error != 0) {
418 callout_drain(&sc->callout);
419
420 if (sc->iicbus != NULL)
421 device_delete_child(dev, sc->iicbus);
422 if (sc->smb_res != NULL) {
423 glxiic_smb_disable(sc);

--- 660 unchanged lines hidden ---
415out:
416 if (error != 0) {
417 callout_drain(&sc->callout);
418
419 if (sc->iicbus != NULL)
420 device_delete_child(dev, sc->iicbus);
421 if (sc->smb_res != NULL) {
422 glxiic_smb_disable(sc);

--- 660 unchanged lines hidden ---