Author: avg
Date: Wed Dec 14 16:35:17 2016
New Revision: 310076
URL: https://svnweb.freebsd.org/changeset/base/310076

Log:
  MFC r308529: intpm: clean up intsmb_bread and intsmb_pcall

Modified:
  stable/10/sys/pci/intpm.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/pci/intpm.c
==============================================================================
--- stable/10/sys/pci/intpm.c   Wed Dec 14 16:34:13 2016        (r310075)
+++ stable/10/sys/pci/intpm.c   Wed Dec 14 16:35:17 2016        (r310076)
@@ -785,39 +785,11 @@ intsmb_readw(device_t dev, u_char slave,
        return (error);
 }
 
-/*
- * Data sheet claims that it implements all function, but also claims
- * that it implements 7 function and not mention PCALL. So I don't know
- * whether it will work.
- */
 static int
 intsmb_pcall(device_t dev, u_char slave, char cmd, short sdata, short *rdata)
 {
-#ifdef PROCCALL_TEST
-       struct intsmb_softc *sc = device_get_softc(dev);
-       int error;
 
-       INTSMB_LOCK(sc);
-       error = intsmb_free(sc);
-       if (error) {
-               INTSMB_UNLOCK(sc);
-               return (error);
-       }
-       bus_write_1(sc->io_res, PIIX4_SMBHSTADD, slave & ~LSB);
-       bus_write_1(sc->io_res, PIIX4_SMBHSTCMD, cmd);
-       bus_write_1(sc->io_res, PIIX4_SMBHSTDAT0, sdata & 0xff);
-       bus_write_1(sc->io_res, PIIX4_SMBHSTDAT1, (sdata & 0xff) >> 8);
-       intsmb_start(sc, PIIX4_SMBHSTCNT_PROT_WDATA, 0);
-       error = intsmb_stop(sc);
-       if (error == 0) {
-               *rdata = bus_read_1(sc->io_res, PIIX4_SMBHSTDAT0);
-               *rdata |= bus_read_1(sc->io_res, PIIX4_SMBHSTDAT1) << 8;
-       }
-       INTSMB_UNLOCK(sc);
-       return (error);
-#else
        return (SMB_ENOTSUPP);
-#endif
 }
 
 static int
@@ -857,9 +829,6 @@ intsmb_bread(device_t dev, u_char slave,
        int error, i;
        u_char data, nread;
 
-       if (*count > SMBBLOCKTRANS_MAX || *count == 0)
-               return (SMB_EINVAL);
-
        INTSMB_LOCK(sc);
        error = intsmb_free(sc);
        if (error) {
@@ -872,18 +841,14 @@ intsmb_bread(device_t dev, u_char slave,
 
        bus_write_1(sc->io_res, PIIX4_SMBHSTADD, slave | LSB);
        bus_write_1(sc->io_res, PIIX4_SMBHSTCMD, cmd);
-       bus_write_1(sc->io_res, PIIX4_SMBHSTDAT0, *count);
        intsmb_start(sc, PIIX4_SMBHSTCNT_PROT_BLOCK, 0);
        error = intsmb_stop(sc);
        if (error == 0) {
                nread = bus_read_1(sc->io_res, PIIX4_SMBHSTDAT0);
                if (nread != 0 && nread <= SMBBLOCKTRANS_MAX) {
-                       for (i = 0; i < nread; i++) {
-                               data = bus_read_1(sc->io_res, PIIX4_SMBBLKDAT);
-                               if (i < *count)
-                                       buf[i] = data;
-                       }
                        *count = nread;
+                       for (i = 0; i < nread; i++)
+                               data = bus_read_1(sc->io_res, PIIX4_SMBBLKDAT);
                } else
                        error = SMB_EBUSERR;
        }
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to