diff options
author | Finn Thain <fthain@telegraphics.com.au> | 2019-01-14 23:18:56 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-01-22 04:21:43 -0500 |
commit | 83d2aed4440c47acc813abeac4acf4390cb40a8c (patch) | |
tree | 9ffc3c49936a255348ffcebfc9cb65427f8ffd11 | |
parent | e3575c1201f009a24885804975b859d868314d9c (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/Kconfig | 5 | ||||
-rw-r--r-- | drivers/scsi/Kconfig | 6 | ||||
-rw-r--r-- | drivers/scsi/atari_scsi.c | 2 |
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 | ||
245 | config NVRAM | 245 | config 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); |