]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Make Broadcom XLR use shared ds1374 RTC driver.
authorsbruno <sbruno@FreeBSD.org>
Wed, 29 Jul 2015 15:32:59 +0000 (15:32 +0000)
committersbruno <sbruno@FreeBSD.org>
Wed, 29 Jul 2015 15:32:59 +0000 (15:32 +0000)
Remove its identical and redundant ds1374u version.

Differential Revision: D3225
Submitted by: kevin.bowling@kev009.com

sys/mips/conf/XLR
sys/mips/conf/XLR64
sys/mips/conf/XLRN32
sys/mips/rmi/dev/iic/ds1374u.c [deleted file]
sys/mips/rmi/files.xlr
sys/mips/rmi/xlr_i2c.c

index d1e0da0efa956307304fb31d106cf1b222d2b944..0133fada2343b86192e55018495e41920c8469b4 100644 (file)
@@ -135,7 +135,7 @@ device              ic
 device         iic
 device         iicbb
 device         iicbus
-device         ds1374u # RTC on XLR boards
+device         ds1374  # RTC on XLR boards
 device         max6657 # Temparature sensor on XLR boards
 device         at24co2n        # EEPROM on XLR boards
 
index 1db8d857bf67ff64fb01f189b84cf66f9d8f3f88..c8b1dfbb433cfe3824a0b0fc79ac00ea37b71322 100644 (file)
@@ -109,7 +109,7 @@ device              ic
 device         iic
 device         iicbb
 device         iicbus
-device         ds1374u         # RTC on XLR boards
+device         ds1374          # RTC on XLR boards
 device         max6657         # Temparature sensor on XLR boards
 device         at24co2n        # EEPROM on XLR boards
 
index c23b4515bdd46bdf0b9df427c30e1b6445c66538..e2f44687d411c948057813e5dbca47bcedf44522 100644 (file)
@@ -113,7 +113,7 @@ device              ic
 device         iic
 device         iicbb
 device         iicbus
-device         ds1374u         # RTC on XLR boards
+device         ds1374          # RTC on XLR boards
 device         max6657         # Temparature sensor on XLR boards
 device         at24co2n        # EEPROM on XLR boards
 
diff --git a/sys/mips/rmi/dev/iic/ds1374u.c b/sys/mips/rmi/dev/iic/ds1374u.c
deleted file mode 100644 (file)
index 0c0b823..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*-
- * Copyright (c) 2003-2009 RMI Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of RMI Corporation, nor the names of its contributors,
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RMI_BSD */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-/*
- *  RTC chip sitting on the I2C bus.
- */
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/module.h>
-#include <sys/bus.h>
-#include <sys/clock.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/rman.h>
-
-#include <mips/include/bus.h>
-#include <mips/include/cpu.h>
-#include <mips/include/cpufunc.h>
-#include <mips/include/frame.h>
-#include <mips/include/resource.h>
-
-#include <dev/iicbus/iiconf.h>
-#include <dev/iicbus/iicbus.h>
-
-#include "iicbus_if.h"
-#include "clock_if.h"
-
-#define        DS1374_RTC_COUNTER      0       /* counter (bytes 0-3) */
-
-struct ds1374u_softc {
-       uint32_t        sc_addr;
-       device_t        sc_dev;
-};
-
-static int
-ds1374u_probe(device_t dev)
-{
-       device_set_desc(dev, "DS1374U-33 RTC");
-       return (0);
-}
-
-static int
-ds1374u_attach(device_t dev)
-{
-       struct ds1374u_softc *sc = device_get_softc(dev);
-
-       if(sc==NULL) {
-               printf("ds1374u_attach device_get_softc failed\n");
-               return (0);
-       }
-       sc->sc_dev = dev;
-       sc->sc_addr = iicbus_get_addr(dev);
-
-       clock_register(dev, 1000);
-       return (0);
-}
-
-static int 
-ds1374u_settime(device_t dev, struct timespec *ts)
-{
-       /* NB: register pointer precedes actual data */
-       uint8_t data[5] = { DS1374_RTC_COUNTER };
-       struct ds1374u_softc *sc = device_get_softc(dev);
-       struct iic_msg msgs[1] = {
-            { sc->sc_addr, IIC_M_WR, 5, data },
-       };
-
-       data[1] = (ts->tv_sec >> 0) & 0xff;
-       data[2] = (ts->tv_sec >> 8) & 0xff;
-       data[3] = (ts->tv_sec >> 16) & 0xff;
-       data[4] = (ts->tv_sec >> 24) & 0xff;
-
-       return iicbus_transfer(dev, msgs, 1);
-}
-
-static int
-ds1374u_gettime(device_t dev, struct timespec *ts)
-{
-       struct ds1374u_softc *sc = device_get_softc(dev);
-       uint8_t addr[1] = { DS1374_RTC_COUNTER };
-       uint8_t secs[4];
-       struct iic_msg msgs[2] = {
-            { sc->sc_addr, IIC_M_WR, 1, addr },
-            { sc->sc_addr, IIC_M_RD, 4, secs },
-       };
-       int error;
-
-       error = iicbus_transfer(dev, msgs, 2);
-       if (error == 0) {
-               /* counter has seconds since epoch */
-               ts->tv_sec = (secs[3] << 24) | (secs[2] << 16)
-                          | (secs[1] <<  8) | (secs[0] <<  0);
-               ts->tv_nsec = 0;
-       }
-       return error;
-}
-
-static device_method_t ds1374u_methods[] = {
-       DEVMETHOD(device_probe,         ds1374u_probe),
-       DEVMETHOD(device_attach,        ds1374u_attach),
-
-       DEVMETHOD(clock_gettime,        ds1374u_gettime),
-       DEVMETHOD(clock_settime,        ds1374u_settime),
-
-       {0, 0},
-};
-
-static driver_t ds1374u_driver = {
-       "ds1374u",
-       ds1374u_methods,
-       sizeof(struct ds1374u_softc),
-};
-static devclass_t ds1374u_devclass;
-
-DRIVER_MODULE(ds1374u, iicbus, ds1374u_driver, ds1374u_devclass, 0, 0);
-MODULE_VERSION(ds1374u, 1);
-MODULE_DEPEND(ds1374u, iicbus, 1, 1, 1);
index 0827ca7ce84b6971ee53793f6f18acf4404a8122..ed85a1b9c47a082bdc60cde400aa83edce84077f 100644 (file)
@@ -22,6 +22,5 @@ mips/rmi/dev/sec/rmisec.c                     optional rmisec
 mips/rmi/dev/sec/rmilib.c                      optional rmisec
 mips/rmi/dev/xlr/rge.c                         optional rge
 mips/rmi/dev/nlge/if_nlge.c                    optional nlge
-mips/rmi/dev/iic/ds1374u.c                     optional ds1374u 
 mips/rmi/dev/iic/max6657.c                     optional max6657 
 mips/rmi/dev/iic/at24co2n.c                    optional at24co2n 
index 96f98206670288cfc9566f3572152419a31f0281..2605887d60487860977f2c94ea4b66d39c10fffa 100644 (file)
@@ -187,7 +187,7 @@ xlr_i2c_attach(device_t dev)
                return -1;
        }
        if(xlr_board_info.xlr_i2c_device[I2C_RTC].enabled == 1) {
-               tmpd = device_add_child(sc->iicbus, "ds1374u", 0);
+               tmpd = device_add_child(sc->iicbus, "ds1374_rtc", 0);
                device_set_ivars(tmpd, &xlr_board_info.xlr_i2c_device[I2C_RTC]);
        }
        if(xlr_board_info.xlr_i2c_device[I2C_THERMAL].enabled == 1) {