Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752203AbcKGVDe (ORCPT ); Mon, 7 Nov 2016 16:03:34 -0500 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:39811 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751696AbcKGVDc (ORCPT ); Mon, 7 Nov 2016 16:03:32 -0500 From: Chris Metcalf To: linux-kernel@vger.kernel.org, Paul Gortmaker , Arnd Bergmann , Greg Kroah-Hartman Cc: Chris Metcalf Subject: [PATCH] tile-srom: allow the driver to be built as a module Date: Mon, 7 Nov 2016 15:56:37 -0500 Message-Id: <1478552197-6845-1-git-send-email-cmetcalf@mellanox.com> X-Mailer: git-send-email 2.7.2 In-Reply-To: <20161031174954.7924-1-paul.gortmaker@windriver.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1481 Lines: 47 The code was already configured that way, but the Kconfig file didn't support requesting it. A buglet caused a null pointer deref when unloading the module, but this commit also corrects that issue. Signed-off-by: Chris Metcalf --- This is in response to Paul's patch (see the in-reply-to) suggesting we remove the module infrastructure from the code instead. I can push this via the tile tree since it's a tile-only device, or Greg, if you'd prefer to take it via your tree, that's fine too. drivers/char/Kconfig | 2 +- drivers/char/tile-srom.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index dcc09739a54e..70124ca5c33d 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -578,7 +578,7 @@ config DEVPORT source "drivers/s390/char/Kconfig" config TILE_SROM - bool "Character-device access via hypervisor to the Tilera SPI ROM" + tristate "Character-device access via hypervisor to the Tilera SPI ROM" depends on TILE default y ---help--- diff --git a/drivers/char/tile-srom.c b/drivers/char/tile-srom.c index 398800edb2cc..3d4cca64b2d4 100644 --- a/drivers/char/tile-srom.c +++ b/drivers/char/tile-srom.c @@ -312,7 +312,8 @@ ATTRIBUTE_GROUPS(srom_dev); static char *srom_devnode(struct device *dev, umode_t *mode) { - *mode = S_IRUGO | S_IWUSR; + if (mode) + *mode = 0644; return kasprintf(GFP_KERNEL, "srom/%s", dev_name(dev)); } -- 2.7.2