From patchwork Wed Nov 25 17:04:57 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartlomiej Zolnierkiewicz X-Patchwork-Id: 39331 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id BF6AAB7BBB for ; Thu, 26 Nov 2009 04:12:10 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759179AbZKYRFk (ORCPT ); Wed, 25 Nov 2009 12:05:40 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1759209AbZKYRFh (ORCPT ); Wed, 25 Nov 2009 12:05:37 -0500 Received: from mail-fx0-f213.google.com ([209.85.220.213]:53682 "EHLO mail-fx0-f213.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759211AbZKYRFf (ORCPT ); Wed, 25 Nov 2009 12:05:35 -0500 Received: by mail-fx0-f213.google.com with SMTP id 5so7204645fxm.28 for ; Wed, 25 Nov 2009 09:05:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:date:message-id :in-reply-to:references:subject; bh=RXnsqhDoBzkbXKQeB1Wr6TAQTagGPBHHB1YmxGyCQsA=; b=N/VW4mTjD7rNrjyflcfQ3JK7607mhThLz7X2d7feSEZ8SO7lZlRDI1tTHU2IyC7sKD wJraIwTqaTIiJWxp/hqBOdpE1m4TQOpyvuvENXOhw3uqcNcD+6gVThIPwAL7CpAMy1/5 S+5t5ywYWpyiY9jIiP92YRV7/M6xBPHIpAXuc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:date:message-id:in-reply-to:references:subject; b=vh+BxwMOOMg9SI+PvfswgYFIRhOAorIqLVxHRLRM6pzuFBqXwhHhwGo/G84FLh1lbv G2OPJbEI6P/VqeulL+MwiSEqui/w97Tg+znR439TQtQwP3z3zD87y8G0OGqiDHpi+IxM 7Zzz0HRsV1PivuLwlR5GA7QWJdzNSBWZ/EZYo= Received: by 10.216.87.71 with SMTP id x49mr2585974wee.11.1259168740987; Wed, 25 Nov 2009 09:05:40 -0800 (PST) Received: from ?127.0.0.1? (chello089079027028.chello.pl [89.79.27.28]) by mx.google.com with ESMTPS id t2sm14633951gve.9.2009.11.25.09.05.39 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 25 Nov 2009 09:05:40 -0800 (PST) From: Bartlomiej Zolnierkiewicz To: linux-ide@vger.kernel.org Cc: Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org Date: Wed, 25 Nov 2009 18:04:57 +0100 Message-Id: <20091125170457.5446.67239.sendpatchset@localhost> In-Reply-To: <20091125170218.5446.13513.sendpatchset@localhost> References: <20091125170218.5446.13513.sendpatchset@localhost> Subject: [PATCH 22/86] pata_cmd64x: add cmd64x_fixup() Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org From: Bartlomiej Zolnierkiewicz Subject: [PATCH] pata_cmd64x: add cmd64x_fixup() Factor out common code from cmd64x_[re]init_one() to cmd64x_fixup(). Remove stale comment and fix CodingStyle issue while at it. Signed-off-by: Bartlomiej Zolnierkiewicz --- drivers/ata/pata_cmd64x.c | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: b/drivers/ata/pata_cmd64x.c =================================================================== --- a/drivers/ata/pata_cmd64x.c +++ b/drivers/ata/pata_cmd64x.c @@ -292,6 +292,22 @@ static struct ata_port_operations cmd648 .cable_detect = cmd648_cable_detect, }; +static void cmd64x_fixup(struct pci_dev *pdev) +{ + u8 mrdmode; + + pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64); + pci_read_config_byte(pdev, MRDMODE, &mrdmode); + mrdmode &= ~0x30; /* IRQ set up */ + mrdmode |= 0x02; /* Memory read line enable */ + pci_write_config_byte(pdev, MRDMODE, mrdmode); + + /* PPC specific fixup copied from old driver */ +#ifdef CONFIG_PPC + pci_write_config_byte(pdev, UDIDETCR0, 0xF0); +#endif +} + static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) { u32 class_rev; @@ -338,7 +354,6 @@ static int cmd64x_init_one(struct pci_de } }; const struct ata_port_info *ppi[] = { &cmd_info[id->driver_data], NULL }; - u8 mrdmode; int rc; rc = pcim_enable_device(pdev); @@ -360,18 +375,7 @@ static int cmd64x_init_one(struct pci_de ppi[0] = &cmd_info[3]; } - pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64); - pci_read_config_byte(pdev, MRDMODE, &mrdmode); - mrdmode &= ~ 0x30; /* IRQ set up */ - mrdmode |= 0x02; /* Memory read line enable */ - pci_write_config_byte(pdev, MRDMODE, mrdmode); - - /* Force PIO 0 here.. */ - - /* PPC specific fixup copied from old driver */ -#ifdef CONFIG_PPC - pci_write_config_byte(pdev, UDIDETCR0, 0xF0); -#endif + cmd64x_fixup(pdev); return ata_pci_sff_init_one(pdev, ppi, &cmd64x_sht, NULL); } @@ -380,21 +384,14 @@ static int cmd64x_init_one(struct pci_de static int cmd64x_reinit_one(struct pci_dev *pdev) { struct ata_host *host = dev_get_drvdata(&pdev->dev); - u8 mrdmode; int rc; rc = ata_pci_device_do_resume(pdev); if (rc) return rc; - pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64); - pci_read_config_byte(pdev, MRDMODE, &mrdmode); - mrdmode &= ~ 0x30; /* IRQ set up */ - mrdmode |= 0x02; /* Memory read line enable */ - pci_write_config_byte(pdev, MRDMODE, mrdmode); -#ifdef CONFIG_PPC - pci_write_config_byte(pdev, UDIDETCR0, 0xF0); -#endif + cmd64x_fixup(pdev); + ata_host_resume(host); return 0; }