summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFinn Thain <fthain@telegraphics.com.au>2019-01-14 23:18:56 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-22 04:21:43 -0500
commit83d2aed4440c47acc813abeac4acf4390cb40a8c (patch)
tree9ffc3c49936a255348ffcebfc9cb65427f8ffd11
parente3575c1201f009a24885804975b859d868314d9c (diff)
scsi/atari_scsi: Don't select CONFIG_NVRAM
On powerpc, setting CONFIG_NVRAM=n builds a kernel with no NVRAM support. Setting CONFIG_NVRAM=m enables the /dev/nvram misc device module without enabling NVRAM support in drivers. Setting CONFIG_NVRAM=y enables the misc device (built-in) and also enables NVRAM support in drivers. m68k shares the valkyriefb driver with powerpc, and since that driver uses NVRAM, it is affected by CONFIG_ATARI_SCSI, because of the use of "select NVRAM". We can avoid the "select" here, but drivers still have to interpret the CONFIG_NVRAM symbol consistently regardless of platform. In this patch and the subsequent fbdev driver patch, the convention is adopted across all relevant platforms whereby NVRAM functionality gets enabled in a given device driver when the nvram misc device is built-in or when both drivers are modules. Acked-by: Michael Schmitz <schmitzmic@gmail.com> Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/char/Kconfig5
-rw-r--r--drivers/scsi/Kconfig6
-rw-r--r--drivers/scsi/atari_scsi.c2
3 files changed, 5 insertions, 8 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 2e2ffe7010aa..a8cac68de177 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -244,7 +244,7 @@ source "drivers/char/hw_random/Kconfig"
244 244
245config NVRAM 245config NVRAM
246 tristate "/dev/nvram support" 246 tristate "/dev/nvram support"
247 depends on ATARI || X86 || GENERIC_NVRAM 247 depends on X86 || GENERIC_NVRAM
248 ---help--- 248 ---help---
249 If you say Y here and create a character special file /dev/nvram 249 If you say Y here and create a character special file /dev/nvram
250 with major number 10 and minor number 144 using mknod ("man mknod"), 250 with major number 10 and minor number 144 using mknod ("man mknod"),
@@ -262,9 +262,6 @@ config NVRAM
262 should NEVER idly tamper with it. See Ralf Brown's interrupt list 262 should NEVER idly tamper with it. See Ralf Brown's interrupt list
263 for a guide to the use of CMOS bytes by your BIOS. 263 for a guide to the use of CMOS bytes by your BIOS.
264 264
265 On Atari machines, /dev/nvram is always configured and does not need
266 to be selected.
267
268 To compile this driver as a module, choose M here: the 265 To compile this driver as a module, choose M here: the
269 module will be called nvram. 266 module will be called nvram.
270 267
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index f38882f6f37d..8f9d9e9fa695 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1369,14 +1369,14 @@ config ATARI_SCSI
1369 tristate "Atari native SCSI support" 1369 tristate "Atari native SCSI support"
1370 depends on ATARI && SCSI 1370 depends on ATARI && SCSI
1371 select SCSI_SPI_ATTRS 1371 select SCSI_SPI_ATTRS
1372 select NVRAM
1373 ---help--- 1372 ---help---
1374 If you have an Atari with built-in NCR5380 SCSI controller (TT, 1373 If you have an Atari with built-in NCR5380 SCSI controller (TT,
1375 Falcon, ...) say Y to get it supported. Of course also, if you have 1374 Falcon, ...) say Y to get it supported. Of course also, if you have
1376 a compatible SCSI controller (e.g. for Medusa). 1375 a compatible SCSI controller (e.g. for Medusa).
1377 1376
1378 To compile this driver as a module, choose M here: the 1377 To compile this driver as a module, choose M here: the module will
1379 module will be called atari_scsi. 1378 be called atari_scsi. If you also enable NVRAM support, the SCSI
1379 host's ID is taken from the setting in TT RTC NVRAM.
1380 1380
1381 This driver supports both styles of NCR integration into the 1381 This driver supports both styles of NCR integration into the
1382 system: the TT style (separate DMA), and the Falcon style (via 1382 system: the TT style (separate DMA), and the Falcon style (via
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index a503dc50c4f8..78b43200c99e 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -757,7 +757,7 @@ static int __init atari_scsi_probe(struct platform_device *pdev)
757 757
758 if (setup_hostid >= 0) { 758 if (setup_hostid >= 0) {
759 atari_scsi_template.this_id = setup_hostid & 7; 759 atari_scsi_template.this_id = setup_hostid & 7;
760 } else { 760 } else if (IS_REACHABLE(CONFIG_NVRAM)) {
761 /* Test if a host id is set in the NVRam */ 761 /* Test if a host id is set in the NVRam */
762 if (ATARIHW_PRESENT(TT_CLK) && nvram_check_checksum()) { 762 if (ATARIHW_PRESENT(TT_CLK) && nvram_check_checksum()) {
763 unsigned char b = nvram_read_byte(16); 763 unsigned char b = nvram_read_byte(16);