From patchwork Thu Sep 26 03:54:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Schmitz X-Patchwork-Id: 1167738 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="vN5Xf3NQ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46f1Jy0nRyz9sPW for ; Thu, 26 Sep 2019 13:54:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733195AbfIZDyl (ORCPT ); Wed, 25 Sep 2019 23:54:41 -0400 Received: from mail-pg1-f172.google.com ([209.85.215.172]:38690 "EHLO mail-pg1-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727521AbfIZDyl (ORCPT ); Wed, 25 Sep 2019 23:54:41 -0400 Received: by mail-pg1-f172.google.com with SMTP id x10so708587pgi.5; Wed, 25 Sep 2019 20:54:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=A+1VuJxwvIv+rPKWHqx3gbb1r4WYU4uyfBOklGEbSsw=; b=vN5Xf3NQDdkgSedchn63nbcFS33i1v1pnc/0MigYgppkrqFsveH+uyxQyoSt8v7+PP kNm4ECzGCCB2hKqmi4g/9LF8Ti9StUVDHbcVfXLDKYlnDO1npXn4lV22gtJQz+emVd6v Ajpo2Nk9CgHAgitqW6hnGaK+v2qyoFi8uIcfReY6VdZ4Gt+Lazs3JZeHKViC8vJqWOZ9 RzFSmCVXXEkGboHsC2KQx9bEUm+7sKc8Hhsep1WYCD90Hes74B5jgfKY1J8wf6xNZ9Kh lAJIf2RcYXm25iynMD98cU3YjhfSboDiqYNQXRbjfjhXf1/uw3WVm4Tup+rivUbAti5v S1jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=A+1VuJxwvIv+rPKWHqx3gbb1r4WYU4uyfBOklGEbSsw=; b=kR8QMLhAh5YwtMqtmUFlqm1OnKM3gfSptoylm9qDsi3+RrxPqBhg3Ltg+3mWOCaP/N nK/McifrCPvzngXUBCvPQorM1PIysE9fghDgD/rWl5JXbHizT+dvke1wvKGGE1eWb7WX 5vKa0wM4m4mwVSBLJ5xROiaKBMSwsZGYYTT4nx3rtvvAcxlBExLcfp7GQqHQGswCEBSW mVy2KApr8o5i+yBrbwPIql6L9Q1rTBKuXgugT4nWZSq7R/GHS7gnp5JOhpVFReBHTDYt lE28OKQsSmOgcRv9N6NEP4AaNlNEwNElasK/CFT6RUiM/Tqh7iOv/n0DQRiiiEE/7KMq DxFA== X-Gm-Message-State: APjAAAXntubsDszuNvKb8/XCjreZ51s5X8UN8IZ9RVAccLSaR1rQxEim zHRVNZzzd/5an33ddQfHiGs= X-Google-Smtp-Source: APXvYqwK0pAPQXdCY/FbumAhxkY0B7oB9Xed4TPkvOFOISPXGtHQbH03BuirsxtyYuwqvxjuvGOVOg== X-Received: by 2002:a62:1658:: with SMTP id 85mr1293752pfw.195.1569470080566; Wed, 25 Sep 2019 20:54:40 -0700 (PDT) Received: from xplor.waratah.dyndns.org (122-58-182-39-adsl.sparkbb.co.nz. [122.58.182.39]) by smtp.gmail.com with ESMTPSA id d5sm589072pfa.180.2019.09.25.20.54.39 (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 25 Sep 2019 20:54:40 -0700 (PDT) Received: by xplor.waratah.dyndns.org (Postfix, from userid 1000) id F2CB0360082; Thu, 26 Sep 2019 15:54:36 +1200 (NZST) From: Michael Schmitz To: linux-m68k@vger.kernel.org, linux-ide@vger.kernel.org Cc: geert@linux-m68k.org, b.zolnierkie@samsung.com, Michael Schmitz Subject: [PATCH RESEND v2 1/2] m68k/atari: add platform device for Falcon IDE port Date: Thu, 26 Sep 2019 15:54:23 +1200 Message-Id: <1569470064-3977-2-git-send-email-schmitzmic@gmail.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1569470064-3977-1-git-send-email-schmitzmic@gmail.com> References: <1569470064-3977-1-git-send-email-schmitzmic@gmail.com> Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org Autoloading of Falcon IDE driver modules requires converting these drivers to platform drivers. Add platform device for Falcon IDE interface in Atari platform setup code in preparation for this. Signed-off-by: Michael Schmitz Reviewed-by: Geert Uytterhoeven --- Changes from RFC - fix region size (spotted by Szymon Bieganski ) - define IDE interface address in atari/config.c, create platform device always (suggested by Geert Uytterhoeven ) Changes from v1 - add error checking for Falcon IDE platform device register --- arch/m68k/atari/config.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c index ca8469e..d6e9363 100644 --- a/arch/m68k/atari/config.c +++ b/arch/m68k/atari/config.c @@ -896,8 +896,28 @@ static void isp1160_delay(struct device *dev, int delay) }; #endif +/* + * Falcon IDE interface + */ + +#define FALCON_IDE_BASE 0xfff00000 + +static const struct resource atari_falconide_rsrc[] __initconst = { + { + .flags = IORESOURCE_MEM, + .start = FALCON_IDE_BASE, + .end = FALCON_IDE_BASE+0x39, + }, + { + .flags = IORESOURCE_IRQ, + .start = IRQ_MFP_FSCSI, + .end = IRQ_MFP_FSCSI, + }, +}; + int __init atari_platform_init(void) { + struct platform_device *pdev; int rv = 0; if (!MACH_IS_ATARI) @@ -939,6 +959,13 @@ int __init atari_platform_init(void) atari_scsi_tt_rsrc, ARRAY_SIZE(atari_scsi_tt_rsrc)); #endif + if (ATARIHW_PRESENT(IDE)) { + pdev = platform_device_register_simple("atari-falcon-ide", -1, + atari_falconide_rsrc, ARRAY_SIZE(atari_falconide_rsrc)); + if (IS_ERR(pdev)) + rv = PTR_ERR(pdev); + } + return rv; } From patchwork Thu Sep 26 03:54:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Schmitz X-Patchwork-Id: 1167739 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="L88RPw4z"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46f1Jz4d97z9sPK for ; Thu, 26 Sep 2019 13:54:43 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733199AbfIZDyn (ORCPT ); Wed, 25 Sep 2019 23:54:43 -0400 Received: from mail-pf1-f194.google.com ([209.85.210.194]:41033 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727521AbfIZDyn (ORCPT ); Wed, 25 Sep 2019 23:54:43 -0400 Received: by mail-pf1-f194.google.com with SMTP id q7so938816pfh.8; Wed, 25 Sep 2019 20:54:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=D+5ppbg8COrcSTyDinlhZqZ5EdqQHJG8tG2i99hzSEU=; b=L88RPw4zApuOp1yIeawri2yRM36d7dPJBFYYyW9zKH7DHAXvlrv69Tgp0pG4Z+uCg6 ZeNYaQx4BE7nCTZ9yVSwkfSUD3SmlZylM1e7N6W+WvBohOn/s0idsVOTQ/5GFMTwbNoW FcpjafDK7QtmSQmfA6+fiAR9bS+SDOJqSTf488OA/5iXeQnwWEg6CZrIisMO6b0qG1l4 8oyaTdoIEq0s4bNP816r9S6EvE1Khe7LxXDtc5OiJ/y7514kCxU3MWmUE5Prrzv4N6qd UMHW0e6Yk6deFF3FuNKsxJvcHhTJCyfPIFxcjtDohRfWKY9Kpb22rtVy/GcPvruHQSOC hCpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=D+5ppbg8COrcSTyDinlhZqZ5EdqQHJG8tG2i99hzSEU=; b=kxIelJY0KOgF9yQiy6+eT2205IrnUEnA7lvvbLTEcgJRDu6uwmjZBy2e8HEdAjQofs SL1bf+GapbQzLEIWsFkp3qgasPPPyLAiekVledBcP8U2skT2+aSLL22lgscx1BA0FRWa C380D6hvCfaooZO9fIDElSXVDSSq/zWLJhBXhzFik0xsIh54rKdYRUoM01bMUVITfwML nPXaovL361t6qFNKZZfm1LS7xQf9r2aqFyIye3z6UeC2qP1z2lLz34YelUGol4p3gIMp ih/RO/ZYtregNpK/rKdw8lbhloVrRJarU1/CJJPRGKtiOWsVXf/JJfmw0z0lmLTCTPi6 ZNSA== X-Gm-Message-State: APjAAAWSIHsZXOx193ZOy6tUD6cuR5WiHsUzZswuH6qk3WZfPxFiPwE4 TUbqP20d3013/Peljqv4dIs= X-Google-Smtp-Source: APXvYqyuV4oGs2xRTRGEHC/JkxYwN9DXtmZagGPAFwmSNC1pttUwRivNSMN0MZcTthEX8j0VjiB/LA== X-Received: by 2002:a65:5bc3:: with SMTP id o3mr1369858pgr.30.1569470082432; Wed, 25 Sep 2019 20:54:42 -0700 (PDT) Received: from xplor.waratah.dyndns.org (122-58-182-39-adsl.sparkbb.co.nz. [122.58.182.39]) by smtp.gmail.com with ESMTPSA id z13sm528694pfg.172.2019.09.25.20.54.41 (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 25 Sep 2019 20:54:42 -0700 (PDT) Received: by xplor.waratah.dyndns.org (Postfix, from userid 1000) id 04748360079; Thu, 26 Sep 2019 15:54:38 +1200 (NZST) From: Michael Schmitz To: linux-m68k@vger.kernel.org, linux-ide@vger.kernel.org Cc: geert@linux-m68k.org, b.zolnierkie@samsung.com, Michael Schmitz Subject: [PATCH RESEND v2 2/2] drivers/ata: convert pata_falcon to arch platform device Date: Thu, 26 Sep 2019 15:54:24 +1200 Message-Id: <1569470064-3977-3-git-send-email-schmitzmic@gmail.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1569470064-3977-1-git-send-email-schmitzmic@gmail.com> References: <1569470064-3977-1-git-send-email-schmitzmic@gmail.com> Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org The Atari platform device setup now provides a platform device for the Falcon IDE interface. Use this in place of the simple platform device set up in the old pata_falcon probe code. Signed-off-by: Michael Schmitz Reviewed-by: Geert Uytterhoeven --- Changes from v1 - drop obsolete ATA_HD_BASE define - use dev_err() to report error obtaining platform resource --- drivers/ata/pata_falcon.c | 42 ++++++++++++++++++++++++++++-------------- 1 files changed, 28 insertions(+), 14 deletions(-) diff --git a/drivers/ata/pata_falcon.c b/drivers/ata/pata_falcon.c index 41e0d6a..0e6c6b6 100644 --- a/drivers/ata/pata_falcon.c +++ b/drivers/ata/pata_falcon.c @@ -33,7 +33,6 @@ #define DRV_NAME "pata_falcon" #define DRV_VERSION "0.1.0" -#define ATA_HD_BASE 0xfff00000 #define ATA_HD_CONTROL 0x39 static struct scsi_host_template pata_falcon_sht = { @@ -120,24 +119,22 @@ static int pata_falcon_set_mode(struct ata_link *link, .set_mode = pata_falcon_set_mode, }; -static int pata_falcon_init_one(void) +static int __init pata_falcon_init_one(struct platform_device *pdev) { + struct resource *res; struct ata_host *host; struct ata_port *ap; - struct platform_device *pdev; void __iomem *base; - if (!MACH_IS_ATARI || !ATARIHW_PRESENT(IDE)) - return -ENODEV; - - pr_info(DRV_NAME ": Atari Falcon PATA controller\n"); + dev_info(&pdev->dev, ": Atari Falcon PATA controller\n"); - pdev = platform_device_register_simple(DRV_NAME, 0, NULL, 0); - if (IS_ERR(pdev)) - return PTR_ERR(pdev); + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return -ENODEV; - if (!devm_request_mem_region(&pdev->dev, ATA_HD_BASE, 0x40, DRV_NAME)) { - pr_err(DRV_NAME ": resources busy\n"); + if (!devm_request_mem_region(&pdev->dev, res->start, + resource_size(res), DRV_NAME)) { + dev_err(&pdev->dev, "resources busy\n"); return -EBUSY; } @@ -152,7 +149,7 @@ static int pata_falcon_init_one(void) ap->flags |= ATA_FLAG_SLAVE_POSS | ATA_FLAG_NO_IORDY; ap->flags |= ATA_FLAG_PIO_POLLING; - base = (void __iomem *)ATA_HD_BASE; + base = (void __iomem *)res->start; ap->ioaddr.data_addr = base; ap->ioaddr.error_addr = base + 1 + 1 * 4; ap->ioaddr.feature_addr = base + 1 + 1 * 4; @@ -174,9 +171,26 @@ static int pata_falcon_init_one(void) return ata_host_activate(host, 0, NULL, 0, &pata_falcon_sht); } -module_init(pata_falcon_init_one); +static int __exit pata_falcon_remove_one(struct platform_device *pdev) +{ + struct ata_host *host = platform_get_drvdata(pdev); + + ata_host_detach(host); + + return 0; +} + +static struct platform_driver pata_falcon_driver = { + .remove = __exit_p(pata_falcon_remove_one), + .driver = { + .name = "atari-falcon-ide", + }, +}; + +module_platform_driver_probe(pata_falcon_driver, pata_falcon_init_one); MODULE_AUTHOR("Bartlomiej Zolnierkiewicz"); MODULE_DESCRIPTION("low-level driver for Atari Falcon PATA"); MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:atari-falcon-ide"); MODULE_VERSION(DRV_VERSION);