m68k: Dispatch nvram_ops calls to Atari or Mac functions
A multi-platform kernel binary has to decide at run-time how to dispatch the arch_nvram_ops calls. Add a platform-independent arch_nvram_ops struct for this, to replace the atari-specific one. Enable CONFIG_HAVE_ARCH_NVRAM_OPS for Macs. Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Stan Johnson <userm57@yahoo.com> Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
458c77f3de
commit
d3b41b6bb4
@@ -36,6 +36,7 @@
|
||||
|
||||
static void (*rom_reset)(void);
|
||||
|
||||
#if IS_ENABLED(CONFIG_NVRAM)
|
||||
#ifdef CONFIG_ADB_CUDA
|
||||
static unsigned char cuda_pram_read_byte(int offset)
|
||||
{
|
||||
@@ -84,6 +85,7 @@ static void pmu_pram_write_byte(unsigned char data, int offset)
|
||||
pmu_wait_complete(&req);
|
||||
}
|
||||
#endif /* CONFIG_ADB_PMU */
|
||||
#endif /* CONFIG_NVRAM */
|
||||
|
||||
/*
|
||||
* VIA PRAM/RTC access routines
|
||||
@@ -205,6 +207,7 @@ static void via_rtc_command(int command, __u8 *data)
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_NVRAM)
|
||||
static unsigned char via_pram_read_byte(int offset)
|
||||
{
|
||||
unsigned char temp;
|
||||
@@ -227,6 +230,7 @@ static void via_pram_write_byte(unsigned char data, int offset)
|
||||
temp = 0x55 | RTC_FLG_WRITE_PROTECT;
|
||||
via_rtc_command(RTC_CMD_WRITE(RTC_REG_WRITE_PROTECT), &temp);
|
||||
}
|
||||
#endif /* CONFIG_NVRAM */
|
||||
|
||||
/*
|
||||
* Return the current time in seconds since January 1, 1904.
|
||||
@@ -372,6 +376,7 @@ static void cuda_shutdown(void)
|
||||
*-------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#if IS_ENABLED(CONFIG_NVRAM)
|
||||
unsigned char mac_pram_read_byte(int addr)
|
||||
{
|
||||
switch (macintosh_config->adb_type) {
|
||||
@@ -417,6 +422,12 @@ void mac_pram_write_byte(unsigned char val, int addr)
|
||||
}
|
||||
}
|
||||
|
||||
ssize_t mac_pram_get_size(void)
|
||||
{
|
||||
return 256;
|
||||
}
|
||||
#endif /* CONFIG_NVRAM */
|
||||
|
||||
void mac_poweroff(void)
|
||||
{
|
||||
if (oss_present) {
|
||||
|
Reference in New Issue
Block a user