Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2291502imm; Thu, 9 Aug 2018 10:18:36 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwA1O8q5+ZGJc0xRzGC8uoor1yjtpJjMVAvjkkS+Hm0EGs96j3QWYg9TKVVcu3AkuxKfcme X-Received: by 2002:a63:121a:: with SMTP id h26-v6mr3067415pgl.316.1533835116750; Thu, 09 Aug 2018 10:18:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533835116; cv=none; d=google.com; s=arc-20160816; b=jO0BllN3xOfMr7lo9HKIK/feMnb5SmWnxSaREy8ih41niCiDMvadzR/omn4155jHbh bxrtI1NeN7MtPjzES9LZ5b1Lnpm/dmEvY0l/wizkvmOWpzyMZrA1bw+OUlHAZcrs+2Yl u0/RIhRthLbX9wVDKtSDM0D/9Sah0DpR5r/wUVWe19Ciqzs405n8IBa8Va/c7QXjHcQI 5jGLCHtS0ylHSMJ12hzxfkjoqvs4TikPngZMVZKzRQkkYYautuJjTcYwg+lXwjqnKYOj dwtxy5SZgGlLH1Rp/rnLorkxedClk7dGid7xQItFJ/kmavto0go7gWLz5r0l0sj/HCFK YrDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=+w0FBtqbjsSFMf97cjh4a/LOshZ8wiAoBUqG1Bp5fvA=; b=JrKaq98AelNzu/K5gIS/CBY10d15wNE1EAHbFfcb8gQ+X/crCCZBCBJml6OhwH1WcW psAr2uKzw1t7tbQtOeHxYj5c38fKR9KnpqAz9V94+/u5b8ajIXEX8Cj2N3yjqZdIT+P3 HlNkiR1IUtOzTprs/WT/hl8m8nUxQX0jRsc2ht95xLxhDfQ+hQ2ZyoENCi0DqMkrBdbE CEbpMlZ3Xek9RNGSY2zkP5o5xt9qyVq94ONM/lLrgONuvA5m6e4EI4yk7/ZIa6nUTq0i Bx1xBVVngnwG/8WzGZRmRqpM+1P+Ej5JdQ9xy2XxRos/iD+WOtK1xnTQcq88jHwn4yKn e6NQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=BV95FM0b; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v34-v6si5939517plg.491.2018.08.09.10.18.22; Thu, 09 Aug 2018 10:18:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=BV95FM0b; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732756AbeHITnT (ORCPT + 99 others); Thu, 9 Aug 2018 15:43:19 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:45924 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732658AbeHITnS (ORCPT ); Thu, 9 Aug 2018 15:43:18 -0400 Received: by mail-pg1-f195.google.com with SMTP id f1-v6so3035043pgq.12 for ; Thu, 09 Aug 2018 10:17:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+w0FBtqbjsSFMf97cjh4a/LOshZ8wiAoBUqG1Bp5fvA=; b=BV95FM0b8OipL9Nw9cfpebJEyrPhUYpsThRa87bp5fzCCoki+MA/2kw9C29Q1eFMT6 paucjFoXJKmTsxQ7hO7aB82fr0oVJTMmGOuVPl/l7/01VWEfHIHcn18NQLpl2Z2anPvp Pi6c+BIS0RS/0IMjaGdI8MDZK2Q4lFOqn0joE= 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:mime-version:content-transfer-encoding; bh=+w0FBtqbjsSFMf97cjh4a/LOshZ8wiAoBUqG1Bp5fvA=; b=oNq1BQyxvcW8gBhuGxVNSXTgDtTkwx8Gur5+kDzBGkgoU9eY+rUdmmywNAzelMEmM7 tTjU6lJdoiFfVGEjxJjw5sqaOAj2BUn+2VWT64lfzuPOOEPMxVz/9v2A7bxv/4bYT4J+ 4RBdf03aCCTkqLZGLUOVmiMJiPw/VJ+NRd0VROR4Co9V/Hqcg1Pp0FmVQdzf0cKl3z0Y fyDIMNoDk/4z5juT0/VRdRJg37fPmOJspkdUCEeIoQMsrtSNJyXbRNOaGshN2i5q1d90 xJaQ17ZZMxvcHjb9Wdx/R5QU7pQeqEZmt4iIwwntjQ27L3e3pXbnj13sfiyDxYsmV5N9 4yxw== X-Gm-Message-State: AOUpUlEWY9QJ5RI9jwWm6nCt1/7Af09Oh75MgatvMhYlmpU/Uc7ciwlr uitLM8uzpmML2zR2Bu+k6NJFdg== X-Received: by 2002:a63:c608:: with SMTP id w8-v6mr2995194pgg.16.1533835049228; Thu, 09 Aug 2018 10:17:29 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:7e28:b9f3:6afc:5326]) by smtp.gmail.com with ESMTPSA id d75-v6sm12866009pfd.49.2018.08.09.10.17.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Aug 2018 10:17:28 -0700 (PDT) From: Stephen Boyd To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, Wei-Ning Huang , Julius Werner , Brian Norris , Samuel Holland Subject: [PATCH v3 7/7] firmware: coreboot: Request table region for exclusive access Date: Thu, 9 Aug 2018 10:17:22 -0700 Message-Id: <20180809171722.144325-8-swboyd@chromium.org> X-Mailer: git-send-email 2.18.0.597.ga71716f1ad-goog In-Reply-To: <20180809171722.144325-1-swboyd@chromium.org> References: <20180809171722.144325-1-swboyd@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Call request_mem_region() on the entire coreboot table to make sure other devices don't attempt to map the coreboot table in their drivers. If drivers need that support, it would be better to provide bus APIs they can use to do that through the mapping created in this file. Cc: Wei-Ning Huang Cc: Julius Werner Cc: Brian Norris Cc: Samuel Holland Signed-off-by: Stephen Boyd --- drivers/firmware/google/coreboot_table.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/google/coreboot_table.c index 814913606d22..94c41d814ea5 100644 --- a/drivers/firmware/google/coreboot_table.c +++ b/drivers/firmware/google/coreboot_table.c @@ -132,6 +132,7 @@ static int coreboot_table_probe(struct platform_device *pdev) struct coreboot_table_header *header; struct resource *res; struct device *dev = &pdev->dev; + const char *name; void *ptr; int ret; @@ -153,10 +154,17 @@ static int coreboot_table_probe(struct platform_device *pdev) return -ENODEV; } - ptr = devm_memremap(dev, res->start, - header->header_bytes + header->table_bytes, - MEMREMAP_WB); + len = header->header_bytes + header->table_bytes; + res->end = res->start + len - 1; + name = res->name ?: dev_name(dev); memunmap(header); + + if (!devm_request_mem_region(dev, res->start, len, name)) { + dev_err(dev, "can't request region for resource %pR\n", res); + return -EBUSY; + } + + ptr = devm_memremap(dev, res->start, len, MEMREMAP_WB); if (!ptr) return -ENOMEM; -- Sent by a computer through tubes