From owner-freebsd-mips@FreeBSD.ORG Wed Apr 10 23:51:38 2013 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CB62E1DC for ; Wed, 10 Apr 2013 23:51:38 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-yh0-x231.google.com (mail-yh0-x231.google.com [IPv6:2607:f8b0:4002:c01::231]) by mx1.freebsd.org (Postfix) with ESMTP id 87D09231 for ; Wed, 10 Apr 2013 23:51:38 +0000 (UTC) Received: by mail-yh0-f49.google.com with SMTP id q14so168102yhf.22 for ; Wed, 10 Apr 2013 16:51:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to:x-mailer:x-gm-message-state; bh=JhbOpSbMpQXEI7rtJypkuvKftgkd4NT9Rnw7wcgKGSk=; b=DsHwWyk9SsgCCl7I6dR1aw+uG77kE/U0q/fl+LAz55rk87wjQuGqMUrFsB/1QcYpbH qEdti04WGBg7sXZ1ahGTBnCgKrSZ2vvdUHh7hLzbG7fsqbj14GQNz0ZbwQUXtsByMLhc thy4aTz3z52rVAo5ZOwW35AvcjABVRFghhB1leLcJoGWdHLbzozgjZ4K6EEJJx+GcrfK Jx9HHnLysw9g8UFvHZsN++S8shDOU8RVa5LyMWr6tQwFXXcdd6h6UhxzEUphopWMArvS MepLP3Pv7Jxw1pr7DpKLahXWp1UWYHFNSKA+T6Bdm6BhbajjbQ//cNYq7tSpRKTRiO96 QhJg== X-Received: by 10.236.28.75 with SMTP id f51mr2708547yha.4.1365637567400; Wed, 10 Apr 2013 16:46:07 -0700 (PDT) Received: from monkey-bot.int.fusionio.com ([209.117.142.2]) by mx.google.com with ESMTPS id v48sm2919051yhi.26.2013.04.10.16.46.04 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 10 Apr 2013 16:46:06 -0700 (PDT) Sender: Warner Losh Subject: Re: [PATCH] MMC/SD SPI-mode driver Mime-Version: 1.0 (Apple Message framework v1085) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: Date: Wed, 10 Apr 2013 17:45:59 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: References: <20130407011307.9a9a9d64.ray@freebsd.org> <20130407022428.86a66c6a.ray@freebsd.org> <20130408153334.9cc11688aedbf32dcbf83a7b@freebsd.org> <1365605147.41399.227.camel@revolution.hippie.lan> <1365609642.41399.237.camel@revolution.hippie.lan> <1365619856.41399.242.camel@revolution.hippie.lan> To: Adrian Chadd X-Mailer: Apple Mail (2.1085) X-Gm-Message-State: ALoCoQkv/obZ00cnadGUJjhO63EB/B2TSGWUsCj1EcrtmD1JjhpeSKS3xnhs7C/pqm831cymRyvb Cc: Aleksandr Rybalko , Dmytro , freebsd-mips@freebsd.org, Ian Lepore X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Apr 2013 23:51:38 -0000 On Apr 10, 2013, at 5:22 PM, Adrian Chadd wrote: > On 10 April 2013 11:50, Ian Lepore wrote: >> Maybe something like this could work? >>=20 >> static int >> ar71xx_spi_transfer(device_t dev, device_t child, struct spi_command = *cmd) >> { >> if (cmd->cs =3D=3D sc->magic_mapped_flash_chipsel && >> cmd->tx_cmd =3D=3D NULL && cmd->tx_data =3D=3D NULL && >> *(uint8_t *)cmd->rx_cmd =3D=3D SPIFLASH_READ_OPCODE && >> /* maybe some other constraints I don't know about */ >> /* maybe even check that child is the mx25l driver */) >> return do_magic_mapped_read(...); >> else >> return do_mundane_nonmapped_transfer(...); >> } >=20 > So you're special casing it in the bus code rather than the driver > code. It's still ugly, but it's hid from the driver. At least in the bus code we won't have to put this code into each of our = SPI flash drivers... Warner