From owner-svn-src-projects@freebsd.org Mon Feb 17 18:31:33 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4FAF2241FF2 for ; Mon, 17 Feb 2020 18:31:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48LsyF0pfzz4ZxL; Mon, 17 Feb 2020 18:31:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 13FEEB216; Mon, 17 Feb 2020 18:31:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 01HIVWTI000944; Mon, 17 Feb 2020 18:31:32 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01HIVWvJ000943; Mon, 17 Feb 2020 18:31:32 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002171831.01HIVWvJ000943@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 17 Feb 2020 18:31:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r358029 - projects/clang1000-import/sys/dev/altera/sdcard X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang1000-import/sys/dev/altera/sdcard X-SVN-Commit-Revision: 358029 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Feb 2020 18:31:33 -0000 Author: dim Date: Mon Feb 17 18:31:32 2020 New Revision: 358029 URL: https://svnweb.freebsd.org/changeset/base/358029 Log: Tentatively apply D23730: Fix compile errors in altera_sdcard_io.c after r357647 Summary: After rS357647, building universe results in compilation errors for _.mips.BERI_DE4_SDROOT: ``` sys/dev/altera/sdcard/altera_sdcard_io.c: In function 'altera_sdcard_io_start_internal': sys/dev/altera/sdcard/altera_sdcard_io.c:299:13: error: '*bp' is a pointer; did you mean to use '->'? switch (*bp->bio_cmd) { ^~ -> sys/dev/altera/sdcard/altera_sdcard_io.c:301:38: error: '*bp' is a pointer; did you mean to use '->'? altera_sdcard_write_cmd_arg(sc, *bp->bio_pblkno * ^~ -> sys/dev/altera/sdcard/altera_sdcard_io.c:307:42: error: '*bp' is a pointer; did you mean to use '->'? altera_sdcard_write_rxtx_buffer(sc, *bp->bio_data, ^~ -> sys/dev/altera/sdcard/altera_sdcard_io.c:308:10: error: '*bp' is a pointer; did you mean to use '->'? *bp->bio_bcount); ^~ -> sys/dev/altera/sdcard/altera_sdcard_io.c:309:38: error: '*bp' is a pointer; did you mean to use '->'? altera_sdcard_write_cmd_arg(sc, *bp->bio_pblkno * ^~ -> sys/dev/altera/sdcard/altera_sdcard_io.c: In function 'altera_sdcard_io_start': sys/dev/altera/sdcard/altera_sdcard_io.c:336:20: error: incompatible types when assigning to type 'struct bio *' from type 'struct bio' sc->as_currentbio = *bp; ^ ``` The first few are because `->` has a higher precedence than `*`, so the expressions should use `(*bp)->foo` instead. I also renamed the variable to `bpp` to make it clearer that it is a pointer-to-pointer. The last one is because `sc->as_currentbio` is already a `struct bio *`, there is no need to dereference `bp` there. Last but not least, I would really suggest rewriting the `altera_sdcard_io_start_internal()` function to just return success or failure, so the caller can decide to set `bp` to NULL. Modified: projects/clang1000-import/sys/dev/altera/sdcard/altera_sdcard_io.c Modified: projects/clang1000-import/sys/dev/altera/sdcard/altera_sdcard_io.c ============================================================================== --- projects/clang1000-import/sys/dev/altera/sdcard/altera_sdcard_io.c Mon Feb 17 18:05:03 2020 (r358028) +++ projects/clang1000-import/sys/dev/altera/sdcard/altera_sdcard_io.c Mon Feb 17 18:31:32 2020 (r358029) @@ -293,27 +293,27 @@ recheck: } static void -altera_sdcard_io_start_internal(struct altera_sdcard_softc *sc, struct bio **bp) +altera_sdcard_io_start_internal(struct altera_sdcard_softc *sc, struct bio **bpp) { - switch (*bp->bio_cmd) { + switch ((*bpp)->bio_cmd) { case BIO_READ: - altera_sdcard_write_cmd_arg(sc, *bp->bio_pblkno * + altera_sdcard_write_cmd_arg(sc, (*bpp)->bio_pblkno * ALTERA_SDCARD_SECTORSIZE); altera_sdcard_write_cmd(sc, ALTERA_SDCARD_CMD_READ_BLOCK); break; case BIO_WRITE: - altera_sdcard_write_rxtx_buffer(sc, *bp->bio_data, - *bp->bio_bcount); - altera_sdcard_write_cmd_arg(sc, *bp->bio_pblkno * + altera_sdcard_write_rxtx_buffer(sc, (*bpp)->bio_data, + (*bpp)->bio_bcount); + altera_sdcard_write_cmd_arg(sc, (*bpp)->bio_pblkno * ALTERA_SDCARD_SECTORSIZE); altera_sdcard_write_cmd(sc, ALTERA_SDCARD_CMD_WRITE_BLOCK); break; default: - biofinish(*bp, NULL, EOPNOTSUPP); - *bp = NULL; + biofinish(*bpp, NULL, EOPNOTSUPP); + *bpp = NULL; } } @@ -333,7 +333,7 @@ altera_sdcard_io_start(struct altera_sdcard_softc *sc, KASSERT(bp->bio_bcount == ALTERA_SDCARD_SECTORSIZE, ("%s: I/O size not %d", __func__, ALTERA_SDCARD_SECTORSIZE)); altera_sdcard_io_start_internal(sc, &bp); - sc->as_currentbio = *bp; + sc->as_currentbio = bp; sc->as_retriesleft = ALTERA_SDCARD_RETRY_LIMIT; }