nvram: Replace nvram_* function exports with static functions
Replace nvram_* functions with static functions in nvram.h. These will become wrappers for struct nvram_ops method calls. This patch effectively disables existing NVRAM functionality so as to allow the rest of the series to be bisected without build failures. That functionality is gradually re-implemented in subsequent patches. Replace the sole validate-checksum-and-read-byte sequence with a call to nvram_read() which will gain the same semantics in subsequent patches. Remove unused exports. Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cb8d8006d4
commit
1278cf66cf
|
@ -34,38 +34,17 @@
|
||||||
* periodic 11 min sync from kernel/time/ntp.c vs. this driver.)
|
* periodic 11 min sync from kernel/time/ntp.c vs. this driver.)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
unsigned char __nvram_read_byte(int i)
|
static unsigned char __nvram_read_byte(int i)
|
||||||
{
|
{
|
||||||
return CMOS_READ(NVRAM_FIRST_BYTE + i);
|
return CMOS_READ(NVRAM_FIRST_BYTE + i);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char nvram_read_byte(int i)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
unsigned char c;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&rtc_lock, flags);
|
|
||||||
c = __nvram_read_byte(i);
|
|
||||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(nvram_read_byte);
|
|
||||||
|
|
||||||
/* This races nicely with trying to read with checksum checking */
|
/* This races nicely with trying to read with checksum checking */
|
||||||
void __nvram_write_byte(unsigned char c, int i)
|
static void __nvram_write_byte(unsigned char c, int i)
|
||||||
{
|
{
|
||||||
CMOS_WRITE(c, NVRAM_FIRST_BYTE + i);
|
CMOS_WRITE(c, NVRAM_FIRST_BYTE + i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void nvram_write_byte(unsigned char c, int i)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&rtc_lock, flags);
|
|
||||||
__nvram_write_byte(c, i);
|
|
||||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* On Ataris, the checksum is over all bytes except the checksum bytes
|
/* On Ataris, the checksum is over all bytes except the checksum bytes
|
||||||
* themselves; these are at the very end.
|
* themselves; these are at the very end.
|
||||||
*/
|
*/
|
||||||
|
@ -73,7 +52,7 @@ void nvram_write_byte(unsigned char c, int i)
|
||||||
#define ATARI_CKS_RANGE_END 47
|
#define ATARI_CKS_RANGE_END 47
|
||||||
#define ATARI_CKS_LOC 48
|
#define ATARI_CKS_LOC 48
|
||||||
|
|
||||||
int __nvram_check_checksum(void)
|
static int __nvram_check_checksum(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
unsigned char sum = 0;
|
unsigned char sum = 0;
|
||||||
|
@ -84,18 +63,6 @@ int __nvram_check_checksum(void)
|
||||||
(__nvram_read_byte(ATARI_CKS_LOC + 1) == (sum & 0xff));
|
(__nvram_read_byte(ATARI_CKS_LOC + 1) == (sum & 0xff));
|
||||||
}
|
}
|
||||||
|
|
||||||
int nvram_check_checksum(void)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
int rv;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&rtc_lock, flags);
|
|
||||||
rv = __nvram_check_checksum();
|
|
||||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(nvram_check_checksum);
|
|
||||||
|
|
||||||
static void __nvram_set_checksum(void)
|
static void __nvram_set_checksum(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -74,13 +74,12 @@ static int nvram_open_mode; /* special open modes */
|
||||||
* periodic 11 min sync from kernel/time/ntp.c vs. this driver.)
|
* periodic 11 min sync from kernel/time/ntp.c vs. this driver.)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
unsigned char __nvram_read_byte(int i)
|
static unsigned char __nvram_read_byte(int i)
|
||||||
{
|
{
|
||||||
return CMOS_READ(NVRAM_FIRST_BYTE + i);
|
return CMOS_READ(NVRAM_FIRST_BYTE + i);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__nvram_read_byte);
|
|
||||||
|
|
||||||
unsigned char nvram_read_byte(int i)
|
static unsigned char pc_nvram_read_byte(int i)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
|
@ -90,16 +89,14 @@ unsigned char nvram_read_byte(int i)
|
||||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
spin_unlock_irqrestore(&rtc_lock, flags);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(nvram_read_byte);
|
|
||||||
|
|
||||||
/* This races nicely with trying to read with checksum checking (nvram_read) */
|
/* This races nicely with trying to read with checksum checking (nvram_read) */
|
||||||
void __nvram_write_byte(unsigned char c, int i)
|
static void __nvram_write_byte(unsigned char c, int i)
|
||||||
{
|
{
|
||||||
CMOS_WRITE(c, NVRAM_FIRST_BYTE + i);
|
CMOS_WRITE(c, NVRAM_FIRST_BYTE + i);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__nvram_write_byte);
|
|
||||||
|
|
||||||
void nvram_write_byte(unsigned char c, int i)
|
static void pc_nvram_write_byte(unsigned char c, int i)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
@ -107,14 +104,13 @@ void nvram_write_byte(unsigned char c, int i)
|
||||||
__nvram_write_byte(c, i);
|
__nvram_write_byte(c, i);
|
||||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
spin_unlock_irqrestore(&rtc_lock, flags);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(nvram_write_byte);
|
|
||||||
|
|
||||||
/* On PCs, the checksum is built only over bytes 2..31 */
|
/* On PCs, the checksum is built only over bytes 2..31 */
|
||||||
#define PC_CKS_RANGE_START 2
|
#define PC_CKS_RANGE_START 2
|
||||||
#define PC_CKS_RANGE_END 31
|
#define PC_CKS_RANGE_END 31
|
||||||
#define PC_CKS_LOC 32
|
#define PC_CKS_LOC 32
|
||||||
|
|
||||||
int __nvram_check_checksum(void)
|
static int __nvram_check_checksum(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
unsigned short sum = 0;
|
unsigned short sum = 0;
|
||||||
|
@ -126,19 +122,6 @@ int __nvram_check_checksum(void)
|
||||||
__nvram_read_byte(PC_CKS_LOC+1);
|
__nvram_read_byte(PC_CKS_LOC+1);
|
||||||
return (sum & 0xffff) == expect;
|
return (sum & 0xffff) == expect;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__nvram_check_checksum);
|
|
||||||
|
|
||||||
int nvram_check_checksum(void)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
int rv;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&rtc_lock, flags);
|
|
||||||
rv = __nvram_check_checksum();
|
|
||||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(nvram_check_checksum);
|
|
||||||
|
|
||||||
static void __nvram_set_checksum(void)
|
static void __nvram_set_checksum(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -759,13 +759,15 @@ static int __init atari_scsi_probe(struct platform_device *pdev)
|
||||||
atari_scsi_template.this_id = setup_hostid & 7;
|
atari_scsi_template.this_id = setup_hostid & 7;
|
||||||
} else if (IS_REACHABLE(CONFIG_NVRAM)) {
|
} 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)) {
|
||||||
unsigned char b = nvram_read_byte(16);
|
unsigned char b;
|
||||||
|
loff_t offset = 16;
|
||||||
|
ssize_t count = nvram_read(&b, 1, &offset);
|
||||||
|
|
||||||
/* Arbitration enabled? (for TOS)
|
/* Arbitration enabled? (for TOS)
|
||||||
* If yes, use configured host ID
|
* If yes, use configured host ID
|
||||||
*/
|
*/
|
||||||
if (b & 0x80)
|
if ((count == 1) && (b & 0x80))
|
||||||
atari_scsi_template.this_id = b & 7;
|
atari_scsi_template.this_id = b & 7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,31 @@
|
||||||
#ifndef _LINUX_NVRAM_H
|
#ifndef _LINUX_NVRAM_H
|
||||||
#define _LINUX_NVRAM_H
|
#define _LINUX_NVRAM_H
|
||||||
|
|
||||||
|
#include <linux/errno.h>
|
||||||
#include <uapi/linux/nvram.h>
|
#include <uapi/linux/nvram.h>
|
||||||
|
|
||||||
/* __foo is foo without grabbing the rtc_lock - get it yourself */
|
static inline ssize_t nvram_get_size(void)
|
||||||
extern unsigned char __nvram_read_byte(int i);
|
{
|
||||||
extern unsigned char nvram_read_byte(int i);
|
return -ENODEV;
|
||||||
extern void __nvram_write_byte(unsigned char c, int i);
|
}
|
||||||
extern void nvram_write_byte(unsigned char c, int i);
|
|
||||||
extern int __nvram_check_checksum(void);
|
static inline unsigned char nvram_read_byte(int addr)
|
||||||
extern int nvram_check_checksum(void);
|
{
|
||||||
|
return 0xFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void nvram_write_byte(unsigned char val, int addr)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline ssize_t nvram_read(char *buf, size_t count, loff_t *ppos)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline ssize_t nvram_write(char *buf, size_t count, loff_t *ppos)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* _LINUX_NVRAM_H */
|
#endif /* _LINUX_NVRAM_H */
|
||||||
|
|
Loading…
Reference in New Issue