Commit 83d2aed4 authored by Finn Thain's avatar Finn Thain Committed by Greg Kroah-Hartman

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: default avatarMichael Schmitz <schmitzmic@gmail.com>
Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e3575c12
...@@ -244,7 +244,7 @@ source "drivers/char/hw_random/Kconfig" ...@@ -244,7 +244,7 @@ source "drivers/char/hw_random/Kconfig"
config NVRAM config NVRAM
tristate "/dev/nvram support" tristate "/dev/nvram support"
depends on ATARI || X86 || GENERIC_NVRAM depends on X86 || GENERIC_NVRAM
---help--- ---help---
If you say Y here and create a character special file /dev/nvram If you say Y here and create a character special file /dev/nvram
with major number 10 and minor number 144 using mknod ("man mknod"), with major number 10 and minor number 144 using mknod ("man mknod"),
...@@ -262,9 +262,6 @@ config NVRAM ...@@ -262,9 +262,6 @@ config NVRAM
should NEVER idly tamper with it. See Ralf Brown's interrupt list should NEVER idly tamper with it. See Ralf Brown's interrupt list
for a guide to the use of CMOS bytes by your BIOS. for a guide to the use of CMOS bytes by your BIOS.
On Atari machines, /dev/nvram is always configured and does not need
to be selected.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called nvram. module will be called nvram.
......
...@@ -1369,14 +1369,14 @@ config ATARI_SCSI ...@@ -1369,14 +1369,14 @@ config ATARI_SCSI
tristate "Atari native SCSI support" tristate "Atari native SCSI support"
depends on ATARI && SCSI depends on ATARI && SCSI
select SCSI_SPI_ATTRS select SCSI_SPI_ATTRS
select NVRAM
---help--- ---help---
If you have an Atari with built-in NCR5380 SCSI controller (TT, If you have an Atari with built-in NCR5380 SCSI controller (TT,
Falcon, ...) say Y to get it supported. Of course also, if you have Falcon, ...) say Y to get it supported. Of course also, if you have
a compatible SCSI controller (e.g. for Medusa). a compatible SCSI controller (e.g. for Medusa).
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the module will
module will be called atari_scsi. be called atari_scsi. If you also enable NVRAM support, the SCSI
host's ID is taken from the setting in TT RTC NVRAM.
This driver supports both styles of NCR integration into the This driver supports both styles of NCR integration into the
system: the TT style (separate DMA), and the Falcon style (via system: the TT style (separate DMA), and the Falcon style (via
......
...@@ -757,7 +757,7 @@ static int __init atari_scsi_probe(struct platform_device *pdev) ...@@ -757,7 +757,7 @@ static int __init atari_scsi_probe(struct platform_device *pdev)
if (setup_hostid >= 0) { if (setup_hostid >= 0) {
atari_scsi_template.this_id = setup_hostid & 7; atari_scsi_template.this_id = setup_hostid & 7;
} else { } else if (IS_REACHABLE(CONFIG_NVRAM)) {
/* Test if a host id is set in the NVRam */ /* Test if a host id is set in the NVRam */
if (ATARIHW_PRESENT(TT_CLK) && nvram_check_checksum()) { if (ATARIHW_PRESENT(TT_CLK) && nvram_check_checksum()) {
unsigned char b = nvram_read_byte(16); unsigned char b = nvram_read_byte(16);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment