Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jan 2014 06:31:46 -0800
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        Kevin Lo <kevlo@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r261118 - head/sys/dev/usb/wlan
Message-ID:  <CAJ-Vmo=KVWR_b4%2BHTgC154C%2B7nnAxQWGPWQQxqvaOSAPZNdQTA@mail.gmail.com>
In-Reply-To: <201401240917.s0O9HTBO046991@svn.freebsd.org>
References:  <201401240917.s0O9HTBO046991@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Memmove() isn't portable? To what?

Adrian
On Jan 24, 2014 4:17 AM, "Kevin Lo" <kevlo@freebsd.org> wrote:

> Author: kevlo
> Date: Fri Jan 24 09:17:29 2014
> New Revision: 261118
> URL: http://svnweb.freebsd.org/changeset/base/261118
>
> Log:
>   Get rid of memmove().  It's not portable.
>
>   Tested on RT3071, RT3573, RT3570, RT3572, and RT5572.
>
>   Reviewed by:  hselasky
>
> Modified:
>   head/sys/dev/usb/wlan/if_run.c
>
> Modified: head/sys/dev/usb/wlan/if_run.c
>
> ==============================================================================
> --- head/sys/dev/usb/wlan/if_run.c      Fri Jan 24 09:13:30 2014
>  (r261117)
> +++ head/sys/dev/usb/wlan/if_run.c      Fri Jan 24 09:17:29 2014
>  (r261118)
> @@ -359,8 +359,6 @@ static int  run_write(struct run_softc *,
>  static int     run_write_region_1(struct run_softc *, uint16_t,
>                     const uint8_t *, int);
>  static int     run_set_region_4(struct run_softc *, uint16_t, uint32_t,
> int);
> -static int     run_rf3593_efuse_read_1(struct run_softc *, uint16_t,
> -                   uint16_t *);
>  static int     run_efuse_read(struct run_softc *, uint16_t, uint16_t *,
> int);
>  static int     run_efuse_read_2(struct run_softc *, uint16_t, uint16_t *);
>  static int     run_eeprom_read_2(struct run_softc *, uint16_t, uint16_t
> *);
> @@ -1344,12 +1342,6 @@ run_set_region_4(struct run_softc *sc, u
>  }
>
>  static int
> -run_rf3593_efuse_read_1(struct run_softc *sc, uint16_t addr, uint16_t
> *val)
> -{
> -       return (run_efuse_read(sc, addr * 2, val, 1));
> -}
> -
> -static int
>  run_efuse_read(struct run_softc *sc, uint16_t addr, uint16_t *val, int
> count)
>  {
>         uint32_t tmp;
> @@ -1390,12 +1382,9 @@ run_efuse_read(struct run_softc *sc, uin
>         if ((error = run_read(sc, reg, &tmp)) != 0)
>                 return (error);
>
> -       if (count == 2)
> -               *val = (addr & 2) ? tmp >> 16 : tmp & 0xffff;
> -       else {
> -               tmp >>= (8 *(addr & 0x3));
> -               memmove(val, &tmp, sizeof(*val));
> -       }
> +       tmp >>= (8 * (addr & 0x3));
> +       *val = (addr & 1) ? tmp >> 16 : tmp & 0xffff;
> +
>         return (0);
>  }
>
> @@ -1753,10 +1742,8 @@ run_read_eeprom(struct run_softc *sc)
>         if (sc->mac_ver >= 0x3070) {
>                 run_read(sc, RT3070_EFUSE_CTRL, &tmp);
>                 DPRINTF("EFUSE_CTRL=0x%08x\n", tmp);
> -               if ((tmp & RT3070_SEL_EFUSE) && sc->mac_ver != 0x3593)
> +               if ((tmp & RT3070_SEL_EFUSE) || sc->mac_ver == 0x3593)
>                         sc->sc_srom_read = run_efuse_read_2;
> -               else
> -                       sc->sc_srom_read = run_rf3593_efuse_read_1;
>         }
>
>         /* read ROM version */
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=KVWR_b4%2BHTgC154C%2B7nnAxQWGPWQQxqvaOSAPZNdQTA>